index.d.cts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. export enum FLOAT32_OPTIONS {
  2. NEVER = 0,
  3. ALWAYS = 1,
  4. DECIMAL_ROUND = 3,
  5. DECIMAL_FIT = 4
  6. }
  7. export interface Options {
  8. useFloat32?: FLOAT32_OPTIONS
  9. useRecords?: boolean | ((value:any)=> boolean)
  10. structures?: {}[]
  11. moreTypes?: boolean
  12. sequential?: boolean
  13. structuredClone?: boolean
  14. mapsAsObjects?: boolean
  15. variableMapSize?: boolean
  16. coercibleKeyAsNumber?: boolean
  17. copyBuffers?: boolean
  18. bundleStrings?: boolean
  19. useTimestamp32?: boolean
  20. largeBigIntToFloat?: boolean
  21. largeBigIntToString?: boolean
  22. useBigIntExtension?: boolean
  23. encodeUndefinedAsNil?: boolean
  24. maxSharedStructures?: number
  25. maxOwnStructures?: number
  26. mapAsEmptyObject?: boolean
  27. setAsEmptyObject?: boolean
  28. allowArraysInMapKeys?: boolean
  29. writeFunction?: () => any
  30. /** @deprecated use int64AsType: 'number' */
  31. int64AsNumber?: boolean
  32. int64AsType?: 'bigint' | 'number' | 'string'
  33. shouldShareStructure?: (keys: string[]) => boolean
  34. getStructures?(): {}[]
  35. saveStructures?(structures: {}[]): boolean | void
  36. onInvalidDate?: () => any
  37. }
  38. interface Extension {
  39. Class?: Function
  40. type?: number
  41. pack?(value: any): Buffer | Uint8Array
  42. unpack?(messagePack: Buffer | Uint8Array): any
  43. read?(datum: any): any
  44. write?(instance: any): any
  45. }
  46. export type UnpackOptions = { start?: number; end?: number; lazy?: boolean; } | number;
  47. export class Unpackr {
  48. constructor(options?: Options)
  49. unpack(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
  50. decode(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
  51. unpackMultiple(messagePack: Buffer | Uint8Array): any[]
  52. unpackMultiple(messagePack: Buffer | Uint8Array, forEach: (value: any, start?: number, end?: number) => any): void
  53. }
  54. export class Decoder extends Unpackr {}
  55. export function unpack(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
  56. export function unpackMultiple(messagePack: Buffer | Uint8Array): any[]
  57. export function unpackMultiple(messagePack: Buffer | Uint8Array, forEach: (value: any, start?: number, end?: number) => any): void
  58. export function decode(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
  59. export function addExtension(extension: Extension): void
  60. export function clearSource(): void
  61. export function roundFloat32(float32Number: number): number
  62. export const C1: {}
  63. export let isNativeAccelerationEnabled: boolean
  64. export class Packr extends Unpackr {
  65. offset: number;
  66. position: number;
  67. pack(value: any, encodeOptions?: number): Buffer
  68. encode(value: any, encodeOptions?: number): Buffer
  69. useBuffer(buffer: Buffer | Uint8Array): void;
  70. clearSharedData(): void;
  71. }
  72. export class Encoder extends Packr {}
  73. export function pack(value: any, encodeOptions?: number): Buffer
  74. export function encode(value: any, encodeOptions?: number): Buffer
  75. export const REUSE_BUFFER_MODE: number;
  76. export const RESET_BUFFER_MODE: number;
  77. export const RESERVE_START_SPACE: number;
  78. import { Transform, Readable } from 'stream'
  79. export as namespace msgpackr;
  80. export class UnpackrStream extends Transform {
  81. constructor(options?: Options | { highWaterMark: number, emitClose: boolean, allowHalfOpen: boolean })
  82. }
  83. export class PackrStream extends Transform {
  84. constructor(options?: Options | { highWaterMark: number, emitClose: boolean, allowHalfOpen: boolean })
  85. }