@xyo-network/react-archivist 2.38.1 → 2.38.3

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.
Files changed (93) hide show
  1. package/dist/cjs/contexts/use/index.d.ts +7 -0
  2. package/dist/cjs/contexts/use/index.d.ts.map +1 -0
  3. package/dist/cjs/contexts/use/index.js +10 -0
  4. package/dist/cjs/contexts/use/index.js.map +1 -0
  5. package/dist/cjs/contexts/use/lib/index.d.ts +2 -0
  6. package/dist/cjs/contexts/use/lib/index.d.ts.map +1 -0
  7. package/dist/cjs/contexts/use/lib/index.js +3 -0
  8. package/dist/cjs/contexts/use/lib/index.js.map +1 -0
  9. package/dist/cjs/contexts/use/use.d.ts +2 -0
  10. package/dist/cjs/contexts/use/use.d.ts.map +1 -0
  11. package/dist/cjs/contexts/use/use.js +10 -0
  12. package/dist/cjs/contexts/use/use.js.map +1 -0
  13. package/dist/cjs/contexts/use/useArchivistAll.d.ts +3 -0
  14. package/dist/cjs/contexts/use/useArchivistAll.d.ts.map +1 -0
  15. package/dist/cjs/contexts/use/useArchivistAll.js +31 -0
  16. package/dist/cjs/contexts/use/useArchivistAll.js.map +1 -0
  17. package/dist/cjs/contexts/use/useArchivistClear.d.ts +3 -0
  18. package/dist/cjs/contexts/use/useArchivistClear.d.ts.map +1 -0
  19. package/dist/cjs/contexts/use/useArchivistClear.js +31 -0
  20. package/dist/cjs/contexts/use/useArchivistClear.js.map +1 -0
  21. package/dist/cjs/contexts/use/useArchivistFind.d.ts +4 -0
  22. package/dist/cjs/contexts/use/useArchivistFind.d.ts.map +1 -0
  23. package/dist/cjs/contexts/use/useArchivistFind.js +32 -0
  24. package/dist/cjs/contexts/use/useArchivistFind.js.map +1 -0
  25. package/dist/cjs/contexts/use/useArchivistGet.d.ts +4 -0
  26. package/dist/cjs/contexts/use/useArchivistGet.d.ts.map +1 -0
  27. package/dist/cjs/contexts/use/useArchivistGet.js +31 -0
  28. package/dist/cjs/contexts/use/useArchivistGet.js.map +1 -0
  29. package/dist/cjs/contexts/use/useArchivistInsert.d.ts +3 -0
  30. package/dist/cjs/contexts/use/useArchivistInsert.d.ts.map +1 -0
  31. package/dist/cjs/contexts/use/useArchivistInsert.js +30 -0
  32. package/dist/cjs/contexts/use/useArchivistInsert.js.map +1 -0
  33. package/dist/cjs/contexts/use/useArchivistStates.d.ts +17 -0
  34. package/dist/cjs/contexts/use/useArchivistStates.d.ts.map +1 -0
  35. package/dist/cjs/contexts/use/useArchivistStates.js +22 -0
  36. package/dist/cjs/contexts/use/useArchivistStates.js.map +1 -0
  37. package/dist/docs.json +219 -187
  38. package/dist/esm/contexts/use/index.d.ts +7 -0
  39. package/dist/esm/contexts/use/index.d.ts.map +1 -0
  40. package/dist/esm/contexts/use/index.js +7 -0
  41. package/dist/esm/contexts/use/index.js.map +1 -0
  42. package/dist/esm/contexts/use/lib/index.d.ts +2 -0
  43. package/dist/esm/contexts/use/lib/index.d.ts.map +1 -0
  44. package/dist/esm/contexts/use/lib/index.js +2 -0
  45. package/dist/esm/contexts/use/lib/index.js.map +1 -0
  46. package/dist/esm/contexts/use/use.d.ts +2 -0
  47. package/dist/esm/contexts/use/use.d.ts.map +1 -0
  48. package/dist/esm/contexts/use/use.js +6 -0
  49. package/dist/esm/contexts/use/use.js.map +1 -0
  50. package/dist/esm/contexts/use/useArchivistAll.d.ts +3 -0
  51. package/dist/esm/contexts/use/useArchivistAll.d.ts.map +1 -0
  52. package/dist/esm/contexts/use/useArchivistAll.js +26 -0
  53. package/dist/esm/contexts/use/useArchivistAll.js.map +1 -0
  54. package/dist/esm/contexts/use/useArchivistClear.d.ts +3 -0
  55. package/dist/esm/contexts/use/useArchivistClear.d.ts.map +1 -0
  56. package/dist/esm/contexts/use/useArchivistClear.js +26 -0
  57. package/dist/esm/contexts/use/useArchivistClear.js.map +1 -0
  58. package/dist/esm/contexts/use/useArchivistFind.d.ts +4 -0
  59. package/dist/esm/contexts/use/useArchivistFind.d.ts.map +1 -0
  60. package/dist/esm/contexts/use/useArchivistFind.js +27 -0
  61. package/dist/esm/contexts/use/useArchivistFind.js.map +1 -0
  62. package/dist/esm/contexts/use/useArchivistGet.d.ts +4 -0
  63. package/dist/esm/contexts/use/useArchivistGet.d.ts.map +1 -0
  64. package/dist/esm/contexts/use/useArchivistGet.js +25 -0
  65. package/dist/esm/contexts/use/useArchivistGet.js.map +1 -0
  66. package/dist/esm/contexts/use/useArchivistInsert.d.ts +3 -0
  67. package/dist/esm/contexts/use/useArchivistInsert.d.ts.map +1 -0
  68. package/dist/esm/contexts/use/useArchivistInsert.js +25 -0
  69. package/dist/esm/contexts/use/useArchivistInsert.js.map +1 -0
  70. package/dist/esm/contexts/use/useArchivistStates.d.ts +17 -0
  71. package/dist/esm/contexts/use/useArchivistStates.d.ts.map +1 -0
  72. package/dist/esm/contexts/use/useArchivistStates.js +18 -0
  73. package/dist/esm/contexts/use/useArchivistStates.js.map +1 -0
  74. package/package.json +5 -5
  75. package/src/contexts/story/ArchivistPayloads.stories.tsx +2 -2
  76. package/src/contexts/use/index.ts +6 -0
  77. package/src/contexts/use/lib/index.ts +1 -0
  78. package/src/contexts/use/use.tsx +7 -0
  79. package/src/contexts/use/useArchivistAll.tsx +29 -0
  80. package/src/contexts/use/useArchivistClear.tsx +29 -0
  81. package/src/contexts/use/useArchivistFind.tsx +35 -0
  82. package/src/contexts/use/useArchivistGet.tsx +30 -0
  83. package/src/contexts/use/useArchivistInsert.tsx +29 -0
  84. package/src/contexts/use/useArchivistStates.tsx +23 -0
  85. package/dist/cjs/contexts/use.d.ts +0 -10
  86. package/dist/cjs/contexts/use.d.ts.map +0 -1
  87. package/dist/cjs/contexts/use.js +0 -147
  88. package/dist/cjs/contexts/use.js.map +0 -1
  89. package/dist/esm/contexts/use.d.ts +0 -10
  90. package/dist/esm/contexts/use.d.ts.map +0 -1
  91. package/dist/esm/contexts/use.js +0 -136
  92. package/dist/esm/contexts/use.js.map +0 -1
  93. package/src/contexts/use.ts +0 -165
@@ -1,147 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useArchivistClear = exports.useArchivistAll = exports.useArchivistInsert = exports.useArchivistFind = exports.useArchivistGet = exports.useArchivist = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_shared_1 = require("@xylabs/react-shared");
6
- const archivist_1 = require("@xyo-network/archivist");
7
- const react_shared_2 = require("@xyo-network/react-shared");
8
- const react_1 = require("react");
9
- const Context_1 = require("./Context");
10
- const useArchivist = (required = false) => {
11
- return (0, react_shared_2.useContextEx)(Context_1.ArchivistContext, 'Archivist', required);
12
- };
13
- exports.useArchivist = useArchivist;
14
- const useSharedUseArchivistState = (required) => {
15
- const [payloads, setPayloads] = (0, react_1.useState)();
16
- const { archivist } = (0, exports.useArchivist)(required);
17
- const [error, setError] = (0, react_1.useState)();
18
- const [refresh, setRefresh] = (0, react_1.useState)(1);
19
- const loadingRef = (0, react_1.useRef)(false);
20
- const refreshPayloads = () => setRefresh((previous) => previous + 1);
21
- return { archivist, error, loadingRef, payloads, refresh, refreshPayloads, setError, setPayloads };
22
- };
23
- const useArchivistGet = (ids, required = false) => {
24
- const [savedIds] = (0, react_shared_2.useDataState)(ids);
25
- const { archivist, error, loadingRef, payloads, refresh, setError, setPayloads, refreshPayloads } = useSharedUseArchivistState(required);
26
- (0, react_shared_1.useAsyncEffect)(
27
- // eslint-disable-next-line react-hooks/exhaustive-deps
28
- (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
29
- var _a;
30
- try {
31
- if (archivist && savedIds && !loadingRef.current) {
32
- const wrapper = new archivist_1.XyoArchivistWrapper(archivist);
33
- loadingRef.current = true;
34
- const result = (_a = (yield (wrapper === null || wrapper === void 0 ? void 0 : wrapper.get(savedIds !== null && savedIds !== void 0 ? savedIds : [])))) !== null && _a !== void 0 ? _a : [];
35
- loadingRef.current = false;
36
- if (mounted()) {
37
- setError(undefined);
38
- setPayloads(result);
39
- }
40
- }
41
- }
42
- catch (ex) {
43
- loadingRef.current = false;
44
- setError(ex);
45
- }
46
- }), [archivist, savedIds, refresh, setError, setPayloads, loadingRef]);
47
- return [payloads, error, refreshPayloads];
48
- };
49
- exports.useArchivistGet = useArchivistGet;
50
- const useArchivistFind = (filter, required = false) => {
51
- const [savedFilter] = (0, react_shared_2.useDataState)(filter);
52
- const [payloads, setPayloads] = (0, react_1.useState)();
53
- const { archivist, error, loadingRef, refresh, setError, refreshPayloads } = useSharedUseArchivistState(required);
54
- (0, react_shared_1.useAsyncEffect)(
55
- // eslint-disable-next-line react-hooks/exhaustive-deps
56
- (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
57
- try {
58
- if (archivist && savedFilter && !loadingRef.current) {
59
- const wrapper = new archivist_1.XyoArchivistWrapper(archivist);
60
- loadingRef.current = true;
61
- const result = yield (wrapper === null || wrapper === void 0 ? void 0 : wrapper.find(savedFilter));
62
- loadingRef.current = false;
63
- if (mounted()) {
64
- setError(undefined);
65
- setPayloads(result);
66
- }
67
- }
68
- }
69
- catch (ex) {
70
- setError(ex);
71
- loadingRef.current = false;
72
- }
73
- }), [archivist, loadingRef, refresh, savedFilter, setError, setPayloads]);
74
- return [payloads, error, refreshPayloads];
75
- };
76
- exports.useArchivistFind = useArchivistFind;
77
- const useArchivistInsert = (payloads, required = false) => {
78
- const [savedPayloads] = (0, react_shared_2.useDataState)(payloads);
79
- const { archivist, error, loadingRef, payloads: resultPayloads, refresh, setError, setPayloads: setResultPayloads, } = useSharedUseArchivistState(required);
80
- (0, react_shared_1.useAsyncEffect)(
81
- // eslint-disable-next-line react-hooks/exhaustive-deps
82
- (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
83
- try {
84
- if (archivist && savedPayloads && !loadingRef.current) {
85
- const wrapper = new archivist_1.XyoArchivistWrapper(archivist);
86
- loadingRef.current = true;
87
- const result = yield wrapper.insert(savedPayloads);
88
- loadingRef.current = false;
89
- if (mounted()) {
90
- setError(undefined);
91
- setResultPayloads(result);
92
- }
93
- }
94
- }
95
- catch (ex) {
96
- loadingRef.current = false;
97
- setError(ex);
98
- }
99
- }), [archivist, loadingRef, refresh, savedPayloads, setError, setResultPayloads]);
100
- return [resultPayloads, error];
101
- };
102
- exports.useArchivistInsert = useArchivistInsert;
103
- const useArchivistAll = (required = false) => {
104
- const { archivist } = (0, exports.useArchivist)(required);
105
- const [payloads, setPayloads] = (0, react_1.useState)();
106
- const [error, setError] = (0, react_1.useState)();
107
- (0, react_shared_1.useAsyncEffect)(
108
- // eslint-disable-next-line react-hooks/exhaustive-deps
109
- (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
110
- try {
111
- const wrapper = archivist ? new archivist_1.XyoArchivistWrapper(archivist) : undefined;
112
- const result = yield (wrapper === null || wrapper === void 0 ? void 0 : wrapper.all());
113
- if (mounted()) {
114
- setError(undefined);
115
- setPayloads(result);
116
- }
117
- }
118
- catch (ex) {
119
- setError(ex);
120
- }
121
- }), [archivist]);
122
- return [payloads, error];
123
- };
124
- exports.useArchivistAll = useArchivistAll;
125
- const useArchivistClear = (required = false) => {
126
- const { archivist } = (0, exports.useArchivist)(required);
127
- const [payloads, setPayloads] = (0, react_1.useState)();
128
- const [error, setError] = (0, react_1.useState)();
129
- (0, react_shared_1.useAsyncEffect)(
130
- // eslint-disable-next-line react-hooks/exhaustive-deps
131
- (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
132
- try {
133
- const wrapper = archivist ? new archivist_1.XyoArchivistWrapper(archivist) : undefined;
134
- yield (wrapper === null || wrapper === void 0 ? void 0 : wrapper.clear());
135
- if (mounted()) {
136
- setError(undefined);
137
- setPayloads([]);
138
- }
139
- }
140
- catch (ex) {
141
- setError(ex);
142
- }
143
- }), [archivist]);
144
- return [payloads, error];
145
- };
146
- exports.useArchivistClear = useArchivistClear;
147
- //# sourceMappingURL=use.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/contexts/use.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { XyoPayload, XyoPayloadFindFilter } from '@xyo-network/payload';
2
- declare type RefreshCallback = () => void;
3
- export declare const useArchivist: (required?: boolean) => Omit<import("./State").ArchivistState & import("@xyo-network/react-shared").ContextExState, "provided">;
4
- export declare const useArchivistGet: (ids?: string[], required?: boolean) => [XyoPayload[]?, Error?, RefreshCallback?];
5
- export declare const useArchivistFind: <TFilter extends XyoPayloadFindFilter>(filter: TFilter, required?: boolean) => [XyoPayload[]?, Error?, RefreshCallback?];
6
- export declare const useArchivistInsert: (payloads: XyoPayload[], required?: boolean) => [XyoPayload[]?, Error?];
7
- export declare const useArchivistAll: (required?: boolean) => [XyoPayload[]?, Error?];
8
- export declare const useArchivistClear: (required?: boolean) => [XyoPayload[]?, Error?];
9
- export {};
10
- //# sourceMappingURL=use.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/contexts/use.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAe,MAAM,sBAAsB,CAAA;AAMpF,aAAK,eAAe,GAAG,MAAM,IAAI,CAAA;AAEjC,eAAO,MAAM,YAAY,iIAExB,CAAA;AAaD,eAAO,MAAM,eAAe,SAAU,MAAM,EAAE,yBAAqB,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,CAAC,CA0B1G,CAAA;AAED,eAAO,MAAM,gBAAgB,iFAG1B,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,CAAC,CA0B1C,CAAA;AAED,eAAO,MAAM,kBAAkB,aAAc,UAAU,EAAE,yBAAqB,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,CAkCnG,CAAA;AAED,eAAO,MAAM,eAAe,0BAAuB,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,CAqBxE,CAAA;AAED,eAAO,MAAM,iBAAiB,0BAAuB,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,CAqB1E,CAAA"}
@@ -1,136 +0,0 @@
1
- import { useAsyncEffect } from '@xylabs/react-shared';
2
- import { XyoArchivistWrapper } from '@xyo-network/archivist';
3
- import { useContextEx, useDataState } from '@xyo-network/react-shared';
4
- import { useRef, useState } from 'react';
5
- import { ArchivistContext } from './Context';
6
- export const useArchivist = (required = false) => {
7
- return useContextEx(ArchivistContext, 'Archivist', required);
8
- };
9
- const useSharedUseArchivistState = (required) => {
10
- const [payloads, setPayloads] = useState();
11
- const { archivist } = useArchivist(required);
12
- const [error, setError] = useState();
13
- const [refresh, setRefresh] = useState(1);
14
- const loadingRef = useRef(false);
15
- const refreshPayloads = () => setRefresh((previous) => previous + 1);
16
- return { archivist, error, loadingRef, payloads, refresh, refreshPayloads, setError, setPayloads };
17
- };
18
- export const useArchivistGet = (ids, required = false) => {
19
- const [savedIds] = useDataState(ids);
20
- const { archivist, error, loadingRef, payloads, refresh, setError, setPayloads, refreshPayloads } = useSharedUseArchivistState(required);
21
- useAsyncEffect(
22
- // eslint-disable-next-line react-hooks/exhaustive-deps
23
- async (mounted) => {
24
- try {
25
- if (archivist && savedIds && !loadingRef.current) {
26
- const wrapper = new XyoArchivistWrapper(archivist);
27
- loadingRef.current = true;
28
- const result = (await wrapper?.get(savedIds ?? [])) ?? [];
29
- loadingRef.current = false;
30
- if (mounted()) {
31
- setError(undefined);
32
- setPayloads(result);
33
- }
34
- }
35
- }
36
- catch (ex) {
37
- loadingRef.current = false;
38
- setError(ex);
39
- }
40
- }, [archivist, savedIds, refresh, setError, setPayloads, loadingRef]);
41
- return [payloads, error, refreshPayloads];
42
- };
43
- export const useArchivistFind = (filter, required = false) => {
44
- const [savedFilter] = useDataState(filter);
45
- const [payloads, setPayloads] = useState();
46
- const { archivist, error, loadingRef, refresh, setError, refreshPayloads } = useSharedUseArchivistState(required);
47
- useAsyncEffect(
48
- // eslint-disable-next-line react-hooks/exhaustive-deps
49
- async (mounted) => {
50
- try {
51
- if (archivist && savedFilter && !loadingRef.current) {
52
- const wrapper = new XyoArchivistWrapper(archivist);
53
- loadingRef.current = true;
54
- const result = await wrapper?.find(savedFilter);
55
- loadingRef.current = false;
56
- if (mounted()) {
57
- setError(undefined);
58
- setPayloads(result);
59
- }
60
- }
61
- }
62
- catch (ex) {
63
- setError(ex);
64
- loadingRef.current = false;
65
- }
66
- }, [archivist, loadingRef, refresh, savedFilter, setError, setPayloads]);
67
- return [payloads, error, refreshPayloads];
68
- };
69
- export const useArchivistInsert = (payloads, required = false) => {
70
- const [savedPayloads] = useDataState(payloads);
71
- const { archivist, error, loadingRef, payloads: resultPayloads, refresh, setError, setPayloads: setResultPayloads, } = useSharedUseArchivistState(required);
72
- useAsyncEffect(
73
- // eslint-disable-next-line react-hooks/exhaustive-deps
74
- async (mounted) => {
75
- try {
76
- if (archivist && savedPayloads && !loadingRef.current) {
77
- const wrapper = new XyoArchivistWrapper(archivist);
78
- loadingRef.current = true;
79
- const result = await wrapper.insert(savedPayloads);
80
- loadingRef.current = false;
81
- if (mounted()) {
82
- setError(undefined);
83
- setResultPayloads(result);
84
- }
85
- }
86
- }
87
- catch (ex) {
88
- loadingRef.current = false;
89
- setError(ex);
90
- }
91
- }, [archivist, loadingRef, refresh, savedPayloads, setError, setResultPayloads]);
92
- return [resultPayloads, error];
93
- };
94
- export const useArchivistAll = (required = false) => {
95
- const { archivist } = useArchivist(required);
96
- const [payloads, setPayloads] = useState();
97
- const [error, setError] = useState();
98
- useAsyncEffect(
99
- // eslint-disable-next-line react-hooks/exhaustive-deps
100
- async (mounted) => {
101
- try {
102
- const wrapper = archivist ? new XyoArchivistWrapper(archivist) : undefined;
103
- const result = await wrapper?.all();
104
- if (mounted()) {
105
- setError(undefined);
106
- setPayloads(result);
107
- }
108
- }
109
- catch (ex) {
110
- setError(ex);
111
- }
112
- }, [archivist]);
113
- return [payloads, error];
114
- };
115
- export const useArchivistClear = (required = false) => {
116
- const { archivist } = useArchivist(required);
117
- const [payloads, setPayloads] = useState();
118
- const [error, setError] = useState();
119
- useAsyncEffect(
120
- // eslint-disable-next-line react-hooks/exhaustive-deps
121
- async (mounted) => {
122
- try {
123
- const wrapper = archivist ? new XyoArchivistWrapper(archivist) : undefined;
124
- await wrapper?.clear();
125
- if (mounted()) {
126
- setError(undefined);
127
- setPayloads([]);
128
- }
129
- }
130
- catch (ex) {
131
- setError(ex);
132
- }
133
- }, [archivist]);
134
- return [payloads, error];
135
- };
136
- //# sourceMappingURL=use.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/contexts/use.ts"],"names":[],"mappings":"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"}
@@ -1,165 +0,0 @@
1
- import { useAsyncEffect } from '@xylabs/react-shared'
2
- import { XyoArchivistWrapper } from '@xyo-network/archivist'
3
- import { XyoPayload, XyoPayloadFindFilter, XyoPayloads } from '@xyo-network/payload'
4
- import { useContextEx, useDataState } from '@xyo-network/react-shared'
5
- import { useRef, useState } from 'react'
6
-
7
- import { ArchivistContext } from './Context'
8
-
9
- type RefreshCallback = () => void
10
-
11
- export const useArchivist = (required = false) => {
12
- return useContextEx(ArchivistContext, 'Archivist', required)
13
- }
14
-
15
- const useSharedUseArchivistState = (required: boolean) => {
16
- const [payloads, setPayloads] = useState<XyoPayloads>()
17
- const { archivist } = useArchivist(required)
18
- const [error, setError] = useState<Error>()
19
- const [refresh, setRefresh] = useState(1)
20
- const loadingRef = useRef<boolean>(false)
21
- const refreshPayloads = () => setRefresh((previous) => previous + 1)
22
-
23
- return { archivist, error, loadingRef, payloads, refresh, refreshPayloads, setError, setPayloads }
24
- }
25
-
26
- export const useArchivistGet = (ids?: string[], required = false): [XyoPayload[]?, Error?, RefreshCallback?] => {
27
- const [savedIds] = useDataState(ids)
28
- const { archivist, error, loadingRef, payloads, refresh, setError, setPayloads, refreshPayloads } = useSharedUseArchivistState(required)
29
-
30
- useAsyncEffect(
31
- // eslint-disable-next-line react-hooks/exhaustive-deps
32
- async (mounted) => {
33
- try {
34
- if (archivist && savedIds && !loadingRef.current) {
35
- const wrapper = new XyoArchivistWrapper(archivist)
36
- loadingRef.current = true
37
- const result = (await wrapper?.get(savedIds ?? [])) ?? []
38
- loadingRef.current = false
39
- if (mounted()) {
40
- setError(undefined)
41
- setPayloads(result)
42
- }
43
- }
44
- } catch (ex) {
45
- loadingRef.current = false
46
- setError(ex as Error)
47
- }
48
- },
49
- [archivist, savedIds, refresh, setError, setPayloads, loadingRef],
50
- )
51
- return [payloads, error, refreshPayloads]
52
- }
53
-
54
- export const useArchivistFind = <TFilter extends XyoPayloadFindFilter>(
55
- filter: TFilter,
56
- required = false,
57
- ): [XyoPayload[]?, Error?, RefreshCallback?] => {
58
- const [savedFilter] = useDataState(filter)
59
- const [payloads, setPayloads] = useState<XyoPayload[]>()
60
- const { archivist, error, loadingRef, refresh, setError, refreshPayloads } = useSharedUseArchivistState(required)
61
- useAsyncEffect(
62
- // eslint-disable-next-line react-hooks/exhaustive-deps
63
- async (mounted) => {
64
- try {
65
- if (archivist && savedFilter && !loadingRef.current) {
66
- const wrapper = new XyoArchivistWrapper(archivist)
67
- loadingRef.current = true
68
- const result = await wrapper?.find(savedFilter)
69
- loadingRef.current = false
70
- if (mounted()) {
71
- setError(undefined)
72
- setPayloads(result)
73
- }
74
- }
75
- } catch (ex) {
76
- setError(ex as Error)
77
- loadingRef.current = false
78
- }
79
- },
80
- [archivist, loadingRef, refresh, savedFilter, setError, setPayloads],
81
- )
82
- return [payloads, error, refreshPayloads]
83
- }
84
-
85
- export const useArchivistInsert = (payloads: XyoPayload[], required = false): [XyoPayload[]?, Error?] => {
86
- const [savedPayloads] = useDataState(payloads)
87
- const {
88
- archivist,
89
- error,
90
- loadingRef,
91
- payloads: resultPayloads,
92
- refresh,
93
- setError,
94
- setPayloads: setResultPayloads,
95
- } = useSharedUseArchivistState(required)
96
-
97
- useAsyncEffect(
98
- // eslint-disable-next-line react-hooks/exhaustive-deps
99
- async (mounted) => {
100
- try {
101
- if (archivist && savedPayloads && !loadingRef.current) {
102
- const wrapper = new XyoArchivistWrapper(archivist)
103
- loadingRef.current = true
104
- const result = await wrapper.insert(savedPayloads)
105
- loadingRef.current = false
106
- if (mounted()) {
107
- setError(undefined)
108
- setResultPayloads(result)
109
- }
110
- }
111
- } catch (ex) {
112
- loadingRef.current = false
113
- setError(ex as Error)
114
- }
115
- },
116
- [archivist, loadingRef, refresh, savedPayloads, setError, setResultPayloads],
117
- )
118
- return [resultPayloads, error]
119
- }
120
-
121
- export const useArchivistAll = (required = false): [XyoPayload[]?, Error?] => {
122
- const { archivist } = useArchivist(required)
123
- const [payloads, setPayloads] = useState<XyoPayloads>()
124
- const [error, setError] = useState<Error>()
125
- useAsyncEffect(
126
- // eslint-disable-next-line react-hooks/exhaustive-deps
127
- async (mounted) => {
128
- try {
129
- const wrapper = archivist ? new XyoArchivistWrapper(archivist) : undefined
130
- const result = await wrapper?.all()
131
- if (mounted()) {
132
- setError(undefined)
133
- setPayloads(result)
134
- }
135
- } catch (ex) {
136
- setError(ex as Error)
137
- }
138
- },
139
- [archivist],
140
- )
141
- return [payloads, error]
142
- }
143
-
144
- export const useArchivistClear = (required = false): [XyoPayload[]?, Error?] => {
145
- const { archivist } = useArchivist(required)
146
- const [payloads, setPayloads] = useState<XyoPayloads>()
147
- const [error, setError] = useState<Error>()
148
- useAsyncEffect(
149
- // eslint-disable-next-line react-hooks/exhaustive-deps
150
- async (mounted) => {
151
- try {
152
- const wrapper = archivist ? new XyoArchivistWrapper(archivist) : undefined
153
- await wrapper?.clear()
154
- if (mounted()) {
155
- setError(undefined)
156
- setPayloads([])
157
- }
158
- } catch (ex) {
159
- setError(ex as Error)
160
- }
161
- },
162
- [archivist],
163
- )
164
- return [payloads, error]
165
- }