@xyo-network/react-archivist 2.33.6 → 2.34.0-rc.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 (80) hide show
  1. package/dist/cjs/components/Details.d.ts.map +1 -1
  2. package/dist/cjs/components/Details.js +1 -1
  3. package/dist/cjs/components/Details.js.map +1 -1
  4. package/dist/cjs/contexts/Provider/CookieArchivistProvider.d.ts +8 -0
  5. package/dist/cjs/contexts/Provider/CookieArchivistProvider.d.ts.map +1 -0
  6. package/dist/cjs/contexts/Provider/CookieArchivistProvider.js +30 -0
  7. package/dist/cjs/contexts/Provider/CookieArchivistProvider.js.map +1 -0
  8. package/dist/cjs/contexts/Provider/MemoryArchivistProvider.d.ts +8 -0
  9. package/dist/cjs/contexts/Provider/MemoryArchivistProvider.d.ts.map +1 -0
  10. package/dist/cjs/contexts/Provider/MemoryArchivistProvider.js +30 -0
  11. package/dist/cjs/contexts/Provider/MemoryArchivistProvider.js.map +1 -0
  12. package/dist/cjs/contexts/Provider/Provider.d.ts +8 -0
  13. package/dist/cjs/contexts/Provider/Provider.d.ts.map +1 -0
  14. package/dist/cjs/contexts/Provider/Provider.js +19 -0
  15. package/dist/cjs/contexts/Provider/Provider.js.map +1 -0
  16. package/dist/cjs/contexts/Provider/RemoteArchivistProvider.d.ts +8 -0
  17. package/dist/cjs/contexts/Provider/RemoteArchivistProvider.d.ts.map +1 -0
  18. package/dist/cjs/contexts/Provider/RemoteArchivistProvider.js +30 -0
  19. package/dist/cjs/contexts/Provider/RemoteArchivistProvider.js.map +1 -0
  20. package/dist/cjs/contexts/Provider/StorageArchivistProvider.d.ts +8 -0
  21. package/dist/cjs/contexts/Provider/StorageArchivistProvider.d.ts.map +1 -0
  22. package/dist/cjs/contexts/Provider/StorageArchivistProvider.js +30 -0
  23. package/dist/cjs/contexts/Provider/StorageArchivistProvider.js.map +1 -0
  24. package/dist/cjs/contexts/Provider/index.d.ts +6 -0
  25. package/dist/cjs/contexts/Provider/index.d.ts.map +1 -0
  26. package/dist/cjs/contexts/Provider/index.js +9 -0
  27. package/dist/cjs/contexts/Provider/index.js.map +1 -0
  28. package/dist/cjs/contexts/use.d.ts.map +1 -1
  29. package/dist/cjs/contexts/use.js +2 -2
  30. package/dist/cjs/contexts/use.js.map +1 -1
  31. package/dist/docs.json +399 -103
  32. package/dist/esm/components/Details.d.ts.map +1 -1
  33. package/dist/esm/components/Details.js +2 -2
  34. package/dist/esm/components/Details.js.map +1 -1
  35. package/dist/esm/contexts/Provider/CookieArchivistProvider.d.ts +8 -0
  36. package/dist/esm/contexts/Provider/CookieArchivistProvider.d.ts.map +1 -0
  37. package/dist/esm/contexts/Provider/CookieArchivistProvider.js +24 -0
  38. package/dist/esm/contexts/Provider/CookieArchivistProvider.js.map +1 -0
  39. package/dist/esm/contexts/Provider/MemoryArchivistProvider.d.ts +8 -0
  40. package/dist/esm/contexts/Provider/MemoryArchivistProvider.d.ts.map +1 -0
  41. package/dist/esm/contexts/Provider/MemoryArchivistProvider.js +24 -0
  42. package/dist/esm/contexts/Provider/MemoryArchivistProvider.js.map +1 -0
  43. package/dist/esm/contexts/Provider/Provider.d.ts +8 -0
  44. package/dist/esm/contexts/Provider/Provider.d.ts.map +1 -0
  45. package/dist/esm/contexts/Provider/Provider.js +15 -0
  46. package/dist/esm/contexts/Provider/Provider.js.map +1 -0
  47. package/dist/esm/contexts/Provider/RemoteArchivistProvider.d.ts +8 -0
  48. package/dist/esm/contexts/Provider/RemoteArchivistProvider.d.ts.map +1 -0
  49. package/dist/esm/contexts/Provider/RemoteArchivistProvider.js +24 -0
  50. package/dist/esm/contexts/Provider/RemoteArchivistProvider.js.map +1 -0
  51. package/dist/esm/contexts/Provider/StorageArchivistProvider.d.ts +8 -0
  52. package/dist/esm/contexts/Provider/StorageArchivistProvider.d.ts.map +1 -0
  53. package/dist/esm/contexts/Provider/StorageArchivistProvider.js +24 -0
  54. package/dist/esm/contexts/Provider/StorageArchivistProvider.js.map +1 -0
  55. package/dist/esm/contexts/Provider/index.d.ts +6 -0
  56. package/dist/esm/contexts/Provider/index.d.ts.map +1 -0
  57. package/dist/esm/contexts/Provider/index.js +6 -0
  58. package/dist/esm/contexts/Provider/index.js.map +1 -0
  59. package/dist/esm/contexts/use.d.ts.map +1 -1
  60. package/dist/esm/contexts/use.js +3 -3
  61. package/dist/esm/contexts/use.js.map +1 -1
  62. package/package.json +6 -5
  63. package/src/components/Details.stories.tsx +1 -2
  64. package/src/components/Details.tsx +5 -5
  65. package/src/contexts/Provider/CookieArchivistProvider.tsx +42 -0
  66. package/src/contexts/Provider/MemoryArchivistProvider.tsx +42 -0
  67. package/src/contexts/Provider/Provider.tsx +29 -0
  68. package/src/contexts/Provider/RemoteArchivistProvider.tsx +42 -0
  69. package/src/contexts/Provider/StorageArchivistProvider.tsx +42 -0
  70. package/src/contexts/Provider/index.ts +5 -0
  71. package/src/contexts/use.ts +3 -3
  72. package/dist/cjs/contexts/Provider.d.ts +0 -17
  73. package/dist/cjs/contexts/Provider.d.ts.map +0 -1
  74. package/dist/cjs/contexts/Provider.js +0 -52
  75. package/dist/cjs/contexts/Provider.js.map +0 -1
  76. package/dist/esm/contexts/Provider.d.ts +0 -17
  77. package/dist/esm/contexts/Provider.d.ts.map +0 -1
  78. package/dist/esm/contexts/Provider.js +0 -43
  79. package/dist/esm/contexts/Provider.js.map +0 -1
  80. package/src/contexts/Provider.tsx +0 -90
@@ -1,17 +0,0 @@
1
- /// <reference types="react" />
2
- import { XyoRemoteArchivistConfig } from '@xyo-network/api';
3
- import { XyoArchivist, XyoMemoryArchivistConfig } from '@xyo-network/archivist';
4
- import { ContextExProviderProps } from '@xyo-network/react-shared';
5
- export declare type ArchivistProviderProps = ContextExProviderProps<{
6
- archivist?: XyoArchivist;
7
- }>;
8
- export declare const ArchivistProvider: React.FC<ArchivistProviderProps>;
9
- export declare type MemoryArchivistProviderProps = ContextExProviderProps<{
10
- config: XyoMemoryArchivistConfig;
11
- }>;
12
- export declare const MemoryArchivistProvider: React.FC<MemoryArchivistProviderProps>;
13
- export declare type ApiArchivistProviderProps = ContextExProviderProps<{
14
- config: XyoRemoteArchivistConfig;
15
- }>;
16
- export declare const RemoteArchivistProvider: React.FC<ApiArchivistProviderProps>;
17
- //# sourceMappingURL=Provider.d.ts.map
@@ -1 +0,0 @@
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,EAAsB,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAOlE,oBAAY,sBAAsB,GAAG,sBAAsB,CAAC;IAC1D,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB,CAAC,CAAA;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAkB9D,CAAA;AAED,oBAAY,4BAA4B,GAAG,sBAAsB,CAAC;IAChE,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAuB1E,CAAA;AAED,oBAAY,yBAAyB,GAAG,sBAAsB,CAAC;IAC7D,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAuBvE,CAAA"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemoteArchivistProvider = exports.MemoryArchivistProvider = exports.ArchivistProvider = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const api_1 = require("@xyo-network/api");
7
- const archivist_1 = require("@xyo-network/archivist");
8
- const merge_1 = tslib_1.__importDefault(require("lodash/merge"));
9
- const react_1 = require("react");
10
- const Context_1 = require("./Context");
11
- const use_1 = require("./use");
12
- const ArchivistProvider = ({ archivist: archivistProp, required = false, children }) => {
13
- const [archivist, setArchivist] = (0, react_1.useState)();
14
- (0, react_1.useEffect)(() => {
15
- setArchivist(archivistProp);
16
- }, [archivistProp]);
17
- return ((0, jsx_runtime_1.jsx)(Context_1.ArchivistContext.Provider, Object.assign({ value: {
18
- archivist: archivist !== archivistProp ? undefined : archivist,
19
- provided: true,
20
- setArchivist,
21
- } }, { children: archivist ? children : required ? null : children })));
22
- };
23
- exports.ArchivistProvider = ArchivistProvider;
24
- const MemoryArchivistProvider = (_a) => {
25
- var { config } = _a, props = tslib_1.__rest(_a, ["config"]);
26
- const { archivist } = (0, use_1.useArchivist)();
27
- return ((0, jsx_runtime_1.jsx)(exports.ArchivistProvider, Object.assign({ archivist: new archivist_1.XyoMemoryArchivist((0, merge_1.default)(config, archivist
28
- ? {
29
- parents: {
30
- read: {
31
- [archivist.address]: archivist,
32
- },
33
- },
34
- }
35
- : undefined)) }, props)));
36
- };
37
- exports.MemoryArchivistProvider = MemoryArchivistProvider;
38
- const RemoteArchivistProvider = (_a) => {
39
- var { config } = _a, props = tslib_1.__rest(_a, ["config"]);
40
- const { archivist } = (0, use_1.useArchivist)();
41
- return ((0, jsx_runtime_1.jsx)(exports.ArchivistProvider, Object.assign({ archivist: new api_1.XyoRemoteArchivist((0, merge_1.default)(config, archivist
42
- ? {
43
- parents: {
44
- read: {
45
- [archivist.address]: archivist,
46
- },
47
- },
48
- }
49
- : undefined)) }, props)));
50
- };
51
- exports.RemoteArchivistProvider = RemoteArchivistProvider;
52
- //# sourceMappingURL=Provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";;;;;AAAA,0CAA+E;AAC/E,sDAAmG;AAEnG,iEAAgC;AAChC,iCAA2C;AAE3C,uCAA4C;AAC5C,+BAAoC;AAM7B,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,IAAA,gBAAQ,GAAgB,CAAA;IAE1D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,YAAY,CAAC,aAAa,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,OAAO,CACL,uBAAC,0BAAgB,CAAC,QAAQ,kBACxB,KAAK,EAAE;YACL,SAAS,EAAE,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9D,QAAQ,EAAE,IAAI;YACd,YAAY;SACb,gBAEA,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IACxB,CAC7B,CAAA;AACH,CAAC,CAAA;AAlBY,QAAA,iBAAiB,qBAkB7B;AAMM,MAAM,uBAAuB,GAA2C,CAAC,EAAoB,EAAE,EAAE;QAAxB,EAAE,MAAM,OAAY,EAAP,KAAK,sBAAlB,UAAoB,CAAF;IAChG,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAY,GAAE,CAAA;IACpC,OAAO,CACL,uBAAC,yBAAiB,kBAChB,SAAS,EACP,IAAI,8BAAkB,CACpB,IAAA,eAAK,EACH,MAAM,EACN,SAAS;YACP,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS;qBAC/B;iBACF;aACF;YACH,CAAC,CAAC,SAAS,CACd,CACF,IAEC,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;AAvBY,QAAA,uBAAuB,2BAuBnC;AAMM,MAAM,uBAAuB,GAAwC,CAAC,EAAoB,EAAE,EAAE;QAAxB,EAAE,MAAM,OAAY,EAAP,KAAK,sBAAlB,UAAoB,CAAF;IAC7F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAY,GAAE,CAAA;IACpC,OAAO,CACL,uBAAC,yBAAiB,kBAChB,SAAS,EACP,IAAI,wBAAkB,CACpB,IAAA,eAAK,EACH,MAAM,EACN,SAAS;YACP,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS;qBAC/B;iBACF;aACF;YACH,CAAC,CAAC,SAAS,CACd,CACF,IAEC,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;AAvBY,QAAA,uBAAuB,2BAuBnC"}
@@ -1,17 +0,0 @@
1
- /// <reference types="react" />
2
- import { XyoRemoteArchivistConfig } from '@xyo-network/api';
3
- import { XyoArchivist, XyoMemoryArchivistConfig } from '@xyo-network/archivist';
4
- import { ContextExProviderProps } from '@xyo-network/react-shared';
5
- export declare type ArchivistProviderProps = ContextExProviderProps<{
6
- archivist?: XyoArchivist;
7
- }>;
8
- export declare const ArchivistProvider: React.FC<ArchivistProviderProps>;
9
- export declare type MemoryArchivistProviderProps = ContextExProviderProps<{
10
- config: XyoMemoryArchivistConfig;
11
- }>;
12
- export declare const MemoryArchivistProvider: React.FC<MemoryArchivistProviderProps>;
13
- export declare type ApiArchivistProviderProps = ContextExProviderProps<{
14
- config: XyoRemoteArchivistConfig;
15
- }>;
16
- export declare const RemoteArchivistProvider: React.FC<ApiArchivistProviderProps>;
17
- //# sourceMappingURL=Provider.d.ts.map
@@ -1 +0,0 @@
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,EAAsB,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAOlE,oBAAY,sBAAsB,GAAG,sBAAsB,CAAC;IAC1D,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB,CAAC,CAAA;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAkB9D,CAAA;AAED,oBAAY,4BAA4B,GAAG,sBAAsB,CAAC;IAChE,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAuB1E,CAAA;AAED,oBAAY,yBAAyB,GAAG,sBAAsB,CAAC;IAC7D,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAuBvE,CAAA"}
@@ -1,43 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { XyoRemoteArchivist } from '@xyo-network/api';
3
- import { XyoMemoryArchivist } from '@xyo-network/archivist';
4
- import merge from 'lodash/merge';
5
- import { useEffect, useState } from 'react';
6
- import { ArchivistContext } from './Context';
7
- import { useArchivist } from './use';
8
- export const ArchivistProvider = ({ archivist: archivistProp, required = false, children }) => {
9
- const [archivist, setArchivist] = useState();
10
- useEffect(() => {
11
- setArchivist(archivistProp);
12
- }, [archivistProp]);
13
- return (_jsx(ArchivistContext.Provider, { value: {
14
- archivist: archivist !== archivistProp ? undefined : archivist,
15
- provided: true,
16
- setArchivist,
17
- }, children: archivist ? children : required ? null : children }));
18
- };
19
- export const MemoryArchivistProvider = ({ config, ...props }) => {
20
- const { archivist } = useArchivist();
21
- return (_jsx(ArchivistProvider, { archivist: new XyoMemoryArchivist(merge(config, archivist
22
- ? {
23
- parents: {
24
- read: {
25
- [archivist.address]: archivist,
26
- },
27
- },
28
- }
29
- : undefined)), ...props }));
30
- };
31
- export const RemoteArchivistProvider = ({ config, ...props }) => {
32
- const { archivist } = useArchivist();
33
- return (_jsx(ArchivistProvider, { archivist: new XyoRemoteArchivist(merge(config, archivist
34
- ? {
35
- parents: {
36
- read: {
37
- [archivist.address]: archivist,
38
- },
39
- },
40
- }
41
- : undefined)), ...props }));
42
- };
43
- //# sourceMappingURL=Provider.js.map
@@ -1 +0,0 @@
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,EAAgB,kBAAkB,EAA4B,MAAM,wBAAwB,CAAA;AAEnG,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,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,EAAgB,CAAA;IAE1D,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,aAAa,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IACxB,KAAK,EAAE;YACL,SAAS,EAAE,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9D,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,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACtG,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAA;IACpC,OAAO,CACL,KAAC,iBAAiB,IAChB,SAAS,EACP,IAAI,kBAAkB,CACpB,KAAK,CACH,MAAM,EACN,SAAS;YACP,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS;qBAC/B;iBACF;aACF;YACH,CAAC,CAAC,SAAS,CACd,CACF,KAEC,KAAK,GACT,CACH,CAAA;AACH,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,uBAAuB,GAAwC,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACnG,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAA;IACpC,OAAO,CACL,KAAC,iBAAiB,IAChB,SAAS,EACP,IAAI,kBAAkB,CACpB,KAAK,CACH,MAAM,EACN,SAAS;YACP,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS;qBAC/B;iBACF;aACF;YACH,CAAC,CAAC,SAAS,CACd,CACF,KAEC,KAAK,GACT,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -1,90 +0,0 @@
1
- import { XyoRemoteArchivist, XyoRemoteArchivistConfig } from '@xyo-network/api'
2
- import { XyoArchivist, XyoMemoryArchivist, XyoMemoryArchivistConfig } from '@xyo-network/archivist'
3
- import { ContextExProviderProps } from '@xyo-network/react-shared'
4
- import merge from 'lodash/merge'
5
- import { useEffect, useState } from 'react'
6
-
7
- import { ArchivistContext } from './Context'
8
- import { useArchivist } from './use'
9
-
10
- export type ArchivistProviderProps = ContextExProviderProps<{
11
- archivist?: XyoArchivist
12
- }>
13
-
14
- export const ArchivistProvider: React.FC<ArchivistProviderProps> = ({ archivist: archivistProp, required = false, children }) => {
15
- const [archivist, setArchivist] = useState<XyoArchivist>()
16
-
17
- useEffect(() => {
18
- setArchivist(archivistProp)
19
- }, [archivistProp])
20
-
21
- return (
22
- <ArchivistContext.Provider
23
- value={{
24
- archivist: archivist !== archivistProp ? undefined : archivist,
25
- provided: true,
26
- setArchivist,
27
- }}
28
- >
29
- {archivist ? children : required ? null : children}
30
- </ArchivistContext.Provider>
31
- )
32
- }
33
-
34
- export type MemoryArchivistProviderProps = ContextExProviderProps<{
35
- config: XyoMemoryArchivistConfig
36
- }>
37
-
38
- export const MemoryArchivistProvider: React.FC<MemoryArchivistProviderProps> = ({ config, ...props }) => {
39
- const { archivist } = useArchivist()
40
- return (
41
- <ArchivistProvider
42
- archivist={
43
- new XyoMemoryArchivist(
44
- merge(
45
- config,
46
- archivist
47
- ? {
48
- parents: {
49
- read: {
50
- [archivist.address]: archivist,
51
- },
52
- },
53
- }
54
- : undefined,
55
- ),
56
- )
57
- }
58
- {...props}
59
- />
60
- )
61
- }
62
-
63
- export type ApiArchivistProviderProps = ContextExProviderProps<{
64
- config: XyoRemoteArchivistConfig
65
- }>
66
-
67
- export const RemoteArchivistProvider: React.FC<ApiArchivistProviderProps> = ({ config, ...props }) => {
68
- const { archivist } = useArchivist()
69
- return (
70
- <ArchivistProvider
71
- archivist={
72
- new XyoRemoteArchivist(
73
- merge(
74
- config,
75
- archivist
76
- ? {
77
- parents: {
78
- read: {
79
- [archivist.address]: archivist,
80
- },
81
- },
82
- }
83
- : undefined,
84
- ),
85
- )
86
- }
87
- {...props}
88
- />
89
- )
90
- }