UNPKG

@cloudpss/ubjson

Version:

Opinionated UBJSON encoder/decoder for CloudPSS.

38 lines 1.79 kB
import { constants } from './constants.js'; /** 数据包装 */ export interface EncodeCursor { /** 数据 */ readonly view: DataView; /** 数据 */ readonly data: Uint8Array; /** 当前写指针位置 */ length: number; /** 确保 buffer 还有 capacity 的空闲空间 */ ensureCapacity(capacity: number): void; } /** 创建数据包装 */ export declare function EncodeCursor(length: number): EncodeCursor; /** 写入标签 */ export declare function writeMarker(cursor: EncodeCursor, marker: constants): void; export declare const I8_MASK: number; export declare const U8_MASK: number; /** 写入长度 */ export declare function writeLength(cursor: EncodeCursor, length: number): void; /** 写入数字 */ export declare function writeNumber(cursor: EncodeCursor, value: number): void; /** TypedArray 类型 */ export type TypedArrayType = constants.UINT8 | constants.INT8 | constants.INT16 | constants.INT32 | constants.INT64 | constants.FLOAT32 | constants.FLOAT64; export declare const U8_ARR_HEADER: number; export declare const I8_ARR_HEADER: number; export declare const I16_ARR_HEADER: number; export declare const I32_ARR_HEADER: number; export declare const I64_ARR_HEADER: number; export declare const F32_ARR_HEADER: number; export declare const F64_ARR_HEADER: number; /** 写入 TypedArray 前导,包括 marker 和长度 */ export declare function writeTypedArrayHeader(cursor: EncodeCursor, value: ArrayBufferView): TypedArrayType; /** 写入 TypedArray */ export declare function writeTypedArray(cursor: EncodeCursor, value: ArrayBufferView): void; /** 写入 TypedArray 数据 */ export declare function writeTypedArrayData(cursor: EncodeCursor, type: TypedArrayType, value: ArrayBufferView): void; //# sourceMappingURL=encode.d.ts.map