@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.
- package/dist/cjs/contexts/Provider/index.d.ts +0 -1
- package/dist/cjs/contexts/Provider/index.d.ts.map +1 -1
- package/dist/cjs/contexts/Provider/index.js +0 -1
- package/dist/cjs/contexts/Provider/index.js.map +1 -1
- package/dist/docs.json +101 -299
- package/dist/esm/contexts/Provider/index.d.ts +0 -1
- package/dist/esm/contexts/Provider/index.d.ts.map +1 -1
- package/dist/esm/contexts/Provider/index.js +0 -1
- package/dist/esm/contexts/Provider/index.js.map +1 -1
- package/package.json +6 -6
- package/src/contexts/Provider/index.ts +0 -1
- package/src/contexts/story/WithArchivistProviders.stories.tsx +3 -5
- package/dist/cjs/contexts/Provider/RemoteArchivistProvider.d.ts +0 -11
- package/dist/cjs/contexts/Provider/RemoteArchivistProvider.d.ts.map +0 -1
- package/dist/cjs/contexts/Provider/RemoteArchivistProvider.js +0 -54
- package/dist/cjs/contexts/Provider/RemoteArchivistProvider.js.map +0 -1
- package/dist/esm/contexts/Provider/RemoteArchivistProvider.d.ts +0 -11
- package/dist/esm/contexts/Provider/RemoteArchivistProvider.d.ts.map +0 -1
- package/dist/esm/contexts/Provider/RemoteArchivistProvider.js +0 -48
- package/dist/esm/contexts/Provider/RemoteArchivistProvider.js.map +0 -1
- package/src/contexts/Provider/RemoteArchivistProvider.tsx +0 -70
|
@@ -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,
|
|
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 +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,
|
|
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.
|
|
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/
|
|
35
|
-
"@xyo-network/
|
|
36
|
-
"@xyo-network/payload": "^2.38.
|
|
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.
|
|
79
|
+
"version": "2.39.0-rc.1",
|
|
80
|
+
"stableVersion": "2.38.18"
|
|
81
81
|
}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { DecoratorFn } from '@storybook/react'
|
|
2
2
|
import { WithChildren } from '@xylabs/react-shared'
|
|
3
|
-
import {
|
|
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 <
|
|
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 } =
|
|
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
|
-
}
|