@polkadot/util
Version:
A collection of useful utilities for @polkadot
82 lines (81 loc) • 2.42 kB
TypeScript
/// <reference types="bn.js" />
/// <reference types="node" />
import type { BN } from './bn/bn';
export interface Constructor<T = any> {
new (...value: any[]): T;
}
export interface ToBigInt {
toBigInt: () => bigint;
}
export interface ToBn {
toBn: () => BN;
}
export interface SiDef {
power: number;
text: string;
value: string;
}
declare type Logger$Data$Fn = () => unknown[];
export declare type Logger$Data = (unknown | Logger$Data$Fn)[];
export interface Logger {
debug: (...values: Logger$Data) => void;
error: (...values: Logger$Data) => void;
log: (...values: Logger$Data) => void;
noop: (...values: Logger$Data) => void;
warn: (...values: Logger$Data) => void;
}
export interface ToBnOptions {
/**
* @description Convert in LE format
*/
isLe?: boolean;
/**
* @description Number is negative, apply two's complement
*/
isNegative?: boolean;
}
export interface NumberOptions extends ToBnOptions {
/**
* @description Limit to the specified bitLength, despite input length
*/
bitLength?: number;
}
export declare type BnList = {
0: BN;
1: BN;
} & BN[];
export interface Time {
days: number;
hours: number;
minutes: number;
seconds: number;
milliseconds: number;
}
export declare type Memoized<F> = F & {
unmemoize: (...args: unknown[]) => void;
};
export declare type AnyString = string | String;
export declare type HexDigit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f';
export declare type HexString = `0x${string}`;
export declare type U8aLike = HexString | number[] | Buffer | Uint8Array | AnyString;
export interface IBigIntConstructor {
new (value: string | number | bigint | boolean): bigint;
/**
* Interprets the low bits of a BigInt as a 2's-complement signed integer.
* All higher bits are discarded.
* @param bits The number of low bits to use
* @param int The BigInt whose bits to extract
*/
asIntN(bits: number, int: bigint): bigint;
/**
* Interprets the low bits of a BigInt as an unsigned integer.
* All higher bits are discarded.
* @param bits The number of low bits to use
* @param int The BigInt whose bits to extract
*/
asUintN(bits: number, int: bigint): bigint;
}
export interface Observable {
next: (...params: unknown[]) => unknown;
}
export {};