@xyo-network/react-archivist 2.26.56 → 2.26.59
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/cjs/contexts/Provider.d.ts +10 -13
- package/dist/cjs/contexts/Provider.d.ts.map +1 -1
- package/dist/cjs/contexts/Provider.js +2 -2
- package/dist/cjs/contexts/Provider.js.map +1 -1
- package/dist/cjs/contexts/use.d.ts +4 -0
- package/dist/cjs/contexts/use.d.ts.map +1 -1
- package/dist/cjs/contexts/use.js +48 -3
- package/dist/cjs/contexts/use.js.map +1 -1
- package/dist/docs.json +472 -327
- package/dist/esm/contexts/Provider.d.ts +10 -13
- package/dist/esm/contexts/Provider.d.ts.map +1 -1
- package/dist/esm/contexts/Provider.js +2 -2
- package/dist/esm/contexts/Provider.js.map +1 -1
- package/dist/esm/contexts/use.d.ts +4 -0
- package/dist/esm/contexts/use.d.ts.map +1 -1
- package/dist/esm/contexts/use.js +42 -0
- package/dist/esm/contexts/use.js.map +1 -1
- package/package.json +6 -6
- package/src/contexts/Provider.tsx +11 -18
- package/src/contexts/use.ts +48 -0
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { WithChildren } from '@xylabs/react-shared';
|
|
3
2
|
import { XyoRemoteArchivistConfig } from '@xyo-network/api';
|
|
4
3
|
import { XyoArchivist, XyoArchivistConfig } from '@xyo-network/archivist';
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { ContextExProviderProps } from '@xyo-network/react-shared';
|
|
5
|
+
export declare type ArchivistProviderProps = ContextExProviderProps<{
|
|
7
6
|
archivist?: XyoArchivist;
|
|
8
|
-
}
|
|
9
|
-
export declare const ArchivistProvider: React.FC<
|
|
10
|
-
export
|
|
11
|
-
required?: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const ArchivistProvider: React.FC<ArchivistProviderProps>;
|
|
9
|
+
export declare type MemoryArchivistProviderProps = ContextExProviderProps<{
|
|
12
10
|
config?: XyoArchivistConfig;
|
|
13
|
-
}
|
|
14
|
-
export declare const MemoryArchivistProvider: React.FC<
|
|
15
|
-
export
|
|
16
|
-
required?: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const MemoryArchivistProvider: React.FC<MemoryArchivistProviderProps>;
|
|
13
|
+
export declare type ApiArchivistProviderProps = ContextExProviderProps<{
|
|
17
14
|
config?: XyoRemoteArchivistConfig;
|
|
18
|
-
}
|
|
19
|
-
export declare const RemoteArchivistProvider: React.FC<
|
|
15
|
+
}>;
|
|
16
|
+
export declare const RemoteArchivistProvider: React.FC<ApiArchivistProviderProps>;
|
|
20
17
|
//# sourceMappingURL=Provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAsB,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAsB,MAAM,wBAAwB,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAMlE,oBAAY,sBAAsB,GAAG,sBAAsB,CAAC;IAC1D,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB,CAAC,CAAA;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAc9D,CAAA;AAED,oBAAY,4BAA4B,GAAG,sBAAsB,CAAC;IAChE,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC5B,CAAC,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAI1E,CAAA;AAED,oBAAY,yBAAyB,GAAG,sBAAsB,CAAC;IAC7D,MAAM,CAAC,EAAE,wBAAwB,CAAA;CAClC,CAAC,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAIvE,CAAA"}
|
|
@@ -12,10 +12,10 @@ export const ArchivistProvider = ({ archivist: archivistProp, required = false,
|
|
|
12
12
|
setArchivist,
|
|
13
13
|
}, children: archivist ? children : required ? null : children }));
|
|
14
14
|
};
|
|
15
|
-
export const MemoryArchivistProvider = ({ config = {},
|
|
15
|
+
export const MemoryArchivistProvider = ({ config = {}, ...props }) => {
|
|
16
16
|
const { archivist } = useArchivist();
|
|
17
17
|
config.parent = config.parent ?? archivist;
|
|
18
|
-
return
|
|
18
|
+
return _jsx(ArchivistProvider, { archivist: new XyoMemoryArchivist(config), ...props });
|
|
19
19
|
};
|
|
20
20
|
export const RemoteArchivistProvider = ({ config = {}, ...props }) => {
|
|
21
21
|
const { archivist } = useArchivist();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAA4B,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAoC,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE7F,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAMpC,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9H,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA2B,aAAa,CAAC,CAAA;IAEnF,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IACxB,KAAK,EAAE;YACL,SAAS;YACT,QAAQ,EAAE,IAAI;YACd,YAAY;SACb,YAEA,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GACxB,CAC7B,CAAA;AACH,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,uBAAuB,GAA2C,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC3G,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA;IAC1C,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAM,KAAK,GAAI,CAAA;AACpF,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,uBAAuB,GAAwC,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACxG,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA;IAC1C,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAM,KAAK,GAAI,CAAA;AACpF,CAAC,CAAA"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
import { XyoPayloadFindQuery } from '@xyo-network/archivist';
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
1
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 | null)[]?, Error?];
|
|
5
|
+
export declare const useArchivistFind: <TQuery extends XyoPayloadFindQuery>(query?: TQuery | undefined, required?: boolean) => [(XyoPayload | null)[]?, Error?];
|
|
2
6
|
//# sourceMappingURL=use.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/contexts/use.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/contexts/use.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAMjD,eAAO,MAAM,YAAY,iIAExB,CAAA;AAED,eAAO,MAAM,eAAe,SAAU,MAAM,EAAE,yBAAqB,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAoBjG,CAAA;AAED,eAAO,MAAM,gBAAgB,0FAA2E,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAoBtI,CAAA"}
|
package/dist/esm/contexts/use.js
CHANGED
|
@@ -1,6 +1,48 @@
|
|
|
1
|
+
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
1
2
|
import { useContextEx } from '@xyo-network/react-shared';
|
|
3
|
+
import { useState } from 'react';
|
|
2
4
|
import { ArchivistContext } from './Context';
|
|
3
5
|
export const useArchivist = (required = false) => {
|
|
4
6
|
return useContextEx(ArchivistContext, 'Archivist', required);
|
|
5
7
|
};
|
|
8
|
+
export const useArchivistGet = (ids, required = false) => {
|
|
9
|
+
const { archivist } = useArchivist(required);
|
|
10
|
+
const [payloads, setPayloads] = useState();
|
|
11
|
+
const [error, setError] = useState();
|
|
12
|
+
useAsyncEffect(
|
|
13
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14
|
+
async (mounted) => {
|
|
15
|
+
try {
|
|
16
|
+
const result = archivist ? await archivist.get(ids ?? []) : undefined;
|
|
17
|
+
if (mounted()) {
|
|
18
|
+
setError(undefined);
|
|
19
|
+
setPayloads(result);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (ex) {
|
|
23
|
+
setError(ex);
|
|
24
|
+
}
|
|
25
|
+
}, [archivist, ids]);
|
|
26
|
+
return [payloads, error];
|
|
27
|
+
};
|
|
28
|
+
export const useArchivistFind = (query, required = false) => {
|
|
29
|
+
const { archivist } = useArchivist(required);
|
|
30
|
+
const [payloads, setPayloads] = useState();
|
|
31
|
+
const [error, setError] = useState();
|
|
32
|
+
useAsyncEffect(
|
|
33
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
|
+
async (mounted) => {
|
|
35
|
+
try {
|
|
36
|
+
const result = archivist && query ? await archivist.find(query) : undefined;
|
|
37
|
+
if (mounted()) {
|
|
38
|
+
setError(undefined);
|
|
39
|
+
setPayloads(result);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (ex) {
|
|
43
|
+
setError(ex);
|
|
44
|
+
}
|
|
45
|
+
}, [archivist, query]);
|
|
46
|
+
return [payloads, error];
|
|
47
|
+
};
|
|
6
48
|
//# sourceMappingURL=use.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/contexts/use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/contexts/use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE;IAC/C,OAAO,YAAY,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAc,EAAE,QAAQ,GAAG,KAAK,EAAoC,EAAE;IACpG,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAyB,CAAA;IACjE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI;YACF,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACrE,IAAI,OAAO,EAAE,EAAE;gBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;gBACnB,WAAW,CAAC,MAAM,CAAC,CAAA;aACpB;SACF;QAAC,OAAO,EAAE,EAAE;YACX,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EACD,CAAC,SAAS,EAAE,GAAG,CAAC,CACjB,CAAA;IACD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAqC,KAAc,EAAE,QAAQ,GAAG,KAAK,EAAoC,EAAE;IACzI,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAyB,CAAA;IACjE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI;YACF,MAAM,MAAM,GAAG,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC3E,IAAI,OAAO,EAAE,EAAE;gBACb,QAAQ,CAAC,SAAS,CAAC,CAAA;gBACnB,WAAW,CAAC,MAAM,CAAC,CAAA;aACpB;SACF;QAAC,OAAO,EAAE,EAAE;YACX,QAAQ,CAAC,EAAW,CAAC,CAAA;SACtB;IACH,CAAC,EACD,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAA;IACD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"@xylabs/react-flexbox": "^2.14.10",
|
|
18
18
|
"@xylabs/react-shared": "^2.14.10",
|
|
19
19
|
"@xylabs/sdk-js": "2.6.2",
|
|
20
|
-
"@xyo-network/api": "^2.
|
|
21
|
-
"@xyo-network/archivist": "^2.
|
|
22
|
-
"@xyo-network/payload": "^2.
|
|
23
|
-
"@xyo-network/react-shared": "^2.26.
|
|
20
|
+
"@xyo-network/api": "^2.23.0",
|
|
21
|
+
"@xyo-network/archivist": "^2.23.0",
|
|
22
|
+
"@xyo-network/payload": "^2.23.0",
|
|
23
|
+
"@xyo-network/react-shared": "^2.26.59",
|
|
24
24
|
"react": "^18.2.0",
|
|
25
25
|
"react-dom": "^18.2.0"
|
|
26
26
|
},
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@storybook/react": "^6.5.9",
|
|
30
30
|
"@xylabs/tsconfig-dom": "^2.5.11",
|
|
31
|
-
"@xyo-network/react-storybook": "^2.26.
|
|
31
|
+
"@xyo-network/react-storybook": "^2.26.59"
|
|
32
32
|
},
|
|
33
33
|
"browser": "dist/esm/index.js",
|
|
34
34
|
"docs": "dist/docs.json",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
},
|
|
80
80
|
"sideEffects": false,
|
|
81
81
|
"types": "dist/esm/index.d.ts",
|
|
82
|
-
"version": "2.26.
|
|
82
|
+
"version": "2.26.59"
|
|
83
83
|
}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { WithChildren } from '@xylabs/react-shared'
|
|
2
1
|
import { XyoRemoteArchivist, XyoRemoteArchivistConfig } from '@xyo-network/api'
|
|
3
2
|
import { XyoArchivist, XyoArchivistConfig, XyoMemoryArchivist } from '@xyo-network/archivist'
|
|
3
|
+
import { ContextExProviderProps } from '@xyo-network/react-shared'
|
|
4
4
|
import { useState } from 'react'
|
|
5
5
|
|
|
6
6
|
import { ArchivistContext } from './Context'
|
|
7
7
|
import { useArchivist } from './use'
|
|
8
8
|
|
|
9
|
-
export
|
|
10
|
-
required?: boolean
|
|
9
|
+
export type ArchivistProviderProps = ContextExProviderProps<{
|
|
11
10
|
archivist?: XyoArchivist
|
|
12
|
-
}
|
|
11
|
+
}>
|
|
13
12
|
|
|
14
|
-
export const ArchivistProvider: React.FC<
|
|
13
|
+
export const ArchivistProvider: React.FC<ArchivistProviderProps> = ({ archivist: archivistProp, required = false, children }) => {
|
|
15
14
|
const [archivist, setArchivist] = useState<XyoArchivist | undefined>(archivistProp)
|
|
16
15
|
|
|
17
16
|
return (
|
|
@@ -27,27 +26,21 @@ export const ArchivistProvider: React.FC<WithChildren<ArchivistProviderProps>> =
|
|
|
27
26
|
)
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
export
|
|
31
|
-
required?: boolean
|
|
29
|
+
export type MemoryArchivistProviderProps = ContextExProviderProps<{
|
|
32
30
|
config?: XyoArchivistConfig
|
|
33
|
-
}
|
|
31
|
+
}>
|
|
34
32
|
|
|
35
|
-
export const MemoryArchivistProvider: React.FC<
|
|
33
|
+
export const MemoryArchivistProvider: React.FC<MemoryArchivistProviderProps> = ({ config = {}, ...props }) => {
|
|
36
34
|
const { archivist } = useArchivist()
|
|
37
35
|
config.parent = config.parent ?? archivist
|
|
38
|
-
return (
|
|
39
|
-
<ArchivistProvider archivist={new XyoMemoryArchivist(config)} {...props}>
|
|
40
|
-
{children}
|
|
41
|
-
</ArchivistProvider>
|
|
42
|
-
)
|
|
36
|
+
return <ArchivistProvider archivist={new XyoMemoryArchivist(config)} {...props} />
|
|
43
37
|
}
|
|
44
38
|
|
|
45
|
-
export
|
|
46
|
-
required?: boolean
|
|
39
|
+
export type ApiArchivistProviderProps = ContextExProviderProps<{
|
|
47
40
|
config?: XyoRemoteArchivistConfig
|
|
48
|
-
}
|
|
41
|
+
}>
|
|
49
42
|
|
|
50
|
-
export const RemoteArchivistProvider: React.FC<
|
|
43
|
+
export const RemoteArchivistProvider: React.FC<ApiArchivistProviderProps> = ({ config = {}, ...props }) => {
|
|
51
44
|
const { archivist } = useArchivist()
|
|
52
45
|
config.parent = config.parent ?? archivist
|
|
53
46
|
return <ArchivistProvider archivist={new XyoRemoteArchivist(config)} {...props} />
|
package/src/contexts/use.ts
CHANGED
|
@@ -1,7 +1,55 @@
|
|
|
1
|
+
import { useAsyncEffect } from '@xylabs/react-shared'
|
|
2
|
+
import { XyoPayloadFindQuery } from '@xyo-network/archivist'
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
1
4
|
import { useContextEx } from '@xyo-network/react-shared'
|
|
5
|
+
import { useState } from 'react'
|
|
2
6
|
|
|
3
7
|
import { ArchivistContext } from './Context'
|
|
4
8
|
|
|
5
9
|
export const useArchivist = (required = false) => {
|
|
6
10
|
return useContextEx(ArchivistContext, 'Archivist', required)
|
|
7
11
|
}
|
|
12
|
+
|
|
13
|
+
export const useArchivistGet = (ids?: string[], required = false): [(XyoPayload | null)[]?, Error?] => {
|
|
14
|
+
const { archivist } = useArchivist(required)
|
|
15
|
+
const [payloads, setPayloads] = useState<(XyoPayload | null)[]>()
|
|
16
|
+
const [error, setError] = useState<Error>()
|
|
17
|
+
useAsyncEffect(
|
|
18
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
|
+
async (mounted) => {
|
|
20
|
+
try {
|
|
21
|
+
const result = archivist ? await archivist.get(ids ?? []) : undefined
|
|
22
|
+
if (mounted()) {
|
|
23
|
+
setError(undefined)
|
|
24
|
+
setPayloads(result)
|
|
25
|
+
}
|
|
26
|
+
} catch (ex) {
|
|
27
|
+
setError(ex as Error)
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
[archivist, ids]
|
|
31
|
+
)
|
|
32
|
+
return [payloads, error]
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export const useArchivistFind = <TQuery extends XyoPayloadFindQuery>(query?: TQuery, required = false): [(XyoPayload | null)[]?, Error?] => {
|
|
36
|
+
const { archivist } = useArchivist(required)
|
|
37
|
+
const [payloads, setPayloads] = useState<(XyoPayload | null)[]>()
|
|
38
|
+
const [error, setError] = useState<Error>()
|
|
39
|
+
useAsyncEffect(
|
|
40
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41
|
+
async (mounted) => {
|
|
42
|
+
try {
|
|
43
|
+
const result = archivist && query ? await archivist.find(query) : undefined
|
|
44
|
+
if (mounted()) {
|
|
45
|
+
setError(undefined)
|
|
46
|
+
setPayloads(result)
|
|
47
|
+
}
|
|
48
|
+
} catch (ex) {
|
|
49
|
+
setError(ex as Error)
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
[archivist, query]
|
|
53
|
+
)
|
|
54
|
+
return [payloads, error]
|
|
55
|
+
}
|