UnFFI

Call any native library from Bun, Deno, or Node with one schema — your own shared libraries or built-in OS bindings for libc, CoreFoundation, kernel32, and more.

example.ts
import { ,  } from 'unffi'

await using  = await ('./libmath', {
  :   { : [., .], : . },
  : { : [.],    : . },
})

const sum = ..(2, 3)
const sum: number
const hello = ..('world')
const hello: string

Same source on Bun, Deno, and Node — the right FFI backend loads via package.json exports conditions. See Schema & types for interactive type hovers, or System libraries for shipped OS bindings.