@comapeo/ipc
Version:
IPC wrappers for CoMapeo Core
90 lines (89 loc) • 4.95 kB
TypeScript
/**
* @param {import('./lib/sub-channel.js').MessagePortLike} messagePort
* @param {object} [opts]
* @param {number} [opts.timeout]
*
* @returns {MapeoClientApi}
*/
export function createMapeoClient(messagePort: import('./lib/sub-channel.js').MessagePortLike, opts?: {
timeout?: number | undefined;
} | undefined): MapeoClientApi;
/**
* @param {MapeoClientApi} client client created with `createMapeoClient`
* @returns {Promise<void>}
*/
export function closeMapeoClient(client: MapeoClientApi): Promise<void>;
export type MapeoProjectApi = import('rpc-reflector/client.js').ClientApi<import('@comapeo/core/dist/mapeo-project.js').MapeoProject>;
export type MapeoClientApi = {
addListener: <U extends "local-peers">(event: U, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U]) => import("@comapeo/core").MapeoManager;
on: <U_1 extends "local-peers">(event: U_1, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_1]) => import("@comapeo/core").MapeoManager;
once: <U_2 extends "local-peers">(event: U_2, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_2]) => import("@comapeo/core").MapeoManager;
removeListener: <U_3 extends "local-peers">(event: U_3, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_3]) => import("@comapeo/core").MapeoManager;
off: <U_4 extends "local-peers">(event: U_4, listener: import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_4]) => import("@comapeo/core").MapeoManager;
removeAllListeners: (event?: "local-peers" | undefined) => import("@comapeo/core").MapeoManager;
listeners: <U_5 extends "local-peers">(type: U_5) => import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_5][];
rawListeners: <U_6 extends "local-peers">(type: U_6) => import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_6][];
emit: <U_7 extends "local-peers">(event: U_7, ...args: Parameters<import("@comapeo/core/dist/mapeo-manager.js").MapeoManagerEvents[U_7]>) => boolean;
listenerCount: (type: "local-peers") => number;
eventNames: <U_8 extends "local-peers">() => U_8[];
readonly deviceId: () => Promise<string>;
createProject: ({ name, configPath }?: {
name?: string | undefined;
configPath?: string | undefined;
} | undefined) => Promise<string>;
listProjects: () => Promise<(Pick<{
schemaName: "projectSettings";
name?: string | undefined;
defaultPresets?: {
point: string[];
area: string[];
vertex: string[];
line: string[];
relation: string[];
} | undefined;
configMetadata?: {
name: string;
buildDate: string;
importDate: string;
fileVersion: string;
} | undefined;
}, "name"> & {
projectId: string;
createdAt?: string | undefined;
updatedAt?: string | undefined;
})[]>;
addProject: ({ projectKey, encryptionKeys, projectName }: Pick<import("@comapeo/core/dist/generated/rpc.js").ProjectJoinDetails, "projectKey" | "encryptionKeys"> & {
projectName: string;
}, { waitForSync }?: {
waitForSync?: boolean | undefined;
} | undefined) => Promise<string>;
setDeviceInfo: <T extends import("type-fest").Exact<import("@comapeo/core/dist/schema/client.js").DeviceInfoParam & {
deviceType?: "UNRECOGNIZED" | "device_type_unspecified" | "mobile" | "tablet" | "desktop" | "selfHostedServer" | undefined;
}, T>>(deviceInfo: T) => Promise<void>;
getDeviceInfo: () => Promise<{
deviceId: string;
deviceType: "UNRECOGNIZED" | "device_type_unspecified" | "mobile" | "tablet" | "desktop" | "selfHostedServer";
} & Partial<import("@comapeo/core/dist/schema/client.js").DeviceInfoParam>>;
setIsArchiveDevice: (isArchiveDevice: boolean) => Promise<void>;
getIsArchiveDevice: () => Promise<boolean>;
readonly invite: import("rpc-reflector/lib/types.js").ClientApi<import("@comapeo/core/dist/invite/invite-api.js").InviteApi> & (() => Promise<import("@comapeo/core/dist/invite/invite-api.js").InviteApi>);
startLocalPeerDiscoveryServer: () => Promise<{
name: string;
port: number;
}>;
stopLocalPeerDiscoveryServer: (opts?: {
force?: boolean | undefined;
timeout?: number | undefined;
} | undefined) => Promise<void>;
connectLocalPeer: (args_0: {
address: string;
port: number;
name: string;
}) => Promise<void>;
listLocalPeers: () => Promise<import("@comapeo/core/dist/mapeo-manager.js").PublicPeerInfo[]>;
onBackgrounded: () => Promise<void>;
onForegrounded: () => Promise<void>;
leaveProject: (projectPublicId: string) => Promise<void>;
getMapStyleJsonUrl: () => Promise<string>;
getProject: (projectPublicId: string) => Promise<MapeoProjectApi>;
};