@comapeo/ipc 4.0.0 → 5.0.0-prerelease.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  /**
2
2
  * @param {import('./lib/sub-channel.js').MessagePortLike} messagePort
3
- * @param {object} [opts]
4
- * @param {number} [opts.timeout]
3
+ * @param {Parameters<typeof createClient>[1]} [opts]
5
4
  *
6
5
  * @returns {MapeoClientApi}
7
6
  */
8
- export function createMapeoClient(messagePort: import("./lib/sub-channel.js").MessagePortLike, opts?: {
9
- timeout?: number | undefined;
10
- }): MapeoClientApi;
7
+ export function createMapeoClient(messagePort: import("./lib/sub-channel.js").MessagePortLike, opts?: Parameters<typeof createClient>[1]): MapeoClientApi;
11
8
  /**
12
9
  * @param {MapeoClientApi} client client created with `createMapeoClient`
13
10
  * @returns {Promise<void>}
@@ -17,3 +14,4 @@ export type MapeoProjectApi = import("rpc-reflector/client.js").ClientApi<import
17
14
  export type MapeoClientApi = import("rpc-reflector/client.js").ClientApi<Omit<import("@comapeo/core").MapeoManager, "getProject"> & {
18
15
  getProject: (projectPublicId: string) => Promise<MapeoProjectApi>;
19
16
  }>;
17
+ import { createClient } from 'rpc-reflector/client.js';
package/dist/client.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createClient } from 'rpc-reflector';
1
+ import { createClient } from 'rpc-reflector/client.js';
2
2
  import pDefer from 'p-defer';
3
3
  import { MANAGER_CHANNEL_ID, MAPEO_RPC_ID, SubChannel, } from './lib/sub-channel.js';
4
4
  /**
@@ -16,8 +16,7 @@ import { MANAGER_CHANNEL_ID, MAPEO_RPC_ID, SubChannel, } from './lib/sub-channel
16
16
  const CLOSE = Symbol('close');
17
17
  /**
18
18
  * @param {import('./lib/sub-channel.js').MessagePortLike} messagePort
19
- * @param {object} [opts]
20
- * @param {number} [opts.timeout]
19
+ * @param {Parameters<typeof createClient>[1]} [opts]
21
20
  *
22
21
  * @returns {MapeoClientApi}
23
22
  */
@@ -62,7 +61,7 @@ export function createMapeoClient(messagePort, opts = {}) {
62
61
  const existingClientPromise = projectClientPromises.get(projectPublicId);
63
62
  if (existingClientPromise)
64
63
  return existingClientPromise;
65
- /** @type {import('p-defer').DeferredPromise<import('rpc-reflector/client.js').ClientApi<import('@comapeo/core/dist/mapeo-project.js').MapeoProject>>}*/
64
+ /** @type {import('p-defer').DeferredPromise<import('rpc-reflector/client.js').ClientApi<import('@comapeo/core/dist/mapeo-project.js').MapeoProject>>} */
66
65
  const deferred = pDefer();
67
66
  projectClientPromises.set(projectPublicId, deferred.promise);
68
67
  try {
package/dist/server.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * @param {import('@comapeo/core').MapeoManager} manager
3
3
  * @param {import('./lib/sub-channel.js').MessagePortLike} messagePort
4
+ * @param {Parameters<typeof createServer>[2]} [opts]
4
5
  */
5
- export function createMapeoServer(manager: import("@comapeo/core").MapeoManager, messagePort: import("./lib/sub-channel.js").MessagePortLike): {
6
+ export function createMapeoServer(manager: import("@comapeo/core").MapeoManager, messagePort: import("./lib/sub-channel.js").MessagePortLike, opts?: Parameters<typeof createServer>[2]): {
6
7
  close(): void;
7
8
  };
8
9
  export class MapeoRpcApi {
@@ -17,3 +18,4 @@ export class MapeoRpcApi {
17
18
  assertProjectExists(projectId: string): Promise<boolean>;
18
19
  #private;
19
20
  }
21
+ import { createServer } from 'rpc-reflector/server.js';
package/dist/server.js CHANGED
@@ -1,11 +1,12 @@
1
- import { createServer } from 'rpc-reflector';
1
+ import { createServer } from 'rpc-reflector/server.js';
2
2
  import { MANAGER_CHANNEL_ID, MAPEO_RPC_ID, SubChannel, } from './lib/sub-channel.js';
3
3
  import { extractMessageEventData } from './lib/utils.js';
4
4
  /**
5
5
  * @param {import('@comapeo/core').MapeoManager} manager
6
6
  * @param {import('./lib/sub-channel.js').MessagePortLike} messagePort
7
+ * @param {Parameters<typeof createServer>[2]} [opts]
7
8
  */
8
- export function createMapeoServer(manager, messagePort) {
9
+ export function createMapeoServer(manager, messagePort, opts) {
9
10
  /** @type {Map<string, { close: () => void }>} */
10
11
  const existingProjectServers = new Map();
11
12
  /** @type {Map<string, SubChannel>} */
@@ -13,8 +14,8 @@ export function createMapeoServer(manager, messagePort) {
13
14
  const mapeoRpcApi = new MapeoRpcApi(manager);
14
15
  const managerChannel = new SubChannel(messagePort, MANAGER_CHANNEL_ID);
15
16
  const mapeoRpcChannel = new SubChannel(messagePort, MAPEO_RPC_ID);
16
- const managerServer = createServer(manager, managerChannel);
17
- const mapeoRpcServer = createServer(mapeoRpcApi, mapeoRpcChannel);
17
+ const managerServer = createServer(manager, managerChannel, opts);
18
+ const mapeoRpcServer = createServer(mapeoRpcApi, mapeoRpcChannel, opts);
18
19
  managerChannel.start();
19
20
  mapeoRpcChannel.start();
20
21
  messagePort.addEventListener('message', handleMessage);
@@ -61,7 +62,7 @@ export function createMapeoServer(manager, messagePort) {
61
62
  existingProjectServers.delete(id);
62
63
  return;
63
64
  }
64
- const { close } = createServer(project, projectChannel);
65
+ const { close } = createServer(project, projectChannel, opts);
65
66
  existingProjectServers.set(id, { close });
66
67
  projectChannel.emit('message', data.message);
67
68
  projectChannel.start();
package/package.json CHANGED
@@ -1,10 +1,24 @@
1
1
  {
2
2
  "name": "@comapeo/ipc",
3
- "version": "4.0.0",
3
+ "version": "5.0.0-prerelease.0",
4
4
  "description": "IPC wrappers for CoMapeo Core",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ },
13
+ "./client": {
14
+ "import": "./dist/client.js",
15
+ "types": "./dist/client.d.ts"
16
+ },
17
+ "./server": {
18
+ "import": "./dist/server.js",
19
+ "types": "./dist/server.d.ts"
20
+ }
21
+ },
8
22
  "engines": {
9
23
  "node": ">=18.17.1"
10
24
  },
@@ -41,7 +55,7 @@
41
55
  "dependencies": {
42
56
  "eventemitter3": "^5.0.1",
43
57
  "p-defer": "^4.0.1",
44
- "rpc-reflector": "^1.3.11"
58
+ "rpc-reflector": "^3.0.0-prerelease.0"
45
59
  },
46
60
  "peerDependencies": {
47
61
  "@comapeo/core": "^4.0.0"