UNPKG

@cloudpss/ubjson

Version:

Opinionated UBJSON encoder/decoder for CloudPSS.

53 lines 2.16 kB
import type { DecodeOptions } from '../options.js'; /** * 数据读取函数 * `yield` 返回需要的字节数,`return` 返回解析结果 */ export type DecodeFuncAe<T = unknown> = Generator<number, T, void>; /** 数据包装 */ export interface DecodeCursorAe { /** 当前数据块 */ readonly view: DataView; /** 当前数据块 */ readonly data: Uint8Array; /** 当前数据大小 */ readonly size: number; /** 当前读指针位置 */ offset: number; /** 选项 */ readonly options: DecodeOptions | undefined; } /** 创建数据包装 */ export declare function DecodeCursor(data: BufferSource, options?: DecodeOptions): DecodeCursorAe; /** * 读取第一个非 NOOP 的字节 */ export declare function readMarker(cursor: DecodeCursorAe): DecodeFuncAe<number>; /** 读取一个大于 0 的整数 */ export declare function readLength(cursor: DecodeCursorAe): DecodeFuncAe<number>; /** readInt8Data */ export declare function readInt8Data(cursor: DecodeCursorAe): DecodeFuncAe<number>; /** readUint8Data */ export declare function readUint8Data(cursor: DecodeCursorAe): DecodeFuncAe<number>; /** readInt16Data */ export declare function readInt16Data(cursor: DecodeCursorAe): DecodeFuncAe<number>; /** readInt32Data */ export declare function readInt32Data(cursor: DecodeCursorAe): DecodeFuncAe<number>; /** readInt64Data */ export declare function readInt64Data(cursor: DecodeCursorAe): DecodeFuncAe<bigint>; /** readFloat32Data */ export declare function readFloat32Data(cursor: DecodeCursorAe): DecodeFuncAe<number>; /** readFloat64Data */ export declare function readFloat64Data(cursor: DecodeCursorAe): DecodeFuncAe<number>; /** 读取数据 */ export declare function read(cursor: DecodeCursorAe): DecodeFuncAe<unknown>; /** 根据标签读取后续数据 */ export declare function readData(cursor: DecodeCursorAe, marker: number): DecodeFuncAe<unknown>; /** readKey */ export declare function readKey(cursor: DecodeCursorAe): DecodeFuncAe<string>; /** Optimized Format 数据 */ export type OptimizedFormatMarkers = { type?: number; count: number; }; //# sourceMappingURL=decode-ae.d.ts.map