---
source: packages/codegen/src/ffi.rs
expression: "crate::util::deno_fmt(format!(\"{eager}\\n{lazy}\"))"
---
const __dodo_lib = new URL(
`./lib.${Deno.build.target}.${
({ windows: "dll", darwin: "dylib" } as Record<string, string>)[
Deno.build.os
] ?? "so"
}`,
import.meta.url,
);
export const { symbols } = Deno.dlopen(__dodo_lib, {
some_symbol: { parameters: ["pointer", "u8"], result: "void" },
slow_symbol: { parameters: ["buffer"], result: "u64", nonblocking: true },
});
const __dodo_lib = new URL(
`./lib.${Deno.build.target}.${
({ windows: "dll", darwin: "dylib" } as Record<string, string>)[
Deno.build.os
] ?? "so"
}`,
import.meta.url,
);
let symbols: any;
export function load(path: string | URL = __dodo_lib) {
const { dlopen } = Deno;
const { symbols: symbols_ } = dlopen(path, {
some_symbol: { parameters: ["pointer", "u8"], result: "void" },
slow_symbol: { parameters: ["buffer"], result: "u64", nonblocking: true },
});
symbols = symbols_;
}