blob: 40482dcbd197dc0dc49304833dca6eb6564ebe27 [file] [log] [blame]
Austin Schuh272c6132020-11-14 16:37:52 -08001/* eslint-disable @typescript-eslint/no-namespace */
2import { Builder } from './flexbuffers/builder'
3import { toReference as toReferenceFunction } from './flexbuffers/reference';
4
5export function builder(): Builder {
6 return new Builder();
7}
8
9export function toObject(buffer: Uint8Array): unknown {
10 return toReferenceFunction(buffer).toObject();
11}
12
13export function encode(object: unknown, size = 2048, deduplicateStrings = true, deduplicateKeys = true, deduplicateKeyVectors = true): Uint8Array {
14 const builder = new Builder(size > 0 ? size : 2048, deduplicateStrings, deduplicateKeys, deduplicateKeyVectors);
15 builder.add(object);
16 return builder.finish();
17}
18
19const builderFunction = builder
20const toObjectFunction = toObject
21const encodeFunction = encode
22
23export namespace flexbuffers {
24 export const builder = builderFunction;
25 export const toObject = toObjectFunction;
26 export const encode = encodeFunction;
27 export const toReference = toReferenceFunction;
28}
29
30export default flexbuffers;