@xyo-network/api 2.38.17 → 2.38.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/cjs/Diviner/SchemaListApiDiviner/Payload.d.ts +6 -0
  2. package/dist/cjs/Diviner/SchemaListApiDiviner/Payload.d.ts.map +1 -0
  3. package/dist/cjs/Diviner/SchemaListApiDiviner/Payload.js +3 -0
  4. package/dist/cjs/Diviner/SchemaListApiDiviner/Payload.js.map +1 -0
  5. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.d.ts +20 -0
  6. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.d.ts.map +1 -0
  7. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.js +54 -0
  8. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.js.map +1 -0
  9. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.d.ts +9 -0
  10. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.d.ts.map +1 -0
  11. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.js +5 -0
  12. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.js.map +1 -0
  13. package/dist/cjs/Diviner/SchemaListApiDiviner/index.d.ts +4 -0
  14. package/dist/cjs/Diviner/SchemaListApiDiviner/index.d.ts.map +1 -0
  15. package/dist/cjs/Diviner/SchemaListApiDiviner/index.js +7 -0
  16. package/dist/cjs/Diviner/SchemaListApiDiviner/index.js.map +1 -0
  17. package/dist/cjs/Diviner/SchemaStatsApiDiviner/index.d.ts +1 -0
  18. package/dist/cjs/Diviner/SchemaStatsApiDiviner/index.d.ts.map +1 -1
  19. package/dist/cjs/Diviner/SchemaStatsApiDiviner/index.js +1 -0
  20. package/dist/cjs/Diviner/SchemaStatsApiDiviner/index.js.map +1 -1
  21. package/dist/cjs/Diviner/index.d.ts +2 -0
  22. package/dist/cjs/Diviner/index.d.ts.map +1 -1
  23. package/dist/cjs/Diviner/index.js +2 -0
  24. package/dist/cjs/Diviner/index.js.map +1 -1
  25. package/dist/docs.json +7257 -3173
  26. package/dist/esm/Diviner/SchemaListApiDiviner/Payload.d.ts +6 -0
  27. package/dist/esm/Diviner/SchemaListApiDiviner/Payload.d.ts.map +1 -0
  28. package/dist/esm/Diviner/SchemaListApiDiviner/Payload.js +2 -0
  29. package/dist/esm/Diviner/SchemaListApiDiviner/Payload.js.map +1 -0
  30. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.d.ts +20 -0
  31. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.d.ts.map +1 -0
  32. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.js +36 -0
  33. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.js.map +1 -0
  34. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.d.ts +9 -0
  35. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.d.ts.map +1 -0
  36. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.js +2 -0
  37. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.js.map +1 -0
  38. package/dist/esm/Diviner/SchemaListApiDiviner/index.d.ts +4 -0
  39. package/dist/esm/Diviner/SchemaListApiDiviner/index.d.ts.map +1 -0
  40. package/dist/esm/Diviner/SchemaListApiDiviner/index.js +4 -0
  41. package/dist/esm/Diviner/SchemaListApiDiviner/index.js.map +1 -0
  42. package/dist/esm/Diviner/SchemaStatsApiDiviner/index.d.ts +1 -0
  43. package/dist/esm/Diviner/SchemaStatsApiDiviner/index.d.ts.map +1 -1
  44. package/dist/esm/Diviner/SchemaStatsApiDiviner/index.js +1 -0
  45. package/dist/esm/Diviner/SchemaStatsApiDiviner/index.js.map +1 -1
  46. package/dist/esm/Diviner/index.d.ts +2 -0
  47. package/dist/esm/Diviner/index.d.ts.map +1 -1
  48. package/dist/esm/Diviner/index.js +2 -0
  49. package/dist/esm/Diviner/index.js.map +1 -1
  50. package/package.json +9 -9
  51. package/src/Diviner/SchemaListApiDiviner/Payload.ts +9 -0
  52. package/src/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.spec.ts +23 -0
  53. package/src/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.ts +51 -0
  54. package/src/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.ts +13 -0
  55. package/src/Diviner/SchemaListApiDiviner/index.ts +3 -0
  56. package/src/Diviner/SchemaStatsApiDiviner/index.ts +1 -0
  57. package/src/Diviner/index.ts +2 -0
@@ -0,0 +1,6 @@
1
+ import { XyoPayload } from '@xyo-network/payload';
2
+ import { XyoSchemaSchema } from '@xyo-network/schema-payload-plugin';
3
+ export declare type SchemaList = XyoPayload<{
4
+ name: string;
5
+ }, XyoSchemaSchema>;
6
+ //# sourceMappingURL=Payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/SchemaListApiDiviner/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE,oBAAY,UAAU,GAAG,UAAU,CACjC;IACE,IAAI,EAAE,MAAM,CAAA;CACb,EACD,eAAe,CAChB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../../../src/Diviner/SchemaListApiDiviner/Payload.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { XyoDiviner } from '@xyo-network/diviner';
2
+ import { XyoModuleParams } from '@xyo-network/module';
3
+ import { XyoArchivistApi } from '../../Api';
4
+ import { SchemaList } from './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
+ static configSchema: "network.xyo.diviner.schema.list.api.config";
11
+ static targetSchema: "network.xyo.schema";
12
+ protected readonly api: XyoArchivistApi;
13
+ protected constructor(params: XyoSchemaListApiDivinerParams);
14
+ get archive(): string;
15
+ static create(params: XyoSchemaListApiDivinerParams): Promise<SchemaListApiDiviner>;
16
+ divine(): Promise<SchemaList[]>;
17
+ queries(): string[];
18
+ protected start(): Promise<this>;
19
+ }
20
+ //# sourceMappingURL=SchemaListApiDiviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaListApiDiviner.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAA+B,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,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,OAAgB,YAAY,+CAAsC;IAClE,OAAgB,YAAY,uBAAkB;IAE9C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAA;IAEvC,SAAS,aAAa,MAAM,EAAE,6BAA6B;IAK3D,IAAI,OAAO,WAEV;WAEqB,MAAM,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIrF,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAYnC,OAAO;cAIS,KAAK;CAI/B"}
@@ -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
+ static configSchema = XyoSchemaListApiDivinerConfigSchema;
7
+ static targetSchema = XyoSchemaSchema;
8
+ api;
9
+ constructor(params) {
10
+ super(params);
11
+ this.api = params.api;
12
+ }
13
+ get archive() {
14
+ return assertEx(this.config?.archive, `config required [${this.config}]`);
15
+ }
16
+ static async create(params) {
17
+ return (await super.create(params));
18
+ }
19
+ async divine() {
20
+ const apiResult = (await this.api.archive(this.archive)?.payload.schema.get()) ?? [];
21
+ return (apiResult.map((schema) => {
22
+ return {
23
+ name: schema,
24
+ schema: XyoSchemaSchema,
25
+ };
26
+ }) ?? []);
27
+ }
28
+ queries() {
29
+ return [XyoDivinerDivineQuerySchema, ...super.queries()];
30
+ }
31
+ async start() {
32
+ await super.start();
33
+ return this;
34
+ }
35
+ }
36
+ //# sourceMappingURL=SchemaListApiDiviner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaListApiDiviner.js","sourceRoot":"","sources":["../../../../src/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAIpE,OAAO,EAAiC,mCAAmC,EAAE,MAAM,8BAA8B,CAAA;AAIjH,MAAM,OAAO,oBAAqB,SAAQ,UAAyC;IACjF,MAAM,CAAU,YAAY,GAAG,mCAAmC,CAAA;IAClE,MAAM,CAAU,YAAY,GAAG,eAAe,CAAA;IAE3B,GAAG,CAAiB;IAEvC,YAAsB,MAAqC;QACzD,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACvB,CAAC;IAED,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;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;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"}
@@ -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/Diviner/SchemaListApiDiviner/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,2 @@
1
+ export const XyoSchemaListApiDivinerConfigSchema = 'network.xyo.diviner.schema.list.api.config';
2
+ //# sourceMappingURL=SchemaListApiDivinerConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaListApiDivinerConfig.js","sourceRoot":"","sources":["../../../../src/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,mCAAmC,GAAwC,4CAA4C,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Payload';
2
+ export * from './SchemaListApiDiviner';
3
+ export * from './SchemaListApiDivinerConfig';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/SchemaListApiDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Payload';
2
+ export * from './SchemaListApiDiviner';
3
+ export * from './SchemaListApiDivinerConfig';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Diviner/SchemaListApiDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export * from './Payload';
2
2
  export * from './SchemaStatsApiDiviner';
3
+ export * from './SchemaStatsApiDivinerConfig';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/SchemaStatsApiDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/SchemaStatsApiDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export * from './Payload';
2
2
  export * from './SchemaStatsApiDiviner';
3
+ export * from './SchemaStatsApiDivinerConfig';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Diviner/SchemaStatsApiDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Diviner/SchemaStatsApiDiviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA"}
@@ -1,4 +1,6 @@
1
1
  export * from './AddressHistoryDiviner';
2
2
  export * from './LocationDiviner';
3
+ export * from './SchemaListApiDiviner';
3
4
  export * from './SchemaStatsApiDiviner';
5
+ export * from './XyoRemoteDivinerConfig';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA"}
@@ -1,4 +1,6 @@
1
1
  export * from './AddressHistoryDiviner';
2
2
  export * from './LocationDiviner';
3
+ export * from './SchemaListApiDiviner';
3
4
  export * from './SchemaStatsApiDiviner';
5
+ export * from './XyoRemoteDivinerConfig';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA"}
package/package.json CHANGED
@@ -12,14 +12,14 @@
12
12
  "@xylabs/assert": "^2.6.9",
13
13
  "@xylabs/delay": "^2.6.9",
14
14
  "@xylabs/sdk-js": "^2.6.9",
15
- "@xyo-network/account": "^2.38.17",
16
- "@xyo-network/archivist": "^2.38.17",
17
- "@xyo-network/boundwitness": "^2.38.17",
18
- "@xyo-network/core": "^2.38.17",
19
- "@xyo-network/diviner": "^2.38.17",
20
- "@xyo-network/module": "^2.38.17",
21
- "@xyo-network/payload": "^2.38.17",
22
- "@xyo-network/schema-payload-plugin": "^2.38.17",
15
+ "@xyo-network/account": "^2.38.18",
16
+ "@xyo-network/archivist": "^2.38.18",
17
+ "@xyo-network/boundwitness": "^2.38.18",
18
+ "@xyo-network/core": "^2.38.18",
19
+ "@xyo-network/diviner": "^2.38.18",
20
+ "@xyo-network/module": "^2.38.18",
21
+ "@xyo-network/payload": "^2.38.18",
22
+ "@xyo-network/schema-payload-plugin": "^2.38.18",
23
23
  "tslib": "^2.4.0"
24
24
  },
25
25
  "peerDependencies": {
@@ -66,5 +66,5 @@
66
66
  },
67
67
  "sideEffects": false,
68
68
  "types": "dist/esm/index.d.ts",
69
- "version": "2.38.17"
69
+ "version": "2.38.18"
70
70
  }
@@ -0,0 +1,9 @@
1
+ import { XyoPayload } from '@xyo-network/payload'
2
+ import { XyoSchemaSchema } from '@xyo-network/schema-payload-plugin'
3
+
4
+ export type SchemaList = XyoPayload<
5
+ {
6
+ name: string
7
+ },
8
+ XyoSchemaSchema
9
+ >
@@ -0,0 +1,23 @@
1
+ import { XyoArchivistApi } from '../../Api'
2
+ import { XyoApiConfig } from '../../models'
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 { XyoDiviner, XyoDivinerDivineQuerySchema } from '@xyo-network/diviner'
3
+ import { XyoModuleParams } from '@xyo-network/module'
4
+ import { XyoSchemaSchema } from '@xyo-network/schema-payload-plugin'
5
+
6
+ import { XyoArchivistApi } from '../../Api'
7
+ import { SchemaList } from './Payload'
8
+ import { XyoSchemaListApiDivinerConfig, XyoSchemaListApiDivinerConfigSchema } from './SchemaListApiDivinerConfig'
9
+
10
+ export type XyoSchemaListApiDivinerParams = XyoModuleParams<XyoSchemaListApiDivinerConfig> & { api: XyoArchivistApi }
11
+
12
+ export class SchemaListApiDiviner extends XyoDiviner<XyoSchemaListApiDivinerConfig> {
13
+ static override configSchema = XyoSchemaListApiDivinerConfigSchema
14
+ static override targetSchema = XyoSchemaSchema
15
+
16
+ protected readonly api: XyoArchivistApi
17
+
18
+ protected constructor(params: XyoSchemaListApiDivinerParams) {
19
+ super(params)
20
+ this.api = params.api
21
+ }
22
+
23
+ get archive() {
24
+ return assertEx(this.config?.archive, `config required [${this.config}]`)
25
+ }
26
+
27
+ static override async create(params: XyoSchemaListApiDivinerParams): Promise<SchemaListApiDiviner> {
28
+ return (await super.create(params)) as SchemaListApiDiviner
29
+ }
30
+
31
+ public async divine(): Promise<SchemaList[]> {
32
+ const apiResult = (await this.api.archive(this.archive)?.payload.schema.get()) ?? []
33
+ return (
34
+ apiResult.map((schema) => {
35
+ return {
36
+ name: schema,
37
+ schema: XyoSchemaSchema,
38
+ }
39
+ }) ?? []
40
+ )
41
+ }
42
+
43
+ override queries() {
44
+ return [XyoDivinerDivineQuerySchema, ...super.queries()]
45
+ }
46
+
47
+ protected override async start() {
48
+ await super.start()
49
+ return this
50
+ }
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,3 @@
1
+ export * from './Payload'
2
+ export * from './SchemaListApiDiviner'
3
+ export * from './SchemaListApiDivinerConfig'
@@ -1,2 +1,3 @@
1
1
  export * from './Payload'
2
2
  export * from './SchemaStatsApiDiviner'
3
+ export * from './SchemaStatsApiDivinerConfig'
@@ -1,3 +1,5 @@
1
1
  export * from './AddressHistoryDiviner'
2
2
  export * from './LocationDiviner'
3
+ export * from './SchemaListApiDiviner'
3
4
  export * from './SchemaStatsApiDiviner'
5
+ export * from './XyoRemoteDivinerConfig'