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.

32 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SharedTypedArrayTuple = void 0; const shared_memory_block_js_1 = require("../../web-assembly/shared-memory/shared-memory-block.js"); const is_little_endian_js_1 = require("../../web-assembly/util/is-little-endian.js"); /** @public {@inheritDoc ISharedTypedArrayTuple} */ class SharedTypedArrayTuple { static createOne(typedArrayCtor, bindToReference, wrapper) { const byteSize = typedArrayCtor.BYTES_PER_ELEMENT * typedArrayCtor.factory.elementCount; const block = shared_memory_block_js_1.SharedMemoryBlock.createOne(wrapper, bindToReference, byteSize); return new SharedTypedArrayTuple(block); } getWrapper() { return this.memory.getWrapper(); } copyToBuffer(readFrom) { readFrom.copyToBuffer(this.memory.getDataView(), 0, SharedTypedArrayTuple.littleEndian); } copyFromBuffer(writeTo) { writeTo.copyFromBuffer(this.memory.getDataView(), 0, SharedTypedArrayTuple.littleEndian); } constructor(memory) { this.memory = memory; this.resourceHandle = memory.resourceHandle; } } exports.SharedTypedArrayTuple = SharedTypedArrayTuple; SharedTypedArrayTuple.littleEndian = is_little_endian_js_1.isLittleEndian; //# sourceMappingURL=shared-typed-array-tuple.js.map