@xyo-network/react-archivist 2.26.27 → 2.26.30

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.
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import { XyoArchivist } from '@xyo-network/archivist';
4
+ export interface ArchivistDetails extends FlexBoxProps {
5
+ archivist?: XyoArchivist;
6
+ }
7
+ export declare const ArchivistDetails: React.FC<ArchivistDetails>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArchivistDetails = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const material_1 = require("@mui/material");
7
+ const react_button_1 = require("@xylabs/react-button");
8
+ const react_flexbox_1 = require("@xylabs/react-flexbox");
9
+ const react_shared_1 = require("@xylabs/react-shared");
10
+ const react_1 = require("react");
11
+ const contexts_1 = require("../contexts");
12
+ const ArchivistDetails = (_a) => {
13
+ var { archivist: archivistProp } = _a, props = tslib_1.__rest(_a, ["archivist"]);
14
+ const { archivist = archivistProp } = (0, contexts_1.useArchivist)();
15
+ const [payloads, setPayloads] = (0, react_1.useState)();
16
+ const [refresh, setRefresh] = (0, react_1.useState)(0);
17
+ (0, react_shared_1.useAsyncEffect)(
18
+ // eslint-disable-next-line react-hooks/exhaustive-deps
19
+ (mounted) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
20
+ var _b;
21
+ const payloads = yield ((_b = archivist === null || archivist === void 0 ? void 0 : archivist.all) === null || _b === void 0 ? void 0 : _b.call(archivist));
22
+ if (mounted()) {
23
+ setPayloads(payloads);
24
+ }
25
+ }), [archivist, refresh]);
26
+ return ((0, jsx_runtime_1.jsxs)(react_flexbox_1.FlexCol, Object.assign({}, props, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { children: `Payloads: ${payloads ? payloads.length : '-'}` }), (0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { children: [(0, jsx_runtime_1.jsx)(react_button_1.ButtonEx, Object.assign({ disabled: (archivist === null || archivist === void 0 ? void 0 : archivist.commit) === undefined, onClick: () => { var _a; return (_a = archivist === null || archivist === void 0 ? void 0 : archivist.commit) === null || _a === void 0 ? void 0 : _a.call(archivist); } }, { children: "Commit" })), (0, jsx_runtime_1.jsx)(react_button_1.ButtonEx, Object.assign({ disabled: (archivist === null || archivist === void 0 ? void 0 : archivist.clear) === undefined, onClick: () => { var _a; return (_a = archivist === null || archivist === void 0 ? void 0 : archivist.clear) === null || _a === void 0 ? void 0 : _a.call(archivist); } }, { children: "Clear" })), (0, jsx_runtime_1.jsx)(react_button_1.ButtonEx, Object.assign({ onClick: () => {
27
+ setRefresh(refresh + 1);
28
+ } }, { children: "Refresh" }))] })] })));
29
+ };
30
+ exports.ArchivistDetails = ArchivistDetails;
31
+ //# sourceMappingURL=Details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Details.js","sourceRoot":"","sources":["../../../src/components/Details.tsx"],"names":[],"mappings":";;;;;AAAA,4CAAuD;AACvD,uDAA+C;AAC/C,yDAA6D;AAC7D,uDAAqD;AAGrD,iCAAgC;AAEhC,0CAA0C;AAMnC,MAAM,gBAAgB,GAA+B,CAAC,EAAsC,EAAE,EAAE;QAA1C,EAAE,SAAS,EAAE,aAAa,OAAY,EAAP,KAAK,sBAApC,aAAsC,CAAF;IAC/F,MAAM,EAAE,SAAS,GAAG,aAAa,EAAE,GAAG,IAAA,uBAAY,GAAE,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,GAAgB,CAAA;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;IAEzC,IAAA,6BAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,yDAAI,CAAA,CAAA;QACzC,IAAI,OAAO,EAAE,EAAE;YACb,WAAW,CAAC,QAAQ,CAAC,CAAA;SACtB;IACH,CAAC,CAAA,EACD,CAAC,SAAS,EAAE,OAAO,CAAC,CACrB,CAAA;IAED,OAAO,CACL,wBAAC,uBAAO,oBAAK,KAAK,eAChB,uBAAC,qBAAU,cAAE,aAAa,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAc,EAC1E,wBAAC,sBAAW,eACV,uBAAC,uBAAQ,kBAAC,QAAQ,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,yDAAI,CAAA,EAAA,4BAE9E,EACX,uBAAC,uBAAQ,kBAAC,QAAQ,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,MAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,yDAAI,CAAA,EAAA,2BAE5E,EACX,uBAAC,uBAAQ,kBACP,OAAO,EAAE,GAAG,EAAE;4BACZ,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;wBACzB,CAAC,6BAGQ,IACC,KACN,CACX,CAAA;AACH,CAAC,CAAA;AApCY,QAAA,gBAAgB,oBAoC5B"}
@@ -1 +1 @@
1
- export * from './ApiHistory';
1
+ export * from './Details';
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./ApiHistory"), exports);
4
+ tslib_1.__exportStar(require("./Details"), exports);
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { WithChildren } from '@xylabs/react-shared';
3
- import { XyoArchivistApi } from '@xyo-network/api';
4
- import { XyoArchivist } from '@xyo-network/archivist';
3
+ import { XyoRemoteArchivistConfig } from '@xyo-network/api';
4
+ import { XyoArchivist, XyoArchivistConfig } from '@xyo-network/archivist';
5
5
  export interface ArchivistProviderProps {
6
6
  required?: boolean;
7
7
  archivist?: XyoArchivist;
@@ -9,12 +9,11 @@ export interface ArchivistProviderProps {
9
9
  export declare const ArchivistProvider: React.FC<WithChildren<ArchivistProviderProps>>;
10
10
  export interface MemoryArchivistProviderProps {
11
11
  required?: boolean;
12
- parent?: XyoArchivist;
12
+ config?: XyoArchivistConfig;
13
13
  }
14
14
  export declare const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>>;
15
15
  export interface ApiArchivistProviderProps {
16
16
  required?: boolean;
17
- api: XyoArchivistApi;
18
- archive: string;
17
+ config?: XyoRemoteArchivistConfig;
19
18
  }
20
19
  export declare const RemoteArchivistProvider: React.FC<WithChildren<ApiArchivistProviderProps>>;
@@ -18,14 +18,19 @@ const ArchivistProvider = ({ archivist: archivistProp, required = false, childre
18
18
  };
19
19
  exports.ArchivistProvider = ArchivistProvider;
20
20
  const MemoryArchivistProvider = (_a) => {
21
- var { parent: parentProp } = _a, props = tslib_1.__rest(_a, ["parent"]);
22
- const { archivist: parent } = (0, use_1.useArchivist)();
23
- return (0, jsx_runtime_1.jsx)(exports.ArchivistProvider, Object.assign({ archivist: new archivist_1.XyoMemoryArchivist(parentProp !== null && parentProp !== void 0 ? parentProp : parent) }, props));
21
+ var _b;
22
+ var { config = {}, children } = _a, props = tslib_1.__rest(_a, ["config", "children"]);
23
+ const { archivist } = (0, use_1.useArchivist)();
24
+ config.parent = (_b = config.parent) !== null && _b !== void 0 ? _b : archivist;
25
+ return ((0, jsx_runtime_1.jsx)(exports.ArchivistProvider, Object.assign({ archivist: new archivist_1.XyoMemoryArchivist(config) }, props, { children: children })));
24
26
  };
25
27
  exports.MemoryArchivistProvider = MemoryArchivistProvider;
26
28
  const RemoteArchivistProvider = (_a) => {
27
- var { api, archive } = _a, props = tslib_1.__rest(_a, ["api", "archive"]);
28
- return (0, jsx_runtime_1.jsx)(exports.ArchivistProvider, Object.assign({ archivist: new api_1.XyoRemoteArchivist(api, archive) }, props));
29
+ var _b;
30
+ var { config = {} } = _a, props = tslib_1.__rest(_a, ["config"]);
31
+ const { archivist } = (0, use_1.useArchivist)();
32
+ config.parent = (_b = config.parent) !== null && _b !== void 0 ? _b : archivist;
33
+ return (0, jsx_runtime_1.jsx)(exports.ArchivistProvider, Object.assign({ archivist: new api_1.XyoRemoteArchivist(config) }, props));
29
34
  };
30
35
  exports.RemoteArchivistProvider = RemoteArchivistProvider;
31
36
  //# sourceMappingURL=Provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";;;;;AACA,0CAAsE;AACtE,sDAAyE;AACzE,iCAAgC;AAEhC,uCAA4C;AAC5C,+BAAoC;AAO7B,MAAM,iBAAiB,GAAmD,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5I,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAA2B,aAAa,CAAC,CAAA;IAEnF,OAAO,CACL,uBAAC,0BAAgB,CAAC,QAAQ,kBACxB,KAAK,EAAE;YACL,SAAS;YACT,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;AAdY,QAAA,iBAAiB,qBAc7B;AAOM,MAAM,uBAAuB,GAAyD,CAAC,EAAgC,EAAE,EAAE;QAApC,EAAE,MAAM,EAAE,UAAU,OAAY,EAAP,KAAK,sBAA9B,UAAgC,CAAF;IAC1H,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAY,GAAE,CAAA;IAC5C,OAAO,uBAAC,yBAAiB,kBAAC,SAAS,EAAE,IAAI,8BAAkB,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,MAAM,CAAC,IAAM,KAAK,EAAI,CAAA;AAClG,CAAC,CAAA;AAHY,QAAA,uBAAuB,2BAGnC;AAQM,MAAM,uBAAuB,GAAsD,CAAC,EAA0B,EAAE,EAAE;QAA9B,EAAE,GAAG,EAAE,OAAO,OAAY,EAAP,KAAK,sBAAxB,kBAA0B,CAAF;IACjH,OAAO,uBAAC,yBAAiB,kBAAC,SAAS,EAAE,IAAI,wBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,IAAM,KAAK,EAAI,CAAA;AAC1F,CAAC,CAAA;AAFY,QAAA,uBAAuB,2BAEnC"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";;;;;AACA,0CAA+E;AAC/E,sDAA6F;AAC7F,iCAAgC;AAGhC,uCAA4C;AAC5C,+BAAoC;AAO7B,MAAM,iBAAiB,GAAmD,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5I,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAA2B,aAAa,CAAC,CAAA;IAEnF,OAAO,CACL,uBAAC,0BAAgB,CAAC,QAAQ,kBACxB,KAAK,EAAE;YACL,SAAS;YACT,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;AAdY,QAAA,iBAAiB,qBAc7B;AAOM,MAAM,uBAAuB,GAAyD,CAAC,EAAmC,EAAE,EAAE;;QAAvC,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,OAAY,EAAP,KAAK,sBAAjC,sBAAmC,CAAF;IAC7H,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAY,GAAE,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,SAAS,CAAA;IAC1C,OAAO,CACL,uBAAC,yBAAiB,kBAAC,SAAS,EAAE,IAAI,8BAAkB,CAAC,MAAM,CAAC,IAAM,KAAK,cACpE,QAAQ,IACS,CACrB,CAAA;AACH,CAAC,CAAA;AARY,QAAA,uBAAuB,2BAQnC;AAOM,MAAM,uBAAuB,GAAsD,CAAC,EAAyB,EAAE,EAAE;;QAA7B,EAAE,MAAM,GAAG,EAAE,OAAY,EAAP,KAAK,sBAAvB,UAAyB,CAAF;IAChH,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,kBAAY,GAAE,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,SAAS,CAAA;IAC1C,OAAO,uBAAC,yBAAiB,kBAAC,SAAS,EAAE,IAAI,wBAAkB,CAAC,MAAM,CAAC,IAAM,KAAK,EAAI,CAAA;AACpF,CAAC,CAAA;AAJY,QAAA,uBAAuB,2BAInC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
3
+ import { XyoArchivist } from '@xyo-network/archivist';
4
+ export interface ArchivistDetails extends FlexBoxProps {
5
+ archivist?: XyoArchivist;
6
+ }
7
+ export declare const ArchivistDetails: React.FC<ArchivistDetails>;
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ButtonGroup, Typography } from '@mui/material';
3
+ import { ButtonEx } from '@xylabs/react-button';
4
+ import { FlexCol } from '@xylabs/react-flexbox';
5
+ import { useAsyncEffect } from '@xylabs/react-shared';
6
+ import { useState } from 'react';
7
+ import { useArchivist } from '../contexts';
8
+ export const ArchivistDetails = ({ archivist: archivistProp, ...props }) => {
9
+ const { archivist = archivistProp } = useArchivist();
10
+ const [payloads, setPayloads] = useState();
11
+ const [refresh, setRefresh] = useState(0);
12
+ useAsyncEffect(
13
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14
+ async (mounted) => {
15
+ const payloads = await archivist?.all?.();
16
+ if (mounted()) {
17
+ setPayloads(payloads);
18
+ }
19
+ }, [archivist, refresh]);
20
+ return (_jsxs(FlexCol, { ...props, children: [_jsx(Typography, { children: `Payloads: ${payloads ? payloads.length : '-'}` }), _jsxs(ButtonGroup, { children: [_jsx(ButtonEx, { disabled: archivist?.commit === undefined, onClick: () => archivist?.commit?.(), children: "Commit" }), _jsx(ButtonEx, { disabled: archivist?.clear === undefined, onClick: () => archivist?.clear?.(), children: "Clear" }), _jsx(ButtonEx, { onClick: () => {
21
+ setRefresh(refresh + 1);
22
+ }, children: "Refresh" })] })] }));
23
+ };
24
+ //# sourceMappingURL=Details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Details.js","sourceRoot":"","sources":["../../../src/components/Details.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM1C,MAAM,CAAC,MAAM,gBAAgB,GAA+B,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACrG,MAAM,EAAE,SAAS,GAAG,aAAa,EAAE,GAAG,YAAY,EAAE,CAAA;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEzC,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,GAAG,EAAE,EAAE,CAAA;QACzC,IAAI,OAAO,EAAE,EAAE;YACb,WAAW,CAAC,QAAQ,CAAC,CAAA;SACtB;IACH,CAAC,EACD,CAAC,SAAS,EAAE,OAAO,CAAC,CACrB,CAAA;IAED,OAAO,CACL,MAAC,OAAO,OAAK,KAAK,aAChB,KAAC,UAAU,cAAE,aAAa,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAc,EAC1E,MAAC,WAAW,eACV,KAAC,QAAQ,IAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,KAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,uBAE9E,EACX,KAAC,QAAQ,IAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,KAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,sBAE5E,EACX,KAAC,QAAQ,IACP,OAAO,EAAE,GAAG,EAAE;4BACZ,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;wBACzB,CAAC,wBAGQ,IACC,IACN,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- export * from './ApiHistory';
1
+ export * from './Details';
@@ -1,2 +1,2 @@
1
- export * from './ApiHistory';
1
+ export * from './Details';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { WithChildren } from '@xylabs/react-shared';
3
- import { XyoArchivistApi } from '@xyo-network/api';
4
- import { XyoArchivist } from '@xyo-network/archivist';
3
+ import { XyoRemoteArchivistConfig } from '@xyo-network/api';
4
+ import { XyoArchivist, XyoArchivistConfig } from '@xyo-network/archivist';
5
5
  export interface ArchivistProviderProps {
6
6
  required?: boolean;
7
7
  archivist?: XyoArchivist;
@@ -9,12 +9,11 @@ export interface ArchivistProviderProps {
9
9
  export declare const ArchivistProvider: React.FC<WithChildren<ArchivistProviderProps>>;
10
10
  export interface MemoryArchivistProviderProps {
11
11
  required?: boolean;
12
- parent?: XyoArchivist;
12
+ config?: XyoArchivistConfig;
13
13
  }
14
14
  export declare const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>>;
15
15
  export interface ApiArchivistProviderProps {
16
16
  required?: boolean;
17
- api: XyoArchivistApi;
18
- archive: string;
17
+ config?: XyoRemoteArchivistConfig;
19
18
  }
20
19
  export declare const RemoteArchivistProvider: React.FC<WithChildren<ApiArchivistProviderProps>>;
@@ -12,11 +12,14 @@ export const ArchivistProvider = ({ archivist: archivistProp, required = false,
12
12
  setArchivist,
13
13
  }, children: archivist ? children : required ? null : children }));
14
14
  };
15
- export const MemoryArchivistProvider = ({ parent: parentProp, ...props }) => {
16
- const { archivist: parent } = useArchivist();
17
- return _jsx(ArchivistProvider, { archivist: new XyoMemoryArchivist(parentProp ?? parent), ...props });
15
+ export const MemoryArchivistProvider = ({ config = {}, children, ...props }) => {
16
+ const { archivist } = useArchivist();
17
+ config.parent = config.parent ?? archivist;
18
+ return (_jsx(ArchivistProvider, { archivist: new XyoMemoryArchivist(config), ...props, children: children }));
18
19
  };
19
- export const RemoteArchivistProvider = ({ api, archive, ...props }) => {
20
- return _jsx(ArchivistProvider, { archivist: new XyoRemoteArchivist(api, archive), ...props });
20
+ export const RemoteArchivistProvider = ({ config = {}, ...props }) => {
21
+ const { archivist } = useArchivist();
22
+ config.parent = config.parent ?? archivist;
23
+ return _jsx(ArchivistProvider, { archivist: new XyoRemoteArchivist(config), ...props });
21
24
  };
22
25
  //# sourceMappingURL=Provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAmB,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAgB,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAOpC,MAAM,CAAC,MAAM,iBAAiB,GAAmD,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5I,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;AAOD,MAAM,CAAC,MAAM,uBAAuB,GAAyD,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAChI,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAA;IAC5C,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,IAAI,kBAAkB,CAAC,UAAU,IAAI,MAAM,CAAC,KAAM,KAAK,GAAI,CAAA;AAClG,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,uBAAuB,GAAsD,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACvH,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,IAAI,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,KAAM,KAAK,GAAI,CAAA;AAC1F,CAAC,CAAA"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/contexts/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAA4B,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAoC,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAOpC,MAAM,CAAC,MAAM,iBAAiB,GAAmD,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5I,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;AAOD,MAAM,CAAC,MAAM,uBAAuB,GAAyD,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACnI,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA;IAC1C,OAAO,CACL,KAAC,iBAAiB,IAAC,SAAS,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAM,KAAK,YACpE,QAAQ,GACS,CACrB,CAAA;AACH,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,uBAAuB,GAAsD,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACtH,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"}
package/package.json CHANGED
@@ -17,11 +17,11 @@
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.22.8",
21
- "@xyo-network/archivist": "^2.22.8",
22
- "@xyo-network/boundwitness": "^2.22.8",
23
- "@xyo-network/payload": "^2.22.8",
24
- "@xyo-network/react-shared": "^2.26.27",
20
+ "@xyo-network/api": "^2.22.11",
21
+ "@xyo-network/archivist": "^2.22.11",
22
+ "@xyo-network/boundwitness": "^2.22.11",
23
+ "@xyo-network/payload": "^2.22.11",
24
+ "@xyo-network/react-shared": "^2.26.30",
25
25
  "lru-cache": "^7.13.1",
26
26
  "react": "^18.2.0",
27
27
  "react-dom": "^18.2.0",
@@ -82,5 +82,5 @@
82
82
  },
83
83
  "sideEffects": false,
84
84
  "types": "dist/esm/index.d.ts",
85
- "version": "2.26.27"
85
+ "version": "2.26.30"
86
86
  }
@@ -0,0 +1,38 @@
1
+ import { ComponentMeta, ComponentStory } from '@storybook/react'
2
+ import { forget } from '@xylabs/sdk-js'
3
+ import { XyoMemoryArchivist } from '@xyo-network/archivist'
4
+
5
+ import { appThemeDecorator } from '../../../../.storybook'
6
+ import { ArchivistDetails } from './Details'
7
+
8
+ const StorybookEntry = {
9
+ argTypes: {},
10
+ component: ArchivistDetails,
11
+ parameters: {
12
+ docs: {
13
+ page: null,
14
+ },
15
+ },
16
+ title: 'archivist/Details',
17
+ } as ComponentMeta<typeof ArchivistDetails>
18
+
19
+ const Template: ComponentStory<typeof ArchivistDetails> = (args) => <ArchivistDetails {...args}></ArchivistDetails>
20
+
21
+ const archivist = new XyoMemoryArchivist()
22
+ const initArchivist = async () => {
23
+ await archivist.insert?.([{ schema: 'network.xyo.test' }])
24
+ }
25
+ forget(initArchivist())
26
+
27
+ const Default = Template.bind({})
28
+ Default.args = {}
29
+ Default.decorators = [appThemeDecorator]
30
+
31
+ const WithData = Template.bind({})
32
+ WithData.args = { archivist }
33
+ WithData.decorators = [appThemeDecorator]
34
+
35
+ export { Default, WithData }
36
+
37
+ // eslint-disable-next-line import/no-default-export
38
+ export default StorybookEntry
@@ -0,0 +1,51 @@
1
+ import { ButtonGroup, Typography } from '@mui/material'
2
+ import { ButtonEx } from '@xylabs/react-button'
3
+ import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'
4
+ import { useAsyncEffect } from '@xylabs/react-shared'
5
+ import { XyoArchivist } from '@xyo-network/archivist'
6
+ import { XyoPayload } from '@xyo-network/payload'
7
+ import { useState } from 'react'
8
+
9
+ import { useArchivist } from '../contexts'
10
+
11
+ export interface ArchivistDetails extends FlexBoxProps {
12
+ archivist?: XyoArchivist
13
+ }
14
+
15
+ export const ArchivistDetails: React.FC<ArchivistDetails> = ({ archivist: archivistProp, ...props }) => {
16
+ const { archivist = archivistProp } = useArchivist()
17
+ const [payloads, setPayloads] = useState<XyoPayload[]>()
18
+ const [refresh, setRefresh] = useState(0)
19
+
20
+ useAsyncEffect(
21
+ // eslint-disable-next-line react-hooks/exhaustive-deps
22
+ async (mounted) => {
23
+ const payloads = await archivist?.all?.()
24
+ if (mounted()) {
25
+ setPayloads(payloads)
26
+ }
27
+ },
28
+ [archivist, refresh]
29
+ )
30
+
31
+ return (
32
+ <FlexCol {...props}>
33
+ <Typography>{`Payloads: ${payloads ? payloads.length : '-'}`}</Typography>
34
+ <ButtonGroup>
35
+ <ButtonEx disabled={archivist?.commit === undefined} onClick={() => archivist?.commit?.()}>
36
+ Commit
37
+ </ButtonEx>
38
+ <ButtonEx disabled={archivist?.clear === undefined} onClick={() => archivist?.clear?.()}>
39
+ Clear
40
+ </ButtonEx>
41
+ <ButtonEx
42
+ onClick={() => {
43
+ setRefresh(refresh + 1)
44
+ }}
45
+ >
46
+ Refresh
47
+ </ButtonEx>
48
+ </ButtonGroup>
49
+ </FlexCol>
50
+ )
51
+ }
@@ -0,0 +1 @@
1
+ export * from './Details'
@@ -1,8 +1,9 @@
1
1
  import { WithChildren } from '@xylabs/react-shared'
2
- import { XyoArchivistApi, XyoRemoteArchivist } from '@xyo-network/api'
3
- import { XyoArchivist, XyoMemoryArchivist } from '@xyo-network/archivist'
2
+ import { XyoRemoteArchivist, XyoRemoteArchivistConfig } from '@xyo-network/api'
3
+ import { XyoArchivist, XyoArchivistConfig, XyoMemoryArchivist } from '@xyo-network/archivist'
4
4
  import { useState } from 'react'
5
5
 
6
+ import { ArchivistDetails } from '../components'
6
7
  import { ArchivistContext } from './Context'
7
8
  import { useArchivist } from './use'
8
9
 
@@ -29,20 +30,26 @@ export const ArchivistProvider: React.FC<WithChildren<ArchivistProviderProps>> =
29
30
 
30
31
  export interface MemoryArchivistProviderProps {
31
32
  required?: boolean
32
- parent?: XyoArchivist
33
+ config?: XyoArchivistConfig
33
34
  }
34
35
 
35
- export const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>> = ({ parent: parentProp, ...props }) => {
36
- const { archivist: parent } = useArchivist()
37
- return <ArchivistProvider archivist={new XyoMemoryArchivist(parentProp ?? parent)} {...props} />
36
+ export const MemoryArchivistProvider: React.FC<WithChildren<MemoryArchivistProviderProps>> = ({ config = {}, children, ...props }) => {
37
+ const { archivist } = useArchivist()
38
+ config.parent = config.parent ?? archivist
39
+ return (
40
+ <ArchivistProvider archivist={new XyoMemoryArchivist(config)} {...props}>
41
+ {children}
42
+ </ArchivistProvider>
43
+ )
38
44
  }
39
45
 
40
46
  export interface ApiArchivistProviderProps {
41
47
  required?: boolean
42
- api: XyoArchivistApi
43
- archive: string
48
+ config?: XyoRemoteArchivistConfig
44
49
  }
45
50
 
46
- export const RemoteArchivistProvider: React.FC<WithChildren<ApiArchivistProviderProps>> = ({ api, archive, ...props }) => {
47
- return <ArchivistProvider archivist={new XyoRemoteArchivist(api, archive)} {...props} />
51
+ export const RemoteArchivistProvider: React.FC<WithChildren<ApiArchivistProviderProps>> = ({ config = {}, ...props }) => {
52
+ const { archivist } = useArchivist()
53
+ config.parent = config.parent ?? archivist
54
+ return <ArchivistProvider archivist={new XyoRemoteArchivist(config)} {...props} />
48
55
  }