@comapeo/core-react 4.0.0 → 4.2.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.
@@ -268,7 +268,7 @@ export declare function useDocumentCreatedBy({ projectId, originalVersionId, }:
268
268
  export declare function useOwnRoleInProject({ projectId }: {
269
269
  projectId: string;
270
270
  }): {
271
- data: import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">;
271
+ data: import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">;
272
272
  error: Error | null;
273
273
  isRefetching: boolean;
274
274
  };
@@ -299,6 +299,33 @@ export declare function useAddServerPeer({ projectId }: {
299
299
  reset: () => void;
300
300
  status: "pending" | "success" | "idle";
301
301
  };
302
+ export declare function useRemoveServerPeer({ projectId }: {
303
+ projectId: string;
304
+ }): {
305
+ error: Error;
306
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
307
+ serverDeviceId: string;
308
+ dangerouslyAllowInsecureConnections?: boolean;
309
+ }, unknown>;
310
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
311
+ serverDeviceId: string;
312
+ dangerouslyAllowInsecureConnections?: boolean;
313
+ }, unknown>;
314
+ reset: () => void;
315
+ status: "error";
316
+ } | {
317
+ error: null;
318
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
319
+ serverDeviceId: string;
320
+ dangerouslyAllowInsecureConnections?: boolean;
321
+ }, unknown>;
322
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
323
+ serverDeviceId: string;
324
+ dangerouslyAllowInsecureConnections?: boolean;
325
+ }, unknown>;
326
+ reset: () => void;
327
+ status: "pending" | "success" | "idle";
328
+ };
302
329
  /**
303
330
  * Create a new project.
304
331
  */
@@ -546,3 +573,56 @@ export declare function useStopSync({ projectId }: {
546
573
  reset: () => void;
547
574
  status: "pending" | "success" | "idle";
548
575
  };
576
+ export declare function useConnectSyncServers({ projectId }: {
577
+ projectId: string;
578
+ }): {
579
+ error: Error;
580
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
581
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
582
+ reset: () => void;
583
+ status: "error";
584
+ } | {
585
+ error: null;
586
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
587
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
588
+ reset: () => void;
589
+ status: "pending" | "success" | "idle";
590
+ };
591
+ export declare function useDisconnectSyncServers({ projectId }: {
592
+ projectId: string;
593
+ }): {
594
+ error: Error;
595
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
596
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
597
+ reset: () => void;
598
+ status: "error";
599
+ } | {
600
+ error: null;
601
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
602
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
603
+ reset: () => void;
604
+ status: "pending" | "success" | "idle";
605
+ };
606
+ export declare function useSetAutostopDataSyncTimeout({ projectId, }: {
607
+ projectId: string;
608
+ }): {
609
+ error: Error;
610
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
611
+ after: number | null;
612
+ }, unknown>;
613
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
614
+ after: number | null;
615
+ }, unknown>;
616
+ reset: () => void;
617
+ status: "error";
618
+ } | {
619
+ error: null;
620
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
621
+ after: number | null;
622
+ }, unknown>;
623
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
624
+ after: number | null;
625
+ }, unknown>;
626
+ reset: () => void;
627
+ status: "pending" | "success" | "idle";
628
+ };
@@ -10,6 +10,7 @@ exports.useAttachmentUrl = useAttachmentUrl;
10
10
  exports.useDocumentCreatedBy = useDocumentCreatedBy;
11
11
  exports.useOwnRoleInProject = useOwnRoleInProject;
12
12
  exports.useAddServerPeer = useAddServerPeer;
13
+ exports.useRemoveServerPeer = useRemoveServerPeer;
13
14
  exports.useCreateProject = useCreateProject;
14
15
  exports.useLeaveProject = useLeaveProject;
15
16
  exports.useImportProjectConfig = useImportProjectConfig;
@@ -19,6 +20,9 @@ exports.useSyncState = useSyncState;
19
20
  exports.useDataSyncProgress = useDataSyncProgress;
20
21
  exports.useStartSync = useStartSync;
21
22
  exports.useStopSync = useStopSync;
23
+ exports.useConnectSyncServers = useConnectSyncServers;
24
+ exports.useDisconnectSyncServers = useDisconnectSyncServers;
25
+ exports.useSetAutostopDataSyncTimeout = useSetAutostopDataSyncTimeout;
22
26
  const react_query_1 = require("@tanstack/react-query");
23
27
  const react_1 = require("react");
24
28
  const projects_js_1 = require("../lib/react-query/projects.js");
@@ -297,6 +301,14 @@ function useAddServerPeer({ projectId }) {
297
301
  ? { error, mutate, mutateAsync, reset, status }
298
302
  : { error: null, mutate, mutateAsync, reset, status };
299
303
  }
304
+ function useRemoveServerPeer({ projectId }) {
305
+ const queryClient = (0, react_query_1.useQueryClient)();
306
+ const { data: projectApi } = useSingleProject({ projectId });
307
+ const { error, mutate, mutateAsync, reset, status } = (0, react_query_1.useMutation)((0, projects_js_1.removeServerPeerMutationOptions)({ projectApi, projectId, queryClient }));
308
+ return status === 'error'
309
+ ? { error, mutate, mutateAsync, reset, status }
310
+ : { error: null, mutate, mutateAsync, reset, status };
311
+ }
300
312
  /**
301
313
  * Create a new project.
302
314
  */
@@ -417,3 +429,24 @@ function useStopSync({ projectId }) {
417
429
  ? { error, mutate, mutateAsync, reset, status }
418
430
  : { error: null, mutate, mutateAsync, reset, status };
419
431
  }
432
+ function useConnectSyncServers({ projectId }) {
433
+ const { data: projectApi } = useSingleProject({ projectId });
434
+ const { error, mutate, mutateAsync, reset, status } = (0, react_query_1.useMutation)((0, projects_js_1.connectSyncServersMutationOptions)({ projectApi }));
435
+ return status === 'error'
436
+ ? { error, mutate, mutateAsync, reset, status }
437
+ : { error: null, mutate, mutateAsync, reset, status };
438
+ }
439
+ function useDisconnectSyncServers({ projectId }) {
440
+ const { data: projectApi } = useSingleProject({ projectId });
441
+ const { error, mutate, mutateAsync, reset, status } = (0, react_query_1.useMutation)((0, projects_js_1.disconnectSyncServersMutationOptions)({ projectApi }));
442
+ return status === 'error'
443
+ ? { error, mutate, mutateAsync, reset, status }
444
+ : { error: null, mutate, mutateAsync, reset, status };
445
+ }
446
+ function useSetAutostopDataSyncTimeout({ projectId, }) {
447
+ const { data: projectApi } = useSingleProject({ projectId });
448
+ const { error, mutate, mutateAsync, reset, status } = (0, react_query_1.useMutation)((0, projects_js_1.setAutostopDataSyncTimeoutMutationOptions)({ projectApi }));
449
+ return status === 'error'
450
+ ? { error, mutate, mutateAsync, reset, status }
451
+ : { error: null, mutate, mutateAsync, reset, status };
452
+ }
@@ -1,8 +1,8 @@
1
1
  export { ClientApiContext, ClientApiProvider } from './contexts/ClientApi.js';
2
2
  export { useClientApi, useIsArchiveDevice, useOwnDeviceInfo, useSetIsArchiveDevice, useSetOwnDeviceInfo, } from './hooks/client.js';
3
3
  export { useCreateDocument, useDeleteDocument, useManyDocs, useSingleDocByDocId, useSingleDocByVersionId, useUpdateDocument, } from './hooks/documents.js';
4
- export { useAcceptInvite, useSetUpInvitesListeners, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSingleInvite, } from './hooks/invites.js';
4
+ export { useAcceptInvite, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSetUpInvitesListeners, useSingleInvite, } from './hooks/invites.js';
5
5
  export { useMapStyleUrl } from './hooks/maps.js';
6
- export { useAddServerPeer, useAttachmentUrl, useCreateBlob, useCreateProject, useDataSyncProgress, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
6
+ export { useAddServerPeer, useAttachmentUrl, useConnectSyncServers, useCreateBlob, useCreateProject, useDataSyncProgress, useDisconnectSyncServers, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useRemoveServerPeer, useSetAutostopDataSyncTimeout, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
7
7
  export { type SyncState } from './lib/sync.js';
8
8
  export { type WriteableDocument, type WriteableDocumentType, type WriteableValue, } from './lib/types.js';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useUpdateProjectSettings = exports.useSyncState = exports.useStopSync = exports.useStartSync = exports.useSingleProject = exports.useSingleMember = exports.useProjectSettings = exports.useOwnRoleInProject = exports.useManyProjects = exports.useManyMembers = exports.useLeaveProject = exports.useImportProjectConfig = exports.useIconUrl = exports.useDocumentCreatedBy = exports.useDataSyncProgress = exports.useCreateProject = exports.useCreateBlob = exports.useAttachmentUrl = exports.useAddServerPeer = exports.useMapStyleUrl = exports.useSingleInvite = exports.useSendInvite = exports.useRequestCancelInvite = exports.useRejectInvite = exports.useManyInvites = exports.useSetUpInvitesListeners = exports.useAcceptInvite = exports.useUpdateDocument = exports.useSingleDocByVersionId = exports.useSingleDocByDocId = exports.useManyDocs = exports.useDeleteDocument = exports.useCreateDocument = exports.useSetOwnDeviceInfo = exports.useSetIsArchiveDevice = exports.useOwnDeviceInfo = exports.useIsArchiveDevice = exports.useClientApi = exports.ClientApiProvider = exports.ClientApiContext = void 0;
3
+ exports.useUpdateProjectSettings = exports.useSyncState = exports.useStopSync = exports.useStartSync = exports.useSingleProject = exports.useSingleMember = exports.useSetAutostopDataSyncTimeout = exports.useRemoveServerPeer = exports.useProjectSettings = exports.useOwnRoleInProject = exports.useManyProjects = exports.useManyMembers = exports.useLeaveProject = exports.useImportProjectConfig = exports.useIconUrl = exports.useDocumentCreatedBy = exports.useDisconnectSyncServers = exports.useDataSyncProgress = exports.useCreateProject = exports.useCreateBlob = exports.useConnectSyncServers = exports.useAttachmentUrl = exports.useAddServerPeer = exports.useMapStyleUrl = exports.useSingleInvite = exports.useSetUpInvitesListeners = exports.useSendInvite = exports.useRequestCancelInvite = exports.useRejectInvite = exports.useManyInvites = exports.useAcceptInvite = exports.useUpdateDocument = exports.useSingleDocByVersionId = exports.useSingleDocByDocId = exports.useManyDocs = exports.useDeleteDocument = exports.useCreateDocument = exports.useSetOwnDeviceInfo = exports.useSetIsArchiveDevice = exports.useOwnDeviceInfo = exports.useIsArchiveDevice = exports.useClientApi = exports.ClientApiProvider = exports.ClientApiContext = void 0;
4
4
  var ClientApi_js_1 = require("./contexts/ClientApi.js");
5
5
  Object.defineProperty(exports, "ClientApiContext", { enumerable: true, get: function () { return ClientApi_js_1.ClientApiContext; } });
6
6
  Object.defineProperty(exports, "ClientApiProvider", { enumerable: true, get: function () { return ClientApi_js_1.ClientApiProvider; } });
@@ -19,20 +19,22 @@ Object.defineProperty(exports, "useSingleDocByVersionId", { enumerable: true, ge
19
19
  Object.defineProperty(exports, "useUpdateDocument", { enumerable: true, get: function () { return documents_js_1.useUpdateDocument; } });
20
20
  var invites_js_1 = require("./hooks/invites.js");
21
21
  Object.defineProperty(exports, "useAcceptInvite", { enumerable: true, get: function () { return invites_js_1.useAcceptInvite; } });
22
- Object.defineProperty(exports, "useSetUpInvitesListeners", { enumerable: true, get: function () { return invites_js_1.useSetUpInvitesListeners; } });
23
22
  Object.defineProperty(exports, "useManyInvites", { enumerable: true, get: function () { return invites_js_1.useManyInvites; } });
24
23
  Object.defineProperty(exports, "useRejectInvite", { enumerable: true, get: function () { return invites_js_1.useRejectInvite; } });
25
24
  Object.defineProperty(exports, "useRequestCancelInvite", { enumerable: true, get: function () { return invites_js_1.useRequestCancelInvite; } });
26
25
  Object.defineProperty(exports, "useSendInvite", { enumerable: true, get: function () { return invites_js_1.useSendInvite; } });
26
+ Object.defineProperty(exports, "useSetUpInvitesListeners", { enumerable: true, get: function () { return invites_js_1.useSetUpInvitesListeners; } });
27
27
  Object.defineProperty(exports, "useSingleInvite", { enumerable: true, get: function () { return invites_js_1.useSingleInvite; } });
28
28
  var maps_js_1 = require("./hooks/maps.js");
29
29
  Object.defineProperty(exports, "useMapStyleUrl", { enumerable: true, get: function () { return maps_js_1.useMapStyleUrl; } });
30
30
  var projects_js_1 = require("./hooks/projects.js");
31
31
  Object.defineProperty(exports, "useAddServerPeer", { enumerable: true, get: function () { return projects_js_1.useAddServerPeer; } });
32
32
  Object.defineProperty(exports, "useAttachmentUrl", { enumerable: true, get: function () { return projects_js_1.useAttachmentUrl; } });
33
+ Object.defineProperty(exports, "useConnectSyncServers", { enumerable: true, get: function () { return projects_js_1.useConnectSyncServers; } });
33
34
  Object.defineProperty(exports, "useCreateBlob", { enumerable: true, get: function () { return projects_js_1.useCreateBlob; } });
34
35
  Object.defineProperty(exports, "useCreateProject", { enumerable: true, get: function () { return projects_js_1.useCreateProject; } });
35
36
  Object.defineProperty(exports, "useDataSyncProgress", { enumerable: true, get: function () { return projects_js_1.useDataSyncProgress; } });
37
+ Object.defineProperty(exports, "useDisconnectSyncServers", { enumerable: true, get: function () { return projects_js_1.useDisconnectSyncServers; } });
36
38
  Object.defineProperty(exports, "useDocumentCreatedBy", { enumerable: true, get: function () { return projects_js_1.useDocumentCreatedBy; } });
37
39
  Object.defineProperty(exports, "useIconUrl", { enumerable: true, get: function () { return projects_js_1.useIconUrl; } });
38
40
  Object.defineProperty(exports, "useImportProjectConfig", { enumerable: true, get: function () { return projects_js_1.useImportProjectConfig; } });
@@ -41,6 +43,8 @@ Object.defineProperty(exports, "useManyMembers", { enumerable: true, get: functi
41
43
  Object.defineProperty(exports, "useManyProjects", { enumerable: true, get: function () { return projects_js_1.useManyProjects; } });
42
44
  Object.defineProperty(exports, "useOwnRoleInProject", { enumerable: true, get: function () { return projects_js_1.useOwnRoleInProject; } });
43
45
  Object.defineProperty(exports, "useProjectSettings", { enumerable: true, get: function () { return projects_js_1.useProjectSettings; } });
46
+ Object.defineProperty(exports, "useRemoveServerPeer", { enumerable: true, get: function () { return projects_js_1.useRemoveServerPeer; } });
47
+ Object.defineProperty(exports, "useSetAutostopDataSyncTimeout", { enumerable: true, get: function () { return projects_js_1.useSetAutostopDataSyncTimeout; } });
44
48
  Object.defineProperty(exports, "useSingleMember", { enumerable: true, get: function () { return projects_js_1.useSingleMember; } });
45
49
  Object.defineProperty(exports, "useSingleProject", { enumerable: true, get: function () { return projects_js_1.useSingleProject; } });
46
50
  Object.defineProperty(exports, "useStartSync", { enumerable: true, get: function () { return projects_js_1.useStartSync; } });
@@ -181,11 +181,11 @@ export declare function projectMemberByIdQueryOptions({ projectApi, projectId, d
181
181
  export declare function projectOwnRoleQueryOptions({ projectApi, projectId, }: {
182
182
  projectApi: MapeoProjectApi;
183
183
  projectId: string;
184
- }): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">, Error, import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">, readonly ["@comapeo/core-react", "projects", string, "role"]>, "queryFn"> & {
185
- queryFn?: import("@tanstack/react-query").QueryFunction<import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">, readonly ["@comapeo/core-react", "projects", string, "role"], never> | undefined;
184
+ }): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">, Error, import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">, readonly ["@comapeo/core-react", "projects", string, "role"]>, "queryFn"> & {
185
+ queryFn?: import("@tanstack/react-query").QueryFunction<import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">, readonly ["@comapeo/core-react", "projects", string, "role"], never> | undefined;
186
186
  } & {
187
187
  queryKey: readonly ["@comapeo/core-react", "projects", string, "role"] & {
188
- [dataTagSymbol]: import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">;
188
+ [dataTagSymbol]: import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">;
189
189
  [dataTagErrorSymbol]: Error;
190
190
  };
191
191
  };
@@ -265,6 +265,19 @@ export declare function addServerPeerMutationOptions({ projectApi, projectId, qu
265
265
  networkMode: "always";
266
266
  retry: false;
267
267
  };
268
+ export declare function removeServerPeerMutationOptions({ projectApi, projectId, queryClient, }: {
269
+ projectApi: MapeoProjectApi;
270
+ projectId: string;
271
+ queryClient: QueryClient;
272
+ }): {
273
+ mutationFn: ({ serverDeviceId, dangerouslyAllowInsecureConnections, }: {
274
+ serverDeviceId: string;
275
+ dangerouslyAllowInsecureConnections?: boolean;
276
+ }) => Promise<void>;
277
+ onSuccess: () => void;
278
+ networkMode: "always";
279
+ retry: false;
280
+ };
268
281
  export declare function createProjectMutationOptions({ clientApi, queryClient, }: {
269
282
  clientApi: MapeoClientApi;
270
283
  queryClient: QueryClient;
@@ -346,3 +359,26 @@ export declare function stopSyncMutationOptions({ projectApi, }: {
346
359
  networkMode: "always";
347
360
  retry: false;
348
361
  };
362
+ export declare function connectSyncServersMutationOptions({ projectApi, }: {
363
+ projectApi: MapeoProjectApi;
364
+ }): {
365
+ mutationFn: () => Promise<void>;
366
+ networkMode: "always";
367
+ retry: false;
368
+ };
369
+ export declare function disconnectSyncServersMutationOptions({ projectApi, }: {
370
+ projectApi: MapeoProjectApi;
371
+ }): {
372
+ mutationFn: () => Promise<void>;
373
+ networkMode: "always";
374
+ retry: false;
375
+ };
376
+ export declare function setAutostopDataSyncTimeoutMutationOptions({ projectApi, }: {
377
+ projectApi: MapeoProjectApi;
378
+ }): {
379
+ mutationFn: ({ after }: {
380
+ after: number | null;
381
+ }) => Promise<void>;
382
+ networkMode: "always";
383
+ retry: false;
384
+ };
@@ -19,6 +19,7 @@ exports.iconUrlQueryOptions = iconUrlQueryOptions;
19
19
  exports.documentCreatedByQueryOptions = documentCreatedByQueryOptions;
20
20
  exports.attachmentUrlQueryOptions = attachmentUrlQueryOptions;
21
21
  exports.addServerPeerMutationOptions = addServerPeerMutationOptions;
22
+ exports.removeServerPeerMutationOptions = removeServerPeerMutationOptions;
22
23
  exports.createProjectMutationOptions = createProjectMutationOptions;
23
24
  exports.leaveProjectMutationOptions = leaveProjectMutationOptions;
24
25
  exports.importProjectConfigMutationOptions = importProjectConfigMutationOptions;
@@ -26,6 +27,9 @@ exports.updateProjectSettingsMutationOptions = updateProjectSettingsMutationOpti
26
27
  exports.createBlobMutationOptions = createBlobMutationOptions;
27
28
  exports.startSyncMutationOptions = startSyncMutationOptions;
28
29
  exports.stopSyncMutationOptions = stopSyncMutationOptions;
30
+ exports.connectSyncServersMutationOptions = connectSyncServersMutationOptions;
31
+ exports.disconnectSyncServersMutationOptions = disconnectSyncServersMutationOptions;
32
+ exports.setAutostopDataSyncTimeoutMutationOptions = setAutostopDataSyncTimeoutMutationOptions;
29
33
  const react_query_1 = require("@tanstack/react-query");
30
34
  const shared_js_1 = require("./shared.js");
31
35
  function getProjectsQueryKey() {
@@ -168,6 +172,21 @@ function addServerPeerMutationOptions({ projectApi, projectId, queryClient, }) {
168
172
  },
169
173
  };
170
174
  }
175
+ function removeServerPeerMutationOptions({ projectApi, projectId, queryClient, }) {
176
+ return {
177
+ ...(0, shared_js_1.baseMutationOptions)(),
178
+ mutationFn: async ({ serverDeviceId, dangerouslyAllowInsecureConnections, }) => {
179
+ return projectApi.$member.removeServerPeer(serverDeviceId, {
180
+ dangerouslyAllowInsecureConnections,
181
+ });
182
+ },
183
+ onSuccess: () => {
184
+ queryClient.invalidateQueries({
185
+ queryKey: getMembersQueryKey({ projectId }),
186
+ });
187
+ },
188
+ };
189
+ }
171
190
  function createProjectMutationOptions({ clientApi, queryClient, }) {
172
191
  return {
173
192
  ...(0, shared_js_1.baseMutationOptions)(),
@@ -253,3 +272,27 @@ function stopSyncMutationOptions({ projectApi, }) {
253
272
  },
254
273
  };
255
274
  }
275
+ function connectSyncServersMutationOptions({ projectApi, }) {
276
+ return {
277
+ ...(0, shared_js_1.baseMutationOptions)(),
278
+ mutationFn: async () => {
279
+ return projectApi.$sync.connectServers();
280
+ },
281
+ };
282
+ }
283
+ function disconnectSyncServersMutationOptions({ projectApi, }) {
284
+ return {
285
+ ...(0, shared_js_1.baseMutationOptions)(),
286
+ mutationFn: async () => {
287
+ return projectApi.$sync.disconnectServers();
288
+ },
289
+ };
290
+ }
291
+ function setAutostopDataSyncTimeoutMutationOptions({ projectApi, }) {
292
+ return {
293
+ ...(0, shared_js_1.baseMutationOptions)(),
294
+ mutationFn: async ({ after }) => {
295
+ return projectApi.$sync.setAutostopDataSyncTimeout(after);
296
+ },
297
+ };
298
+ }
@@ -268,7 +268,7 @@ export declare function useDocumentCreatedBy({ projectId, originalVersionId, }:
268
268
  export declare function useOwnRoleInProject({ projectId }: {
269
269
  projectId: string;
270
270
  }): {
271
- data: import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">;
271
+ data: import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">;
272
272
  error: Error | null;
273
273
  isRefetching: boolean;
274
274
  };
@@ -299,6 +299,33 @@ export declare function useAddServerPeer({ projectId }: {
299
299
  reset: () => void;
300
300
  status: "pending" | "success" | "idle";
301
301
  };
302
+ export declare function useRemoveServerPeer({ projectId }: {
303
+ projectId: string;
304
+ }): {
305
+ error: Error;
306
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
307
+ serverDeviceId: string;
308
+ dangerouslyAllowInsecureConnections?: boolean;
309
+ }, unknown>;
310
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
311
+ serverDeviceId: string;
312
+ dangerouslyAllowInsecureConnections?: boolean;
313
+ }, unknown>;
314
+ reset: () => void;
315
+ status: "error";
316
+ } | {
317
+ error: null;
318
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
319
+ serverDeviceId: string;
320
+ dangerouslyAllowInsecureConnections?: boolean;
321
+ }, unknown>;
322
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
323
+ serverDeviceId: string;
324
+ dangerouslyAllowInsecureConnections?: boolean;
325
+ }, unknown>;
326
+ reset: () => void;
327
+ status: "pending" | "success" | "idle";
328
+ };
302
329
  /**
303
330
  * Create a new project.
304
331
  */
@@ -546,3 +573,56 @@ export declare function useStopSync({ projectId }: {
546
573
  reset: () => void;
547
574
  status: "pending" | "success" | "idle";
548
575
  };
576
+ export declare function useConnectSyncServers({ projectId }: {
577
+ projectId: string;
578
+ }): {
579
+ error: Error;
580
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
581
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
582
+ reset: () => void;
583
+ status: "error";
584
+ } | {
585
+ error: null;
586
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
587
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
588
+ reset: () => void;
589
+ status: "pending" | "success" | "idle";
590
+ };
591
+ export declare function useDisconnectSyncServers({ projectId }: {
592
+ projectId: string;
593
+ }): {
594
+ error: Error;
595
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
596
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
597
+ reset: () => void;
598
+ status: "error";
599
+ } | {
600
+ error: null;
601
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
602
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
603
+ reset: () => void;
604
+ status: "pending" | "success" | "idle";
605
+ };
606
+ export declare function useSetAutostopDataSyncTimeout({ projectId, }: {
607
+ projectId: string;
608
+ }): {
609
+ error: Error;
610
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
611
+ after: number | null;
612
+ }, unknown>;
613
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
614
+ after: number | null;
615
+ }, unknown>;
616
+ reset: () => void;
617
+ status: "error";
618
+ } | {
619
+ error: null;
620
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
621
+ after: number | null;
622
+ }, unknown>;
623
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
624
+ after: number | null;
625
+ }, unknown>;
626
+ reset: () => void;
627
+ status: "pending" | "success" | "idle";
628
+ };
@@ -1,6 +1,6 @@
1
1
  import { useMutation, useQueryClient, useSuspenseQuery, } from '@tanstack/react-query';
2
2
  import { useSyncExternalStore } from 'react';
3
- import { addServerPeerMutationOptions, attachmentUrlQueryOptions, createBlobMutationOptions, createProjectMutationOptions, documentCreatedByQueryOptions, iconUrlQueryOptions, importProjectConfigMutationOptions, leaveProjectMutationOptions, projectByIdQueryOptions, projectMemberByIdQueryOptions, projectMembersQueryOptions, projectOwnRoleQueryOptions, projectSettingsQueryOptions, projectsQueryOptions, startSyncMutationOptions, stopSyncMutationOptions, updateProjectSettingsMutationOptions, } from '../lib/react-query/projects.js';
3
+ import { addServerPeerMutationOptions, attachmentUrlQueryOptions, connectSyncServersMutationOptions, createBlobMutationOptions, createProjectMutationOptions, disconnectSyncServersMutationOptions, documentCreatedByQueryOptions, iconUrlQueryOptions, importProjectConfigMutationOptions, leaveProjectMutationOptions, projectByIdQueryOptions, projectMemberByIdQueryOptions, projectMembersQueryOptions, projectOwnRoleQueryOptions, projectSettingsQueryOptions, projectsQueryOptions, removeServerPeerMutationOptions, setAutostopDataSyncTimeoutMutationOptions, startSyncMutationOptions, stopSyncMutationOptions, updateProjectSettingsMutationOptions, } from '../lib/react-query/projects.js';
4
4
  import { SyncStore } from '../lib/sync.js';
5
5
  import { useClientApi } from './client.js';
6
6
  /**
@@ -276,6 +276,14 @@ export function useAddServerPeer({ projectId }) {
276
276
  ? { error, mutate, mutateAsync, reset, status }
277
277
  : { error: null, mutate, mutateAsync, reset, status };
278
278
  }
279
+ export function useRemoveServerPeer({ projectId }) {
280
+ const queryClient = useQueryClient();
281
+ const { data: projectApi } = useSingleProject({ projectId });
282
+ const { error, mutate, mutateAsync, reset, status } = useMutation(removeServerPeerMutationOptions({ projectApi, projectId, queryClient }));
283
+ return status === 'error'
284
+ ? { error, mutate, mutateAsync, reset, status }
285
+ : { error: null, mutate, mutateAsync, reset, status };
286
+ }
279
287
  /**
280
288
  * Create a new project.
281
289
  */
@@ -396,3 +404,24 @@ export function useStopSync({ projectId }) {
396
404
  ? { error, mutate, mutateAsync, reset, status }
397
405
  : { error: null, mutate, mutateAsync, reset, status };
398
406
  }
407
+ export function useConnectSyncServers({ projectId }) {
408
+ const { data: projectApi } = useSingleProject({ projectId });
409
+ const { error, mutate, mutateAsync, reset, status } = useMutation(connectSyncServersMutationOptions({ projectApi }));
410
+ return status === 'error'
411
+ ? { error, mutate, mutateAsync, reset, status }
412
+ : { error: null, mutate, mutateAsync, reset, status };
413
+ }
414
+ export function useDisconnectSyncServers({ projectId }) {
415
+ const { data: projectApi } = useSingleProject({ projectId });
416
+ const { error, mutate, mutateAsync, reset, status } = useMutation(disconnectSyncServersMutationOptions({ projectApi }));
417
+ return status === 'error'
418
+ ? { error, mutate, mutateAsync, reset, status }
419
+ : { error: null, mutate, mutateAsync, reset, status };
420
+ }
421
+ export function useSetAutostopDataSyncTimeout({ projectId, }) {
422
+ const { data: projectApi } = useSingleProject({ projectId });
423
+ const { error, mutate, mutateAsync, reset, status } = useMutation(setAutostopDataSyncTimeoutMutationOptions({ projectApi }));
424
+ return status === 'error'
425
+ ? { error, mutate, mutateAsync, reset, status }
426
+ : { error: null, mutate, mutateAsync, reset, status };
427
+ }
@@ -1,8 +1,8 @@
1
1
  export { ClientApiContext, ClientApiProvider } from './contexts/ClientApi.js';
2
2
  export { useClientApi, useIsArchiveDevice, useOwnDeviceInfo, useSetIsArchiveDevice, useSetOwnDeviceInfo, } from './hooks/client.js';
3
3
  export { useCreateDocument, useDeleteDocument, useManyDocs, useSingleDocByDocId, useSingleDocByVersionId, useUpdateDocument, } from './hooks/documents.js';
4
- export { useAcceptInvite, useSetUpInvitesListeners, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSingleInvite, } from './hooks/invites.js';
4
+ export { useAcceptInvite, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSetUpInvitesListeners, useSingleInvite, } from './hooks/invites.js';
5
5
  export { useMapStyleUrl } from './hooks/maps.js';
6
- export { useAddServerPeer, useAttachmentUrl, useCreateBlob, useCreateProject, useDataSyncProgress, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
6
+ export { useAddServerPeer, useAttachmentUrl, useConnectSyncServers, useCreateBlob, useCreateProject, useDataSyncProgress, useDisconnectSyncServers, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useRemoveServerPeer, useSetAutostopDataSyncTimeout, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
7
7
  export { type SyncState } from './lib/sync.js';
8
8
  export { type WriteableDocument, type WriteableDocumentType, type WriteableValue, } from './lib/types.js';
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { ClientApiContext, ClientApiProvider } from './contexts/ClientApi.js';
2
2
  export { useClientApi, useIsArchiveDevice, useOwnDeviceInfo, useSetIsArchiveDevice, useSetOwnDeviceInfo, } from './hooks/client.js';
3
3
  export { useCreateDocument, useDeleteDocument, useManyDocs, useSingleDocByDocId, useSingleDocByVersionId, useUpdateDocument, } from './hooks/documents.js';
4
- export { useAcceptInvite, useSetUpInvitesListeners, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSingleInvite, } from './hooks/invites.js';
4
+ export { useAcceptInvite, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSetUpInvitesListeners, useSingleInvite, } from './hooks/invites.js';
5
5
  export { useMapStyleUrl } from './hooks/maps.js';
6
- export { useAddServerPeer, useAttachmentUrl, useCreateBlob, useCreateProject, useDataSyncProgress, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
6
+ export { useAddServerPeer, useAttachmentUrl, useConnectSyncServers, useCreateBlob, useCreateProject, useDataSyncProgress, useDisconnectSyncServers, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useRemoveServerPeer, useSetAutostopDataSyncTimeout, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
@@ -181,11 +181,11 @@ export declare function projectMemberByIdQueryOptions({ projectApi, projectId, d
181
181
  export declare function projectOwnRoleQueryOptions({ projectApi, projectId, }: {
182
182
  projectApi: MapeoProjectApi;
183
183
  projectId: string;
184
- }): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">, Error, import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">, readonly ["@comapeo/core-react", "projects", string, "role"]>, "queryFn"> & {
185
- queryFn?: import("@tanstack/react-query").QueryFunction<import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">, readonly ["@comapeo/core-react", "projects", string, "role"], never> | undefined;
184
+ }): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">, Error, import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">, readonly ["@comapeo/core-react", "projects", string, "role"]>, "queryFn"> & {
185
+ queryFn?: import("@tanstack/react-query").QueryFunction<import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">, readonly ["@comapeo/core-react", "projects", string, "role"], never> | undefined;
186
186
  } & {
187
187
  queryKey: readonly ["@comapeo/core-react", "projects", string, "role"] & {
188
- [dataTagSymbol]: import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">;
188
+ [dataTagSymbol]: import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "a24eaca65ab5d5d0" | "08e4251e36f6e7ed">;
189
189
  [dataTagErrorSymbol]: Error;
190
190
  };
191
191
  };
@@ -265,6 +265,19 @@ export declare function addServerPeerMutationOptions({ projectApi, projectId, qu
265
265
  networkMode: "always";
266
266
  retry: false;
267
267
  };
268
+ export declare function removeServerPeerMutationOptions({ projectApi, projectId, queryClient, }: {
269
+ projectApi: MapeoProjectApi;
270
+ projectId: string;
271
+ queryClient: QueryClient;
272
+ }): {
273
+ mutationFn: ({ serverDeviceId, dangerouslyAllowInsecureConnections, }: {
274
+ serverDeviceId: string;
275
+ dangerouslyAllowInsecureConnections?: boolean;
276
+ }) => Promise<void>;
277
+ onSuccess: () => void;
278
+ networkMode: "always";
279
+ retry: false;
280
+ };
268
281
  export declare function createProjectMutationOptions({ clientApi, queryClient, }: {
269
282
  clientApi: MapeoClientApi;
270
283
  queryClient: QueryClient;
@@ -346,3 +359,26 @@ export declare function stopSyncMutationOptions({ projectApi, }: {
346
359
  networkMode: "always";
347
360
  retry: false;
348
361
  };
362
+ export declare function connectSyncServersMutationOptions({ projectApi, }: {
363
+ projectApi: MapeoProjectApi;
364
+ }): {
365
+ mutationFn: () => Promise<void>;
366
+ networkMode: "always";
367
+ retry: false;
368
+ };
369
+ export declare function disconnectSyncServersMutationOptions({ projectApi, }: {
370
+ projectApi: MapeoProjectApi;
371
+ }): {
372
+ mutationFn: () => Promise<void>;
373
+ networkMode: "always";
374
+ retry: false;
375
+ };
376
+ export declare function setAutostopDataSyncTimeoutMutationOptions({ projectApi, }: {
377
+ projectApi: MapeoProjectApi;
378
+ }): {
379
+ mutationFn: ({ after }: {
380
+ after: number | null;
381
+ }) => Promise<void>;
382
+ networkMode: "always";
383
+ retry: false;
384
+ };
@@ -140,6 +140,21 @@ export function addServerPeerMutationOptions({ projectApi, projectId, queryClien
140
140
  },
141
141
  };
142
142
  }
143
+ export function removeServerPeerMutationOptions({ projectApi, projectId, queryClient, }) {
144
+ return {
145
+ ...baseMutationOptions(),
146
+ mutationFn: async ({ serverDeviceId, dangerouslyAllowInsecureConnections, }) => {
147
+ return projectApi.$member.removeServerPeer(serverDeviceId, {
148
+ dangerouslyAllowInsecureConnections,
149
+ });
150
+ },
151
+ onSuccess: () => {
152
+ queryClient.invalidateQueries({
153
+ queryKey: getMembersQueryKey({ projectId }),
154
+ });
155
+ },
156
+ };
157
+ }
143
158
  export function createProjectMutationOptions({ clientApi, queryClient, }) {
144
159
  return {
145
160
  ...baseMutationOptions(),
@@ -225,3 +240,27 @@ export function stopSyncMutationOptions({ projectApi, }) {
225
240
  },
226
241
  };
227
242
  }
243
+ export function connectSyncServersMutationOptions({ projectApi, }) {
244
+ return {
245
+ ...baseMutationOptions(),
246
+ mutationFn: async () => {
247
+ return projectApi.$sync.connectServers();
248
+ },
249
+ };
250
+ }
251
+ export function disconnectSyncServersMutationOptions({ projectApi, }) {
252
+ return {
253
+ ...baseMutationOptions(),
254
+ mutationFn: async () => {
255
+ return projectApi.$sync.disconnectServers();
256
+ },
257
+ };
258
+ }
259
+ export function setAutostopDataSyncTimeoutMutationOptions({ projectApi, }) {
260
+ return {
261
+ ...baseMutationOptions(),
262
+ mutationFn: async ({ after }) => {
263
+ return projectApi.$sync.setAutostopDataSyncTimeout(after);
264
+ },
265
+ };
266
+ }
package/docs/API.md CHANGED
@@ -16,6 +16,7 @@
16
16
  - [useDocumentCreatedBy](#usedocumentcreatedby)
17
17
  - [useOwnRoleInProject](#useownroleinproject)
18
18
  - [useAddServerPeer](#useaddserverpeer)
19
+ - [useRemoveServerPeer](#useremoveserverpeer)
19
20
  - [useCreateProject](#usecreateproject)
20
21
  - [useLeaveProject](#useleaveproject)
21
22
  - [useImportProjectConfig](#useimportprojectconfig)
@@ -25,6 +26,9 @@
25
26
  - [useDataSyncProgress](#usedatasyncprogress)
26
27
  - [useStartSync](#usestartsync)
27
28
  - [useStopSync](#usestopsync)
29
+ - [useConnectSyncServers](#useconnectsyncservers)
30
+ - [useDisconnectSyncServers](#usedisconnectsyncservers)
31
+ - [useSetAutostopDataSyncTimeout](#usesetautostopdatasynctimeout)
28
32
  - [useSingleDocByDocId](#usesingledocbydocid)
29
33
  - [useSingleDocByVersionId](#usesingledocbyversionid)
30
34
  - [useManyDocs](#usemanydocs)
@@ -388,7 +392,7 @@ This is a more convenient alternative to using the `useOwnDeviceInfo` and `useMa
388
392
 
389
393
  | Function | Type |
390
394
  | ---------- | ---------- |
391
- | `useOwnRoleInProject` | `({ projectId }: { projectId: string; }) => { data: Role<"a12a6702b93bd7ff" or "f7c150f5a3a9a855" or "012fd2d431c0bf60" or "9e6d29263cba36c9" or "8ced989b1904606b" or "08e4251e36f6e7ed">; error: Error or null; isRefetching: boolean; }` |
395
+ | `useOwnRoleInProject` | `({ projectId }: { projectId: string; }) => { data: Role<"a12a6702b93bd7ff" or "f7c150f5a3a9a855" or "012fd2d431c0bf60" or "9e6d29263cba36c9" or "8ced989b1904606b" or "a24eaca65ab5d5d0" or "08e4251e36f6e7ed">; error: Error or null; isRefetching: boolean; }` |
392
396
 
393
397
  Parameters:
394
398
 
@@ -412,6 +416,12 @@ function BasicExample() {
412
416
  | ---------- | ---------- |
413
417
  | `useAddServerPeer` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, { baseUrl: string; dangerouslyAllowInsecureConnections?: boolean or undefined; }, unknown>; mutateAsync: UseMutateAsyncFunction<...>; reset: () => void; status: "error"; } or { ...; }` |
414
418
 
419
+ ### useRemoveServerPeer
420
+
421
+ | Function | Type |
422
+ | ---------- | ---------- |
423
+ | `useRemoveServerPeer` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, { serverDeviceId: string; dangerouslyAllowInsecureConnections?: boolean or undefined; }, unknown>; mutateAsync: UseMutateAsyncFunction<...>; reset: () => void; status: "error"; } or { ...; }` |
424
+
415
425
  ### useCreateProject
416
426
 
417
427
  Create a new project.
@@ -519,6 +529,24 @@ Provides the progress of data sync for sync-enabled connected peers
519
529
  | ---------- | ---------- |
520
530
  | `useStopSync` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, void, unknown>; mutateAsync: UseMutateAsyncFunction<void, Error, void, unknown>; reset: () => void; status: "error"; } or { ...; }` |
521
531
 
532
+ ### useConnectSyncServers
533
+
534
+ | Function | Type |
535
+ | ---------- | ---------- |
536
+ | `useConnectSyncServers` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, void, unknown>; mutateAsync: UseMutateAsyncFunction<void, Error, void, unknown>; reset: () => void; status: "error"; } or { ...; }` |
537
+
538
+ ### useDisconnectSyncServers
539
+
540
+ | Function | Type |
541
+ | ---------- | ---------- |
542
+ | `useDisconnectSyncServers` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, void, unknown>; mutateAsync: UseMutateAsyncFunction<void, Error, void, unknown>; reset: () => void; status: "error"; } or { ...; }` |
543
+
544
+ ### useSetAutostopDataSyncTimeout
545
+
546
+ | Function | Type |
547
+ | ---------- | ---------- |
548
+ | `useSetAutostopDataSyncTimeout` | `({ projectId, }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, { after: number or null; }, unknown>; mutateAsync: UseMutateAsyncFunction<void, Error, { ...; }, unknown>; reset: () => void; status: "error"; } or { ...; }` |
549
+
522
550
  ### useSingleDocByDocId
523
551
 
524
552
  Retrieve a single document from the database based on the document's document ID.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comapeo/core-react",
3
- "version": "4.0.0",
3
+ "version": "4.2.0",
4
4
  "description": "React wrapper for working with @comapeo/core",
5
5
  "repository": {
6
6
  "type": "git",
@@ -57,41 +57,44 @@
57
57
  "types": "tsc"
58
58
  },
59
59
  "peerDependencies": {
60
- "@comapeo/core": "^3.0.0",
60
+ "@comapeo/core": "^3.1.0",
61
61
  "@comapeo/ipc": "^3.0.0",
62
62
  "@comapeo/schema": "*",
63
63
  "@tanstack/react-query": "^5",
64
64
  "react": "^18 || ^19"
65
65
  },
66
66
  "devDependencies": {
67
- "@comapeo/core": "3.0.0",
67
+ "@comapeo/core": "3.1.1",
68
68
  "@comapeo/ipc": "3.0.0",
69
- "@comapeo/schema": "1.4.1",
70
- "@eslint/compat": "1.2.7",
71
- "@eslint/js": "9.23.0",
69
+ "@comapeo/schema": "1.5.0",
70
+ "@eslint/compat": "1.2.9",
71
+ "@eslint/js": "9.26.0",
72
72
  "@ianvs/prettier-plugin-sort-imports": "4.4.1",
73
73
  "@mapeo/crypto": "1.0.0-alpha.10",
74
- "@tanstack/eslint-plugin-query": "5.68.0",
75
- "@tanstack/react-query": "5.69.0",
74
+ "@tanstack/eslint-plugin-query": "5.74.7",
75
+ "@tanstack/react-query": "5.75.2",
76
76
  "@testing-library/dom": "10.4.0",
77
- "@testing-library/react": "16.2.0",
78
- "@types/node": "22.13.13",
77
+ "@testing-library/react": "16.3.0",
78
+ "@types/node": "22.15.3",
79
79
  "@types/react": "19.0.12",
80
80
  "@types/react-dom": "19.0.4",
81
- "eslint": "9.23.0",
81
+ "@vitest/eslint-plugin": "1.1.44",
82
+ "eslint": "9.26.0",
82
83
  "eslint-plugin-react-hooks": "5.2.0",
84
+ "eslint-plugin-testing-library": "7.1.1",
83
85
  "fastify": "4.29.0",
84
86
  "globals": "16.0.0",
85
87
  "husky": "9.1.7",
86
- "lint-staged": "15.5.0",
88
+ "lint-staged": "15.5.1",
87
89
  "npm-run-all2": "7.0.2",
88
90
  "prettier": "3.5.3",
89
91
  "random-access-memory": "6.2.1",
90
92
  "react": "19.0.0",
93
+ "react-dom": "19.0.0",
91
94
  "tsdoc-markdown": "1.2.0",
92
95
  "tshy": "3.0.2",
93
- "typescript": "5.8.2",
94
- "typescript-eslint": "8.27.0",
95
- "vitest": "3.0.9"
96
+ "typescript": "5.8.3",
97
+ "typescript-eslint": "8.31.1",
98
+ "vitest": "3.1.3"
96
99
  }
97
100
  }