node-ejs-renderer/node_modules/@jsonjoy.com/json-pack/lib/bson/BsonEncoder.d.ts
2024-06-09 13:55:01 -04:00

28 lines
1.1 KiB
TypeScript

import { BsonObjectId } from './values';
import type { IWriter, IWriterGrowable } from '@jsonjoy.com/util/lib/buffers';
import type { BinaryJsonEncoder } from '../types';
export declare class BsonEncoder implements BinaryJsonEncoder {
readonly writer: IWriter & IWriterGrowable;
constructor(writer: IWriter & IWriterGrowable);
encode(value: unknown): Uint8Array;
writeAny(value: unknown): void;
writeNull(): void;
writeUndef(): void;
writeBoolean(bool: boolean): void;
writeNumber(num: number): void;
writeInteger(int: number): void;
writeUInteger(uint: number): void;
writeInt32(int: number): void;
writeInt64(int: number | bigint): 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;
writeCString(str: string): void;
writeObjectId(id: BsonObjectId): void;
writeKey(key: string, value: unknown): void;
}