UNPKG

ffi-libraries

Version:

A Node.js library for loading and calling functions from dynamic libraries

24 lines (23 loc) 796 B
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 {};