@comapeo/core-react 3.0.0 → 3.1.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/commonjs/hooks/projects.d.ts +22 -0
- package/dist/commonjs/hooks/projects.js +21 -0
- package/dist/commonjs/index.d.ts +1 -1
- package/dist/commonjs/index.js +2 -1
- package/dist/esm/hooks/projects.d.ts +22 -0
- package/dist/esm/hooks/projects.js +21 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/docs/API.md +26 -0
- package/package.json +1 -1
|
@@ -250,6 +250,28 @@ export declare function useDocumentCreatedBy({ projectId, originalVersionId, }:
|
|
|
250
250
|
error: Error | null;
|
|
251
251
|
isRefetching: boolean;
|
|
252
252
|
};
|
|
253
|
+
/**
|
|
254
|
+
* Get the role for the current device in a specified project.
|
|
255
|
+
* This is a more convenient alternative to using the `useOwnDeviceInfo` and `useManyMembers` hooks.
|
|
256
|
+
*
|
|
257
|
+
* @param opts.projectId Project public ID
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* ```tsx
|
|
261
|
+
* function BasicExample() {
|
|
262
|
+
* const { data } = useOwnRoleInProject({
|
|
263
|
+
* projectId: '...',
|
|
264
|
+
* })
|
|
265
|
+
* }
|
|
266
|
+
* ```
|
|
267
|
+
*/
|
|
268
|
+
export declare function useOwnRoleInProject({ projectId }: {
|
|
269
|
+
projectId: string;
|
|
270
|
+
}): {
|
|
271
|
+
data: import("@comapeo/core/dist/roles.js", { with: { "resolution-mode": "import" } }).Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">;
|
|
272
|
+
error: Error | null;
|
|
273
|
+
isRefetching: boolean;
|
|
274
|
+
};
|
|
253
275
|
export declare function useAddServerPeer({ projectId }: {
|
|
254
276
|
projectId: string;
|
|
255
277
|
}): {
|
|
@@ -8,6 +8,7 @@ exports.useManyMembers = useManyMembers;
|
|
|
8
8
|
exports.useIconUrl = useIconUrl;
|
|
9
9
|
exports.useAttachmentUrl = useAttachmentUrl;
|
|
10
10
|
exports.useDocumentCreatedBy = useDocumentCreatedBy;
|
|
11
|
+
exports.useOwnRoleInProject = useOwnRoleInProject;
|
|
11
12
|
exports.useAddServerPeer = useAddServerPeer;
|
|
12
13
|
exports.useCreateProject = useCreateProject;
|
|
13
14
|
exports.useLeaveProject = useLeaveProject;
|
|
@@ -268,6 +269,26 @@ function useDocumentCreatedBy({ projectId, originalVersionId, }) {
|
|
|
268
269
|
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)((0, projects_js_1.documentCreatedByQueryOptions)({ projectApi, projectId, originalVersionId }));
|
|
269
270
|
return { data, error, isRefetching };
|
|
270
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Get the role for the current device in a specified project.
|
|
274
|
+
* This is a more convenient alternative to using the `useOwnDeviceInfo` and `useManyMembers` hooks.
|
|
275
|
+
*
|
|
276
|
+
* @param opts.projectId Project public ID
|
|
277
|
+
*
|
|
278
|
+
* @example
|
|
279
|
+
* ```tsx
|
|
280
|
+
* function BasicExample() {
|
|
281
|
+
* const { data } = useOwnRoleInProject({
|
|
282
|
+
* projectId: '...',
|
|
283
|
+
* })
|
|
284
|
+
* }
|
|
285
|
+
* ```
|
|
286
|
+
*/
|
|
287
|
+
function useOwnRoleInProject({ projectId }) {
|
|
288
|
+
const { data: projectApi } = useSingleProject({ projectId });
|
|
289
|
+
const { data, error, isRefetching } = (0, react_query_1.useSuspenseQuery)((0, projects_js_1.projectOwnRoleQueryOptions)({ projectApi, projectId }));
|
|
290
|
+
return { data, error, isRefetching };
|
|
291
|
+
}
|
|
271
292
|
function useAddServerPeer({ projectId }) {
|
|
272
293
|
const queryClient = (0, react_query_1.useQueryClient)();
|
|
273
294
|
const { data: projectApi } = useSingleProject({ projectId });
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ export { useClientApi, useIsArchiveDevice, useOwnDeviceInfo, useSetIsArchiveDevi
|
|
|
3
3
|
export { useCreateDocument, useDeleteDocument, useManyDocs, useSingleDocByDocId, useSingleDocByVersionId, useUpdateDocument, } from './hooks/documents.js';
|
|
4
4
|
export { useAcceptInvite, useRejectInvite, useRequestCancelInvite, useSendInvite, } 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, useProjectSettings, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.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';
|
|
7
7
|
export { type SyncState } from './lib/sync.js';
|
|
8
8
|
export { type WriteableDocument, type WriteableDocumentType, type WriteableValue, } from './lib/types.js';
|
package/dist/commonjs/index.js
CHANGED
|
@@ -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.useManyProjects = exports.useManyMembers = exports.useLeaveProject = exports.useImportProjectConfig = exports.useIconUrl = exports.useDocumentCreatedBy = exports.useDataSyncProgress = exports.useCreateProject = exports.useCreateBlob = exports.useAttachmentUrl = exports.useAddServerPeer = exports.useMapStyleUrl = exports.useSendInvite = exports.useRequestCancelInvite = exports.useRejectInvite = 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.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.useSendInvite = exports.useRequestCancelInvite = exports.useRejectInvite = 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; } });
|
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "useImportProjectConfig", { enumerable: true, get
|
|
|
36
36
|
Object.defineProperty(exports, "useLeaveProject", { enumerable: true, get: function () { return projects_js_1.useLeaveProject; } });
|
|
37
37
|
Object.defineProperty(exports, "useManyMembers", { enumerable: true, get: function () { return projects_js_1.useManyMembers; } });
|
|
38
38
|
Object.defineProperty(exports, "useManyProjects", { enumerable: true, get: function () { return projects_js_1.useManyProjects; } });
|
|
39
|
+
Object.defineProperty(exports, "useOwnRoleInProject", { enumerable: true, get: function () { return projects_js_1.useOwnRoleInProject; } });
|
|
39
40
|
Object.defineProperty(exports, "useProjectSettings", { enumerable: true, get: function () { return projects_js_1.useProjectSettings; } });
|
|
40
41
|
Object.defineProperty(exports, "useSingleMember", { enumerable: true, get: function () { return projects_js_1.useSingleMember; } });
|
|
41
42
|
Object.defineProperty(exports, "useSingleProject", { enumerable: true, get: function () { return projects_js_1.useSingleProject; } });
|
|
@@ -250,6 +250,28 @@ export declare function useDocumentCreatedBy({ projectId, originalVersionId, }:
|
|
|
250
250
|
error: Error | null;
|
|
251
251
|
isRefetching: boolean;
|
|
252
252
|
};
|
|
253
|
+
/**
|
|
254
|
+
* Get the role for the current device in a specified project.
|
|
255
|
+
* This is a more convenient alternative to using the `useOwnDeviceInfo` and `useManyMembers` hooks.
|
|
256
|
+
*
|
|
257
|
+
* @param opts.projectId Project public ID
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* ```tsx
|
|
261
|
+
* function BasicExample() {
|
|
262
|
+
* const { data } = useOwnRoleInProject({
|
|
263
|
+
* projectId: '...',
|
|
264
|
+
* })
|
|
265
|
+
* }
|
|
266
|
+
* ```
|
|
267
|
+
*/
|
|
268
|
+
export declare function useOwnRoleInProject({ projectId }: {
|
|
269
|
+
projectId: string;
|
|
270
|
+
}): {
|
|
271
|
+
data: import("@comapeo/core/dist/roles.js").Role<"a12a6702b93bd7ff" | "f7c150f5a3a9a855" | "012fd2d431c0bf60" | "9e6d29263cba36c9" | "8ced989b1904606b" | "08e4251e36f6e7ed">;
|
|
272
|
+
error: Error | null;
|
|
273
|
+
isRefetching: boolean;
|
|
274
|
+
};
|
|
253
275
|
export declare function useAddServerPeer({ projectId }: {
|
|
254
276
|
projectId: string;
|
|
255
277
|
}): {
|
|
@@ -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, projectSettingsQueryOptions, projectsQueryOptions, startSyncMutationOptions, stopSyncMutationOptions, updateProjectSettingsMutationOptions, } from '../lib/react-query/projects.js';
|
|
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';
|
|
4
4
|
import { SyncStore } from '../lib/sync.js';
|
|
5
5
|
import { useClientApi } from './client.js';
|
|
6
6
|
/**
|
|
@@ -248,6 +248,26 @@ export function useDocumentCreatedBy({ projectId, originalVersionId, }) {
|
|
|
248
248
|
const { data, error, isRefetching } = useSuspenseQuery(documentCreatedByQueryOptions({ projectApi, projectId, originalVersionId }));
|
|
249
249
|
return { data, error, isRefetching };
|
|
250
250
|
}
|
|
251
|
+
/**
|
|
252
|
+
* Get the role for the current device in a specified project.
|
|
253
|
+
* This is a more convenient alternative to using the `useOwnDeviceInfo` and `useManyMembers` hooks.
|
|
254
|
+
*
|
|
255
|
+
* @param opts.projectId Project public ID
|
|
256
|
+
*
|
|
257
|
+
* @example
|
|
258
|
+
* ```tsx
|
|
259
|
+
* function BasicExample() {
|
|
260
|
+
* const { data } = useOwnRoleInProject({
|
|
261
|
+
* projectId: '...',
|
|
262
|
+
* })
|
|
263
|
+
* }
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
export function useOwnRoleInProject({ projectId }) {
|
|
267
|
+
const { data: projectApi } = useSingleProject({ projectId });
|
|
268
|
+
const { data, error, isRefetching } = useSuspenseQuery(projectOwnRoleQueryOptions({ projectApi, projectId }));
|
|
269
|
+
return { data, error, isRefetching };
|
|
270
|
+
}
|
|
251
271
|
export function useAddServerPeer({ projectId }) {
|
|
252
272
|
const queryClient = useQueryClient();
|
|
253
273
|
const { data: projectApi } = useSingleProject({ projectId });
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ export { useClientApi, useIsArchiveDevice, useOwnDeviceInfo, useSetIsArchiveDevi
|
|
|
3
3
|
export { useCreateDocument, useDeleteDocument, useManyDocs, useSingleDocByDocId, useSingleDocByVersionId, useUpdateDocument, } from './hooks/documents.js';
|
|
4
4
|
export { useAcceptInvite, useRejectInvite, useRequestCancelInvite, useSendInvite, } 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, useProjectSettings, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.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';
|
|
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
|
@@ -3,4 +3,4 @@ export { useClientApi, useIsArchiveDevice, useOwnDeviceInfo, useSetIsArchiveDevi
|
|
|
3
3
|
export { useCreateDocument, useDeleteDocument, useManyDocs, useSingleDocByDocId, useSingleDocByVersionId, useUpdateDocument, } from './hooks/documents.js';
|
|
4
4
|
export { useAcceptInvite, useRejectInvite, useRequestCancelInvite, useSendInvite, } 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, useProjectSettings, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.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';
|
package/docs/API.md
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
- [useIconUrl](#useiconurl)
|
|
15
15
|
- [useAttachmentUrl](#useattachmenturl)
|
|
16
16
|
- [useDocumentCreatedBy](#usedocumentcreatedby)
|
|
17
|
+
- [useOwnRoleInProject](#useownroleinproject)
|
|
17
18
|
- [useAddServerPeer](#useaddserverpeer)
|
|
18
19
|
- [useCreateProject](#usecreateproject)
|
|
19
20
|
- [useLeaveProject](#useleaveproject)
|
|
@@ -377,6 +378,31 @@ function BasicExample() {
|
|
|
377
378
|
```
|
|
378
379
|
|
|
379
380
|
|
|
381
|
+
### useOwnRoleInProject
|
|
382
|
+
|
|
383
|
+
Get the role for the current device in a specified project.
|
|
384
|
+
This is a more convenient alternative to using the `useOwnDeviceInfo` and `useManyMembers` hooks.
|
|
385
|
+
|
|
386
|
+
| Function | Type |
|
|
387
|
+
| ---------- | ---------- |
|
|
388
|
+
| `useOwnRoleInProject` | `({ projectId }: { projectId: string; }) => { data: Role<"a12a6702b93bd7ff" or "f7c150f5a3a9a855" or "012fd2d431c0bf60" or "9e6d29263cba36c9" or "8ced989b1904606b" or "08e4251e36f6e7ed">; error: Error or null; isRefetching: boolean; }` |
|
|
389
|
+
|
|
390
|
+
Parameters:
|
|
391
|
+
|
|
392
|
+
* `opts.projectId`: Project public ID
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
Examples:
|
|
396
|
+
|
|
397
|
+
```tsx
|
|
398
|
+
function BasicExample() {
|
|
399
|
+
const { data } = useOwnRoleInProject({
|
|
400
|
+
projectId: '...',
|
|
401
|
+
})
|
|
402
|
+
}
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
|
|
380
406
|
### useAddServerPeer
|
|
381
407
|
|
|
382
408
|
| Function | Type |
|