@xyo-network/react-schema 2.38.7 → 2.38.9
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/Schema/Hooks/useSchemaStats.d.ts +1 -0
- package/dist/cjs/contexts/Schema/Hooks/useSchemaStats.d.ts.map +1 -1
- package/dist/cjs/contexts/Schema/Hooks/useSchemaStats.js +1 -0
- package/dist/cjs/contexts/Schema/Hooks/useSchemaStats.js.map +1 -1
- package/dist/cjs/contexts/StatsDiviner/Context.d.ts +4 -0
- package/dist/cjs/contexts/StatsDiviner/Context.d.ts.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/Context.js +6 -0
- package/dist/cjs/contexts/StatsDiviner/Context.js.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/Provider.d.ts +8 -0
- package/dist/cjs/contexts/StatsDiviner/Provider.d.ts.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/Provider.js +29 -0
- package/dist/cjs/contexts/StatsDiviner/Provider.js.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/State.d.ts +7 -0
- package/dist/cjs/contexts/StatsDiviner/State.d.ts.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/State.js +3 -0
- package/dist/cjs/contexts/StatsDiviner/State.js.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/index.d.ts +5 -0
- package/dist/cjs/contexts/StatsDiviner/index.d.ts.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/index.js +8 -0
- package/dist/cjs/contexts/StatsDiviner/index.js.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/use.d.ts +2 -0
- package/dist/cjs/contexts/StatsDiviner/use.d.ts.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/use.js +8 -0
- package/dist/cjs/contexts/StatsDiviner/use.js.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/useDivine.d.ts +3 -0
- package/dist/cjs/contexts/StatsDiviner/useDivine.d.ts.map +1 -0
- package/dist/cjs/contexts/StatsDiviner/useDivine.js +33 -0
- package/dist/cjs/contexts/StatsDiviner/useDivine.js.map +1 -0
- package/dist/cjs/contexts/index.d.ts +1 -0
- package/dist/cjs/contexts/index.d.ts.map +1 -1
- package/dist/cjs/contexts/index.js +1 -0
- package/dist/cjs/contexts/index.js.map +1 -1
- package/dist/cjs/diviners/SchemaListApiDiviner.d.ts +20 -0
- package/dist/cjs/diviners/SchemaListApiDiviner.d.ts.map +1 -0
- package/dist/cjs/diviners/SchemaListApiDiviner.js +54 -0
- package/dist/cjs/diviners/SchemaListApiDiviner.js.map +1 -0
- package/dist/cjs/diviners/SchemaListApiDivinerConfig.d.ts +9 -0
- package/dist/cjs/diviners/SchemaListApiDivinerConfig.d.ts.map +1 -0
- package/dist/cjs/diviners/SchemaListApiDivinerConfig.js +5 -0
- package/dist/cjs/diviners/SchemaListApiDivinerConfig.js.map +1 -0
- package/dist/cjs/diviners/index.d.ts +2 -0
- package/dist/cjs/diviners/index.d.ts.map +1 -0
- package/dist/cjs/diviners/index.js +5 -0
- package/dist/cjs/diviners/index.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +989 -106
- package/dist/esm/contexts/Schema/Hooks/useSchemaStats.d.ts +1 -0
- package/dist/esm/contexts/Schema/Hooks/useSchemaStats.d.ts.map +1 -1
- package/dist/esm/contexts/Schema/Hooks/useSchemaStats.js +1 -0
- package/dist/esm/contexts/Schema/Hooks/useSchemaStats.js.map +1 -1
- package/dist/esm/contexts/StatsDiviner/Context.d.ts +4 -0
- package/dist/esm/contexts/StatsDiviner/Context.d.ts.map +1 -0
- package/dist/esm/contexts/StatsDiviner/Context.js +3 -0
- package/dist/esm/contexts/StatsDiviner/Context.js.map +1 -0
- package/dist/esm/contexts/StatsDiviner/Provider.d.ts +8 -0
- package/dist/esm/contexts/StatsDiviner/Provider.d.ts.map +1 -0
- package/dist/esm/contexts/StatsDiviner/Provider.js +25 -0
- package/dist/esm/contexts/StatsDiviner/Provider.js.map +1 -0
- package/dist/esm/contexts/StatsDiviner/State.d.ts +7 -0
- package/dist/esm/contexts/StatsDiviner/State.d.ts.map +1 -0
- package/dist/esm/contexts/StatsDiviner/State.js +2 -0
- package/dist/esm/contexts/StatsDiviner/State.js.map +1 -0
- package/dist/esm/contexts/StatsDiviner/index.d.ts +5 -0
- package/dist/esm/contexts/StatsDiviner/index.d.ts.map +1 -0
- package/dist/esm/contexts/StatsDiviner/index.js +5 -0
- package/dist/esm/contexts/StatsDiviner/index.js.map +1 -0
- package/dist/esm/contexts/StatsDiviner/use.d.ts +2 -0
- package/dist/esm/contexts/StatsDiviner/use.d.ts.map +1 -0
- package/dist/esm/contexts/StatsDiviner/use.js +4 -0
- package/dist/esm/contexts/StatsDiviner/use.js.map +1 -0
- package/dist/esm/contexts/StatsDiviner/useDivine.d.ts +3 -0
- package/dist/esm/contexts/StatsDiviner/useDivine.d.ts.map +1 -0
- package/dist/esm/contexts/StatsDiviner/useDivine.js +28 -0
- package/dist/esm/contexts/StatsDiviner/useDivine.js.map +1 -0
- package/dist/esm/contexts/index.d.ts +1 -0
- package/dist/esm/contexts/index.d.ts.map +1 -1
- package/dist/esm/contexts/index.js +1 -0
- package/dist/esm/contexts/index.js.map +1 -1
- package/dist/esm/diviners/SchemaListApiDiviner.d.ts +20 -0
- package/dist/esm/diviners/SchemaListApiDiviner.d.ts.map +1 -0
- package/dist/esm/diviners/SchemaListApiDiviner.js +36 -0
- package/dist/esm/diviners/SchemaListApiDiviner.js.map +1 -0
- package/dist/esm/diviners/SchemaListApiDivinerConfig.d.ts +9 -0
- package/dist/esm/diviners/SchemaListApiDivinerConfig.d.ts.map +1 -0
- package/dist/esm/diviners/SchemaListApiDivinerConfig.js +2 -0
- package/dist/esm/diviners/SchemaListApiDivinerConfig.js.map +1 -0
- package/dist/esm/diviners/index.d.ts +2 -0
- package/dist/esm/diviners/index.d.ts.map +1 -0
- package/dist/esm/diviners/index.js +2 -0
- package/dist/esm/diviners/index.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +8 -5
- package/src/contexts/Schema/Hooks/useSchemaStats.tsx +1 -0
- package/src/contexts/StatsDiviner/Context.tsx +5 -0
- package/src/contexts/StatsDiviner/Provider.tsx +39 -0
- package/src/contexts/StatsDiviner/State.ts +7 -0
- package/src/contexts/StatsDiviner/index.ts +4 -0
- package/src/contexts/StatsDiviner/use.tsx +5 -0
- package/src/contexts/StatsDiviner/useDivine.tsx +34 -0
- package/src/contexts/index.ts +1 -0
- package/src/diviners/SchemaListApiDiviner.spec.ts +23 -0
- package/src/diviners/SchemaListApiDiviner.ts +51 -0
- package/src/diviners/SchemaListApiDivinerConfig.ts +13 -0
- package/src/diviners/index.ts +1 -0
- package/src/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSchemaStats.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/Schema/Hooks/useSchemaStats.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAA;AAKxE,eAAO,MAAM,cAAc,QAAO,qCAAqC,GAAG,SAmBzE,CAAA"}
|
|
1
|
+
{"version":3,"file":"useSchemaStats.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/Schema/Hooks/useSchemaStats.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAA;AAKxE,iDAAiD;AACjD,eAAO,MAAM,cAAc,QAAO,qCAAqC,GAAG,SAmBzE,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { useAsyncEffect } from '@xylabs/react-shared';
|
|
|
2
2
|
import { useArchive } from '@xyo-network/react-archive';
|
|
3
3
|
import { useArchivistApi } from '@xyo-network/react-archivist-api';
|
|
4
4
|
import { useState } from 'react';
|
|
5
|
+
/** @deprecated - use schema stats api diviner */
|
|
5
6
|
export const useSchemaStats = () => {
|
|
6
7
|
const { api } = useArchivistApi(false);
|
|
7
8
|
const { archive = 'temp' } = useArchive(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSchemaStats.js","sourceRoot":"","sources":["../../../../../src/contexts/Schema/Hooks/useSchemaStats.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAsD,EAAE;IACpF,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAyC,CAAA;IAE3E,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YACpE,IAAI,OAAO,EAAE,EAAE;gBACb,QAAQ,CAAC,KAAK,CAAC,CAAA;aAChB;SACF;IACH,CAAC,EACD,CAAC,GAAG,EAAE,OAAO,CAAC,CACf,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"useSchemaStats.js","sourceRoot":"","sources":["../../../../../src/contexts/Schema/Hooks/useSchemaStats.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAsD,EAAE;IACpF,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAyC,CAAA;IAE3E,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YACpE,IAAI,OAAO,EAAE,EAAE;gBACb,QAAQ,CAAC,KAAK,CAAC,CAAA;aAChB;SACF;IACH,CAAC,EACD,CAAC,GAAG,EAAE,OAAO,CAAC,CACf,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SchemaStatsApiDivinerState } from './State';
|
|
3
|
+
export declare const SchemaStatsApiDivinerContext: import("react").Context<SchemaStatsApiDivinerState & import("@xyo-network/react-shared").ContextExState>;
|
|
4
|
+
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/Context.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEpD,eAAO,MAAM,4BAA4B,0GAAgD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/Context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,MAAM,CAAC,MAAM,4BAA4B,GAAG,eAAe,EAA8B,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SchemaStatsApiDiviner } from '@xyo-network/api';
|
|
3
|
+
import { ContextExProviderProps } from '@xyo-network/react-shared';
|
|
4
|
+
export declare type SchemaStatsApiDivinerProps = ContextExProviderProps<{
|
|
5
|
+
diviner?: SchemaStatsApiDiviner;
|
|
6
|
+
}>;
|
|
7
|
+
export declare const SchemaStatsApiDivinerProvider: React.FC<SchemaStatsApiDivinerProps>;
|
|
8
|
+
//# sourceMappingURL=Provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAKlE,oBAAY,0BAA0B,GAAG,sBAAsB,CAAC;IAC9D,OAAO,CAAC,EAAE,qBAAqB,CAAA;CAChC,CAAC,CAAA;AAEF,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA4B9E,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { SchemaStatsApiDivinerContext } from './Context';
|
|
4
|
+
export const SchemaStatsApiDivinerProvider = ({ diviner: divinerProp, required = false, children }) => {
|
|
5
|
+
const [diviner, setDiviner] = useState(divinerProp);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (divinerProp) {
|
|
8
|
+
setDiviner(divinerProp);
|
|
9
|
+
}
|
|
10
|
+
}, [divinerProp, setDiviner]);
|
|
11
|
+
const resolveDiviner = () => {
|
|
12
|
+
if (divinerProp) {
|
|
13
|
+
return diviner === divinerProp ? diviner : undefined;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return diviner;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
return (_jsx(SchemaStatsApiDivinerContext.Provider, { value: {
|
|
20
|
+
diviner: resolveDiviner(),
|
|
21
|
+
provided: true,
|
|
22
|
+
setDiviner,
|
|
23
|
+
}, children: diviner ? children : required ? null : children }));
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=Provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/Provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAMxD,MAAM,CAAC,MAAM,6BAA6B,GAAyC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1I,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAoC,WAAW,CAAC,CAAA;IAEtF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE;YACf,UAAU,CAAC,WAAW,CAAC,CAAA;SACxB;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;IAE7B,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,WAAW,EAAE;YACf,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;SACrD;aAAM;YACL,OAAO,OAAO,CAAA;SACf;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,4BAA4B,CAAC,QAAQ,IACpC,KAAK,EAAE;YACL,OAAO,EAAE,cAAc,EAAE;YACzB,QAAQ,EAAE,IAAI;YACd,UAAU;SACX,YAEA,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GACV,CACzC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B,UAAU,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAA;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/State.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB,cAAe,OAAO,wHAAkF,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { useContextEx } from '@xyo-network/react-shared';
|
|
2
|
+
import { SchemaStatsApiDivinerContext } from './Context';
|
|
3
|
+
export const useSchemaStatsApiDiviner = (required) => useContextEx(SchemaStatsApiDivinerContext, 'SchemaStatsApiDiviner', required);
|
|
4
|
+
//# sourceMappingURL=use.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAExD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,YAAY,CAAC,4BAA4B,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDivine.d.ts","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/useDivine.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAM9C,eAAO,MAAM,oBAAoB,aAAc,MAAM,KAAG,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,MAAM,IAAI,CA0B9G,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
2
|
+
import { XyoDivinerWrapper } from '@xyo-network/diviner';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { useSchemaStatsApiDiviner } from './use';
|
|
5
|
+
export const useDivineSchemaStats = (address) => {
|
|
6
|
+
const [stats, setStats] = useState();
|
|
7
|
+
const [error, setError] = useState();
|
|
8
|
+
const { diviner } = useSchemaStatsApiDiviner();
|
|
9
|
+
const [refresh, setRefresh] = useState(1);
|
|
10
|
+
const refreshStats = () => setRefresh((previous) => previous + 1);
|
|
11
|
+
useAsyncEffect(
|
|
12
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13
|
+
async (mounted) => {
|
|
14
|
+
if (diviner && address) {
|
|
15
|
+
try {
|
|
16
|
+
const result = (await new XyoDivinerWrapper(diviner).divine());
|
|
17
|
+
if (mounted()) {
|
|
18
|
+
setStats(result[0]);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
setError(e);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}, [address, diviner, refresh]);
|
|
26
|
+
return [stats, error, refreshStats];
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=useDivine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDivine.js","sourceRoot":"","sources":["../../../../src/contexts/StatsDiviner/useDivine.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAA4D,EAAE;IACjH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAe,CAAA;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEzC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;IAEjE,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,IAAI;gBACF,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAkB,CAAA;gBAC/E,IAAI,OAAO,EAAE,EAAE;oBACb,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;iBACpB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,QAAQ,CAAC,CAAU,CAAC,CAAA;aACrB;SACF;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAC5B,CAAA;IAED,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;AACrC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { XyoArchivistApi } from '@xyo-network/api';
|
|
2
|
+
import { XyoDiviner } from '@xyo-network/diviner';
|
|
3
|
+
import { XyoModuleParams } from '@xyo-network/module';
|
|
4
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
5
|
+
import { XyoSchemaListApiDivinerConfig } from './SchemaListApiDivinerConfig';
|
|
6
|
+
export declare type XyoSchemaListApiDivinerParams = XyoModuleParams<XyoSchemaListApiDivinerConfig> & {
|
|
7
|
+
api: XyoArchivistApi;
|
|
8
|
+
};
|
|
9
|
+
export declare class SchemaListApiDiviner extends XyoDiviner<XyoSchemaListApiDivinerConfig> {
|
|
10
|
+
protected readonly api: XyoArchivistApi;
|
|
11
|
+
get archive(): string;
|
|
12
|
+
static create(params: XyoSchemaListApiDivinerParams): Promise<SchemaListApiDiviner>;
|
|
13
|
+
protected constructor(params: XyoSchemaListApiDivinerParams);
|
|
14
|
+
queries(): string[];
|
|
15
|
+
protected start(): Promise<this>;
|
|
16
|
+
divine(): Promise<XyoPayload[]>;
|
|
17
|
+
static configSchema: "network.xyo.diviner.schema.list.api.config";
|
|
18
|
+
static targetSchema: "network.xyo.schema";
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=SchemaListApiDiviner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaListApiDiviner.d.ts","sourceRoot":"","sources":["../../../src/diviners/SchemaListApiDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,UAAU,EAA+B,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,6BAA6B,EAAuC,MAAM,8BAA8B,CAAA;AAEjH,oBAAY,6BAA6B,GAAG,eAAe,CAAC,6BAA6B,CAAC,GAAG;IAAE,GAAG,EAAE,eAAe,CAAA;CAAE,CAAA;AAErH,qBAAa,oBAAqB,SAAQ,UAAU,CAAC,6BAA6B,CAAC;IACjF,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAA;IAEvC,IAAI,OAAO,WAEV;WAEqB,MAAM,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIlG,SAAS,aAAa,MAAM,EAAE,6BAA6B;IAKlD,OAAO;cAIS,KAAK;IAKjB,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAY5C,OAAgB,YAAY,+CAAsC;IAClE,OAAgB,YAAY,uBAAkB;CAC/C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/sdk-js';
|
|
2
|
+
import { XyoDiviner, XyoDivinerDivineQuerySchema } from '@xyo-network/diviner';
|
|
3
|
+
import { XyoSchemaSchema } from '@xyo-network/schema-payload-plugin';
|
|
4
|
+
import { XyoSchemaListApiDivinerConfigSchema } from './SchemaListApiDivinerConfig';
|
|
5
|
+
export class SchemaListApiDiviner extends XyoDiviner {
|
|
6
|
+
api;
|
|
7
|
+
get archive() {
|
|
8
|
+
return assertEx(this.config?.archive, `config required [${this.config}]`);
|
|
9
|
+
}
|
|
10
|
+
static async create(params) {
|
|
11
|
+
return (await super.create(params));
|
|
12
|
+
}
|
|
13
|
+
constructor(params) {
|
|
14
|
+
super(params);
|
|
15
|
+
this.api = params.api;
|
|
16
|
+
}
|
|
17
|
+
queries() {
|
|
18
|
+
return [XyoDivinerDivineQuerySchema, ...super.queries()];
|
|
19
|
+
}
|
|
20
|
+
async start() {
|
|
21
|
+
await super.start();
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
async divine() {
|
|
25
|
+
const apiResult = (await this.api.archive(this.archive)?.payload.schema.get()) ?? [];
|
|
26
|
+
return (apiResult.map((schema) => {
|
|
27
|
+
return {
|
|
28
|
+
name: schema,
|
|
29
|
+
schema: XyoSchemaSchema,
|
|
30
|
+
};
|
|
31
|
+
}) ?? []);
|
|
32
|
+
}
|
|
33
|
+
static configSchema = XyoSchemaListApiDivinerConfigSchema;
|
|
34
|
+
static targetSchema = XyoSchemaSchema;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=SchemaListApiDiviner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaListApiDiviner.js","sourceRoot":"","sources":["../../../src/diviners/SchemaListApiDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE,OAAO,EAAiC,mCAAmC,EAAE,MAAM,8BAA8B,CAAA;AAIjH,MAAM,OAAO,oBAAqB,SAAQ,UAAyC;IAC9D,GAAG,CAAiB;IAEvC,IAAI,OAAO;QACT,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,oBAAoB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAAqC;QAChE,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAyB,CAAA;IAC7D,CAAC;IAED,YAAsB,MAAqC;QACzD,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACvB,CAAC;IAEQ,OAAO;QACd,OAAO,CAAC,2BAA2B,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;IAEkB,KAAK,CAAC,KAAK;QAC5B,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;QACpF,OAAO,CACL,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACvB,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,eAAe;aACxB,CAAA;QACH,CAAC,CAAC,IAAI,EAAE,CACT,CAAA;IACH,CAAC;IAED,MAAM,CAAU,YAAY,GAAG,mCAAmC,CAAA;IAClE,MAAM,CAAU,YAAY,GAAG,eAAe,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoDivinerConfig } from '@xyo-network/diviner';
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
3
|
+
export declare type XyoSchemaListApiDivinerConfigSchema = 'network.xyo.diviner.schema.list.api.config';
|
|
4
|
+
export declare const XyoSchemaListApiDivinerConfigSchema: XyoSchemaListApiDivinerConfigSchema;
|
|
5
|
+
export declare type XyoSchemaListApiDivinerConfig<T extends XyoPayload = XyoPayload> = XyoDivinerConfig<XyoPayload, T & {
|
|
6
|
+
schema: XyoSchemaListApiDivinerConfigSchema;
|
|
7
|
+
archive: string;
|
|
8
|
+
}>;
|
|
9
|
+
//# sourceMappingURL=SchemaListApiDivinerConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaListApiDivinerConfig.d.ts","sourceRoot":"","sources":["../../../src/diviners/SchemaListApiDivinerConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,mCAAmC,GAAG,4CAA4C,CAAA;AAC9F,eAAO,MAAM,mCAAmC,EAAE,mCAAkF,CAAA;AAEpI,oBAAY,6BAA6B,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,gBAAgB,CAC7F,UAAU,EACV,CAAC,GAAG;IACF,MAAM,EAAE,mCAAmC,CAAA;IAC3C,OAAO,EAAE,MAAM,CAAA;CAChB,CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaListApiDivinerConfig.js","sourceRoot":"","sources":["../../../src/diviners/SchemaListApiDivinerConfig.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,mCAAmC,GAAwC,4CAA4C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/diviners/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/diviners/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
|
package/package.json
CHANGED
|
@@ -13,17 +13,20 @@
|
|
|
13
13
|
"@xylabs/react-common": "^2.15.1",
|
|
14
14
|
"@xylabs/react-link": "^2.15.1",
|
|
15
15
|
"@xylabs/react-shared": "^2.15.1",
|
|
16
|
-
"@xyo-network/react-archive": "^2.38.
|
|
17
|
-
"@xyo-network/react-archivist-api": "^2.38.
|
|
18
|
-
"@xyo-network/react-property": "^2.38.
|
|
19
|
-
"@xyo-network/react-shared": "^2.38.
|
|
16
|
+
"@xyo-network/react-archive": "^2.38.9",
|
|
17
|
+
"@xyo-network/react-archivist-api": "^2.38.9",
|
|
18
|
+
"@xyo-network/react-property": "^2.38.9",
|
|
19
|
+
"@xyo-network/react-shared": "^2.38.9",
|
|
20
20
|
"tslib": "^2.4.0"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"@mui/icons-material": "^5.10.3",
|
|
24
24
|
"@mui/material": "^5.10.3",
|
|
25
25
|
"@mui/styles": "^5.10.3",
|
|
26
|
+
"@xylabs/sdk-js": "^2.6.9",
|
|
26
27
|
"@xyo-network/api": "*",
|
|
28
|
+
"@xyo-network/diviner": "*",
|
|
29
|
+
"@xyo-network/module": "*",
|
|
27
30
|
"@xyo-network/payload": "*",
|
|
28
31
|
"@xyo-network/schema-payload-plugin": "*",
|
|
29
32
|
"@xyo-network/utils": "*",
|
|
@@ -77,5 +80,5 @@
|
|
|
77
80
|
},
|
|
78
81
|
"sideEffects": false,
|
|
79
82
|
"types": "dist/esm/index.d.ts",
|
|
80
|
-
"version": "2.38.
|
|
83
|
+
"version": "2.38.9"
|
|
81
84
|
}
|
|
@@ -4,6 +4,7 @@ import { useArchive } from '@xyo-network/react-archive'
|
|
|
4
4
|
import { useArchivistApi } from '@xyo-network/react-archivist-api'
|
|
5
5
|
import { useState } from 'react'
|
|
6
6
|
|
|
7
|
+
/** @deprecated - use schema stats api diviner */
|
|
7
8
|
export const useSchemaStats = (): XyoArchivistArchivePayloadSchemaStats | undefined => {
|
|
8
9
|
const { api } = useArchivistApi(false)
|
|
9
10
|
const { archive = 'temp' } = useArchive(false)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { SchemaStatsApiDiviner } from '@xyo-network/api'
|
|
2
|
+
import { ContextExProviderProps } from '@xyo-network/react-shared'
|
|
3
|
+
import { useEffect, useState } from 'react'
|
|
4
|
+
|
|
5
|
+
import { SchemaStatsApiDivinerContext } from './Context'
|
|
6
|
+
|
|
7
|
+
export type SchemaStatsApiDivinerProps = ContextExProviderProps<{
|
|
8
|
+
diviner?: SchemaStatsApiDiviner
|
|
9
|
+
}>
|
|
10
|
+
|
|
11
|
+
export const SchemaStatsApiDivinerProvider: React.FC<SchemaStatsApiDivinerProps> = ({ diviner: divinerProp, required = false, children }) => {
|
|
12
|
+
const [diviner, setDiviner] = useState<SchemaStatsApiDiviner | undefined>(divinerProp)
|
|
13
|
+
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (divinerProp) {
|
|
16
|
+
setDiviner(divinerProp)
|
|
17
|
+
}
|
|
18
|
+
}, [divinerProp, setDiviner])
|
|
19
|
+
|
|
20
|
+
const resolveDiviner = () => {
|
|
21
|
+
if (divinerProp) {
|
|
22
|
+
return diviner === divinerProp ? diviner : undefined
|
|
23
|
+
} else {
|
|
24
|
+
return diviner
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<SchemaStatsApiDivinerContext.Provider
|
|
30
|
+
value={{
|
|
31
|
+
diviner: resolveDiviner(),
|
|
32
|
+
provided: true,
|
|
33
|
+
setDiviner,
|
|
34
|
+
}}
|
|
35
|
+
>
|
|
36
|
+
{diviner ? children : required ? null : children}
|
|
37
|
+
</SchemaStatsApiDivinerContext.Provider>
|
|
38
|
+
)
|
|
39
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useAsyncEffect } from '@xylabs/react-shared'
|
|
2
|
+
import { SchemaStats } from '@xyo-network/api'
|
|
3
|
+
import { XyoDivinerWrapper } from '@xyo-network/diviner'
|
|
4
|
+
import { useState } from 'react'
|
|
5
|
+
|
|
6
|
+
import { useSchemaStatsApiDiviner } from './use'
|
|
7
|
+
|
|
8
|
+
export const useDivineSchemaStats = (address?: string): [SchemaStats | undefined, Error | undefined, () => void] => {
|
|
9
|
+
const [stats, setStats] = useState<SchemaStats>()
|
|
10
|
+
const [error, setError] = useState<Error>()
|
|
11
|
+
const { diviner } = useSchemaStatsApiDiviner()
|
|
12
|
+
const [refresh, setRefresh] = useState(1)
|
|
13
|
+
|
|
14
|
+
const refreshStats = () => setRefresh((previous) => previous + 1)
|
|
15
|
+
|
|
16
|
+
useAsyncEffect(
|
|
17
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
18
|
+
async (mounted) => {
|
|
19
|
+
if (diviner && address) {
|
|
20
|
+
try {
|
|
21
|
+
const result = (await new XyoDivinerWrapper(diviner).divine()) as SchemaStats[]
|
|
22
|
+
if (mounted()) {
|
|
23
|
+
setStats(result[0])
|
|
24
|
+
}
|
|
25
|
+
} catch (e) {
|
|
26
|
+
setError(e as Error)
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
[address, diviner, refresh],
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
return [stats, error, refreshStats]
|
|
34
|
+
}
|
package/src/contexts/index.ts
CHANGED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { XyoApiConfig, XyoArchivistApi } from '@xyo-network/api'
|
|
2
|
+
|
|
3
|
+
import { SchemaListApiDiviner } from './SchemaListApiDiviner'
|
|
4
|
+
import { XyoSchemaListApiDivinerConfigSchema } from './SchemaListApiDivinerConfig'
|
|
5
|
+
|
|
6
|
+
const configData: XyoApiConfig = {
|
|
7
|
+
apiDomain: process.env.API_DOMAIN || 'https://beta.api.archivist.xyo.network',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
test('SchemaListApiDiviner', async () => {
|
|
11
|
+
const api = new XyoArchivistApi(configData)
|
|
12
|
+
const diviner = await SchemaListApiDiviner.create({
|
|
13
|
+
api,
|
|
14
|
+
config: { archive: 'temp', schema: XyoSchemaListApiDivinerConfigSchema },
|
|
15
|
+
logger: console,
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
expect(diviner).toBeDefined()
|
|
19
|
+
|
|
20
|
+
const result = await diviner.divine()
|
|
21
|
+
|
|
22
|
+
expect(result.length).toBeGreaterThan(0)
|
|
23
|
+
})
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/sdk-js'
|
|
2
|
+
import { XyoArchivistApi } from '@xyo-network/api'
|
|
3
|
+
import { XyoDiviner, XyoDivinerDivineQuerySchema } from '@xyo-network/diviner'
|
|
4
|
+
import { XyoModuleParams } from '@xyo-network/module'
|
|
5
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
6
|
+
import { XyoSchemaSchema } from '@xyo-network/schema-payload-plugin'
|
|
7
|
+
|
|
8
|
+
import { XyoSchemaListApiDivinerConfig, XyoSchemaListApiDivinerConfigSchema } from './SchemaListApiDivinerConfig'
|
|
9
|
+
|
|
10
|
+
export type XyoSchemaListApiDivinerParams = XyoModuleParams<XyoSchemaListApiDivinerConfig> & { api: XyoArchivistApi }
|
|
11
|
+
|
|
12
|
+
export class SchemaListApiDiviner extends XyoDiviner<XyoSchemaListApiDivinerConfig> {
|
|
13
|
+
protected readonly api: XyoArchivistApi
|
|
14
|
+
|
|
15
|
+
get archive() {
|
|
16
|
+
return assertEx(this.config?.archive, `config required [${this.config}]`)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static override async create(params: XyoSchemaListApiDivinerParams): Promise<SchemaListApiDiviner> {
|
|
20
|
+
return (await super.create(params)) as SchemaListApiDiviner
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
protected constructor(params: XyoSchemaListApiDivinerParams) {
|
|
24
|
+
super(params)
|
|
25
|
+
this.api = params.api
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
override queries() {
|
|
29
|
+
return [XyoDivinerDivineQuerySchema, ...super.queries()]
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
protected override async start() {
|
|
33
|
+
await super.start()
|
|
34
|
+
return this
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public async divine(): Promise<XyoPayload[]> {
|
|
38
|
+
const apiResult = (await this.api.archive(this.archive)?.payload.schema.get()) ?? []
|
|
39
|
+
return (
|
|
40
|
+
apiResult.map((schema) => {
|
|
41
|
+
return {
|
|
42
|
+
name: schema,
|
|
43
|
+
schema: XyoSchemaSchema,
|
|
44
|
+
}
|
|
45
|
+
}) ?? []
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static override configSchema = XyoSchemaListApiDivinerConfigSchema
|
|
50
|
+
static override targetSchema = XyoSchemaSchema
|
|
51
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { XyoDivinerConfig } from '@xyo-network/diviner'
|
|
2
|
+
import { XyoPayload } from '@xyo-network/payload'
|
|
3
|
+
|
|
4
|
+
export type XyoSchemaListApiDivinerConfigSchema = 'network.xyo.diviner.schema.list.api.config'
|
|
5
|
+
export const XyoSchemaListApiDivinerConfigSchema: XyoSchemaListApiDivinerConfigSchema = 'network.xyo.diviner.schema.list.api.config'
|
|
6
|
+
|
|
7
|
+
export type XyoSchemaListApiDivinerConfig<T extends XyoPayload = XyoPayload> = XyoDivinerConfig<
|
|
8
|
+
XyoPayload,
|
|
9
|
+
T & {
|
|
10
|
+
schema: XyoSchemaListApiDivinerConfigSchema
|
|
11
|
+
archive: string
|
|
12
|
+
}
|
|
13
|
+
>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SchemaListApiDiviner'
|
package/src/index.ts
CHANGED