interprocess
Version:
A scalable and type-safe Electron IPC management tool with enhanced DX
12 lines (11 loc) • 699 B
TypeScript
import type { API } from '../types';
export declare function createApiToGlobalWindowExposer<Handle, Invoke, Remove>(rendererHandle: Handle, rendererInvoke: Invoke, rendererRemove: Remove): <APIConfig extends API<Handle, Invoke, Remove, APIConfig>>(props?: APIConfig) => {
key: APIConfig["apiKey"] extends string ? APIConfig["apiKey"] : "api";
api: (APIConfig["override"] extends Function ? ReturnType<APIConfig["override"]> : APIConfig["exposeAll"] extends true ? {
invoke: Invoke;
handle: Handle;
remove: Remove;
} : {
invoke: Invoke;
}) & ((APIConfig["append"] extends infer T ? { [K in keyof T]: APIConfig["append"][K]; } : never) | undefined);
};