remove old parser.

This commit is contained in:
Christopher Jeffrey 2016-03-22 19:27:44 -07:00
parent baf5e50016
commit 0b1b6fdb33

View File

@ -169,125 +169,6 @@ function createPacket(id, name, items) {
return p.render();
}
function createBody_(name, items) {
var p = new BufferWriter();
var i, item;
if (name)
p.writeVarString(name, 'ascii');
else
p.writeUIntv(0);
p.writeUIntv(items.length);
for (i = 0; i < items.length; i++) {
item = items[i];
switch (typeof item) {
case 'string':
p.writeU8(1);
p.writeVarString(item, 'utf8');
break;
case 'number':
p.writeU8(2);
p.write32(item);
break;
case 'boolean':
p.writeU8(3);
p.writeU8(item ? 1 : 0);
break;
case 'object':
case 'undefined':
if (item == null) {
p.writeU8(0);
} else {
if (item instanceof bcoin.block) {
p.writeU8(6);
p.writeVarBytes(item.render());
} else if (item instanceof bcoin.tx) {
p.writeU8(7);
p.writeVarBytes(item.toExtended(true));
} else if (item instanceof bcoin.coin) {
p.writeU8(8);
p.writeVarBytes(item.toExtended());
} else if (item instanceof bn) {
p.writeU8(9);
p.writeVarBytes(item.toBuffer());
} else if (Buffer.isBuffer(item)) {
p.writeU8(5);
p.writeVarBytes(item);
} else {
p.writeU8(4);
p.writeVarString(JSON.stringify(item), 'utf8');
}
}
break;
default:
assert(false, 'Bad type: ' + typeof item);
}
}
p.writeU8(0x0a);
return p.render();
}
function parseBody_(data) {
var p = new BufferReader(data, true);
var name, count, i;
var items = [];
p.start();
name = p.readVarString('ascii');
count = p.readUIntv();
for (i = 0; i < count; i++) {
switch (p.readU8()) {
case 0:
items.push(null);
break;
case 1:
items.push(p.readVarString('utf8'));
break;
case 2:
items.push(p.read32());
break;
case 3:
items.push(p.readU8() === 1);
break;
case 4:
items.push(JSON.parse(p.readVarString('utf8')));
break;
case 5:
items.push(p.readVarBytes());
break;
case 6:
items.push(bcoin.block.fromRaw(p.readVarBytes()));
break;
case 7:
items.push(bcoin.tx.fromExtended(p.readVarBytes(), true));
break;
case 8:
items.push(bcoin.coin.fromExtended(p.readVarBytes()));
break;
case 9:
items.push(new bn(p.readVarBytes()));
break;
default:
assert(false, 'Bad type.');
}
}
assert(p.readU8() === 0x0a);
p.end();
return {
name: name || null,
items: items
};
}
function createBody(name, items) {
var p = new BufferWriter();
@ -305,6 +186,7 @@ function createBody(name, items) {
function frameItem(item, p) {
var i, keys;
switch (typeof item) {
case 'string':
p.writeU8(1);
@ -399,8 +281,8 @@ function parseItem(p) {
items.push(parseItem(p));
return items;
case 6:
count = p.readUIntv();
items = {};
count = p.readUIntv();
for (i = 0; i < count; i++)
items[p.readVarString('utf8')] = parseItem(p);
return items;