UNPKG

rc-js-util

Version:

A collection of TS and C++ utilities to help writing performant and correct applications, achieved through strict typing and (removable) invariant checking.

35 lines 1.88 kB
import { ATypedArrayTuple } from "../../array/typed-array/a-typed-array-tuple.js"; import { TTypedArray } from "../../array/typed-array/t-typed-array.js"; import type { IManagedObject, IManagedResourceNode, IPointer } from "../../lifecycle/manged-resources.js"; import { IEmscriptenWrapper } from "../emscripten/i-emscripten-wrapper.js"; import { ENumberIdentifier } from "../../runtime/rtti-interop.js"; import type { ISharedVectorBindings } from "../resizable-array/i-shared-vector-bindings.js"; /** * @public */ export interface ITypedArrayTuple<TArray extends ATypedArrayTuple<number, TTypedArray>> extends IManagedObject, IPointer { readonly ctor: new (buffer: ArrayBufferLike, offset: number, byteSize: number) => TArray; readonly numberId: ENumberIdentifier; readonly byteSize: number; getSharedObjectHandle(): IManagedObject | null; getDataView(): DataView; getArray(): TArray; } /** * @public */ export declare class TypedArrayTuple<TArray extends ATypedArrayTuple<number, TTypedArray>> implements ITypedArrayTuple<TArray> { protected readonly wrapper: IEmscriptenWrapper<ISharedVectorBindings>; readonly ctor: new (buffer: ArrayBufferLike, offset: number, byteSize: number) => TArray; readonly resourceHandle: IManagedResourceNode; readonly pointer: number; readonly byteSize: number; readonly numberId: ENumberIdentifier; constructor(wrapper: IEmscriptenWrapper<ISharedVectorBindings>, owner: IManagedResourceNode | null, ctor: new (buffer: ArrayBufferLike, offset: number, byteSize: number) => TArray, pointerToData: number, numberId: ENumberIdentifier, byteSize: number); getWrapper(): IEmscriptenWrapper<ISharedVectorBindings>; getSharedObjectHandle(): IManagedObject; getDataView(): DataView; getArray(): TArray; private readonly impl; } //# sourceMappingURL=typed-array-tuple.d.ts.map