@comapeo/core-react 4.1.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.
@@ -573,3 +573,56 @@ export declare function useStopSync({ projectId }: {
573
573
  reset: () => void;
574
574
  status: "pending" | "success" | "idle";
575
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
+ };
@@ -20,6 +20,9 @@ exports.useSyncState = useSyncState;
20
20
  exports.useDataSyncProgress = useDataSyncProgress;
21
21
  exports.useStartSync = useStartSync;
22
22
  exports.useStopSync = useStopSync;
23
+ exports.useConnectSyncServers = useConnectSyncServers;
24
+ exports.useDisconnectSyncServers = useDisconnectSyncServers;
25
+ exports.useSetAutostopDataSyncTimeout = useSetAutostopDataSyncTimeout;
23
26
  const react_query_1 = require("@tanstack/react-query");
24
27
  const react_1 = require("react");
25
28
  const projects_js_1 = require("../lib/react-query/projects.js");
@@ -426,3 +429,24 @@ function useStopSync({ projectId }) {
426
429
  ? { error, mutate, mutateAsync, reset, status }
427
430
  : { error: null, mutate, mutateAsync, reset, status };
428
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, useRemoveServerPeer, 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.useRemoveServerPeer = 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; } });
@@ -42,6 +44,7 @@ Object.defineProperty(exports, "useManyProjects", { enumerable: true, get: funct
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; } });
44
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; } });
45
48
  Object.defineProperty(exports, "useSingleMember", { enumerable: true, get: function () { return projects_js_1.useSingleMember; } });
46
49
  Object.defineProperty(exports, "useSingleProject", { enumerable: true, get: function () { return projects_js_1.useSingleProject; } });
47
50
  Object.defineProperty(exports, "useStartSync", { enumerable: true, get: function () { return projects_js_1.useStartSync; } });
@@ -359,3 +359,26 @@ export declare function stopSyncMutationOptions({ projectApi, }: {
359
359
  networkMode: "always";
360
360
  retry: false;
361
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
+ };
@@ -27,6 +27,9 @@ exports.updateProjectSettingsMutationOptions = updateProjectSettingsMutationOpti
27
27
  exports.createBlobMutationOptions = createBlobMutationOptions;
28
28
  exports.startSyncMutationOptions = startSyncMutationOptions;
29
29
  exports.stopSyncMutationOptions = stopSyncMutationOptions;
30
+ exports.connectSyncServersMutationOptions = connectSyncServersMutationOptions;
31
+ exports.disconnectSyncServersMutationOptions = disconnectSyncServersMutationOptions;
32
+ exports.setAutostopDataSyncTimeoutMutationOptions = setAutostopDataSyncTimeoutMutationOptions;
30
33
  const react_query_1 = require("@tanstack/react-query");
31
34
  const shared_js_1 = require("./shared.js");
32
35
  function getProjectsQueryKey() {
@@ -269,3 +272,27 @@ function stopSyncMutationOptions({ projectApi, }) {
269
272
  },
270
273
  };
271
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
+ }
@@ -573,3 +573,56 @@ export declare function useStopSync({ projectId }: {
573
573
  reset: () => void;
574
574
  status: "pending" | "success" | "idle";
575
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, removeServerPeerMutationOptions, 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
  /**
@@ -404,3 +404,24 @@ export function useStopSync({ projectId }) {
404
404
  ? { error, mutate, mutateAsync, reset, status }
405
405
  : { error: null, mutate, mutateAsync, reset, status };
406
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, useRemoveServerPeer, 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, useRemoveServerPeer, 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';
@@ -359,3 +359,26 @@ export declare function stopSyncMutationOptions({ projectApi, }: {
359
359
  networkMode: "always";
360
360
  retry: false;
361
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
+ };
@@ -240,3 +240,27 @@ export function stopSyncMutationOptions({ projectApi, }) {
240
240
  },
241
241
  };
242
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
@@ -26,6 +26,9 @@
26
26
  - [useDataSyncProgress](#usedatasyncprogress)
27
27
  - [useStartSync](#usestartsync)
28
28
  - [useStopSync](#usestopsync)
29
+ - [useConnectSyncServers](#useconnectsyncservers)
30
+ - [useDisconnectSyncServers](#usedisconnectsyncservers)
31
+ - [useSetAutostopDataSyncTimeout](#usesetautostopdatasynctimeout)
29
32
  - [useSingleDocByDocId](#usesingledocbydocid)
30
33
  - [useSingleDocByVersionId](#usesingledocbyversionid)
31
34
  - [useManyDocs](#usemanydocs)
@@ -526,6 +529,24 @@ Provides the progress of data sync for sync-enabled connected peers
526
529
  | ---------- | ---------- |
527
530
  | `useStopSync` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, void, unknown>; mutateAsync: UseMutateAsyncFunction<void, Error, void, unknown>; reset: () => void; status: "error"; } or { ...; }` |
528
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
+
529
550
  ### useSingleDocByDocId
530
551
 
531
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.1.0",
3
+ "version": "4.2.0",
4
4
  "description": "React wrapper for working with @comapeo/core",
5
5
  "repository": {
6
6
  "type": "git",