aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/@exodus/bytes/bigint.d.ts
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
commit76cb9c2a39d477a64824a985ade40507e3bbade1 (patch)
tree41e997aa9c6f538d3a136af61dae9424db2005a9 /vanilla/node_modules/@exodus/bytes/bigint.d.ts
parent819a39a21ac992b1393244a4c283bbb125208c69 (diff)
downloadneko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.gz
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.bz2
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.zip
feat(vanilla): add testing infrastructure and tests (NK-wjnczv)
Diffstat (limited to 'vanilla/node_modules/@exodus/bytes/bigint.d.ts')
-rw-r--r--vanilla/node_modules/@exodus/bytes/bigint.d.ts48
1 files changed, 48 insertions, 0 deletions
diff --git a/vanilla/node_modules/@exodus/bytes/bigint.d.ts b/vanilla/node_modules/@exodus/bytes/bigint.d.ts
new file mode 100644
index 0000000..3a50dfa
--- /dev/null
+++ b/vanilla/node_modules/@exodus/bytes/bigint.d.ts
@@ -0,0 +1,48 @@
+/**
+ * Convert between BigInt and Uint8Array
+ *
+ * ```js
+ * import { fromBigInt, toBigInt } from '@exodus/bytes/bigint.js'
+ * ```
+ *
+ * @module @exodus/bytes/bigint.js
+ */
+
+/// <reference types="node" />
+
+import type { OutputFormat, Uint8ArrayBuffer } from './array.js';
+
+/**
+ * Options for converting BigInt to bytes
+ */
+export interface FromBigIntOptions {
+ /** The length in bytes of the output array */
+ length: number;
+ /** Output format (default: 'uint8') */
+ format?: OutputFormat;
+}
+
+/**
+ * Convert a BigInt to a Uint8Array or Buffer
+ *
+ * The output bytes are in big-endian format.
+ *
+ * Throws if the BigInt is negative or cannot fit into the specified length.
+ *
+ * @param bigint - The BigInt to convert (must be non-negative)
+ * @param options - Conversion options
+ * @returns The converted bytes in big-endian format
+ */
+export function fromBigInt(bigint: bigint, options: { length: number; format?: 'uint8' }): Uint8ArrayBuffer;
+export function fromBigInt(bigint: bigint, options: { length: number; format: 'buffer' }): Buffer;
+export function fromBigInt(bigint: bigint, options: FromBigIntOptions): Uint8ArrayBuffer | Buffer;
+
+/**
+ * Convert a Uint8Array or Buffer to a BigInt
+ *
+ * The bytes are interpreted as a big-endian unsigned integer.
+ *
+ * @param arr - The bytes to convert
+ * @returns The BigInt representation
+ */
+export function toBigInt(arr: Uint8Array): bigint;