Skip to main content
The Deno adapter uses Deno.dlopen to load the Zinc shared library. Like the Bun adapter, no native addon is needed. The FFI bindings are defined at runtime in TypeScript.

Installation

Requires Deno 1.33 or later with --allow-ffi and --allow-read permissions.

SharedRegion

create

Creates a new region. Throws on failure.

open

Opens an existing region.

buffer

Returns a Uint8Array backed by the shared memory mapping. Uses Deno.UnsafePointerView.getArrayBuffer for zero-copy access.

notify

wait

Returns true on notification, false on timeout.

close

Supports Symbol.dispose for using declarations:

Complete example

Permissions

The adapter requires these Deno permissions:
  • --allow-ffi to call Deno.dlopen
  • --allow-read to locate the shared library
Without these, the import will fail with a permission error.

FFI details

The library path is resolved relative to the adapter’s Deno module location. The suffix is determined from Deno.build.os: .dylib on macOS, .so on Linux. windows is not mapped — Zinc does not support Windows. Pointer values are represented as Deno.PointerValue (which is number | null on 32-bit and bigint | null on 64-bit).