index.d.cts 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. writeFunction?: () => any
  29. /** @deprecated use int64AsType: 'number' */
  30. int64AsNumber?: boolean
  31. int64AsType?: 'bigint' | 'number' | 'string'
  32. shouldShareStructure?: (keys: string[]) => boolean
  33. getStructures?(): {}[]
  34. saveStructures?(structures: {}[]): boolean | void
  35. onInvalidDate?: () => any
  36. }
  37. interface Extension {
  38. Class?: Function
  39. type?: number
  40. pack?(value: any): Buffer | Uint8Array
  41. unpack?(messagePack: Buffer | Uint8Array): any
  42. read?(datum: any): any
  43. write?(instance: any): any
  44. }
  45. export type UnpackOptions = { start?: number; end?: number; lazy?: boolean; } | number;
  46. export class Unpackr {
  47. constructor(options?: Options)
  48. unpack(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
  49. decode(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
  50. unpackMultiple(messagePack: Buffer | Uint8Array): any[]
  51. unpackMultiple(messagePack: Buffer | Uint8Array, forEach: (value: any, start?: number, end?: number) => any): void
  52. }
  53. export class Decoder extends Unpackr {}
  54. export function unpack(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
  55. export function unpackMultiple(messagePack: Buffer | Uint8Array): any[]
  56. export function unpackMultiple(messagePack: Buffer | Uint8Array, forEach: (value: any, start?: number, end?: number) => any): void
  57. export function decode(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
  58. export function addExtension(extension: Extension): void
  59. export function clearSource(): void
  60. export function roundFloat32(float32Number: number): number
  61. export const C1: {}
  62. export let isNativeAccelerationEnabled: boolean
  63. export class Packr extends Unpackr {
  64. offset: number;
  65. position: number;
  66. pack(value: any, encodeOptions?: number): Buffer
  67. encode(value: any, encodeOptions?: number): Buffer
  68. useBuffer(buffer: Buffer | Uint8Array): void;
  69. clearSharedData(): void;
  70. }
  71. export class Encoder extends Packr {}
  72. export function pack(value: any, encodeOptions?: number): Buffer
  73. export function encode(value: any, encodeOptions?: number): Buffer
  74. export const REUSE_BUFFER_MODE: number;
  75. export const RESET_BUFFER_MODE: number;
  76. export const RESERVE_START_SPACE: number;
  77. import { Transform, Readable } from 'stream'
  78. export as namespace msgpackr;
  79. export class UnpackrStream extends Transform {
  80. constructor(options?: Options | { highWaterMark: number, emitClose: boolean, allowHalfOpen: boolean })
  81. }
  82. export class PackrStream extends Transform {
  83. constructor(options?: Options | { highWaterMark: number, emitClose: boolean, allowHalfOpen: boolean })
  84. }