zon-format
Version:
ZON: The most token-efficient serialization format for LLMs - beats CSV, TOON, JSON, and all competitors
102 lines (101 loc) • 2.8 kB
TypeScript
/**
* Binary ZON Format Constants and Type Markers
*
* Inspired by MessagePack with ZON-specific extensions
*/
/**
* Binary ZON magic header (4 bytes): "ZNB\x01"
*/
export declare const MAGIC_HEADER: Uint8Array<ArrayBuffer>;
/**
* Type markers for Binary ZON
*
* Layout inspired by MessagePack:
* - 0x00-0x7F: Positive fixint (0-127)
* - 0x80-0x8F: Fixmap (0-15 entries)
* - 0x90-0x9F: Fixarray (0-15 elements)
* - 0xA0-0xBF: Fixstr (0-31 bytes)
* - 0xC0-0xDF: Special types & extensions
*/
export declare const TypeMarker: {
readonly NIL: 192;
readonly FALSE: 194;
readonly TRUE: 195;
readonly BIN8: 196;
readonly BIN16: 197;
readonly BIN32: 198;
readonly STR8: 217;
readonly STR16: 218;
readonly STR32: 219;
readonly ARRAY16: 220;
readonly ARRAY32: 221;
readonly MAP16: 222;
readonly MAP32: 223;
readonly FLOAT32: 202;
readonly FLOAT64: 203;
readonly UINT8: 204;
readonly UINT16: 205;
readonly UINT32: 206;
readonly UINT64: 207;
readonly INT8: 208;
readonly INT16: 209;
readonly INT32: 210;
readonly INT64: 211;
readonly EXT_METADATA: 212;
readonly EXT_COMPRESSED: 213;
readonly EXT_TABLE: 214;
readonly EXT_DELTA: 215;
readonly EXT_SPARSE: 216;
};
/**
* Check if byte is a positive fixint (0x00-0x7F)
*/
export declare function isPositiveFixint(byte: number): boolean;
/**
* Check if byte is a negative fixint (0xE0-0xFF)
*/
export declare function isNegativeFixint(byte: number): boolean;
/**
* Check if byte is a fixmap marker (0x80-0x8F)
*/
export declare function isFixmap(byte: number): boolean;
/**
* Get fixmap size from marker
*/
export declare function getFixmapSize(byte: number): number;
/**
* Check if byte is a fixarray marker (0x90-0x9F)
*/
export declare function isFixarray(byte: number): boolean;
/**
* Get fixarray size from marker
*/
export declare function getFixarraySize(byte: number): number;
/**
* Check if byte is a fixstr marker (0xA0-0xBF)
*/
export declare function isFixstr(byte: number): boolean;
/**
* Get fixstr size from marker
*/
export declare function getFixstrSize(byte: number): number;
/**
* Create fixint marker for positive integers 0-127
*/
export declare function createPositiveFixint(value: number): number;
/**
* Create negative fixint marker for integers -32 to -1
*/
export declare function createNegativeFixint(value: number): number;
/**
* Create fixmap marker for maps with 0-15 entries
*/
export declare function createFixmap(size: number): number;
/**
* Create fixarray marker for arrays with 0-15 elements
*/
export declare function createFixarray(size: number): number;
/**
* Create fixstr marker for strings with 0-31 bytes
*/
export declare function createFixstr(size: number): number;