UNPKG

@comapeo/ipc

Version:
38 lines (37 loc) 1.83 kB
/** * @param {import('./lib/sub-channel.js').MessagePortLike} messagePort * @param {Parameters<typeof createClient>[1]} [opts] * * @returns {MapeoClientApi} */ export function createMapeoClient(messagePort: import("./lib/sub-channel.js").MessagePortLike, opts?: Parameters<typeof createClient>[1]): MapeoClientApi; /** * @param {MapeoClientApi} client client created with `createMapeoClient` * @returns {Promise<void>} */ export function closeMapeoClient(client: MapeoClientApi): Promise<void>; /** * @typedef {import('rpc-reflector/client.js').ClientApi<import('./server.js').RpcApi>} AppRpcApi */ /** * Create an rpc client for application RPC messages that are not part of core, * e.g. the different servers for maps, and in the future for serving blobs and * icons (once extracted from core) * * @param {import('./lib/sub-channel.js').MessagePortLike} messagePort * @param {Parameters<typeof createClient>[1]} [opts] * @return {AppRpcApi} */ export function createAppRpcClient(messagePort: import("./lib/sub-channel.js").MessagePortLike, opts?: Parameters<typeof createClient>[1]): AppRpcApi; /** * Close the app RPC client (removes listeners but does not close the message port) * * @param {AppRpcApi} appRpcClient client created with `createAppRpcClient` */ export function closeAppRpcClient(appRpcClient: AppRpcApi): void; export type AppRpcApi = import("rpc-reflector/client.js").ClientApi<import("./server.js").RpcApi>; export type MapeoProjectApi = import("rpc-reflector/client.js").ClientApi<import("@comapeo/core").MapeoProject>; export type MapeoClientApi = import("rpc-reflector/client.js").ClientApi<Omit<import("@comapeo/core").MapeoManager, "getProject"> & { getProject: (projectPublicId: string) => Promise<MapeoProjectApi>; }>; import { createClient } from 'rpc-reflector/client.js';