Access the pointer to the
ArrowArray
struct. This can be viewed or copied (without serialization) to an Arrow JS RecordBatch
by
using arrow-js-ffi
. You can access the
WebAssembly.Memory
instance by using wasmMemory
.
Example:
import { parseRecordBatch } from "arrow-js-ffi";
const wasmRecordBatch: FFIRecordBatch = ...
const wasmMemory: WebAssembly.Memory = wasmMemory();
// Pass `true` to copy arrays across the boundary instead of creating views.
const jsRecordBatch = parseRecordBatch(
wasmMemory.buffer,
wasmRecordBatch.arrayAddr(),
wasmRecordBatch.schemaAddr(),
true
);
Access the pointer to the
ArrowSchema
struct. This can be viewed or copied (without serialization) to an Arrow JS Field
by
using arrow-js-ffi
. You can access the
WebAssembly.Memory
instance by using wasmMemory
.
Example:
import { parseRecordBatch } from "arrow-js-ffi";
const wasmRecordBatch: FFIRecordBatch = ...
const wasmMemory: WebAssembly.Memory = wasmMemory();
// Pass `true` to copy arrays across the boundary instead of creating views.
const jsRecordBatch = parseRecordBatch(
wasmMemory.buffer,
wasmRecordBatch.arrayAddr(),
wasmRecordBatch.schemaAddr(),
true
);
An Arrow array exported to FFI.
Using
arrow-js-ffi
, you can view or copy Arrow these objects to JavaScript.Note that this also includes an ArrowSchema C struct as well, so that extension type information can be maintained.
Memory management
Note that this array will not be released automatically. You need to manually call
.free()
to release memory.