mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-29 09:52:02 +00:00
[JS/TS] Rewrite flexbuffers JS to TS (#6148)
* Partial TS rewrite * Completed port but bugs remain * Expose builder function * Break out and fix stack-value and formatting
This commit is contained in:
30
ts/flexbuffers.ts
Normal file
30
ts/flexbuffers.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
/* eslint-disable @typescript-eslint/no-namespace */
|
||||
import { Builder } from './flexbuffers/builder'
|
||||
import { toReference as toReferenceFunction } from './flexbuffers/reference';
|
||||
|
||||
export function builder(): Builder {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
export function toObject(buffer: Uint8Array): unknown {
|
||||
return toReferenceFunction(buffer).toObject();
|
||||
}
|
||||
|
||||
export function encode(object: unknown, size = 2048, deduplicateStrings = true, deduplicateKeys = true, deduplicateKeyVectors = true): Uint8Array {
|
||||
const builder = new Builder(size > 0 ? size : 2048, deduplicateStrings, deduplicateKeys, deduplicateKeyVectors);
|
||||
builder.add(object);
|
||||
return builder.finish();
|
||||
}
|
||||
|
||||
const builderFunction = builder
|
||||
const toObjectFunction = toObject
|
||||
const encodeFunction = encode
|
||||
|
||||
export namespace flexbuffers {
|
||||
export const builder = builderFunction;
|
||||
export const toObject = toObjectFunction;
|
||||
export const encode = encodeFunction;
|
||||
export const toReference = toReferenceFunction;
|
||||
}
|
||||
|
||||
export default flexbuffers;
|
||||
Reference in New Issue
Block a user