@xyo-network/diviner 2.24.6 → 2.24.7

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 (110) hide show
  1. package/dist/cjs/Diviner/Diviner.d.ts +4 -8
  2. package/dist/cjs/Diviner/Diviner.d.ts.map +1 -1
  3. package/dist/cjs/Diviner/Diviner.js +0 -7
  4. package/dist/cjs/Diviner/Diviner.js.map +1 -1
  5. package/dist/cjs/Diviner/Payload/Archivist/Diviner.d.ts +10 -0
  6. package/dist/cjs/Diviner/Payload/Archivist/Diviner.d.ts.map +1 -0
  7. package/dist/cjs/Diviner/Payload/Archivist/Diviner.js +24 -0
  8. package/dist/cjs/Diviner/Payload/Archivist/Diviner.js.map +1 -0
  9. package/dist/cjs/Diviner/Payload/Archivist/index.d.ts +2 -0
  10. package/dist/cjs/Diviner/Payload/Archivist/index.d.ts.map +1 -0
  11. package/dist/cjs/Diviner/Payload/Archivist/index.js +5 -0
  12. package/dist/cjs/Diviner/Payload/Archivist/index.js.map +1 -0
  13. package/dist/cjs/Diviner/Payload/Huri/Diviner.d.ts +10 -0
  14. package/dist/cjs/Diviner/Payload/Huri/Diviner.d.ts.map +1 -0
  15. package/dist/cjs/Diviner/Payload/Huri/Diviner.js +23 -0
  16. package/dist/cjs/Diviner/Payload/Huri/Diviner.js.map +1 -0
  17. package/dist/cjs/Diviner/Payload/Huri/index.d.ts +2 -0
  18. package/dist/cjs/Diviner/Payload/Huri/index.d.ts.map +1 -0
  19. package/dist/cjs/Diviner/Payload/Huri/index.js +5 -0
  20. package/dist/cjs/Diviner/Payload/Huri/index.js.map +1 -0
  21. package/dist/cjs/Diviner/Payload/XyoPayloadDiviner.d.ts +6 -0
  22. package/dist/cjs/Diviner/Payload/XyoPayloadDiviner.d.ts.map +1 -0
  23. package/dist/cjs/Diviner/Payload/XyoPayloadDiviner.js +8 -0
  24. package/dist/cjs/Diviner/Payload/XyoPayloadDiviner.js.map +1 -0
  25. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.d.ts +11 -0
  26. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.d.ts.map +1 -0
  27. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.js +5 -0
  28. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.js.map +1 -0
  29. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerQueryPayload.d.ts +8 -0
  30. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerQueryPayload.d.ts.map +1 -0
  31. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerQueryPayload.js +5 -0
  32. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerQueryPayload.js.map +1 -0
  33. package/dist/cjs/Diviner/Payload/index.d.ts +6 -0
  34. package/dist/cjs/Diviner/Payload/index.d.ts.map +1 -0
  35. package/dist/cjs/Diviner/Payload/index.js +9 -0
  36. package/dist/cjs/Diviner/Payload/index.js.map +1 -0
  37. package/dist/cjs/Diviner/Payload/lib/index.d.ts +2 -0
  38. package/dist/cjs/Diviner/Payload/lib/index.d.ts.map +1 -0
  39. package/dist/cjs/Diviner/Payload/lib/index.js +5 -0
  40. package/dist/cjs/Diviner/Payload/lib/index.js.map +1 -0
  41. package/dist/cjs/Diviner/Payload/lib/profile.d.ts +2 -0
  42. package/dist/cjs/Diviner/Payload/lib/profile.d.ts.map +1 -0
  43. package/dist/cjs/Diviner/Payload/lib/profile.js +12 -0
  44. package/dist/cjs/Diviner/Payload/lib/profile.js.map +1 -0
  45. package/dist/cjs/Diviner/index.d.ts +1 -0
  46. package/dist/cjs/Diviner/index.d.ts.map +1 -1
  47. package/dist/cjs/Diviner/index.js +1 -0
  48. package/dist/cjs/Diviner/index.js.map +1 -1
  49. package/dist/docs.json +1401 -330
  50. package/dist/esm/Diviner/Diviner.d.ts +4 -8
  51. package/dist/esm/Diviner/Diviner.d.ts.map +1 -1
  52. package/dist/esm/Diviner/Diviner.js +0 -7
  53. package/dist/esm/Diviner/Diviner.js.map +1 -1
  54. package/dist/esm/Diviner/Payload/Archivist/Diviner.d.ts +10 -0
  55. package/dist/esm/Diviner/Payload/Archivist/Diviner.d.ts.map +1 -0
  56. package/dist/esm/Diviner/Payload/Archivist/Diviner.js +17 -0
  57. package/dist/esm/Diviner/Payload/Archivist/Diviner.js.map +1 -0
  58. package/dist/esm/Diviner/Payload/Archivist/index.d.ts +2 -0
  59. package/dist/esm/Diviner/Payload/Archivist/index.d.ts.map +1 -0
  60. package/dist/esm/Diviner/Payload/Archivist/index.js +2 -0
  61. package/dist/esm/Diviner/Payload/Archivist/index.js.map +1 -0
  62. package/dist/esm/Diviner/Payload/Huri/Diviner.d.ts +10 -0
  63. package/dist/esm/Diviner/Payload/Huri/Diviner.d.ts.map +1 -0
  64. package/dist/esm/Diviner/Payload/Huri/Diviner.js +17 -0
  65. package/dist/esm/Diviner/Payload/Huri/Diviner.js.map +1 -0
  66. package/dist/esm/Diviner/Payload/Huri/index.d.ts +2 -0
  67. package/dist/esm/Diviner/Payload/Huri/index.d.ts.map +1 -0
  68. package/dist/esm/Diviner/Payload/Huri/index.js +2 -0
  69. package/dist/esm/Diviner/Payload/Huri/index.js.map +1 -0
  70. package/dist/esm/Diviner/Payload/XyoPayloadDiviner.d.ts +6 -0
  71. package/dist/esm/Diviner/Payload/XyoPayloadDiviner.d.ts.map +1 -0
  72. package/dist/esm/Diviner/Payload/XyoPayloadDiviner.js +4 -0
  73. package/dist/esm/Diviner/Payload/XyoPayloadDiviner.js.map +1 -0
  74. package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.d.ts +11 -0
  75. package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.d.ts.map +1 -0
  76. package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.js +2 -0
  77. package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.js.map +1 -0
  78. package/dist/esm/Diviner/Payload/XyoPayloadDivinerQueryPayload.d.ts +8 -0
  79. package/dist/esm/Diviner/Payload/XyoPayloadDivinerQueryPayload.d.ts.map +1 -0
  80. package/dist/esm/Diviner/Payload/XyoPayloadDivinerQueryPayload.js +2 -0
  81. package/dist/esm/Diviner/Payload/XyoPayloadDivinerQueryPayload.js.map +1 -0
  82. package/dist/esm/Diviner/Payload/index.d.ts +6 -0
  83. package/dist/esm/Diviner/Payload/index.d.ts.map +1 -0
  84. package/dist/esm/Diviner/Payload/index.js +6 -0
  85. package/dist/esm/Diviner/Payload/index.js.map +1 -0
  86. package/dist/esm/Diviner/Payload/lib/index.d.ts +2 -0
  87. package/dist/esm/Diviner/Payload/lib/index.d.ts.map +1 -0
  88. package/dist/esm/Diviner/Payload/lib/index.js +2 -0
  89. package/dist/esm/Diviner/Payload/lib/index.js.map +1 -0
  90. package/dist/esm/Diviner/Payload/lib/profile.d.ts +2 -0
  91. package/dist/esm/Diviner/Payload/lib/profile.d.ts.map +1 -0
  92. package/dist/esm/Diviner/Payload/lib/profile.js +7 -0
  93. package/dist/esm/Diviner/Payload/lib/profile.js.map +1 -0
  94. package/dist/esm/Diviner/index.d.ts +1 -0
  95. package/dist/esm/Diviner/index.d.ts.map +1 -1
  96. package/dist/esm/Diviner/index.js +1 -0
  97. package/dist/esm/Diviner/index.js.map +1 -1
  98. package/package.json +3 -2
  99. package/src/Diviner/Diviner.ts +5 -15
  100. package/src/Diviner/Payload/Archivist/Diviner.ts +22 -0
  101. package/src/Diviner/Payload/Archivist/index.ts +1 -0
  102. package/src/Diviner/Payload/Huri/Diviner.ts +21 -0
  103. package/src/Diviner/Payload/Huri/index.ts +1 -0
  104. package/src/Diviner/Payload/XyoPayloadDiviner.ts +9 -0
  105. package/src/Diviner/Payload/XyoPayloadDivinerPayload.ts +12 -0
  106. package/src/Diviner/Payload/XyoPayloadDivinerQueryPayload.ts +9 -0
  107. package/src/Diviner/Payload/index.ts +5 -0
  108. package/src/Diviner/Payload/lib/index.ts +1 -0
  109. package/src/Diviner/Payload/lib/profile.ts +6 -0
  110. package/src/Diviner/index.ts +1 -0
@@ -1,13 +1,9 @@
1
1
  import { WithTimestamp, XyoPayload, XyoQueryPayload } from '@xyo-network/payload';
2
- export interface XyoDiviner<TTargetPayload extends XyoPayload = XyoPayload> {
3
- targetSchema: string;
4
- divine(fields?: Partial<TTargetPayload>): Promise<TTargetPayload>;
2
+ export interface XyoDiviner<TPayload extends XyoPayload = XyoPayload, TQueryPayload extends XyoQueryPayload = XyoQueryPayload> {
3
+ divine(query: TQueryPayload): Promise<TPayload>;
5
4
  }
6
- export declare abstract class XyoAbstractDiviner<TTargetPayload extends XyoPayload = XyoPayload, TQueryPayload extends XyoQueryPayload = XyoQueryPayload> implements XyoDiviner<TTargetPayload> {
7
- readonly query: TQueryPayload;
8
- constructor(query: TQueryPayload);
9
- get targetSchema(): string;
10
- abstract divine(fields?: Partial<TTargetPayload>): Promise<TTargetPayload>;
5
+ export declare abstract class XyoAbstractDiviner<TPayload extends XyoPayload = XyoPayload, TQueryPayload extends XyoQueryPayload = XyoQueryPayload> implements XyoDiviner<TPayload> {
6
+ abstract divine(query: TQueryPayload): Promise<TPayload>;
11
7
  }
12
8
  export declare abstract class XyoAbstractTimestampDiviner<TTargetPayload extends WithTimestamp<XyoPayload> = WithTimestamp<XyoPayload>, TQueryPayload extends XyoQueryPayload = XyoQueryPayload> extends XyoAbstractDiviner<TTargetPayload, TQueryPayload> {
13
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEjF,MAAM,WAAW,UAAU,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU;IACxE,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAClE;AAED,8BAAsB,kBAAkB,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,EAAE,aAAa,SAAS,eAAe,GAAG,eAAe,CAC9I,YAAW,UAAU,CAAC,cAAc,CAAC;IAErC,SAAgB,KAAK,EAAE,aAAa,CAAA;gBACxB,KAAK,EAAE,aAAa;IAIhC,IAAI,YAAY,WAEf;IAED,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAC3E;AAED,8BAAsB,2BAA2B,CAC/C,cAAc,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,EAC5E,aAAa,SAAS,eAAe,GAAG,eAAe,CACvD,SAAQ,kBAAkB,CAAC,cAAc,EAAE,aAAa,CAAC;CAAG"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEjF,MAAM,WAAW,UAAU,CAAC,QAAQ,SAAS,UAAU,GAAG,UAAU,EAAE,aAAa,SAAS,eAAe,GAAG,eAAe;IAC3H,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAChD;AAED,8BAAsB,kBAAkB,CAAC,QAAQ,SAAS,UAAU,GAAG,UAAU,EAAE,aAAa,SAAS,eAAe,GAAG,eAAe,CACxI,YAAW,UAAU,CAAC,QAAQ,CAAC;IAE/B,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;CACzD;AAED,8BAAsB,2BAA2B,CAC/C,cAAc,SAAS,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,EAC5E,aAAa,SAAS,eAAe,GAAG,eAAe,CACvD,SAAQ,kBAAkB,CAAC,cAAc,EAAE,aAAa,CAAC;CAAG"}
@@ -1,11 +1,4 @@
1
1
  export class XyoAbstractDiviner {
2
- query;
3
- constructor(query) {
4
- this.query = query;
5
- }
6
- get targetSchema() {
7
- return this.query.targetSchema ?? 'network.xyo.payload';
8
- }
9
2
  }
10
3
  export class XyoAbstractTimestampDiviner extends XyoAbstractDiviner {
11
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAOA,MAAM,OAAgB,kBAAkB;IAGtB,KAAK,CAAe;IACpC,YAAY,KAAoB;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,qBAAqB,CAAA;IACzD,CAAC;CAGF;AAED,MAAM,OAAgB,2BAGpB,SAAQ,kBAAiD;CAAG"}
1
+ {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAMA,MAAM,OAAgB,kBAAkB;CAIvC;AAED,MAAM,OAAgB,2BAGpB,SAAQ,kBAAiD;CAAG"}
@@ -0,0 +1,10 @@
1
+ import { XyoArchivist } from '@xyo-network/archivist';
2
+ import { XyoAbstractDiviner } from '../../Diviner';
3
+ import { XyoPayloadDivinerPayload } from '../XyoPayloadDivinerPayload';
4
+ import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload';
5
+ export declare class XyoArchivistPayloadDiviner extends XyoAbstractDiviner<XyoPayloadDivinerPayload, XyoPayloadDivinerQueryPayload> {
6
+ protected archivist: XyoArchivist;
7
+ constructor(archivist: XyoArchivist);
8
+ divine(query: XyoPayloadDivinerQueryPayload): Promise<XyoPayloadDivinerPayload>;
9
+ }
10
+ //# sourceMappingURL=Diviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,wBAAwB,EAAkC,MAAM,6BAA6B,CAAA;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAEhF,qBAAa,0BAA2B,SAAQ,kBAAkB,CAAC,wBAAwB,EAAE,6BAA6B,CAAC;IACzH,SAAS,CAAC,SAAS,EAAE,YAAY,CAAA;gBAErB,SAAS,EAAE,YAAY;IAKpB,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAK/F"}
@@ -0,0 +1,17 @@
1
+ import { Huri } from '@xyo-network/payload';
2
+ import { XyoAbstractDiviner } from '../../Diviner';
3
+ import { profile } from '../lib';
4
+ import { XyoPayloadDivinerPayloadSchema } from '../XyoPayloadDivinerPayload';
5
+ export class XyoArchivistPayloadDiviner extends XyoAbstractDiviner {
6
+ archivist;
7
+ constructor(archivist) {
8
+ super();
9
+ this.archivist = archivist;
10
+ }
11
+ async divine(query) {
12
+ const huri = new Huri(query.huri);
13
+ const [payload = [], duration] = await profile(async () => await this.archivist.get([huri.hash]));
14
+ return { duration, payload: payload.pop() ?? null, schema: XyoPayloadDivinerPayloadSchema };
15
+ }
16
+ }
17
+ //# sourceMappingURL=Diviner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAA4B,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AAGtG,MAAM,OAAO,0BAA2B,SAAQ,kBAA2E;IAC/G,SAAS,CAAc;IAEjC,YAAY,SAAuB;QACjC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,KAAoC;QACxD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAA;IAC7F,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './Diviner';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Diviner';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { HuriOptions } from '@xyo-network/payload';
2
+ import { XyoAbstractDiviner } from '../../Diviner';
3
+ import { XyoPayloadDivinerPayload } from '../XyoPayloadDivinerPayload';
4
+ import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload';
5
+ export declare class XyoHuriPayloadDiviner extends XyoAbstractDiviner<XyoPayloadDivinerPayload, XyoPayloadDivinerQueryPayload> {
6
+ protected options: HuriOptions;
7
+ constructor(options: HuriOptions);
8
+ divine(query: XyoPayloadDivinerQueryPayload): Promise<XyoPayloadDivinerPayload>;
9
+ }
10
+ //# sourceMappingURL=Diviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,wBAAwB,EAAkC,MAAM,6BAA6B,CAAA;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAEhF,qBAAa,qBAAsB,SAAQ,kBAAkB,CAAC,wBAAwB,EAAE,6BAA6B,CAAC;IACpH,SAAS,CAAC,OAAO,EAAE,WAAW,CAAA;gBAElB,OAAO,EAAE,WAAW;IAKjB,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAK/F"}
@@ -0,0 +1,17 @@
1
+ import { Huri } from '@xyo-network/payload';
2
+ import { XyoAbstractDiviner } from '../../Diviner';
3
+ import { profile } from '../lib';
4
+ import { XyoPayloadDivinerPayloadSchema } from '../XyoPayloadDivinerPayload';
5
+ export class XyoHuriPayloadDiviner extends XyoAbstractDiviner {
6
+ options;
7
+ constructor(options) {
8
+ super();
9
+ this.options = options;
10
+ }
11
+ async divine(query) {
12
+ const huri = new Huri(query.huri, this.options);
13
+ const [payload = null, duration] = await profile(huri.fetch);
14
+ return { duration, payload, schema: XyoPayloadDivinerPayloadSchema };
15
+ }
16
+ }
17
+ //# sourceMappingURL=Diviner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAA4B,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AAGtG,MAAM,OAAO,qBAAsB,SAAQ,kBAA2E;IAC1G,OAAO,CAAa;IAE9B,YAAY,OAAoB;QAC9B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,KAAoC;QACxD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAA;IACtE,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './Diviner';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Huri/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Diviner';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Huri/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { XyoPayload } from '@xyo-network/payload';
2
+ import { XyoAbstractDiviner } from '../Diviner';
3
+ import { XyoPayloadDivinerQueryPayload } from './XyoPayloadDivinerQueryPayload';
4
+ export declare abstract class XyoPayloadDiviner<TTargetPayload extends XyoPayload = XyoPayload, TQueryPayload extends XyoPayloadDivinerQueryPayload = XyoPayloadDivinerQueryPayload> extends XyoAbstractDiviner<TTargetPayload, TQueryPayload> {
5
+ }
6
+ //# sourceMappingURL=XyoPayloadDiviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoPayloadDiviner.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAE/E,8BAAsB,iBAAiB,CACrC,cAAc,SAAS,UAAU,GAAG,UAAU,EAC9C,aAAa,SAAS,6BAA6B,GAAG,6BAA6B,CACnF,SAAQ,kBAAkB,CAAC,cAAc,EAAE,aAAa,CAAC;CAAG"}
@@ -0,0 +1,4 @@
1
+ import { XyoAbstractDiviner } from '../Diviner';
2
+ export class XyoPayloadDiviner extends XyoAbstractDiviner {
3
+ }
4
+ //# sourceMappingURL=XyoPayloadDiviner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoPayloadDiviner.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAG/C,MAAM,OAAgB,iBAGpB,SAAQ,kBAAiD;CAAG"}
@@ -0,0 +1,11 @@
1
+ import { XyoPayload } from '@xyo-network/payload';
2
+ export declare type XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload';
3
+ export declare const XyoPayloadDivinerPayloadSchema: XyoPayloadDivinerPayloadSchema;
4
+ export declare type XyoPayloadDivinerPayload<T extends XyoPayload = XyoPayload> = XyoPayload<{
5
+ schema: XyoPayloadDivinerPayloadSchema;
6
+ /** @field payload returned or null */
7
+ payload: T | null;
8
+ /** @field duration of the call in ms */
9
+ duration?: number;
10
+ }>;
11
+ //# sourceMappingURL=XyoPayloadDivinerPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoPayloadDivinerPayload.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,8BAA8B,GAAG,6BAA6B,CAAA;AAC1E,eAAO,MAAM,8BAA8B,EAAE,8BAA8D,CAAA;AAE3G,oBAAY,wBAAwB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC;IACnF,MAAM,EAAE,8BAA8B,CAAA;IACtC,sCAAsC;IACtC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;IACjB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload';
2
+ //# sourceMappingURL=XyoPayloadDivinerPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoPayloadDivinerPayload.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerPayload.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,8BAA8B,GAAmC,6BAA6B,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { XyoQueryPayload } from '@xyo-network/payload';
2
+ export declare type XyoPayloadDivinerQueryPayloadSchema = 'network.xyo.diviner.payload.query';
3
+ export declare const XyoPayloadDivinerQueryPayloadSchema: XyoPayloadDivinerQueryPayloadSchema;
4
+ export declare type XyoPayloadDivinerQueryPayload = XyoQueryPayload<{
5
+ schema: XyoPayloadDivinerQueryPayloadSchema;
6
+ huri: string;
7
+ }>;
8
+ //# sourceMappingURL=XyoPayloadDivinerQueryPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoPayloadDivinerQueryPayload.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerQueryPayload.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,MAAM,EAAE,mCAAmC,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const XyoPayloadDivinerQueryPayloadSchema = 'network.xyo.diviner.payload.query';
2
+ //# sourceMappingURL=XyoPayloadDivinerQueryPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoPayloadDivinerQueryPayload.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerQueryPayload.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mCAAmC,GAAwC,mCAAmC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './Archivist';
2
+ export * from './Huri';
3
+ export * from './XyoPayloadDiviner';
4
+ export * from './XyoPayloadDivinerPayload';
5
+ export * from './XyoPayloadDivinerQueryPayload';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/Payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './Archivist';
2
+ export * from './Huri';
3
+ export * from './XyoPayloadDiviner';
4
+ export * from './XyoPayloadDivinerPayload';
5
+ export * from './XyoPayloadDivinerQueryPayload';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iCAAiC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './profile';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './profile';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const profile: <T>(func: () => Promise<T>) => Promise<[T, number]>;
2
+ //# sourceMappingURL=profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/lib/profile.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,qDAKnB,CAAA"}
@@ -0,0 +1,7 @@
1
+ export const profile = async (func) => {
2
+ const start = Date.now();
3
+ const result = await func();
4
+ const duration = Date.now() - start;
5
+ return [result, duration];
6
+ };
7
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/lib/profile.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAK,IAAsB,EAAwB,EAAE;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACxB,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;IACnC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAC3B,CAAC,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export * from './Diviner';
2
+ export * from './Payload';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export * from './Diviner';
2
+ export * from './Payload';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
package/package.json CHANGED
@@ -10,7 +10,8 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/payload": "^2.24.6"
13
+ "@xyo-network/archivist": "^2.24.7",
14
+ "@xyo-network/payload": "^2.24.7"
14
15
  },
15
16
  "description": "Primary SDK for using XYO Protocol 2.0",
16
17
  "devDependencies": {
@@ -49,6 +50,6 @@
49
50
  },
50
51
  "sideEffects": false,
51
52
  "types": "dist/esm/index.d.ts",
52
- "version": "2.24.6",
53
+ "version": "2.24.7",
53
54
  "packageManager": "yarn@3.1.1"
54
55
  }
@@ -1,23 +1,13 @@
1
1
  import { WithTimestamp, XyoPayload, XyoQueryPayload } from '@xyo-network/payload'
2
2
 
3
- export interface XyoDiviner<TTargetPayload extends XyoPayload = XyoPayload> {
4
- targetSchema: string
5
- divine(fields?: Partial<TTargetPayload>): Promise<TTargetPayload>
3
+ export interface XyoDiviner<TPayload extends XyoPayload = XyoPayload, TQueryPayload extends XyoQueryPayload = XyoQueryPayload> {
4
+ divine(query: TQueryPayload): Promise<TPayload>
6
5
  }
7
6
 
8
- export abstract class XyoAbstractDiviner<TTargetPayload extends XyoPayload = XyoPayload, TQueryPayload extends XyoQueryPayload = XyoQueryPayload>
9
- implements XyoDiviner<TTargetPayload>
7
+ export abstract class XyoAbstractDiviner<TPayload extends XyoPayload = XyoPayload, TQueryPayload extends XyoQueryPayload = XyoQueryPayload>
8
+ implements XyoDiviner<TPayload>
10
9
  {
11
- public readonly query: TQueryPayload
12
- constructor(query: TQueryPayload) {
13
- this.query = query
14
- }
15
-
16
- get targetSchema() {
17
- return this.query.targetSchema ?? 'network.xyo.payload'
18
- }
19
-
20
- abstract divine(fields?: Partial<TTargetPayload>): Promise<TTargetPayload>
10
+ abstract divine(query: TQueryPayload): Promise<TPayload>
21
11
  }
22
12
 
23
13
  export abstract class XyoAbstractTimestampDiviner<
@@ -0,0 +1,22 @@
1
+ import { XyoArchivist } from '@xyo-network/archivist'
2
+ import { Huri } from '@xyo-network/payload'
3
+
4
+ import { XyoAbstractDiviner } from '../../Diviner'
5
+ import { profile } from '../lib'
6
+ import { XyoPayloadDivinerPayload, XyoPayloadDivinerPayloadSchema } from '../XyoPayloadDivinerPayload'
7
+ import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload'
8
+
9
+ export class XyoArchivistPayloadDiviner extends XyoAbstractDiviner<XyoPayloadDivinerPayload, XyoPayloadDivinerQueryPayload> {
10
+ protected archivist: XyoArchivist
11
+
12
+ constructor(archivist: XyoArchivist) {
13
+ super()
14
+ this.archivist = archivist
15
+ }
16
+
17
+ override async divine(query: XyoPayloadDivinerQueryPayload): Promise<XyoPayloadDivinerPayload> {
18
+ const huri = new Huri(query.huri)
19
+ const [payload = [], duration] = await profile(async () => await this.archivist.get([huri.hash]))
20
+ return { duration, payload: payload.pop() ?? null, schema: XyoPayloadDivinerPayloadSchema }
21
+ }
22
+ }
@@ -0,0 +1 @@
1
+ export * from './Diviner'
@@ -0,0 +1,21 @@
1
+ import { Huri, HuriOptions } from '@xyo-network/payload'
2
+
3
+ import { XyoAbstractDiviner } from '../../Diviner'
4
+ import { profile } from '../lib'
5
+ import { XyoPayloadDivinerPayload, XyoPayloadDivinerPayloadSchema } from '../XyoPayloadDivinerPayload'
6
+ import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload'
7
+
8
+ export class XyoHuriPayloadDiviner extends XyoAbstractDiviner<XyoPayloadDivinerPayload, XyoPayloadDivinerQueryPayload> {
9
+ protected options: HuriOptions
10
+
11
+ constructor(options: HuriOptions) {
12
+ super()
13
+ this.options = options
14
+ }
15
+
16
+ override async divine(query: XyoPayloadDivinerQueryPayload): Promise<XyoPayloadDivinerPayload> {
17
+ const huri = new Huri(query.huri, this.options)
18
+ const [payload = null, duration] = await profile(huri.fetch)
19
+ return { duration, payload, schema: XyoPayloadDivinerPayloadSchema }
20
+ }
21
+ }
@@ -0,0 +1 @@
1
+ export * from './Diviner'
@@ -0,0 +1,9 @@
1
+ import { XyoPayload } from '@xyo-network/payload'
2
+
3
+ import { XyoAbstractDiviner } from '../Diviner'
4
+ import { XyoPayloadDivinerQueryPayload } from './XyoPayloadDivinerQueryPayload'
5
+
6
+ export abstract class XyoPayloadDiviner<
7
+ TTargetPayload extends XyoPayload = XyoPayload,
8
+ TQueryPayload extends XyoPayloadDivinerQueryPayload = XyoPayloadDivinerQueryPayload
9
+ > extends XyoAbstractDiviner<TTargetPayload, TQueryPayload> {}
@@ -0,0 +1,12 @@
1
+ import { XyoPayload } from '@xyo-network/payload'
2
+
3
+ export type XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload'
4
+ export const XyoPayloadDivinerPayloadSchema: XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload'
5
+
6
+ export type XyoPayloadDivinerPayload<T extends XyoPayload = XyoPayload> = XyoPayload<{
7
+ schema: XyoPayloadDivinerPayloadSchema
8
+ /** @field payload returned or null */
9
+ payload: T | null
10
+ /** @field duration of the call in ms */
11
+ duration?: number
12
+ }>
@@ -0,0 +1,9 @@
1
+ import { XyoQueryPayload } from '@xyo-network/payload'
2
+
3
+ export type XyoPayloadDivinerQueryPayloadSchema = 'network.xyo.diviner.payload.query'
4
+ export const XyoPayloadDivinerQueryPayloadSchema: XyoPayloadDivinerQueryPayloadSchema = 'network.xyo.diviner.payload.query'
5
+
6
+ export type XyoPayloadDivinerQueryPayload = XyoQueryPayload<{
7
+ schema: XyoPayloadDivinerQueryPayloadSchema
8
+ huri: string
9
+ }>
@@ -0,0 +1,5 @@
1
+ export * from './Archivist'
2
+ export * from './Huri'
3
+ export * from './XyoPayloadDiviner'
4
+ export * from './XyoPayloadDivinerPayload'
5
+ export * from './XyoPayloadDivinerQueryPayload'
@@ -0,0 +1 @@
1
+ export * from './profile'
@@ -0,0 +1,6 @@
1
+ export const profile = async <T>(func: () => Promise<T>): Promise<[T, number]> => {
2
+ const start = Date.now()
3
+ const result = await func()
4
+ const duration = Date.now() - start
5
+ return [result, duration]
6
+ }
@@ -1 +1,2 @@
1
1
  export * from './Diviner'
2
+ export * from './Payload'