92 lines
3.2 KiB
Plaintext
92 lines
3.2 KiB
Plaintext
import { ReadonlyUint8Array } from './readonly-uint8array';
|
|
/**
|
|
* Concatenates an array of `Uint8Array`s into a single `Uint8Array`.
|
|
* Reuses the original byte array when applicable.
|
|
*
|
|
* @param byteArrays - The array of byte arrays to concatenate.
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* const bytes1 = new Uint8Array([0x01, 0x02]);
|
|
* const bytes2 = new Uint8Array([]);
|
|
* const bytes3 = new Uint8Array([0x03, 0x04]);
|
|
* const bytes = mergeBytes([bytes1, bytes2, bytes3]);
|
|
* // ^ [0x01, 0x02, 0x03, 0x04]
|
|
* ```
|
|
*/
|
|
export declare const mergeBytes: (byteArrays: Uint8Array[]) => Uint8Array;
|
|
/**
|
|
* Pads a `Uint8Array` with zeroes to the specified length.
|
|
* If the array is longer than the specified length, it is returned as-is.
|
|
*
|
|
* @param bytes - The byte array to pad.
|
|
* @param length - The desired length of the byte array.
|
|
*
|
|
* @example
|
|
* Adds zeroes to the end of the byte array to reach the desired length.
|
|
* ```ts
|
|
* const bytes = new Uint8Array([0x01, 0x02]);
|
|
* const paddedBytes = padBytes(bytes, 4);
|
|
* // ^ [0x01, 0x02, 0x00, 0x00]
|
|
* ```
|
|
*
|
|
* @example
|
|
* Returns the original byte array if it is already at the desired length.
|
|
* ```ts
|
|
* const bytes = new Uint8Array([0x01, 0x02]);
|
|
* const paddedBytes = padBytes(bytes, 2);
|
|
* // bytes === paddedBytes
|
|
* ```
|
|
*/
|
|
export declare const padBytes: (bytes: ReadonlyUint8Array | Uint8Array, length: number) => ReadonlyUint8Array | Uint8Array;
|
|
/**
|
|
* Fixes a `Uint8Array` to the specified length.
|
|
* If the array is longer than the specified length, it is truncated.
|
|
* If the array is shorter than the specified length, it is padded with zeroes.
|
|
*
|
|
* @param bytes - The byte array to truncate or pad.
|
|
* @param length - The desired length of the byte array.
|
|
*
|
|
* @example
|
|
* Truncates the byte array to the desired length.
|
|
* ```ts
|
|
* const bytes = new Uint8Array([0x01, 0x02, 0x03, 0x04]);
|
|
* const fixedBytes = fixBytes(bytes, 2);
|
|
* // ^ [0x01, 0x02]
|
|
* ```
|
|
*
|
|
* @example
|
|
* Adds zeroes to the end of the byte array to reach the desired length.
|
|
* ```ts
|
|
* const bytes = new Uint8Array([0x01, 0x02]);
|
|
* const fixedBytes = fixBytes(bytes, 4);
|
|
* // ^ [0x01, 0x02, 0x00, 0x00]
|
|
* ```
|
|
*
|
|
* @example
|
|
* Returns the original byte array if it is already at the desired length.
|
|
* ```ts
|
|
* const bytes = new Uint8Array([0x01, 0x02]);
|
|
* const fixedBytes = fixBytes(bytes, 2);
|
|
* // bytes === fixedBytes
|
|
* ```
|
|
*/
|
|
export declare const fixBytes: (bytes: ReadonlyUint8Array | Uint8Array, length: number) => ReadonlyUint8Array | Uint8Array;
|
|
/**
|
|
* Returns true if and only if the provided `data` byte array contains
|
|
* the provided `bytes` byte array at the specified `offset`.
|
|
*
|
|
* @param data - The byte sequence to search for.
|
|
* @param bytes - The byte array in which to search for `data`.
|
|
* @param offset - The position in `bytes` where the search begins.
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* const bytes = new Uint8Array([0x01, 0x02, 0x03, 0x04]);
|
|
* const data = new Uint8Array([0x02, 0x03]);
|
|
* containsBytes(bytes, data, 1); // true
|
|
* containsBytes(bytes, data, 2); // false
|
|
* ```
|
|
*/
|
|
export declare function containsBytes(data: ReadonlyUint8Array | Uint8Array, bytes: ReadonlyUint8Array | Uint8Array, offset: number): boolean;
|
|
//# sourceMappingURL=bytes.d.ts.map |