@xyo-network/diviner 2.26.19 → 2.27.0-rc.10

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 (196) hide show
  1. package/dist/cjs/Abstract.d.ts +11 -4
  2. package/dist/cjs/Abstract.d.ts.map +1 -1
  3. package/dist/cjs/Abstract.js +19 -0
  4. package/dist/cjs/Abstract.js.map +1 -1
  5. package/dist/cjs/Config.d.ts +2 -2
  6. package/dist/cjs/Config.d.ts.map +1 -1
  7. package/dist/cjs/Diviner.d.ts +4 -4
  8. package/dist/cjs/Diviner.d.ts.map +1 -1
  9. package/dist/cjs/Payload/Archivist/Config.d.ts +2 -2
  10. package/dist/cjs/Payload/Archivist/Config.d.ts.map +1 -1
  11. package/dist/cjs/Payload/Archivist/Diviner.d.ts +5 -6
  12. package/dist/cjs/Payload/Archivist/Diviner.d.ts.map +1 -1
  13. package/dist/cjs/Payload/Archivist/Diviner.js +12 -5
  14. package/dist/cjs/Payload/Archivist/Diviner.js.map +1 -1
  15. package/dist/cjs/Payload/Archivist/index.d.ts +0 -1
  16. package/dist/cjs/Payload/Archivist/index.d.ts.map +1 -1
  17. package/dist/cjs/Payload/Archivist/index.js +0 -1
  18. package/dist/cjs/Payload/Archivist/index.js.map +1 -1
  19. package/dist/cjs/Payload/Huri/Config.d.ts +2 -2
  20. package/dist/cjs/Payload/Huri/Config.d.ts.map +1 -1
  21. package/dist/cjs/Payload/Huri/Diviner.d.ts +4 -4
  22. package/dist/cjs/Payload/Huri/Diviner.d.ts.map +1 -1
  23. package/dist/cjs/Payload/Huri/Diviner.js +10 -5
  24. package/dist/cjs/Payload/Huri/Diviner.js.map +1 -1
  25. package/dist/cjs/Payload/Huri/index.d.ts +1 -0
  26. package/dist/cjs/Payload/Huri/index.d.ts.map +1 -1
  27. package/dist/cjs/Payload/Huri/index.js +1 -0
  28. package/dist/cjs/Payload/Huri/index.js.map +1 -1
  29. package/dist/cjs/Payload/Query.d.ts +5 -3
  30. package/dist/cjs/Payload/Query.d.ts.map +1 -1
  31. package/dist/cjs/Payload/XyoHuriPayload.d.ts +8 -0
  32. package/dist/cjs/Payload/XyoHuriPayload.d.ts.map +1 -0
  33. package/dist/cjs/Payload/XyoHuriPayload.js +5 -0
  34. package/dist/cjs/Payload/XyoHuriPayload.js.map +1 -0
  35. package/dist/cjs/Payload/XyoPayloadDiviner.d.ts +1 -2
  36. package/dist/cjs/Payload/XyoPayloadDiviner.d.ts.map +1 -1
  37. package/dist/cjs/Payload/XyoPayloadDiviner.js.map +1 -1
  38. package/dist/cjs/Payload/index.d.ts +1 -0
  39. package/dist/cjs/Payload/index.d.ts.map +1 -1
  40. package/dist/cjs/Payload/index.js +1 -0
  41. package/dist/cjs/Payload/index.js.map +1 -1
  42. package/dist/cjs/Query/Divine.d.ts +8 -0
  43. package/dist/cjs/Query/Divine.d.ts.map +1 -0
  44. package/dist/cjs/Query/Divine.js +5 -0
  45. package/dist/cjs/Query/Divine.js.map +1 -0
  46. package/dist/cjs/Query/Payload.d.ts +4 -0
  47. package/dist/cjs/Query/Payload.d.ts.map +1 -0
  48. package/dist/cjs/Query/Payload.js +3 -0
  49. package/dist/cjs/Query/Payload.js.map +1 -0
  50. package/dist/cjs/Query/Schema.d.ts +4 -0
  51. package/dist/cjs/Query/Schema.d.ts.map +1 -0
  52. package/dist/cjs/Query/Schema.js +3 -0
  53. package/dist/cjs/Query/Schema.js.map +1 -0
  54. package/dist/cjs/Query/index.d.ts +4 -0
  55. package/dist/cjs/Query/index.d.ts.map +1 -0
  56. package/dist/cjs/Query/index.js +7 -0
  57. package/dist/cjs/Query/index.js.map +1 -0
  58. package/dist/cjs/XyoDiviner.d.ts +4 -0
  59. package/dist/cjs/XyoDiviner.d.ts.map +1 -0
  60. package/dist/cjs/XyoDiviner.js +3 -0
  61. package/dist/cjs/XyoDiviner.js.map +1 -0
  62. package/dist/cjs/index.d.ts +3 -1
  63. package/dist/cjs/index.d.ts.map +1 -1
  64. package/dist/cjs/index.js +3 -1
  65. package/dist/cjs/index.js.map +1 -1
  66. package/dist/docs.json +4403 -2634
  67. package/dist/esm/Abstract.d.ts +11 -4
  68. package/dist/esm/Abstract.d.ts.map +1 -1
  69. package/dist/esm/Abstract.js +16 -0
  70. package/dist/esm/Abstract.js.map +1 -1
  71. package/dist/esm/Config.d.ts +2 -2
  72. package/dist/esm/Config.d.ts.map +1 -1
  73. package/dist/esm/Diviner.d.ts +4 -4
  74. package/dist/esm/Diviner.d.ts.map +1 -1
  75. package/dist/esm/Payload/Archivist/Config.d.ts +2 -2
  76. package/dist/esm/Payload/Archivist/Config.d.ts.map +1 -1
  77. package/dist/esm/Payload/Archivist/Diviner.d.ts +5 -6
  78. package/dist/esm/Payload/Archivist/Diviner.d.ts.map +1 -1
  79. package/dist/esm/Payload/Archivist/Diviner.js +11 -5
  80. package/dist/esm/Payload/Archivist/Diviner.js.map +1 -1
  81. package/dist/esm/Payload/Archivist/index.d.ts +0 -1
  82. package/dist/esm/Payload/Archivist/index.d.ts.map +1 -1
  83. package/dist/esm/Payload/Archivist/index.js +0 -1
  84. package/dist/esm/Payload/Archivist/index.js.map +1 -1
  85. package/dist/esm/Payload/Huri/Config.d.ts +2 -2
  86. package/dist/esm/Payload/Huri/Config.d.ts.map +1 -1
  87. package/dist/esm/Payload/Huri/Diviner.d.ts +4 -4
  88. package/dist/esm/Payload/Huri/Diviner.d.ts.map +1 -1
  89. package/dist/esm/Payload/Huri/Diviner.js +10 -4
  90. package/dist/esm/Payload/Huri/Diviner.js.map +1 -1
  91. package/dist/esm/Payload/Huri/index.d.ts +1 -0
  92. package/dist/esm/Payload/Huri/index.d.ts.map +1 -1
  93. package/dist/esm/Payload/Huri/index.js +1 -0
  94. package/dist/esm/Payload/Huri/index.js.map +1 -1
  95. package/dist/esm/Payload/Query.d.ts +5 -3
  96. package/dist/esm/Payload/Query.d.ts.map +1 -1
  97. package/dist/esm/Payload/XyoHuriPayload.d.ts +8 -0
  98. package/dist/esm/Payload/XyoHuriPayload.d.ts.map +1 -0
  99. package/dist/esm/Payload/XyoHuriPayload.js +2 -0
  100. package/dist/esm/Payload/XyoHuriPayload.js.map +1 -0
  101. package/dist/esm/Payload/XyoPayloadDiviner.d.ts +1 -2
  102. package/dist/esm/Payload/XyoPayloadDiviner.d.ts.map +1 -1
  103. package/dist/esm/Payload/XyoPayloadDiviner.js.map +1 -1
  104. package/dist/esm/Payload/index.d.ts +1 -0
  105. package/dist/esm/Payload/index.d.ts.map +1 -1
  106. package/dist/esm/Payload/index.js +1 -0
  107. package/dist/esm/Payload/index.js.map +1 -1
  108. package/dist/esm/Query/Divine.d.ts +8 -0
  109. package/dist/esm/Query/Divine.d.ts.map +1 -0
  110. package/dist/esm/Query/Divine.js +2 -0
  111. package/dist/esm/Query/Divine.js.map +1 -0
  112. package/dist/esm/Query/Payload.d.ts +4 -0
  113. package/dist/esm/Query/Payload.d.ts.map +1 -0
  114. package/dist/esm/Query/Payload.js +2 -0
  115. package/dist/esm/Query/Payload.js.map +1 -0
  116. package/dist/esm/Query/Schema.d.ts +4 -0
  117. package/dist/esm/Query/Schema.d.ts.map +1 -0
  118. package/dist/esm/Query/Schema.js +2 -0
  119. package/dist/esm/Query/Schema.js.map +1 -0
  120. package/dist/esm/Query/index.d.ts +4 -0
  121. package/dist/esm/Query/index.d.ts.map +1 -0
  122. package/dist/esm/Query/index.js +4 -0
  123. package/dist/esm/Query/index.js.map +1 -0
  124. package/dist/esm/XyoDiviner.d.ts +4 -0
  125. package/dist/esm/XyoDiviner.d.ts.map +1 -0
  126. package/dist/esm/XyoDiviner.js +2 -0
  127. package/dist/esm/XyoDiviner.js.map +1 -0
  128. package/dist/esm/index.d.ts +3 -1
  129. package/dist/esm/index.d.ts.map +1 -1
  130. package/dist/esm/index.js +3 -1
  131. package/dist/esm/index.js.map +1 -1
  132. package/package.json +7 -6
  133. package/src/Abstract.ts +35 -6
  134. package/src/Config.ts +1 -1
  135. package/src/Diviner.ts +4 -5
  136. package/src/Payload/Archivist/Config.ts +2 -2
  137. package/src/Payload/Archivist/Diviner.ts +15 -11
  138. package/src/Payload/Archivist/index.ts +0 -1
  139. package/src/Payload/Huri/Config.ts +7 -5
  140. package/src/Payload/Huri/Diviner.ts +13 -8
  141. package/src/Payload/Huri/index.ts +1 -0
  142. package/src/Payload/Query.ts +6 -6
  143. package/src/Payload/XyoHuriPayload.ts +9 -0
  144. package/src/Payload/XyoPayloadDiviner.ts +1 -5
  145. package/src/Payload/index.ts +1 -0
  146. package/src/Query/Divine.ts +9 -0
  147. package/src/Query/Payload.ts +5 -0
  148. package/src/Query/Schema.ts +5 -0
  149. package/src/Query/index.ts +3 -0
  150. package/src/XyoDiviner.ts +5 -0
  151. package/src/index.ts +3 -1
  152. package/dist/cjs/Payload/Archivist/Query.d.ts +0 -7
  153. package/dist/cjs/Payload/Archivist/Query.d.ts.map +0 -1
  154. package/dist/cjs/Payload/Archivist/Query.js +0 -5
  155. package/dist/cjs/Payload/Archivist/Query.js.map +0 -1
  156. package/dist/cjs/Payload/Huri/Query.d.ts +0 -10
  157. package/dist/cjs/Payload/Huri/Query.d.ts.map +0 -1
  158. package/dist/cjs/Payload/Huri/Query.js +0 -5
  159. package/dist/cjs/Payload/Huri/Query.js.map +0 -1
  160. package/dist/cjs/Sequence/XyoSequenceDiviner.d.ts +0 -8
  161. package/dist/cjs/Sequence/XyoSequenceDiviner.d.ts.map +0 -1
  162. package/dist/cjs/Sequence/XyoSequenceDiviner.js +0 -11
  163. package/dist/cjs/Sequence/XyoSequenceDiviner.js.map +0 -1
  164. package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.d.ts +0 -9
  165. package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +0 -1
  166. package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.js +0 -5
  167. package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.js.map +0 -1
  168. package/dist/cjs/Sequence/index.d.ts +0 -2
  169. package/dist/cjs/Sequence/index.d.ts.map +0 -1
  170. package/dist/cjs/Sequence/index.js +0 -5
  171. package/dist/cjs/Sequence/index.js.map +0 -1
  172. package/dist/esm/Payload/Archivist/Query.d.ts +0 -7
  173. package/dist/esm/Payload/Archivist/Query.d.ts.map +0 -1
  174. package/dist/esm/Payload/Archivist/Query.js +0 -2
  175. package/dist/esm/Payload/Archivist/Query.js.map +0 -1
  176. package/dist/esm/Payload/Huri/Query.d.ts +0 -10
  177. package/dist/esm/Payload/Huri/Query.d.ts.map +0 -1
  178. package/dist/esm/Payload/Huri/Query.js +0 -2
  179. package/dist/esm/Payload/Huri/Query.js.map +0 -1
  180. package/dist/esm/Sequence/XyoSequenceDiviner.d.ts +0 -8
  181. package/dist/esm/Sequence/XyoSequenceDiviner.d.ts.map +0 -1
  182. package/dist/esm/Sequence/XyoSequenceDiviner.js +0 -7
  183. package/dist/esm/Sequence/XyoSequenceDiviner.js.map +0 -1
  184. package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.d.ts +0 -9
  185. package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +0 -1
  186. package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.js +0 -2
  187. package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.js.map +0 -1
  188. package/dist/esm/Sequence/index.d.ts +0 -2
  189. package/dist/esm/Sequence/index.d.ts.map +0 -1
  190. package/dist/esm/Sequence/index.js +0 -2
  191. package/dist/esm/Sequence/index.js.map +0 -1
  192. package/src/Payload/Archivist/Query.ts +0 -8
  193. package/src/Payload/Huri/Query.ts +0 -12
  194. package/src/Sequence/XyoSequenceDiviner.ts +0 -13
  195. package/src/Sequence/XyoSequenceDivinerQueryPayload.ts +0 -10
  196. package/src/Sequence/index.ts +0 -1
@@ -1,8 +1,15 @@
1
- import { XyoAbstractModule } from '@xyo-network/module';
1
+ import { XyoAbstractModule, XyoModuleQueryResult } from '@xyo-network/module';
2
+ import { XyoPayload, XyoPayloads } from '@xyo-network/payload';
3
+ import { Promisable } from '@xyo-network/promisable';
2
4
  import { XyoDivinerConfig } from './Config';
3
- import { XyoDiviner, XyoDivinerQueryPayload } from './Diviner';
4
- export declare abstract class XyoAbstractDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload, C extends XyoDivinerConfig = XyoDivinerConfig> extends XyoAbstractModule<Q, C> implements XyoDiviner<Q> {
5
+ import { Diviner } from './Diviner';
6
+ import { XyoDivinerQueryPayload, XyoDivinerQuerySchema } from './Query';
7
+ import { XyoDiviner } from './XyoDiviner';
8
+ export declare abstract class XyoAbstractDiviner<TConfig extends XyoDivinerConfig = XyoDivinerConfig, TQuerySchema extends string = XyoDivinerQuerySchema, TQuery extends XyoDivinerQueryPayload = XyoDivinerQueryPayload> extends XyoAbstractModule<TConfig, TQuery> implements XyoDiviner<TQuery>, Diviner<Promisable<XyoPayload | null>> {
9
+ abstract divine(payloads?: XyoPayloads): Promisable<XyoPayload | null>;
10
+ get queries(): (TQuerySchema | XyoDivinerQuerySchema)[];
11
+ query(query: XyoDivinerQueryPayload): Promise<XyoModuleQueryResult>;
5
12
  }
6
- export declare abstract class XyoAbstractTimestampDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload> extends XyoAbstractDiviner<Q> {
13
+ export declare abstract class XyoAbstractTimestampDiviner<C extends XyoDivinerConfig = XyoDivinerConfig> extends XyoAbstractDiviner<C> {
7
14
  }
8
15
  //# sourceMappingURL=Abstract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAE9D,8BAAsB,kBAAkB,CAAC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,EAAE,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,CAC/I,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAC9B,YAAW,UAAU,CAAC,CAAC,CAAC;CAAG;AAE7B,8BAAsB,2BAA2B,CAAC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAA+B,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,8BAAsB,kBAAkB,CACpC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,YAAY,SAAS,MAAM,GAAG,qBAAqB,EACnD,MAAM,SAAS,sBAAsB,GAAG,sBAAsB,CAEhE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,MAAM,CACzC,YAAW,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAErE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;IAEtE,IAAoB,OAAO,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,EAAE,CAEtE;IAEK,KAAK,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAa1E;AAED,8BAAsB,2BAA2B,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;CAAG"}
@@ -1,5 +1,21 @@
1
1
  import { XyoAbstractModule } from '@xyo-network/module';
2
+ import { XyoDivinerDivineQuerySchema } from './Query';
2
3
  export class XyoAbstractDiviner extends XyoAbstractModule {
4
+ get queries() {
5
+ return [XyoDivinerDivineQuerySchema];
6
+ }
7
+ async query(query) {
8
+ if (!this.queries.find((schema) => schema === query.schema)) {
9
+ console.error(`Undeclared Module Query: ${query.schema}`);
10
+ }
11
+ const payloads = [];
12
+ switch (query.schema) {
13
+ case XyoDivinerDivineQuerySchema:
14
+ payloads.push(await this.divine(query.payloads));
15
+ break;
16
+ }
17
+ return [this.bindPayloads(payloads), payloads];
18
+ }
3
19
  }
4
20
  export class XyoAbstractTimestampDiviner extends XyoAbstractDiviner {
5
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Abstract.js","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKvD,MAAM,OAAgB,kBACpB,SAAQ,iBAAuB;CACJ;AAE7B,MAAM,OAAgB,2BAAuF,SAAQ,kBAAqB;CAAG"}
1
+ {"version":3,"file":"Abstract.js","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAA;AAM7E,OAAO,EAAE,2BAA2B,EAAiD,MAAM,SAAS,CAAA;AAGpG,MAAM,OAAgB,kBAKpB,SAAQ,iBAAkC;IAK1C,IAAoB,OAAO;QACzB,OAAO,CAAC,2BAA2B,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAA6B;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE;YAC3D,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;SAC1D;QAED,MAAM,QAAQ,GAA0B,EAAE,CAAA;QAC1C,QAAQ,KAAK,CAAC,MAAM,EAAE;YACpB,KAAK,2BAA2B;gBAC9B,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAChD,MAAK;SACR;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;CACF;AAED,MAAM,OAAgB,2BAA2E,SAAQ,kBAAqB;CAAG"}
@@ -2,7 +2,7 @@ import { XyoModuleConfig } from '@xyo-network/module';
2
2
  import { XyoPayload } from '@xyo-network/payload';
3
3
  export declare type XyoDivinerConfigSchema = 'network.xyo.diviner.config';
4
4
  export declare const XyoDivinerConfigSchema: XyoDivinerConfigSchema;
5
- export declare type XyoDivinerConfig<T extends XyoPayload = XyoPayload<{
5
+ export declare type XyoDivinerConfig<TConfig extends XyoPayload = XyoPayload<{
6
6
  schema: XyoDivinerConfigSchema | string;
7
- }>> = XyoModuleConfig<T>;
7
+ }>> = XyoModuleConfig<TConfig>;
8
8
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,sBAAsB,GAAG,4BAA4B,CAAA;AACjE,eAAO,MAAM,sBAAsB,EAAE,sBAAqD,CAAA;AAE1F,oBAAY,gBAAgB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAC;IAAE,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAAA;CAAE,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,sBAAsB,GAAG,4BAA4B,CAAA;AACjE,eAAO,MAAM,sBAAsB,EAAE,sBAAqD,CAAA;AAE1F,oBAAY,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAC;IAAE,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAAA;CAAE,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
- import { XyoModule, XyoQueryPayload } from '@xyo-network/module';
2
- import { XyoPayload } from '@xyo-network/payload';
3
- export declare type XyoDivinerQueryPayload<T extends XyoPayload = XyoPayload> = XyoQueryPayload<T>;
4
- export declare type XyoDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload> = XyoModule<Q>;
1
+ import { XyoPayloads } from '@xyo-network/payload';
2
+ export interface Diviner<TDivineResponse> {
3
+ divine(payloads?: XyoPayloads): TDivineResponse;
4
+ }
5
5
  //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA;AAE1F,oBAAY,UAAU,CAAC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,WAAW,OAAO,CAAC,eAAe;IACtC,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,eAAe,CAAA;CAChD"}
@@ -1,8 +1,8 @@
1
1
  import { XyoArchivist } from '@xyo-network/archivist';
2
- import { XyoDivinerConfig } from '../../Config';
2
+ import { XyoHuriPayloadDivinerConfig } from '../Huri';
3
3
  export declare type XyoArchivistPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.archivist.config';
4
4
  export declare const XyoArchivistPayloadDivinerConfigSchema: XyoArchivistPayloadDivinerConfigSchema;
5
- export declare type XyoArchivistPayloadDivinerConfig = XyoDivinerConfig<{
5
+ export declare type XyoArchivistPayloadDivinerConfig = XyoHuriPayloadDivinerConfig<{
6
6
  schema: XyoArchivistPayloadDivinerConfigSchema;
7
7
  archivist: XyoArchivist;
8
8
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,oBAAY,sCAAsC,GAAG,8CAA8C,CAAA;AACnG,eAAO,MAAM,sCAAsC,EAAE,sCAAuF,CAAA;AAE5I,oBAAY,gCAAgC,GAAG,gBAAgB,CAAC;IAC9D,MAAM,EAAE,sCAAsC,CAAA;IAC9C,SAAS,EAAE,YAAY,CAAA;CACxB,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAErD,oBAAY,sCAAsC,GAAG,8CAA8C,CAAA;AACnG,eAAO,MAAM,sCAAsC,EAAE,sCAAuF,CAAA;AAE5I,oBAAY,gCAAgC,GAAG,2BAA2B,CAAC;IACzE,MAAM,EAAE,sCAAsC,CAAA;IAC9C,SAAS,EAAE,YAAY,CAAA;CACxB,CAAC,CAAA"}
@@ -1,10 +1,9 @@
1
- import { XyoModuleQueryResult } from '@xyo-network/module';
2
- import { XyoPayloadDivinerQueryPayload } from '../Query';
1
+ import { XyoPayload, XyoPayloads } from '@xyo-network/payload';
3
2
  import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
4
3
  import { XyoArchivistPayloadDivinerConfig } from './Config';
5
- import { XyoArchivistPayloadDivinerQuery } from './Query';
6
- export declare class XyoArchivistPayloadDiviner extends XyoPayloadDiviner<XyoArchivistPayloadDivinerQuery, XyoArchivistPayloadDivinerConfig> {
7
- protected get archivist(): import("@xyo-network/archivist").XyoArchivist<import("@xyo-network/archivist").XyoArchivistQueryPayload>;
8
- query(query: XyoPayloadDivinerQueryPayload): Promise<XyoModuleQueryResult>;
4
+ export declare class XyoArchivistPayloadDiviner extends XyoPayloadDiviner<XyoArchivistPayloadDivinerConfig> {
5
+ protected get archivist(): import("@xyo-network/archivist").XyoArchivist<import("@xyo-network/archivist").XyoArchivistQueryPayload<never>>;
6
+ get queries(): "network.xyo.query.diviner.divine"[];
7
+ divine(payloads?: XyoPayloads): Promise<XyoPayload | null>;
9
8
  }
10
9
  //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAI1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAA;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,0BAA2B,SAAQ,iBAAiB,CAAC,+BAA+B,EAAE,gCAAgC,CAAC;IAClI,SAAS,KAAK,SAAS,6GAEtB;IAEc,KAAK,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAQ1F"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAA;AAE3D,qBAAa,0BAA2B,SAAQ,iBAAiB,CAAC,gCAAgC,CAAC;IACjG,SAAS,KAAK,SAAS,oHAEtB;IAED,IAAa,OAAO,yCAEnB;IAEY,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAQxE"}
@@ -1,16 +1,22 @@
1
+ import { assertEx } from '@xylabs/assert';
1
2
  import { XyoArchivistGetQueryPayloadSchema } from '@xyo-network/archivist';
2
3
  import { Huri } from '@xyo-network/payload';
4
+ import { XyoDivinerDivineQuerySchema } from '../../Query';
3
5
  import { profile } from '../lib';
6
+ import { XyoHuriPayloadSchema } from '../XyoHuriPayload';
4
7
  import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
5
8
  export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner {
6
9
  get archivist() {
7
10
  return this.config.archivist;
8
11
  }
9
- async query(query) {
10
- const huri = new Huri(query.huri);
11
- const [[, payloads = []]] = await profile(async () => await this.archivist.query({ hashes: [huri.hash], schema: XyoArchivistGetQueryPayloadSchema }));
12
- const resultPayloads = payloads?.[0] ? [payloads?.[0]] : [];
13
- return [this.bindPayloads(resultPayloads), resultPayloads];
12
+ get queries() {
13
+ return [XyoDivinerDivineQuerySchema];
14
+ }
15
+ async divine(payloads) {
16
+ const huriPayload = assertEx(payloads?.find((payload) => payload?.schema === XyoHuriPayloadSchema));
17
+ const huriObj = new Huri(huriPayload.huri);
18
+ const [[, resultPayloads = []]] = await profile(async () => await this.archivist.query({ hashes: [huriObj.hash], schema: XyoArchivistGetQueryPayloadSchema }));
19
+ return resultPayloads?.[0] ?? null;
14
20
  }
15
21
  }
16
22
  //# sourceMappingURL=Diviner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAA;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIxD,MAAM,OAAO,0BAA2B,SAAQ,iBAAoF;IAClI,IAAc,SAAS;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA;IAC9B,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAC,KAAoC;QACvD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,CAAC,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CACvC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC,CAC3G,CAAA;QACD,MAAM,cAAc,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3D,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,CAAA;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,IAAI,EAA2B,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAkB,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGxD,MAAM,OAAO,0BAA2B,SAAQ,iBAAmD;IACjG,IAAc,SAAS;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA;IAC9B,CAAC;IAED,IAAa,OAAO;QAClB,OAAO,CAAC,2BAA2B,CAAC,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAsB;QACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,oBAAoB,CAAC,CAAC,CAAA;QAC9H,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,CAAC,CAAC,EAAE,cAAc,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAC7C,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC,CAC9G,CAAA;QACD,OAAO,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IACpC,CAAC;CACF"}
@@ -1,4 +1,3 @@
1
1
  export * from './Config';
2
2
  export * from './Diviner';
3
- export * from './Query';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
@@ -1,4 +1,3 @@
1
1
  export * from './Config';
2
2
  export * from './Diviner';
3
- export * from './Query';
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Payload/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Payload/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
@@ -1,8 +1,8 @@
1
- import { HuriOptions } from '@xyo-network/payload';
1
+ import { HuriOptions, XyoPayload } from '@xyo-network/payload';
2
2
  import { XyoDivinerConfig } from '../../Config';
3
3
  export declare type XyoHuriPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.huri.config';
4
4
  export declare const XyoHuriPayloadDivinerConfigSchema: XyoHuriPayloadDivinerConfigSchema;
5
- export declare type XyoHuriPayloadDivinerConfig = XyoDivinerConfig<{
5
+ export declare type XyoHuriPayloadDivinerConfig<T extends XyoPayload = XyoPayload> = XyoDivinerConfig<T & {
6
6
  schema: XyoHuriPayloadDivinerConfigSchema;
7
7
  options?: HuriOptions;
8
8
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,oBAAY,iCAAiC,GAAG,yCAAyC,CAAA;AACzF,eAAO,MAAM,iCAAiC,EAAE,iCAA6E,CAAA;AAE7H,oBAAY,2BAA2B,GAAG,gBAAgB,CAAC;IACzD,MAAM,EAAE,iCAAiC,CAAA;IACzC,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,oBAAY,iCAAiC,GAAG,yCAAyC,CAAA;AACzF,eAAO,MAAM,iCAAiC,EAAE,iCAA6E,CAAA;AAE7H,oBAAY,2BAA2B,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,gBAAgB,CAC3F,CAAC,GAAG;IACF,MAAM,EAAE,iCAAiC,CAAA;IACzC,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB,CACF,CAAA"}
@@ -1,9 +1,9 @@
1
- import { XyoModuleQueryResult } from '@xyo-network/module';
1
+ import { XyoPayload, XyoPayloads } from '@xyo-network/payload';
2
2
  import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
3
3
  import { XyoHuriPayloadDivinerConfig } from './Config';
4
- import { XyoHuriPayloadDivinerQuery } from './Query';
5
- export declare class XyoHuriPayloadDiviner extends XyoPayloadDiviner<XyoHuriPayloadDivinerQuery, XyoHuriPayloadDivinerConfig> {
4
+ export declare class XyoHuriPayloadDiviner extends XyoPayloadDiviner<XyoHuriPayloadDivinerConfig> {
6
5
  protected get options(): import("@xyo-network/payload").HuriOptions | undefined;
7
- query(query: XyoHuriPayloadDivinerQuery): Promise<XyoModuleQueryResult>;
6
+ get queries(): "network.xyo.query.diviner.divine"[];
7
+ divine(payloads?: XyoPayloads): Promise<XyoPayload | null>;
8
8
  }
9
9
  //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAI1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEpD,qBAAa,qBAAsB,SAAQ,iBAAiB,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;IACnH,SAAS,KAAK,OAAO,2DAEpB;IAEc,KAAK,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAMvF"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAEtD,qBAAa,qBAAsB,SAAQ,iBAAiB,CAAC,2BAA2B,CAAC;IACvF,SAAS,KAAK,OAAO,2DAEpB;IAED,IAAa,OAAO,yCAEnB;IAEc,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAM1E"}
@@ -1,15 +1,21 @@
1
+ import { assertEx } from '@xylabs/assert';
1
2
  import { Huri } from '@xyo-network/payload';
3
+ import { XyoDivinerDivineQuerySchema } from '../../Query';
2
4
  import { profile } from '../lib';
5
+ import { XyoHuriPayloadSchema } from '../XyoHuriPayload';
3
6
  import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
4
7
  export class XyoHuriPayloadDiviner extends XyoPayloadDiviner {
5
8
  get options() {
6
9
  return this.config.options;
7
10
  }
8
- async query(query) {
9
- const huri = new Huri(query.huri, query.options ?? this.options);
11
+ get queries() {
12
+ return [XyoDivinerDivineQuerySchema];
13
+ }
14
+ async divine(payloads) {
15
+ const huriPayload = assertEx(payloads?.find((payload) => payload?.schema === XyoHuriPayloadSchema));
16
+ const huri = new Huri(huriPayload?.huri, this.options);
10
17
  const [payload = null] = await profile(async () => await huri.fetch());
11
- const payloads = payload ? [payload] : [];
12
- return [this.bindPayloads(payloads), payloads];
18
+ return payload;
13
19
  }
14
20
  }
15
21
  //# sourceMappingURL=Diviner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIxD,MAAM,OAAO,qBAAsB,SAAQ,iBAA0E;IACnH,IAAc,OAAO;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAC5B,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAC,KAAiC;QACpD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,IAAI,EAA2B,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAkB,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGxD,MAAM,OAAO,qBAAsB,SAAQ,iBAA8C;IACvF,IAAc,OAAO;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAC5B,CAAC;IAED,IAAa,OAAO;QAClB,OAAO,CAAC,2BAA2B,CAAC,CAAA;IACtC,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,QAAsB;QAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,oBAAoB,CAAC,CAAC,CAAA;QAC9H,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QACtE,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
@@ -1,2 +1,3 @@
1
+ export * from './Config';
1
2
  export * from './Diviner';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
@@ -1,2 +1,3 @@
1
+ export * from './Config';
1
2
  export * from './Diviner';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Payload/Huri/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Payload/Huri/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
@@ -1,7 +1,9 @@
1
- import { XyoPayload, XyoQueryPayload } from '@xyo-network/payload';
1
+ import { XyoQueryPayload } from '@xyo-network/payload';
2
2
  export declare type XyoPayloadDivinerQueryPayloadSchema = 'network.xyo.diviner.payload.query';
3
3
  export declare const XyoPayloadDivinerQueryPayloadSchema: XyoPayloadDivinerQueryPayloadSchema;
4
- export declare type XyoPayloadDivinerQueryPayload<T extends XyoPayload = XyoPayload> = XyoQueryPayload<{
4
+ export declare type XyoPayloadDivinerQueryPayload = XyoQueryPayload<{
5
+ address: string;
6
+ schema: XyoPayloadDivinerQueryPayloadSchema;
5
7
  huri: string;
6
- } & T>;
8
+ }>;
7
9
  //# sourceMappingURL=Query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../../src/Payload/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAElE,oBAAY,mCAAmC,GAAG,mCAAmC,CAAA;AACrF,eAAO,MAAM,mCAAmC,EAAE,mCAAyE,CAAA;AAE3H,oBAAY,6BAA6B,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CAC5F;IACE,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,CAAC,CACN,CAAA"}
1
+ {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../../src/Payload/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,oBAAY,mCAAmC,GAAG,mCAAmC,CAAA;AACrF,eAAO,MAAM,mCAAmC,EAAE,mCAAyE,CAAA;AAE3H,oBAAY,6BAA6B,GAAG,eAAe,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,mCAAmC,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { XyoPayload } from '@xyo-network/payload';
2
+ export declare type XyoHuriPayloadSchema = 'network.xyo.huri';
3
+ export declare const XyoHuriPayloadSchema: XyoHuriPayloadSchema;
4
+ export declare type XyoHuriPayload = XyoPayload<{
5
+ schema: 'network.xyo.huri';
6
+ huri: string;
7
+ }>;
8
+ //# sourceMappingURL=XyoHuriPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoHuriPayload.d.ts","sourceRoot":"","sources":["../../../src/Payload/XyoHuriPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,oBAAoB,GAAG,kBAAkB,CAAA;AACrD,eAAO,MAAM,oBAAoB,EAAE,oBAAyC,CAAA;AAE5E,oBAAY,cAAc,GAAG,UAAU,CAAC;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const XyoHuriPayloadSchema = 'network.xyo.huri';
2
+ //# sourceMappingURL=XyoHuriPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoHuriPayload.js","sourceRoot":"","sources":["../../../src/Payload/XyoHuriPayload.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAyB,kBAAkB,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { XyoAbstractDiviner } from '../Abstract';
2
2
  import { XyoDivinerConfig } from '../Config';
3
- import { XyoPayloadDivinerQueryPayload } from './Query';
4
- export declare abstract class XyoPayloadDiviner<Q extends XyoPayloadDivinerQueryPayload = XyoPayloadDivinerQueryPayload, C extends XyoDivinerConfig = XyoDivinerConfig> extends XyoAbstractDiviner<Q, C> {
3
+ export declare abstract class XyoPayloadDiviner<C extends XyoDivinerConfig = XyoDivinerConfig> extends XyoAbstractDiviner<C> {
5
4
  }
6
5
  //# sourceMappingURL=XyoPayloadDiviner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoPayloadDiviner.d.ts","sourceRoot":"","sources":["../../../src/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA;AAEvD,8BAAsB,iBAAiB,CACrC,CAAC,SAAS,6BAA6B,GAAG,6BAA6B,EACvE,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,CAC7C,SAAQ,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"XyoPayloadDiviner.d.ts","sourceRoot":"","sources":["../../../src/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"XyoPayloadDiviner.js","sourceRoot":"","sources":["../../../src/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIhD,MAAM,OAAgB,iBAGpB,SAAQ,kBAAwB;CAAG"}
1
+ {"version":3,"file":"XyoPayloadDiviner.js","sourceRoot":"","sources":["../../../src/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGhD,MAAM,OAAgB,iBAAiE,SAAQ,kBAAqB;CAAG"}
@@ -1,5 +1,6 @@
1
1
  export * from './Archivist';
2
2
  export * from './Huri';
3
3
  export * from './Query';
4
+ export * from './XyoHuriPayload';
4
5
  export * from './XyoPayloadDiviner';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export * from './Archivist';
2
2
  export * from './Huri';
3
3
  export * from './Query';
4
+ export * from './XyoHuriPayload';
4
5
  export * from './XyoPayloadDiviner';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { XyoPayloads, XyoQueryPayload } from '@xyo-network/payload';
2
+ export declare type XyoDivinerDivineQuerySchema = 'network.xyo.query.diviner.divine';
3
+ export declare const XyoDivinerDivineQuerySchema: XyoDivinerDivineQuerySchema;
4
+ export declare type XyoDivinerDivineQueryPayload = XyoQueryPayload<{
5
+ schema: XyoDivinerDivineQuerySchema;
6
+ payloads?: XyoPayloads;
7
+ }>;
8
+ //# sourceMappingURL=Divine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divine.d.ts","sourceRoot":"","sources":["../../../src/Query/Divine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEnE,oBAAY,2BAA2B,GAAG,kCAAkC,CAAA;AAC5E,eAAO,MAAM,2BAA2B,EAAE,2BAAgE,CAAA;AAE1G,oBAAY,4BAA4B,GAAG,eAAe,CAAC;IACzD,MAAM,EAAE,2BAA2B,CAAA;IACnC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const XyoDivinerDivineQuerySchema = 'network.xyo.query.diviner.divine';
2
+ //# sourceMappingURL=Divine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divine.js","sourceRoot":"","sources":["../../../src/Query/Divine.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GAAgC,kCAAkC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { XyoModuleQueryPayload } from '@xyo-network/module';
2
+ import { XyoDivinerDivineQueryPayload } from './Divine';
3
+ export declare type XyoDivinerQueryPayload = XyoDivinerDivineQueryPayload | XyoModuleQueryPayload;
4
+ //# sourceMappingURL=Payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../src/Query/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAE3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAEvD,oBAAY,sBAAsB,GAAG,4BAA4B,GAAG,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../../src/Query/Payload.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { XyoModuleQueryPayloadSchema } from '@xyo-network/module';
2
+ import { XyoDivinerDivineQuerySchema } from './Divine';
3
+ export declare type XyoDivinerQuerySchema = XyoDivinerDivineQuerySchema | XyoModuleQueryPayloadSchema;
4
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/Query/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAEtD,oBAAY,qBAAqB,GAAG,2BAA2B,GAAG,2BAA2B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../src/Query/Schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './Divine';
2
+ export * from './Payload';
3
+ export * from './Schema';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Query/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Divine';
2
+ export * from './Payload';
3
+ export * from './Schema';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Query/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { XyoModule } from '@xyo-network/module';
2
+ import { XyoDivinerQueryPayload } from './Query';
3
+ export declare type XyoDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload> = XyoModule<Q>;
4
+ //# sourceMappingURL=XyoDiviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoDiviner.d.ts","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAEhD,oBAAY,UAAU,CAAC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=XyoDiviner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoDiviner.js","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":""}
@@ -1,5 +1,7 @@
1
1
  export * from './Abstract';
2
+ export * from './Config';
2
3
  export * from './Diviner';
3
4
  export * from './Payload';
4
- export * from './Sequence';
5
+ export * from './Query';
6
+ export * from './XyoDiviner';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './Abstract';
2
+ export * from './Config';
2
3
  export * from './Diviner';
3
4
  export * from './Payload';
4
- export * from './Sequence';
5
+ export * from './Query';
6
+ export * from './XyoDiviner';
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
package/package.json CHANGED
@@ -10,15 +10,15 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/archivist": "^2.26.19",
14
- "@xyo-network/module": "^2.26.19",
15
- "@xyo-network/payload": "^2.26.19",
16
- "@xyo-network/promisable": "^2.26.19",
13
+ "@xyo-network/archivist": "^2.27.0-rc.10",
14
+ "@xyo-network/module": "^2.27.0-rc.10",
15
+ "@xyo-network/payload": "^2.27.0-rc.10",
16
+ "@xyo-network/promisable": "^2.27.0-rc.10",
17
17
  "tslib": "^2.4.0"
18
18
  },
19
19
  "description": "Primary SDK for using XYO Protocol 2.0",
20
20
  "devDependencies": {
21
- "@xylabs/tsconfig": "^2.5.121"
21
+ "@xylabs/tsconfig": "^2.5.123"
22
22
  },
23
23
  "browser": "dist/esm/index.js",
24
24
  "docs": "dist/docs.json",
@@ -52,5 +52,6 @@
52
52
  },
53
53
  "sideEffects": false,
54
54
  "types": "dist/esm/index.d.ts",
55
- "version": "2.26.19"
55
+ "version": "2.27.0-rc.10",
56
+ "stableVersion": "2.26.19"
56
57
  }
package/src/Abstract.ts CHANGED
@@ -1,10 +1,39 @@
1
- import { XyoAbstractModule } from '@xyo-network/module'
1
+ import { XyoAbstractModule, XyoModuleQueryResult } from '@xyo-network/module'
2
+ import { XyoPayload, XyoPayloads } from '@xyo-network/payload'
3
+ import { Promisable } from '@xyo-network/promisable'
2
4
 
3
5
  import { XyoDivinerConfig } from './Config'
4
- import { XyoDiviner, XyoDivinerQueryPayload } from './Diviner'
6
+ import { Diviner } from './Diviner'
7
+ import { XyoDivinerDivineQuerySchema, XyoDivinerQueryPayload, XyoDivinerQuerySchema } from './Query'
8
+ import { XyoDiviner } from './XyoDiviner'
5
9
 
6
- export abstract class XyoAbstractDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload, C extends XyoDivinerConfig = XyoDivinerConfig>
7
- extends XyoAbstractModule<Q, C>
8
- implements XyoDiviner<Q> {}
10
+ export abstract class XyoAbstractDiviner<
11
+ TConfig extends XyoDivinerConfig = XyoDivinerConfig,
12
+ TQuerySchema extends string = XyoDivinerQuerySchema,
13
+ TQuery extends XyoDivinerQueryPayload = XyoDivinerQueryPayload,
14
+ >
15
+ extends XyoAbstractModule<TConfig, TQuery>
16
+ implements XyoDiviner<TQuery>, Diviner<Promisable<XyoPayload | null>>
17
+ {
18
+ abstract divine(payloads?: XyoPayloads): Promisable<XyoPayload | null>
9
19
 
10
- export abstract class XyoAbstractTimestampDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload> extends XyoAbstractDiviner<Q> {}
20
+ public override get queries(): (TQuerySchema | XyoDivinerQuerySchema)[] {
21
+ return [XyoDivinerDivineQuerySchema]
22
+ }
23
+
24
+ async query(query: XyoDivinerQueryPayload): Promise<XyoModuleQueryResult> {
25
+ if (!this.queries.find((schema) => schema === query.schema)) {
26
+ console.error(`Undeclared Module Query: ${query.schema}`)
27
+ }
28
+
29
+ const payloads: (XyoPayload | null)[] = []
30
+ switch (query.schema) {
31
+ case XyoDivinerDivineQuerySchema:
32
+ payloads.push(await this.divine(query.payloads))
33
+ break
34
+ }
35
+ return [this.bindPayloads(payloads), payloads]
36
+ }
37
+ }
38
+
39
+ export abstract class XyoAbstractTimestampDiviner<C extends XyoDivinerConfig = XyoDivinerConfig> extends XyoAbstractDiviner<C> {}