UNPKG

@se-puu/qpack

Version:

Quick serializer and de-serializer

23 lines (22 loc) 985 B
import { ExtEntry } from "../lib/ext-registry"; import { QEncoder } from "./encoder"; /** * encodeable binary data type */ export type EncodeableBinary = Uint8ClampedArray | Uint8Array | Uint16Array | Uint32Array | BigUint64Array | Int8Array | Int16Array | Int32Array | BigInt64Array | Float32Array | Float64Array | DataView; /** * encodeable data type that supported by QEncoder */ export type Encodeable = Date | number | string | boolean | object | bigint | undefined | null | EncodeableBinary | { constructor: ExtEntry<object>; }; /** * encoder sync handler */ export type EncoderSyncHandler<T> = (encoder: QEncoder, data: T) => boolean; export type _EncoderSyncHandler<T> = T extends Encodeable ? EncoderSyncHandler<T> : never; /** * create encoder handler map * @returns encoder handler map */ export declare function createEncoder(): WeakMap<object, _EncoderSyncHandler<Encodeable> | _EncoderSyncHandler<Encodeable[]> | _EncoderSyncHandler<Map<unknown, unknown>>>;