low-level
Version:
76 lines • 3.49 kB
TypeScript
import type { ByteArray, New, NumberLike, BinLike, WithArrayBuffer, WithString } from "./utils.js";
export interface BasicUintConstructable<T extends Uint> extends New<T> {
readonly byteLength?: number;
alloc(length?: number, fill?: string | Uint8Array | number): T;
create(input: Buffer | Uint): T;
from(arrayBuffer: WithArrayBuffer, byteOffset?: number, length?: number): T;
from(data: WithImplicitCoercion<ByteArray | string>): T;
from(str: WithString, encoding?: BufferEncoding): T;
from(number: number, length?: number): T;
}
export declare class Uint {
protected readonly buffer: Buffer;
constructor(input: BinLike);
static create<T>(this: New<T>, input: BinLike): T;
static alloc<T>(this: New<T>, length: number, fill?: string | Uint8Array | number): T;
static empty<T>(this: New<T>): T;
static from<T>(this: New<T>, arrayBuffer: WithArrayBuffer, byteOffset?: number, length?: number): T;
static from<T>(this: New<T>, data: WithImplicitCoercion<ByteArray | string>): T;
static from<T>(this: New<T>, str: WithString, encoding?: BufferEncoding): T;
static from<T>(this: New<T>, number: number, length?: number): T;
/** @deprecated Use {@link Uint.from}(string) instead */
static fromHex<T>(this: New<T>, hex: string): T;
static concat<T>(this: New<T>, list: (Uint | Uint8Array)[], totalLength?: number): T;
static isUint<T>(this: New<T>, input: any): input is T;
clone(): this;
toHex(): string;
toString(encoding?: BufferEncoding): string;
valueOf(): number;
/**
* Supports only a number up to (2^48)-1
* For bigger numbers use {@link Uint.toBigInt}
*/
toInt(): number;
toBigInt(): bigint;
getRaw(): Buffer;
getAB(): ArrayBuffer | SharedArrayBuffer;
getLen(): number;
getLen(enc: "uint"): Uint;
get(offset: number, length?: number): Uint;
set(list: ArrayLike<number> | Uint, offset?: number): void;
appendData(data: BinLike): Uint;
nci_slice<T>(CLS: New<T>, start?: number, end?: number): T;
nci_split<T>(CLS: New<T>, afterBytes: number): T[];
slice(start?: number, end?: number): Uint;
subarray(start?: number, end?: number): Uint;
split(afterBytes: number): Uint[];
iadd(value: NumberLike): void;
add(value: NumberLike): this;
isub(value: NumberLike): void;
sub(value: NumberLike): this;
imul(value: NumberLike): void;
mul(value: NumberLike): this;
idiv(value: NumberLike, returnRest?: boolean): number | undefined;
div(value: NumberLike): this;
mod(value: NumberLike): number;
gt(value: NumberLike): boolean;
gte(value: NumberLike): boolean;
lt(value: NumberLike): boolean;
lte(value: NumberLike): boolean;
eq(value: NumberLike): boolean;
/**
* @deprecated Use {@link Uint.eq} with ! operator instead
*/
eqn(value: NumberLike): boolean;
protected addUint(value: Uint): void;
protected addNumber(value: number): void;
protected subUint(value: Uint): void;
protected mulUint(value: Uint): void;
protected mulNumber(value: number): void;
protected divUint(value: Uint, returnRest: boolean): number | undefined;
protected divNumber(value: number, returnRest: boolean): number | undefined;
protected compare(value: NumberLike): 0 | 1 | -1;
get [Symbol.toStringTag](): string;
[Symbol.toPrimitive](hint: "string" | "number" | "default"): string | number | bigint;
}
//# sourceMappingURL=uint.d.ts.map