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
Build the core from a source checkout, then set up the adapter:SharedRegion
create
open
buffer
Returns aUint8Array backed by the shared memory mapping. Uses Deno.UnsafePointerView.getArrayBuffer for zero-copy access.
notify
wait
true on notification, false on timeout.
close
Symbol.dispose for using declarations:
Complete example
Permissions
The adapter requires these Deno permissions:--allow-ffito callDeno.dlopen--allow-readto locate the shared library
FFI details
The loader resolvestarget/release/libzinc_core.{so,dylib} relative to the source checkout. Handles use Deno’s opaque PointerValue objects. The adapter targets Deno 2 and requires --unstable-ffi --allow-ffi --allow-read.
Keep the region open while any returned view is in use. close() is idempotent and later operations on the region throw. tryWait() consumes a pending notification without blocking. Timeouts must be integers between 0 and 2^32 - 1 milliseconds.