index.d.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /*!
  2. Copyright (c) Peculiar Ventures, LLC
  3. */
  4. /**
  5. * Making UTC date from local date
  6. * @params date Date to convert from
  7. */
  8. declare function getUTCDate(date: Date): Date;
  9. /**
  10. * Get value for input parameters, or set a default value
  11. * @param parameters
  12. * @param name
  13. * @param defaultValue
  14. */
  15. declare function getParametersValue<T = unknown>(parameters: Record<string, any>, name: string, defaultValue: T): T;
  16. /**
  17. * Converts "ArrayBuffer" into a hexadecimal string
  18. * @param inputBuffer
  19. * @param inputOffset
  20. * @param inputLength
  21. * @param insertSpace
  22. */
  23. declare function bufferToHexCodes(inputBuffer: ArrayBuffer, inputOffset?: number, inputLength?: number, insertSpace?: boolean): string;
  24. interface LocalBaseBlock {
  25. error?: string;
  26. }
  27. /**
  28. * Check input "ArrayBuffer" for common functions
  29. * @param {LocalBaseBlock} baseBlock
  30. * @param {ArrayBuffer} inputBuffer
  31. * @param {number} inputOffset
  32. * @param {number} inputLength
  33. * @returns {boolean}
  34. */
  35. declare function checkBufferParams(baseBlock: LocalBaseBlock, inputBuffer: ArrayBuffer, inputOffset: number, inputLength: number): boolean;
  36. /**
  37. * Convert number from 2^base to 2^10
  38. * @param inputBuffer
  39. * @param inputBase
  40. */
  41. declare function utilFromBase(inputBuffer: Uint8Array, inputBase: number): number;
  42. /**
  43. * Convert number from 2^10 to 2^base
  44. * @param value The number to convert
  45. * @param base The base for 2^base
  46. * @param reserved Pre-defined number of bytes in output array (-1 = limited by function itself)
  47. */
  48. declare function utilToBase(value: number, base: number, reserved?: number): ArrayBuffer;
  49. /**
  50. * Concatenate two ArrayBuffers
  51. * @param buffers Set of ArrayBuffer
  52. */
  53. declare function utilConcatBuf(...buffers: ArrayBuffer[]): ArrayBuffer;
  54. /**
  55. * Concatenate two Uint8Array
  56. * @param views Set of Uint8Array
  57. */
  58. declare function utilConcatView(...views: Uint8Array[]): Uint8Array;
  59. interface HexBlock {
  60. valueHex: ArrayBuffer;
  61. warnings: string[];
  62. }
  63. /**
  64. * Decoding of "two complement" values
  65. * The function must be called in scope of instance of "hexBlock" class ("valueHex" and "warnings" properties must be present)
  66. */
  67. declare function utilDecodeTC(this: HexBlock): number;
  68. /**
  69. * Encode integer value to "two complement" format
  70. * @param value Value to encode
  71. */
  72. declare function utilEncodeTC(value: number): ArrayBuffer;
  73. /**
  74. * Compare two array buffers
  75. * @param inputBuffer1
  76. * @param inputBuffer2
  77. */
  78. declare function isEqualBuffer(inputBuffer1: ArrayBuffer, inputBuffer2: ArrayBuffer): boolean;
  79. /**
  80. * Pad input number with leaded "0" if needed
  81. * @param inputNumber
  82. * @param fullLength
  83. */
  84. declare function padNumber(inputNumber: number, fullLength: number): string;
  85. /**
  86. * Encode string into BASE64 (or "base64url")
  87. * @param input
  88. * @param useUrlTemplate If "true" then output would be encoded using "base64url"
  89. * @param skipPadding Skip BASE-64 padding or not
  90. * @param skipLeadingZeros Skip leading zeros in input data or not
  91. */
  92. declare function toBase64(input: string, useUrlTemplate?: boolean, skipPadding?: boolean, skipLeadingZeros?: boolean): string;
  93. /**
  94. * Decode string from BASE64 (or "base64url")
  95. * @param input
  96. * @param useUrlTemplate If "true" then output would be encoded using "base64url"
  97. * @param cutTailZeros If "true" then cut tailing zeros from function result
  98. */
  99. declare function fromBase64(input: string, useUrlTemplate?: boolean, cutTailZeros?: boolean): string;
  100. declare function arrayBufferToString(buffer: ArrayBuffer): string;
  101. declare function stringToArrayBuffer(str: string): ArrayBuffer;
  102. /**
  103. * Get nearest to input length power of 2
  104. * @param length Current length of existing array
  105. */
  106. declare function nearestPowerOf2(length: number): number;
  107. /**
  108. * Delete properties by name from specified object
  109. * @param object Object to delete properties from
  110. * @param propsArray Array of properties names
  111. */
  112. declare function clearProps(object: Record<string, any>, propsArray: string[]): void;
  113. export { HexBlock, LocalBaseBlock, arrayBufferToString, bufferToHexCodes, checkBufferParams, clearProps, fromBase64, getParametersValue, getUTCDate, isEqualBuffer, nearestPowerOf2, padNumber, stringToArrayBuffer, toBase64, utilConcatBuf, utilConcatView, utilDecodeTC, utilEncodeTC, utilFromBase, utilToBase };