xuxiaobo-bobo 842b34b5ca 0218
2024-02-18 15:40:48 +08:00

116 lines
4.1 KiB
TypeScript

/*!
Copyright (c) Peculiar Ventures, LLC
*/
/**
* Making UTC date from local date
* @params date Date to convert from
*/
declare function getUTCDate(date: Date): Date;
/**
* Get value for input parameters, or set a default value
* @param parameters
* @param name
* @param defaultValue
*/
declare function getParametersValue<T = unknown>(parameters: Record<string, any>, name: string, defaultValue: T): T;
/**
* Converts "ArrayBuffer" into a hexadecimal string
* @param inputBuffer
* @param inputOffset
* @param inputLength
* @param insertSpace
*/
declare function bufferToHexCodes(inputBuffer: ArrayBuffer, inputOffset?: number, inputLength?: number, insertSpace?: boolean): string;
interface LocalBaseBlock {
error?: string;
}
/**
* Check input "ArrayBuffer" for common functions
* @param {LocalBaseBlock} baseBlock
* @param {ArrayBuffer} inputBuffer
* @param {number} inputOffset
* @param {number} inputLength
* @returns {boolean}
*/
declare function checkBufferParams(baseBlock: LocalBaseBlock, inputBuffer: ArrayBuffer, inputOffset: number, inputLength: number): boolean;
/**
* Convert number from 2^base to 2^10
* @param inputBuffer
* @param inputBase
*/
declare function utilFromBase(inputBuffer: Uint8Array, inputBase: number): number;
/**
* Convert number from 2^10 to 2^base
* @param value The number to convert
* @param base The base for 2^base
* @param reserved Pre-defined number of bytes in output array (-1 = limited by function itself)
*/
declare function utilToBase(value: number, base: number, reserved?: number): ArrayBuffer;
/**
* Concatenate two ArrayBuffers
* @param buffers Set of ArrayBuffer
*/
declare function utilConcatBuf(...buffers: ArrayBuffer[]): ArrayBuffer;
/**
* Concatenate two Uint8Array
* @param views Set of Uint8Array
*/
declare function utilConcatView(...views: Uint8Array[]): Uint8Array;
interface HexBlock {
valueHex: ArrayBuffer;
warnings: string[];
}
/**
* Decoding of "two complement" values
* The function must be called in scope of instance of "hexBlock" class ("valueHex" and "warnings" properties must be present)
*/
declare function utilDecodeTC(this: HexBlock): number;
/**
* Encode integer value to "two complement" format
* @param value Value to encode
*/
declare function utilEncodeTC(value: number): ArrayBuffer;
/**
* Compare two array buffers
* @param inputBuffer1
* @param inputBuffer2
*/
declare function isEqualBuffer(inputBuffer1: ArrayBuffer, inputBuffer2: ArrayBuffer): boolean;
/**
* Pad input number with leaded "0" if needed
* @param inputNumber
* @param fullLength
*/
declare function padNumber(inputNumber: number, fullLength: number): string;
/**
* Encode string into BASE64 (or "base64url")
* @param input
* @param useUrlTemplate If "true" then output would be encoded using "base64url"
* @param skipPadding Skip BASE-64 padding or not
* @param skipLeadingZeros Skip leading zeros in input data or not
*/
declare function toBase64(input: string, useUrlTemplate?: boolean, skipPadding?: boolean, skipLeadingZeros?: boolean): string;
/**
* Decode string from BASE64 (or "base64url")
* @param input
* @param useUrlTemplate If "true" then output would be encoded using "base64url"
* @param cutTailZeros If "true" then cut tailing zeros from function result
*/
declare function fromBase64(input: string, useUrlTemplate?: boolean, cutTailZeros?: boolean): string;
declare function arrayBufferToString(buffer: ArrayBuffer): string;
declare function stringToArrayBuffer(str: string): ArrayBuffer;
/**
* Get nearest to input length power of 2
* @param length Current length of existing array
*/
declare function nearestPowerOf2(length: number): number;
/**
* Delete properties by name from specified object
* @param object Object to delete properties from
* @param propsArray Array of properties names
*/
declare function clearProps(object: Record<string, any>, propsArray: string[]): void;
export { HexBlock, LocalBaseBlock, arrayBufferToString, bufferToHexCodes, checkBufferParams, clearProps, fromBase64, getParametersValue, getUTCDate, isEqualBuffer, nearestPowerOf2, padNumber, stringToArrayBuffer, toBase64, utilConcatBuf, utilConcatView, utilDecodeTC, utilEncodeTC, utilFromBase, utilToBase };