415gotit
This commit is contained in:
52
node_modules/msgpack-lite/lib/read-core.js
generated
vendored
Normal file
52
node_modules/msgpack-lite/lib/read-core.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
// read-core.js
|
||||
|
||||
var ExtBuffer = require("./ext-buffer").ExtBuffer;
|
||||
var ExtUnpacker = require("./ext-unpacker");
|
||||
var readUint8 = require("./read-format").readUint8;
|
||||
var ReadToken = require("./read-token");
|
||||
var CodecBase = require("./codec-base");
|
||||
|
||||
CodecBase.install({
|
||||
addExtUnpacker: addExtUnpacker,
|
||||
getExtUnpacker: getExtUnpacker,
|
||||
init: init
|
||||
});
|
||||
|
||||
exports.preset = init.call(CodecBase.preset);
|
||||
|
||||
function getDecoder(options) {
|
||||
var readToken = ReadToken.getReadToken(options);
|
||||
return decode;
|
||||
|
||||
function decode(decoder) {
|
||||
var type = readUint8(decoder);
|
||||
var func = readToken[type];
|
||||
if (!func) throw new Error("Invalid type: " + (type ? ("0x" + type.toString(16)) : type));
|
||||
return func(decoder);
|
||||
}
|
||||
}
|
||||
|
||||
function init() {
|
||||
var options = this.options;
|
||||
this.decode = getDecoder(options);
|
||||
|
||||
if (options && options.preset) {
|
||||
ExtUnpacker.setExtUnpackers(this);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
function addExtUnpacker(etype, unpacker) {
|
||||
var unpackers = this.extUnpackers || (this.extUnpackers = []);
|
||||
unpackers[etype] = CodecBase.filter(unpacker);
|
||||
}
|
||||
|
||||
function getExtUnpacker(type) {
|
||||
var unpackers = this.extUnpackers || (this.extUnpackers = []);
|
||||
return unpackers[type] || extUnpacker;
|
||||
|
||||
function extUnpacker(buffer) {
|
||||
return new ExtBuffer(buffer, type);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user