ffi-libraries
Version:
A Node.js library for loading and calling functions from dynamic libraries
24 lines (23 loc) • 796 B
TypeScript
type FunctionDefinition = [string, string[]];
interface FunctionDefinitions {
[key: string]: FunctionDefinition;
}
type FFICallback<T> = (error: any, value: T) => void;
export interface ForeignFunction<TReturn = any, TArgs extends any[] = any[]> {
(...args: TArgs): TReturn;
async(...args: [...TArgs, FFICallback<TReturn>]): void;
}
export interface Library {
/**
* @param path Path to the dynamic library
* @param functions Object containing function definitions
*/
new <T>(path: string, functions: FunctionDefinitions): T;
/**
* @param path Path to the dynamic library
* @param functions Object containing function definitions
*/
<T>(path: string, functions: FunctionDefinitions): T;
}
export declare const Library: Library;
export {};