@xyo-network/react-archivist 2.38.17 → 2.39.0-rc.1

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.
@@ -1,6 +1,5 @@
1
1
  export * from './CookieArchivistProvider';
2
2
  export * from './MemoryArchivistProvider';
3
3
  export * from './Provider';
4
- export * from './RemoteArchivistProvider';
5
4
  export * from './StorageArchivistProvider';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,4BAA4B,CAAA"}
@@ -1,6 +1,5 @@
1
1
  export * from './CookieArchivistProvider';
2
2
  export * from './MemoryArchivistProvider';
3
3
  export * from './Provider';
4
- export * from './RemoteArchivistProvider';
5
4
  export * from './StorageArchivistProvider';
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/Provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/Provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,4BAA4B,CAAA"}
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "@xylabs/react-button": "^2.15.1",
14
14
  "@xylabs/react-flexbox": "^2.15.1",
15
15
  "@xylabs/react-shared": "^2.15.1",
16
- "@xyo-network/react-shared": "^2.38.17",
16
+ "@xyo-network/react-shared": "^2.39.0-rc.1",
17
17
  "lodash": "^4.17.21",
18
18
  "tslib": "^2.4.0"
19
19
  },
@@ -21,7 +21,6 @@
21
21
  "@mui/icons-material": "^5.10.3",
22
22
  "@mui/material": "^5.10.3",
23
23
  "@mui/styles": "^5.10.3",
24
- "@xyo-network/module": "^2.38.0",
25
24
  "axios": "^1.1.3",
26
25
  "pako": "^2.0.4",
27
26
  "react": "^18.2.0",
@@ -31,9 +30,9 @@
31
30
  "description": "Common React library for all XYO projects that use React",
32
31
  "devDependencies": {
33
32
  "@types/lodash": "^4.14.186",
34
- "@xyo-network/api": "^2.38.23",
35
- "@xyo-network/archivist": "^2.38.23",
36
- "@xyo-network/payload": "^2.38.23"
33
+ "@xyo-network/archivist": "^2.38.27",
34
+ "@xyo-network/module": "^2.38.27",
35
+ "@xyo-network/payload": "^2.38.27"
37
36
  },
38
37
  "browser": "dist/esm/index.js",
39
38
  "docs": "dist/docs.json",
@@ -77,5 +76,6 @@
77
76
  },
78
77
  "sideEffects": false,
79
78
  "types": "dist/esm/index.d.ts",
80
- "version": "2.38.17"
79
+ "version": "2.39.0-rc.1",
80
+ "stableVersion": "2.38.18"
81
81
  }
@@ -1,5 +1,4 @@
1
1
  export * from './CookieArchivistProvider'
2
2
  export * from './MemoryArchivistProvider'
3
3
  export * from './Provider'
4
- export * from './RemoteArchivistProvider'
5
4
  export * from './StorageArchivistProvider'
@@ -1,15 +1,13 @@
1
1
  import { DecoratorFn } from '@storybook/react'
2
2
  import { WithChildren } from '@xylabs/react-shared'
3
- import { ArchivistApiProvider, useArchivistApi } from '@xyo-network/react-archivist-api'
4
-
5
- import { RemoteArchivistProvider } from '../Provider'
3
+ import { ApiProvider, RemoteArchivistProvider, useApi } from '@xyo-network/react-api'
6
4
 
7
5
  const WithArchivist: React.FC<WithChildren> = ({ children }) => {
8
- return <ArchivistApiProvider apiDomain="https://beta.api.archivist.xyo.network">{children}</ArchivistApiProvider>
6
+ return <ApiProvider apiDomain="https://beta.api.archivist.xyo.network">{children}</ApiProvider>
9
7
  }
10
8
 
11
9
  const WithRemoteArchivist: React.FC<WithChildren> = ({ children }) => {
12
- const { api } = useArchivistApi()
10
+ const { api } = useApi()
13
11
  return (
14
12
  <RemoteArchivistProvider config={{ api: api, archive: 'temp', schema: 'network.xyo.archivist.remote.config' }}>
15
13
  {children}
@@ -1,11 +0,0 @@
1
- /// <reference types="react" />
2
- import { XyoArchivistApi, XyoRemoteArchivistConfig } from '@xyo-network/api';
3
- import { XyoModuleResolver } from '@xyo-network/module';
4
- import { ContextExProviderProps } from '@xyo-network/react-shared';
5
- export declare type RemoteArchivistProviderProps = ContextExProviderProps<{
6
- config?: XyoRemoteArchivistConfig;
7
- resolver?: XyoModuleResolver;
8
- api?: XyoArchivistApi;
9
- }>;
10
- export declare const RemoteArchivistProvider: React.FC<RemoteArchivistProviderProps>;
11
- //# sourceMappingURL=RemoteArchivistProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteArchivistProvider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Provider/RemoteArchivistProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAsB,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAEhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAgB,MAAM,2BAA2B,CAAA;AAOhF,oBAAY,4BAA4B,GAAG,sBAAsB,CAAC;IAChE,MAAM,CAAC,EAAE,wBAAwB,CAAA;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,GAAG,CAAC,EAAE,eAAe,CAAA;CACtB,CAAC,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAoD1E,CAAA"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemoteArchivistProvider = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const react_shared_1 = require("@xylabs/react-shared");
7
- const api_1 = require("@xyo-network/api");
8
- const archivist_1 = require("@xyo-network/archivist");
9
- const module_1 = require("@xyo-network/module");
10
- const react_shared_2 = require("@xyo-network/react-shared");
11
- const merge_1 = tslib_1.__importDefault(require("lodash/merge"));
12
- const react_1 = require("react");
13
- const use_1 = require("../use");
14
- const Provider_1 = require("./Provider");
15
- const RemoteArchivistProvider = (_a) => {
16
- var { config: configProp, api, resolver } = _a, props = tslib_1.__rest(_a, ["config", "api", "resolver"]);
17
- const [config, setConfig] = (0, react_shared_2.useDataState)(configProp);
18
- const { archivist } = (0, use_1.useArchivist)();
19
- //we set this every time, but it will only take if config VALUE changed
20
- setConfig(config);
21
- const wrapper = (0, react_1.useMemo)(() => (archivist ? new archivist_1.XyoArchivistWrapper(archivist) : undefined), [archivist]);
22
- const activeResolver = (0, react_1.useMemo)(() => ((resolver !== null && resolver !== void 0 ? resolver : wrapper) ? new module_1.XyoModuleResolver() : undefined), [resolver, wrapper]);
23
- // eslint-disable-next-line deprecation/deprecation
24
- const activeApi = api !== null && api !== void 0 ? api : config === null || config === void 0 ? void 0 : config.api;
25
- if (archivist) {
26
- activeResolver === null || activeResolver === void 0 ? void 0 : activeResolver.add(new archivist_1.XyoArchivistWrapper(archivist));
27
- }
28
- const [activeArchivist, setActiveArchivist] = (0, react_1.useState)();
29
- (0, react_shared_1.useAsyncEffect)(
30
- // eslint-disable-next-line react-hooks/exhaustive-deps
31
- (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
32
- const activeArchivist = activeApi
33
- ? yield api_1.XyoRemoteArchivist.create({
34
- api: activeApi,
35
- config: (0, merge_1.default)({}, config, archivist
36
- ? {
37
- parents: {
38
- commit: [archivist.address],
39
- read: [archivist.address],
40
- write: [archivist.address],
41
- },
42
- }
43
- : undefined),
44
- resolver: activeResolver,
45
- })
46
- : undefined;
47
- if (mounted()) {
48
- setActiveArchivist(activeArchivist);
49
- }
50
- }), [activeResolver, archivist, config, activeApi]);
51
- return (0, jsx_runtime_1.jsx)(Provider_1.ArchivistProvider, Object.assign({ archivist: activeArchivist }, props));
52
- };
53
- exports.RemoteArchivistProvider = RemoteArchivistProvider;
54
- //# sourceMappingURL=RemoteArchivistProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteArchivistProvider.js","sourceRoot":"","sources":["../../../../src/contexts/Provider/RemoteArchivistProvider.tsx"],"names":[],"mappings":";;;;;AAAA,uDAAqD;AACrD,0CAAgG;AAChG,sDAA4D;AAC5D,gDAAuD;AACvD,4DAAgF;AAChF,iEAAgC;AAChC,iCAAyC;AAEzC,gCAAqC;AACrC,yCAA8C;AAQvC,MAAM,uBAAuB,GAA2C,CAAC,EAA+C,EAAE,EAAE;QAAnD,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,OAAY,EAAP,KAAK,sBAA7C,6BAA+C,CAAF;IAC3H,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,2BAAY,EAAC,UAAU,CAAC,CAAA;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAY,GAAE,CAAA;IAEpC,uEAAuE;IACvE,SAAS,CAAC,MAAM,CAAC,CAAA;IAEjB,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,+BAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACxG,MAAM,cAAc,GAAkC,IAAA,eAAO,EAC3D,GAAG,EAAE,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,EAAC,CAAC,CAAC,IAAI,0BAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACjE,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpB,CAAA;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAA;IAEpC,IAAI,SAAS,EAAE;QACb,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,IAAI,+BAAmB,CAAC,SAAS,CAAC,CAAC,CAAA;KACxD;IAED,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,GAAsB,CAAA;IAE5E,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,MAAM,eAAe,GAAG,SAAS;YAC/B,CAAC,CAAC,MAAM,wBAAkB,CAAC,MAAM,CAAC;gBAC9B,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,IAAA,eAAK,EACX,EAAE,EACF,MAAM,EACN,SAAS;oBACP,CAAC,CAAC;wBACE,OAAO,EAAE;4BACP,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;4BAC3B,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;4BACzB,KAAK,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;yBAC3B;qBACF;oBACH,CAAC,CAAC,SAAS,CACd;gBACD,QAAQ,EAAE,cAAc;aACzB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,OAAO,EAAE,EAAE;YACb,kBAAkB,CAAC,eAAe,CAAC,CAAA;SACpC;IACH,CAAC,CAAA,EACD,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAC/C,CAAA;IAED,OAAO,uBAAC,4BAAiB,kBAAC,SAAS,EAAE,eAAe,IAAM,KAAK,EAAI,CAAA;AACrE,CAAC,CAAA;AApDY,QAAA,uBAAuB,2BAoDnC"}
@@ -1,11 +0,0 @@
1
- /// <reference types="react" />
2
- import { XyoArchivistApi, XyoRemoteArchivistConfig } from '@xyo-network/api';
3
- import { XyoModuleResolver } from '@xyo-network/module';
4
- import { ContextExProviderProps } from '@xyo-network/react-shared';
5
- export declare type RemoteArchivistProviderProps = ContextExProviderProps<{
6
- config?: XyoRemoteArchivistConfig;
7
- resolver?: XyoModuleResolver;
8
- api?: XyoArchivistApi;
9
- }>;
10
- export declare const RemoteArchivistProvider: React.FC<RemoteArchivistProviderProps>;
11
- //# sourceMappingURL=RemoteArchivistProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteArchivistProvider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Provider/RemoteArchivistProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAsB,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAEhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAgB,MAAM,2BAA2B,CAAA;AAOhF,oBAAY,4BAA4B,GAAG,sBAAsB,CAAC;IAChE,MAAM,CAAC,EAAE,wBAAwB,CAAA;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,GAAG,CAAC,EAAE,eAAe,CAAA;CACtB,CAAC,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAoD1E,CAAA"}
@@ -1,48 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useAsyncEffect } from '@xylabs/react-shared';
3
- import { XyoRemoteArchivist } from '@xyo-network/api';
4
- import { XyoArchivistWrapper } from '@xyo-network/archivist';
5
- import { XyoModuleResolver } from '@xyo-network/module';
6
- import { useDataState } from '@xyo-network/react-shared';
7
- import merge from 'lodash/merge';
8
- import { useMemo, useState } from 'react';
9
- import { useArchivist } from '../use';
10
- import { ArchivistProvider } from './Provider';
11
- export const RemoteArchivistProvider = ({ config: configProp, api, resolver, ...props }) => {
12
- const [config, setConfig] = useDataState(configProp);
13
- const { archivist } = useArchivist();
14
- //we set this every time, but it will only take if config VALUE changed
15
- setConfig(config);
16
- const wrapper = useMemo(() => (archivist ? new XyoArchivistWrapper(archivist) : undefined), [archivist]);
17
- const activeResolver = useMemo(() => (resolver ?? wrapper ? new XyoModuleResolver() : undefined), [resolver, wrapper]);
18
- // eslint-disable-next-line deprecation/deprecation
19
- const activeApi = api ?? config?.api;
20
- if (archivist) {
21
- activeResolver?.add(new XyoArchivistWrapper(archivist));
22
- }
23
- const [activeArchivist, setActiveArchivist] = useState();
24
- useAsyncEffect(
25
- // eslint-disable-next-line react-hooks/exhaustive-deps
26
- async (mounted) => {
27
- const activeArchivist = activeApi
28
- ? await XyoRemoteArchivist.create({
29
- api: activeApi,
30
- config: merge({}, config, archivist
31
- ? {
32
- parents: {
33
- commit: [archivist.address],
34
- read: [archivist.address],
35
- write: [archivist.address],
36
- },
37
- }
38
- : undefined),
39
- resolver: activeResolver,
40
- })
41
- : undefined;
42
- if (mounted()) {
43
- setActiveArchivist(activeArchivist);
44
- }
45
- }, [activeResolver, archivist, config, activeApi]);
46
- return _jsx(ArchivistProvider, { archivist: activeArchivist, ...props });
47
- };
48
- //# sourceMappingURL=RemoteArchivistProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteArchivistProvider.js","sourceRoot":"","sources":["../../../../src/contexts/Provider/RemoteArchivistProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAmB,kBAAkB,EAA4B,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAA0B,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQ9C,MAAM,CAAC,MAAM,uBAAuB,GAA2C,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACjI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAA;IAEpC,uEAAuE;IACvE,SAAS,CAAC,MAAM,CAAC,CAAA;IAEjB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACxG,MAAM,cAAc,GAAkC,OAAO,CAC3D,GAAG,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACjE,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpB,CAAA;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,GAAG,IAAI,MAAM,EAAE,GAAG,CAAA;IAEpC,IAAI,SAAS,EAAE;QACb,cAAc,EAAE,GAAG,CAAC,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAA;KACxD;IAED,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAsB,CAAA;IAE5E,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,eAAe,GAAG,SAAS;YAC/B,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC;gBAC9B,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,KAAK,CACX,EAAE,EACF,MAAM,EACN,SAAS;oBACP,CAAC,CAAC;wBACE,OAAO,EAAE;4BACP,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;4BAC3B,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;4BACzB,KAAK,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;yBAC3B;qBACF;oBACH,CAAC,CAAC,SAAS,CACd;gBACD,QAAQ,EAAE,cAAc;aACzB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,OAAO,EAAE,EAAE;YACb,kBAAkB,CAAC,eAAe,CAAC,CAAA;SACpC;IACH,CAAC,EACD,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAC/C,CAAA;IAED,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,eAAe,KAAM,KAAK,GAAI,CAAA;AACrE,CAAC,CAAA"}
@@ -1,70 +0,0 @@
1
- import { useAsyncEffect } from '@xylabs/react-shared'
2
- import { XyoArchivistApi, XyoRemoteArchivist, XyoRemoteArchivistConfig } from '@xyo-network/api'
3
- import { XyoArchivistWrapper } from '@xyo-network/archivist'
4
- import { XyoModuleResolver } from '@xyo-network/module'
5
- import { ContextExProviderProps, useDataState } from '@xyo-network/react-shared'
6
- import merge from 'lodash/merge'
7
- import { useMemo, useState } from 'react'
8
-
9
- import { useArchivist } from '../use'
10
- import { ArchivistProvider } from './Provider'
11
-
12
- export type RemoteArchivistProviderProps = ContextExProviderProps<{
13
- config?: XyoRemoteArchivistConfig
14
- resolver?: XyoModuleResolver
15
- api?: XyoArchivistApi
16
- }>
17
-
18
- export const RemoteArchivistProvider: React.FC<RemoteArchivistProviderProps> = ({ config: configProp, api, resolver, ...props }) => {
19
- const [config, setConfig] = useDataState(configProp)
20
- const { archivist } = useArchivist()
21
-
22
- //we set this every time, but it will only take if config VALUE changed
23
- setConfig(config)
24
-
25
- const wrapper = useMemo(() => (archivist ? new XyoArchivistWrapper(archivist) : undefined), [archivist])
26
- const activeResolver: XyoModuleResolver | undefined = useMemo(
27
- () => (resolver ?? wrapper ? new XyoModuleResolver() : undefined),
28
- [resolver, wrapper],
29
- )
30
-
31
- // eslint-disable-next-line deprecation/deprecation
32
- const activeApi = api ?? config?.api
33
-
34
- if (archivist) {
35
- activeResolver?.add(new XyoArchivistWrapper(archivist))
36
- }
37
-
38
- const [activeArchivist, setActiveArchivist] = useState<XyoRemoteArchivist>()
39
-
40
- useAsyncEffect(
41
- // eslint-disable-next-line react-hooks/exhaustive-deps
42
- async (mounted) => {
43
- const activeArchivist = activeApi
44
- ? await XyoRemoteArchivist.create({
45
- api: activeApi,
46
- config: merge(
47
- {},
48
- config,
49
- archivist
50
- ? {
51
- parents: {
52
- commit: [archivist.address],
53
- read: [archivist.address],
54
- write: [archivist.address],
55
- },
56
- }
57
- : undefined,
58
- ),
59
- resolver: activeResolver,
60
- })
61
- : undefined
62
- if (mounted()) {
63
- setActiveArchivist(activeArchivist)
64
- }
65
- },
66
- [activeResolver, archivist, config, activeApi],
67
- )
68
-
69
- return <ArchivistProvider archivist={activeArchivist} {...props} />
70
- }