UNPKG

@akala/core

Version:
114 lines (113 loc) 5.43 kB
import type { LoggerWrapper } from "./logging/index.browser.js"; export type Remote<T> = { [key in keyof T]: T[key] extends (...args: any[]) => infer X ? X extends Promise<unknown> ? X : Promise<X> : (T[key] | undefined); }; export type Serializable = string | number | string[] | number[] | boolean | boolean[] | SerializableObject | SerializableObject[]; export type TypedSerializable<T> = T extends Array<infer U> ? TypedSerializable<U>[] : string | number | boolean | TypedSerializableObject<T>; export type SerializableObject = { [key: string]: Serializable; }; export type TypedSerializableObject<T> = { [key in keyof T]: TypedSerializable<T>; }; export interface Context<TState = unknown> { state?: TState; logger: LoggerWrapper; abort: AbortController; } export declare let defaultContext: Context; export declare function setDefaultContext(context: Context): void; export declare function noop(): void; export declare function lazy<T>(factory: () => T): () => T; export declare function spread<A>(a: A): A; export declare function spread<A, B>(a: A, b: B): A & B; export declare function spread<A, B, C>(a: A, b: B, c: C): A & B & C; export declare function spread<A, B, C, D>(a: A, b: B, c: C, d: D): A & B & C & D; export declare function spread<A, B, C, D, E>(a: A, b: B, c: C, d: D, e: E): A & B & C & D & E; export declare function spread(...args: object[]): object; export interface Translator { locale: string | Intl.Locale; translate(key: string): string; translate(format: string, ...parameters: unknown[]): string; translate(obj: { key: string; fallback: string; }): string; translate(obj: { key: string; fallback: string; }, ...parameters: unknown[]): string; } export type BufferEncoding = "ascii" | "utf8" | "utf-8" | "base64" | "base64url" | "binary" | "hex"; export declare class IsomorphicBuffer implements Iterable<number, number, number> { private readonly offset?; private readonly end?; private readonly buffer; constructor(buffer: Uint8Array<ArrayBufferLike> | number | number[], offset?: number, end?: number); readonly length: number; static fromBuffer(buffer: Uint8Array<ArrayBufferLike>): IsomorphicBuffer; static fromArrayBuffer(abuffer: ArrayBufferLike): IsomorphicBuffer; copy(source: IsomorphicBuffer, offset: number, sourceOffset?: number, length?: number): void; toArray(): Uint8Array<ArrayBuffer>; indexOf(value: number, offset?: number): number; static concat(buffers: IsomorphicBuffer[]): IsomorphicBuffer; static getInitLength(s: string, encoding?: BufferEncoding): number; static from(s: string, encoding?: BufferEncoding): IsomorphicBuffer; toString(encoding: BufferEncoding, offset?: number, end?: number): string; toJSON(): { type: "Buffer"; data: number[]; }; write(s: string, offset: number, length?: number, encoding?: BufferEncoding): any; private ensureOffset; fill(value: number, start?: number, end?: number): void; readInt8(index?: number): number; writeInt8(value: number, index?: number): void; readUInt8(index?: number): number; writeUInt8(value: number, index?: number): void; readDoubleBE(index?: number): number; writeDoubleBE(value: number, index?: number): void; readDoubleLE(index?: number): number; writeDoubleLE(value: number, index?: number): void; readFloatBE(index?: number): number; writeFloatBE(value: number, index?: number): void; readFloatLE(index?: number): number; writeFloatLE(value: number, index?: number): void; readUInt16LE(index?: number): number; writeUInt16LE(value: number, index?: number): void; readUInt16BE(index?: number): number; writeUInt16BE(value: number, index?: number): void; readInt16LE(index?: number): number; writeInt16LE(value: number, index?: number): void; readInt16BE(index?: number): number; writeInt16BE(value: number, index?: number): void; readUInt32LE(index?: number): number; writeUInt32LE(value: number, index?: number): void; readUInt32BE(index?: number): number; writeUInt32BE(value: number, index?: number): void; readInt32BE(index?: number): number; writeInt32BE(value: number, index?: number): void; readInt32LE(index?: number): number; writeInt32LE(value: number, index?: number): void; readBigUInt64LE(index?: number): bigint; writeBigUInt64LE(value: bigint, index?: number): void; readBigUInt64BE(index?: number): bigint; writeBigUInt64BE(value: bigint, index?: number): void; readBigInt64LE(index?: number): bigint; writeBigInt64LE(value: bigint, index?: number): void; readBigInt64BE(index?: number): bigint; writeBigInt64BE(value: bigint, index?: number): void; readUIntLE(index: number, byteLength: number): number; writeUIntLE(value: number, index: number, byteLength: number): void; readUIntBE(index: number, byteLength: number): number; writeUIntBE(value: number, index: number, byteLength: number): void; subarray(start: number, end?: number): IsomorphicBuffer; [Symbol.iterator](): Iterator<number, number, number>; inspect(): any; valueOf(): { type: 'Buffer'; data: number[]; }; equals(other: IsomorphicBuffer): boolean; } export declare function throttle<T>(threshold: number): (handler: () => Promise<T>) => Promise<T>;