@akala/core
Version:
114 lines (113 loc) • 5.43 kB
TypeScript
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>;