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.

Note that this array will not be released automatically. You need to manually call .free() to release memory.

Methods

  • Returns void

  • 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
    );

    Returns number

  • Returns void

  • 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
    );

    Returns number