BsonEncoder.d.ts 1.1 KB

123456789101112131415161718192021222324252627
  1. import { BsonObjectId } from './values';
  2. import type { IWriter, IWriterGrowable } from '@jsonjoy.com/util/lib/buffers';
  3. import type { BinaryJsonEncoder } from '../types';
  4. export declare class BsonEncoder implements BinaryJsonEncoder {
  5. readonly writer: IWriter & IWriterGrowable;
  6. constructor(writer: IWriter & IWriterGrowable);
  7. encode(value: unknown): Uint8Array;
  8. writeAny(value: unknown): void;
  9. writeNull(): void;
  10. writeUndef(): void;
  11. writeBoolean(bool: boolean): void;
  12. writeNumber(num: number): void;
  13. writeInteger(int: number): void;
  14. writeUInteger(uint: number): void;
  15. writeInt32(int: number): void;
  16. writeInt64(int: number | bigint): void;
  17. writeFloat(float: number): void;
  18. writeBigInt(int: bigint): void;
  19. writeBin(buf: Uint8Array): void;
  20. writeStr(str: string): void;
  21. writeAsciiStr(str: string): void;
  22. writeArr(arr: unknown[]): void;
  23. writeObj(obj: Record<string, unknown>): void;
  24. writeCString(str: string): void;
  25. writeObjectId(id: BsonObjectId): void;
  26. writeKey(key: string, value: unknown): void;
  27. }