UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

157 lines (156 loc) 8.68 kB
/*! Copyright 2023-2024 the gnablib contributors MPL-1.1 */ import { IReadTyped } from './interfaces/IReadTyped.js'; import type { IReadArray } from './interfaces/IReadArray.js'; import type { IReadWriteArray } from './interfaces/IReadWriteArray.js'; import { IWriteTyped } from './interfaces/IWriteTyped.js'; import { IBufferer } from './interfaces/IBufferer.js'; import { IBuildable } from './interfaces/IBuildable.js'; declare const consoleDebugSymbol: unique symbol; declare class SharedTyped<T extends IReadTyped<T>> { protected _view: T; [index: number]: number; constructor(_view: T); get byteLength(): number; get byteOffset(): number; get BYTES_PER_ELEMENT(): number; get length(): number; get capacity(): number; at(idx: number): number | undefined; clone(start?: number | undefined, end?: number | undefined): T; entries(): IterableIterator<[number, number]>; every(predicate: (value: number, index: number) => unknown, thisArg?: unknown): boolean; filter(predicate: (value: number, index: number) => unknown, thisArg?: unknown): T; find(predicate: (value: number, index: number) => boolean, thisArg?: unknown): number | undefined; findIndex(predicate: (value: number, index: number) => boolean, thisArg?: unknown): number; forEach(action: (value: number, index: number) => void, thisArg?: unknown): void; includes(searchElement: number, fromIndex?: number | undefined): boolean; indexOf(searchElement: number, fromIndex?: number | undefined): number; join(separator?: string): string; keys(): IterableIterator<number>; lastIndexOf(searchElement: number, fromIndex?: number): number; map(callBack: (value: number, index: number) => number, thisArg?: unknown): T; some(predicate: (value: number, index: number) => unknown, thisArg?: unknown): boolean; values(): IterableIterator<number>; toString(): string; toJSON(): unknown; [consoleDebugSymbol](): T; [Symbol.iterator](): IterableIterator<number>; } export declare class ReadonlyTyped<T extends IReadTyped<T>> extends SharedTyped<T> implements IReadArray<T> { private readonly base; constructor(base: IBuildable<T>, data: ArrayBufferLike | IBufferer, startEl?: number, lengthEls?: number); readonlySpan(start?: number | undefined, end?: number | undefined): IReadArray<T>; get [Symbol.toStringTag](): string; } export declare class FixedTyped<T extends IWriteTyped<T>> extends SharedTyped<T> implements IReadWriteArray<T> { private readonly base; constructor(base: IBuildable<T>, data: ArrayBufferLike | IBufferer, start?: number, length?: number); setEl(idx: number, value: number): void; fill(value: number, start?: number | undefined, length?: number | undefined): IReadWriteArray<T>; readonlySpan(start?: number | undefined, end?: number | undefined): IReadArray<T>; reverse(): IReadWriteArray<T>; set(array: ArrayLike<number>, offset?: number | undefined): void; sort(compareFn?: ((a: number, b: number) => number) | undefined): IReadWriteArray<T>; span(start?: number | undefined, length?: number | undefined): IReadWriteArray<T>; get [Symbol.toStringTag](): string; } export declare class ScalingTyped<T extends IWriteTyped<T>> extends SharedTyped<T> implements IReadWriteArray<T> { private readonly base; private _data; private _sizeLocked; constructor(base: IBuildable<T>, length: number | undefined, capacity: number | undefined); private _resize; private assertSpace; get capacity(): number; set capacity(elCount: number); fill(value: number, start?: number | undefined, length?: number | undefined): IReadWriteArray<T>; readonlySpan(start?: number | undefined, length?: number | undefined): IReadArray<T>; reverse(): IReadWriteArray<T>; set(array: ArrayLike<number>, offset?: number | undefined): void; setEl(idx: number, value: number): void; sort(compareFn?: ((a: number, b: number) => number) | undefined): IReadWriteArray<T>; span(start?: number | undefined, length?: number | undefined): IReadWriteArray<T>; get [Symbol.toStringTag](): string; } export declare class ReadonlyUint8Array extends ReadonlyTyped<Uint8Array> { constructor(data: ArrayBufferLike | IBufferer, startEl?: number | undefined, lengthEls?: number | undefined); } export declare class ReadonlyUint16Array extends ReadonlyTyped<Uint16Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, length?: number | undefined); } export declare class ReadonlyUint32Array extends ReadonlyTyped<Uint32Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class ReadonlyInt8Array extends ReadonlyTyped<Int8Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class ReadonlyInt16Array extends ReadonlyTyped<Int16Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class ReadonlyInt32Array extends ReadonlyTyped<Int32Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class ReadonlyFloat32Array extends ReadonlyTyped<Float32Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class ReadonlyFloat64Array extends ReadonlyTyped<Float64Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class ReadonlyUint8ClampedArray extends ReadonlyTyped<Uint8ClampedArray> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class FixedUint8Array extends FixedTyped<Uint8Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, length?: number | undefined); } export declare class FixedUint16Array extends FixedTyped<Uint16Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, length?: number | undefined); } export declare class FixedUint32Array extends FixedTyped<Uint32Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class FixedInt8Array extends FixedTyped<Int8Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class FixedInt16Array extends FixedTyped<Int16Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class FixedInt32Array extends FixedTyped<Int32Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class FixedFloat32Array extends FixedTyped<Float32Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class FixedFloat64Array extends FixedTyped<Float64Array> { constructor(data: ArrayBufferLike | IBufferer, start?: number | undefined, end?: number | undefined); } export declare class FixedUint8ClampedArray extends FixedTyped<Uint8ClampedArray> { constructor(data: ArrayBuffer | Uint8ClampedArray, start?: number | undefined, end?: number | undefined); } export declare class ScalingUint8Array extends ScalingTyped<Uint8Array> { constructor(length?: number, capacity?: number); } export declare class ScalingUint16Array extends ScalingTyped<Uint16Array> { constructor(length?: number, capacity?: number); } export declare class ScalingUint32Array extends ScalingTyped<Uint32Array> { constructor(length?: number, capacity?: number); } export declare class ScalingInt8Array extends ScalingTyped<Int8Array> { constructor(length?: number, capacity?: number); } export declare class ScalingInt16Array extends ScalingTyped<Int16Array> { constructor(length?: number, capacity?: number); } export declare class ScalingInt32Array extends ScalingTyped<Int32Array> { constructor(length?: number, capacity?: number); } export declare class ScalingFloat32Array extends ScalingTyped<Float32Array> { constructor(length?: number, capacity?: number); } export declare class ScalingFloat64Array extends ScalingTyped<Float64Array> { constructor(length?: number, capacity?: number); } export declare class ScalingUint8ClampedArray extends ScalingTyped<Uint8ClampedArray> { constructor(length?: number, capacity?: number); } export {};