blob: a59d497cfc13ad9c6639295a1838134406c403df [file] [log] [blame]
Austin Schuh272c6132020-11-14 16:37:52 -08001/* eslint-disable @typescript-eslint/no-namespace */
James Kuszmaul8e62b022022-03-22 09:33:25 -07002import { Builder } from './flexbuffers/builder.js'
3import { toReference } from './flexbuffers/reference.js'
4export { toReference } from './flexbuffers/reference.js'
Austin Schuh272c6132020-11-14 16:37:52 -08005
6export function builder(): Builder {
7 return new Builder();
8}
9
James Kuszmaul8e62b022022-03-22 09:33:25 -070010export function toObject(buffer: ArrayBuffer): unknown {
11 return toReference(buffer).toObject();
Austin Schuh272c6132020-11-14 16:37:52 -080012}
13
14export function encode(object: unknown, size = 2048, deduplicateStrings = true, deduplicateKeys = true, deduplicateKeyVectors = true): Uint8Array {
15 const builder = new Builder(size > 0 ? size : 2048, deduplicateStrings, deduplicateKeys, deduplicateKeyVectors);
16 builder.add(object);
17 return builder.finish();
18}