EjsonEncoder.d.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { JsonEncoder } from '../json/JsonEncoder';
  2. import type { IWriter, IWriterGrowable } from '@jsonjoy.com/buffers/lib';
  3. export interface EjsonEncoderOptions {
  4. canonical?: boolean;
  5. }
  6. export declare class EjsonEncoder extends JsonEncoder {
  7. private options;
  8. constructor(writer: IWriter & IWriterGrowable, options?: EjsonEncoderOptions);
  9. encodeToString(value: unknown): string;
  10. writeUnknown(value: unknown): void;
  11. writeAny(value: unknown): void;
  12. writeBin(buf: Uint8Array): void;
  13. writeStr(str: string): void;
  14. writeAsciiStr(str: string): void;
  15. writeArr(arr: unknown[]): void;
  16. writeObj(obj: Record<string, unknown>): void;
  17. private writeUndefinedWrapper;
  18. private writeNumberAsEjson;
  19. private writeNumberIntWrapper;
  20. private writeNumberLongWrapper;
  21. private writeNumberDoubleWrapper;
  22. private writeDateAsEjson;
  23. private writeRegExpAsEjson;
  24. private writeObjectIdAsEjson;
  25. private writeBsonInt32AsEjson;
  26. private writeBsonInt64AsEjson;
  27. private writeBsonFloatAsEjson;
  28. private writeBsonDecimal128AsEjson;
  29. private writeBsonBinaryAsEjson;
  30. private writeBsonCodeAsEjson;
  31. private writeBsonCodeWScopeAsEjson;
  32. private writeBsonSymbolAsEjson;
  33. private writeBsonTimestampAsEjson;
  34. private writeBsonDbPointerAsEjson;
  35. private writeBsonMinKeyAsEjson;
  36. private writeBsonMaxKeyAsEjson;
  37. private formatNonFinite;
  38. private objectIdToHex;
  39. private uint8ArrayToBase64;
  40. private decimal128ToString;
  41. }