@andrew_l/tl-pack
Version:
Another implementation of binary serialization.
29 lines (25 loc) • 964 B
JavaScript
import { B as BinaryWriter, a as BinaryReader } from './shared/tl-pack.B8uBXdlJ.mjs';
export { C as CORE_TYPES, M as MAX_BUFFER_SIZE, S as Structure, c as createDictionary, d as defineStructure } from './shared/tl-pack.B8uBXdlJ.mjs';
import { assert } from '@andrew_l/toolkit';
import 'pako';
function createExtension(token, { encode, decode }) {
assert.ok(Math.trunc(token) === token, " Token must be integer value.");
assert.ok(
token === -1 || token >= 0 && token <= 255,
"Token must be a 8 bit number. (0 - 255)"
);
assert.ok(token === -1 || token >= 35, "Tokens from 0 to 34 reserved.");
return {
token,
encode,
decode
};
}
function tlEncode(value, opts) {
return new BinaryWriter(opts).writeObject(value).getBuffer();
}
function tlDecode(buffer, opts) {
return new BinaryReader(buffer, opts).readObject();
}
export { BinaryReader, BinaryWriter, createExtension, tlDecode, tlEncode };
//# sourceMappingURL=index.mjs.map