UNPKG

@jsonjoy.com/json-pack

Version:

High-performance JSON serialization library

30 lines (29 loc) 1.11 kB
import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib'; import type { BinaryJsonEncoder } from '../types'; export declare class BencodeEncoder implements BinaryJsonEncoder { readonly writer: IWriter & IWriterGrowable; constructor(writer: IWriter & IWriterGrowable); encode(value: unknown): Uint8Array; /** * Called when the encoder encounters a value that it does not know how to encode. * * @param value Some JavaScript value. */ writeUnknown(value: unknown): void; writeAny(value: unknown): void; writeNull(): void; writeUndef(): void; writeBoolean(bool: boolean): void; writeNumber(num: number): void; writeInteger(int: number): void; writeUInteger(uint: number): void; writeFloat(float: number): void; writeBigint(int: bigint): void; writeBin(buf: Uint8Array): void; writeStr(str: string): void; writeAsciiStr(str: string): void; writeArr(arr: unknown[]): void; writeObj(obj: Record<string, unknown>): void; writeMap(obj: Map<unknown, unknown>): void; writeSet(set: Set<unknown>): void; }