UNPKG

@andrew_l/tl-pack

Version:

Another implementation of binary serialization.

39 lines (34 loc) 1.25 kB
'use strict'; const BinaryReader = require('./shared/tl-pack.5CF-VZgL.cjs'); const toolkit = require('@andrew_l/toolkit'); require('pako'); function createExtension(token, { encode, decode }) { toolkit.assert.ok(Math.trunc(token) === token, " Token must be integer value."); toolkit.assert.ok( token === -1 || token >= 0 && token <= 255, "Token must be a 8 bit number. (0 - 255)" ); toolkit.assert.ok(token === -1 || token >= 35, "Tokens from 0 to 34 reserved."); return { token, encode, decode }; } function tlEncode(value, opts) { return new BinaryReader.BinaryWriter(opts).writeObject(value).getBuffer(); } function tlDecode(buffer, opts) { return new BinaryReader.BinaryReader(buffer, opts).readObject(); } exports.BinaryReader = BinaryReader.BinaryReader; exports.BinaryWriter = BinaryReader.BinaryWriter; exports.CORE_TYPES = BinaryReader.CORE_TYPES; exports.MAX_BUFFER_SIZE = BinaryReader.MAX_BUFFER_SIZE; exports.Structure = BinaryReader.Structure; exports.createDictionary = BinaryReader.createDictionary; exports.defineStructure = BinaryReader.defineStructure; exports.createExtension = createExtension; exports.tlDecode = tlDecode; exports.tlEncode = tlEncode; //# sourceMappingURL=index.cjs.map