@xyo-network/diviner 2.25.2 → 2.26.0

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 (206) hide show
  1. package/dist/cjs/Abstract.d.ts +11 -0
  2. package/dist/cjs/Abstract.d.ts.map +1 -0
  3. package/dist/cjs/Abstract.js +11 -0
  4. package/dist/cjs/Abstract.js.map +1 -0
  5. package/dist/cjs/Diviner/Diviner.d.ts +7 -3
  6. package/dist/cjs/Diviner/Diviner.d.ts.map +1 -1
  7. package/dist/cjs/Diviner/Diviner.js +4 -1
  8. package/dist/cjs/Diviner/Diviner.js.map +1 -1
  9. package/dist/cjs/Diviner/Payload/Archivist/Diviner.js +1 -1
  10. package/dist/cjs/Diviner/Payload/Archivist/Diviner.js.map +1 -1
  11. package/dist/cjs/Diviner/Payload/Huri/Diviner.js +1 -1
  12. package/dist/cjs/Diviner/Payload/Huri/Diviner.js.map +1 -1
  13. package/dist/cjs/Diviner/Payload/index.d.ts +0 -1
  14. package/dist/cjs/Diviner/Payload/index.d.ts.map +1 -1
  15. package/dist/cjs/Diviner/Payload/index.js +0 -1
  16. package/dist/cjs/Diviner/Payload/index.js.map +1 -1
  17. package/dist/cjs/Diviner/Sequence/XyoSequenceDiviner.d.ts +8 -0
  18. package/dist/cjs/Diviner/Sequence/XyoSequenceDiviner.d.ts.map +1 -0
  19. package/dist/cjs/Diviner/Sequence/XyoSequenceDiviner.js +11 -0
  20. package/dist/cjs/Diviner/Sequence/XyoSequenceDiviner.js.map +1 -0
  21. package/dist/cjs/Diviner/Sequence/XyoSequenceDivinerQueryPayload.d.ts +9 -0
  22. package/dist/cjs/Diviner/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +1 -0
  23. package/dist/cjs/Diviner/Sequence/XyoSequenceDivinerQueryPayload.js +5 -0
  24. package/dist/cjs/Diviner/Sequence/XyoSequenceDivinerQueryPayload.js.map +1 -0
  25. package/dist/cjs/Diviner/Sequence/index.d.ts +2 -0
  26. package/dist/cjs/Diviner/Sequence/index.d.ts.map +1 -0
  27. package/dist/cjs/Diviner/Sequence/index.js +5 -0
  28. package/dist/cjs/Diviner/Sequence/index.js.map +1 -0
  29. package/dist/cjs/Diviner/index.d.ts +1 -0
  30. package/dist/cjs/Diviner/index.d.ts.map +1 -1
  31. package/dist/cjs/Diviner/index.js +1 -0
  32. package/dist/cjs/Diviner/index.js.map +1 -1
  33. package/dist/cjs/Diviner.d.ts +5 -0
  34. package/dist/cjs/Diviner.d.ts.map +1 -0
  35. package/dist/cjs/Diviner.js +3 -0
  36. package/dist/cjs/Diviner.js.map +1 -0
  37. package/dist/cjs/Payload/Archivist/Diviner.d.ts +12 -0
  38. package/dist/cjs/Payload/Archivist/Diviner.d.ts.map +1 -0
  39. package/dist/cjs/Payload/Archivist/Diviner.js +23 -0
  40. package/dist/cjs/Payload/Archivist/Diviner.js.map +1 -0
  41. package/dist/cjs/Payload/Archivist/index.d.ts +2 -0
  42. package/dist/cjs/Payload/Archivist/index.d.ts.map +1 -0
  43. package/dist/cjs/Payload/Archivist/index.js +5 -0
  44. package/dist/cjs/Payload/Archivist/index.js.map +1 -0
  45. package/dist/cjs/Payload/Huri/Diviner.d.ts +20 -0
  46. package/dist/cjs/Payload/Huri/Diviner.d.ts.map +1 -0
  47. package/dist/cjs/Payload/Huri/Diviner.js +22 -0
  48. package/dist/cjs/Payload/Huri/Diviner.js.map +1 -0
  49. package/dist/cjs/Payload/Huri/index.d.ts +2 -0
  50. package/dist/cjs/Payload/Huri/index.d.ts.map +1 -0
  51. package/dist/cjs/Payload/Huri/index.js +5 -0
  52. package/dist/cjs/Payload/Huri/index.js.map +1 -0
  53. package/dist/cjs/Payload/XyoPayloadDiviner.d.ts +5 -0
  54. package/dist/cjs/Payload/XyoPayloadDiviner.d.ts.map +1 -0
  55. package/dist/cjs/Payload/XyoPayloadDiviner.js +8 -0
  56. package/dist/cjs/Payload/XyoPayloadDiviner.js.map +1 -0
  57. package/dist/cjs/Payload/XyoPayloadDivinerQueryPayload.d.ts +7 -0
  58. package/dist/cjs/Payload/XyoPayloadDivinerQueryPayload.d.ts.map +1 -0
  59. package/dist/cjs/Payload/XyoPayloadDivinerQueryPayload.js +5 -0
  60. package/dist/cjs/Payload/XyoPayloadDivinerQueryPayload.js.map +1 -0
  61. package/dist/cjs/Payload/index.d.ts +5 -0
  62. package/dist/cjs/Payload/index.d.ts.map +1 -0
  63. package/dist/cjs/Payload/index.js +8 -0
  64. package/dist/cjs/Payload/index.js.map +1 -0
  65. package/dist/cjs/Payload/lib/index.d.ts +2 -0
  66. package/dist/cjs/Payload/lib/index.d.ts.map +1 -0
  67. package/dist/cjs/Payload/lib/index.js +5 -0
  68. package/dist/cjs/Payload/lib/index.js.map +1 -0
  69. package/dist/cjs/Payload/lib/profile.d.ts +2 -0
  70. package/dist/cjs/Payload/lib/profile.d.ts.map +1 -0
  71. package/dist/cjs/Payload/lib/profile.js +12 -0
  72. package/dist/cjs/Payload/lib/profile.js.map +1 -0
  73. package/dist/cjs/Sequence/XyoSequenceDiviner.d.ts +8 -0
  74. package/dist/cjs/Sequence/XyoSequenceDiviner.d.ts.map +1 -0
  75. package/dist/cjs/Sequence/XyoSequenceDiviner.js +11 -0
  76. package/dist/cjs/Sequence/XyoSequenceDiviner.js.map +1 -0
  77. package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.d.ts +9 -0
  78. package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +1 -0
  79. package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.js +5 -0
  80. package/dist/cjs/Sequence/XyoSequenceDivinerQueryPayload.js.map +1 -0
  81. package/dist/cjs/Sequence/index.d.ts +2 -0
  82. package/dist/cjs/Sequence/index.d.ts.map +1 -0
  83. package/dist/cjs/Sequence/index.js +5 -0
  84. package/dist/cjs/Sequence/index.js.map +1 -0
  85. package/dist/cjs/index.d.ts +3 -0
  86. package/dist/cjs/index.d.ts.map +1 -1
  87. package/dist/cjs/index.js +3 -0
  88. package/dist/cjs/index.js.map +1 -1
  89. package/dist/docs.json +1707 -700
  90. package/dist/esm/Abstract.d.ts +11 -0
  91. package/dist/esm/Abstract.d.ts.map +1 -0
  92. package/dist/esm/Abstract.js +6 -0
  93. package/dist/esm/Abstract.js.map +1 -0
  94. package/dist/esm/Diviner/Diviner.d.ts +7 -3
  95. package/dist/esm/Diviner/Diviner.d.ts.map +1 -1
  96. package/dist/esm/Diviner/Diviner.js +4 -1
  97. package/dist/esm/Diviner/Diviner.js.map +1 -1
  98. package/dist/esm/Diviner/Payload/Archivist/Diviner.js +1 -1
  99. package/dist/esm/Diviner/Payload/Archivist/Diviner.js.map +1 -1
  100. package/dist/esm/Diviner/Payload/Huri/Diviner.js +1 -1
  101. package/dist/esm/Diviner/Payload/Huri/Diviner.js.map +1 -1
  102. package/dist/esm/Diviner/Payload/index.d.ts +0 -1
  103. package/dist/esm/Diviner/Payload/index.d.ts.map +1 -1
  104. package/dist/esm/Diviner/Payload/index.js +0 -1
  105. package/dist/esm/Diviner/Payload/index.js.map +1 -1
  106. package/dist/esm/Diviner/Sequence/XyoSequenceDiviner.d.ts +8 -0
  107. package/dist/esm/Diviner/Sequence/XyoSequenceDiviner.d.ts.map +1 -0
  108. package/dist/esm/Diviner/Sequence/XyoSequenceDiviner.js +7 -0
  109. package/dist/esm/Diviner/Sequence/XyoSequenceDiviner.js.map +1 -0
  110. package/dist/esm/Diviner/Sequence/XyoSequenceDivinerQueryPayload.d.ts +9 -0
  111. package/dist/esm/Diviner/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +1 -0
  112. package/dist/esm/Diviner/Sequence/XyoSequenceDivinerQueryPayload.js +2 -0
  113. package/dist/esm/Diviner/Sequence/XyoSequenceDivinerQueryPayload.js.map +1 -0
  114. package/dist/esm/Diviner/Sequence/index.d.ts +2 -0
  115. package/dist/esm/Diviner/Sequence/index.d.ts.map +1 -0
  116. package/dist/esm/Diviner/Sequence/index.js +2 -0
  117. package/dist/esm/Diviner/Sequence/index.js.map +1 -0
  118. package/dist/esm/Diviner/index.d.ts +1 -0
  119. package/dist/esm/Diviner/index.d.ts.map +1 -1
  120. package/dist/esm/Diviner/index.js +1 -0
  121. package/dist/esm/Diviner/index.js.map +1 -1
  122. package/dist/esm/Diviner.d.ts +5 -0
  123. package/dist/esm/Diviner.d.ts.map +1 -0
  124. package/dist/esm/Diviner.js +2 -0
  125. package/dist/esm/Diviner.js.map +1 -0
  126. package/dist/esm/Payload/Archivist/Diviner.d.ts +12 -0
  127. package/dist/esm/Payload/Archivist/Diviner.d.ts.map +1 -0
  128. package/dist/esm/Payload/Archivist/Diviner.js +17 -0
  129. package/dist/esm/Payload/Archivist/Diviner.js.map +1 -0
  130. package/dist/esm/Payload/Archivist/index.d.ts +2 -0
  131. package/dist/esm/Payload/Archivist/index.d.ts.map +1 -0
  132. package/dist/esm/Payload/Archivist/index.js +2 -0
  133. package/dist/esm/Payload/Archivist/index.js.map +1 -0
  134. package/dist/esm/Payload/Huri/Diviner.d.ts +20 -0
  135. package/dist/esm/Payload/Huri/Diviner.d.ts.map +1 -0
  136. package/dist/esm/Payload/Huri/Diviner.js +15 -0
  137. package/dist/esm/Payload/Huri/Diviner.js.map +1 -0
  138. package/dist/esm/Payload/Huri/index.d.ts +2 -0
  139. package/dist/esm/Payload/Huri/index.d.ts.map +1 -0
  140. package/dist/esm/Payload/Huri/index.js +2 -0
  141. package/dist/esm/Payload/Huri/index.js.map +1 -0
  142. package/dist/esm/Payload/XyoPayloadDiviner.d.ts +5 -0
  143. package/dist/esm/Payload/XyoPayloadDiviner.d.ts.map +1 -0
  144. package/dist/esm/Payload/XyoPayloadDiviner.js +4 -0
  145. package/dist/esm/Payload/XyoPayloadDiviner.js.map +1 -0
  146. package/dist/esm/Payload/XyoPayloadDivinerQueryPayload.d.ts +7 -0
  147. package/dist/esm/Payload/XyoPayloadDivinerQueryPayload.d.ts.map +1 -0
  148. package/dist/esm/Payload/XyoPayloadDivinerQueryPayload.js +2 -0
  149. package/dist/esm/Payload/XyoPayloadDivinerQueryPayload.js.map +1 -0
  150. package/dist/esm/Payload/index.d.ts +5 -0
  151. package/dist/esm/Payload/index.d.ts.map +1 -0
  152. package/dist/esm/Payload/index.js +5 -0
  153. package/dist/esm/Payload/index.js.map +1 -0
  154. package/dist/esm/Payload/lib/index.d.ts +2 -0
  155. package/dist/esm/Payload/lib/index.d.ts.map +1 -0
  156. package/dist/esm/Payload/lib/index.js +2 -0
  157. package/dist/esm/Payload/lib/index.js.map +1 -0
  158. package/dist/esm/Payload/lib/profile.d.ts +2 -0
  159. package/dist/esm/Payload/lib/profile.d.ts.map +1 -0
  160. package/dist/esm/Payload/lib/profile.js +7 -0
  161. package/dist/esm/Payload/lib/profile.js.map +1 -0
  162. package/dist/esm/Sequence/XyoSequenceDiviner.d.ts +8 -0
  163. package/dist/esm/Sequence/XyoSequenceDiviner.d.ts.map +1 -0
  164. package/dist/esm/Sequence/XyoSequenceDiviner.js +7 -0
  165. package/dist/esm/Sequence/XyoSequenceDiviner.js.map +1 -0
  166. package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.d.ts +9 -0
  167. package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.d.ts.map +1 -0
  168. package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.js +2 -0
  169. package/dist/esm/Sequence/XyoSequenceDivinerQueryPayload.js.map +1 -0
  170. package/dist/esm/Sequence/index.d.ts +2 -0
  171. package/dist/esm/Sequence/index.d.ts.map +1 -0
  172. package/dist/esm/Sequence/index.js +2 -0
  173. package/dist/esm/Sequence/index.js.map +1 -0
  174. package/dist/esm/index.d.ts +3 -0
  175. package/dist/esm/index.d.ts.map +1 -1
  176. package/dist/esm/index.js +3 -0
  177. package/dist/esm/index.js.map +1 -1
  178. package/package.json +7 -6
  179. package/src/Abstract.ts +15 -0
  180. package/src/Diviner.ts +6 -0
  181. package/src/{Diviner/Payload → Payload}/Archivist/Diviner.ts +3 -3
  182. package/src/{Diviner/Payload → Payload}/Archivist/index.ts +0 -0
  183. package/src/Payload/Huri/Diviner.ts +32 -0
  184. package/src/{Diviner/Payload → Payload}/Huri/index.ts +0 -0
  185. package/src/Payload/XyoPayloadDiviner.ts +7 -0
  186. package/src/{Diviner/Payload → Payload}/XyoPayloadDivinerQueryPayload.ts +6 -5
  187. package/src/{Diviner/Payload → Payload}/index.ts +0 -1
  188. package/src/{Diviner/Payload → Payload}/lib/index.ts +0 -0
  189. package/src/{Diviner/Payload → Payload}/lib/profile.ts +0 -0
  190. package/src/Sequence/XyoSequenceDiviner.ts +13 -0
  191. package/src/Sequence/XyoSequenceDivinerQueryPayload.ts +10 -0
  192. package/src/Sequence/index.ts +1 -0
  193. package/src/index.ts +3 -0
  194. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.d.ts +0 -11
  195. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.d.ts.map +0 -1
  196. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.js +0 -5
  197. package/dist/cjs/Diviner/Payload/XyoPayloadDivinerPayload.js.map +0 -1
  198. package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.d.ts +0 -11
  199. package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.d.ts.map +0 -1
  200. package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.js +0 -2
  201. package/dist/esm/Diviner/Payload/XyoPayloadDivinerPayload.js.map +0 -1
  202. package/src/Diviner/Diviner.ts +0 -31
  203. package/src/Diviner/Payload/Huri/Diviner.ts +0 -23
  204. package/src/Diviner/Payload/XyoPayloadDiviner.ts +0 -6
  205. package/src/Diviner/Payload/XyoPayloadDivinerPayload.ts +0 -12
  206. package/src/Diviner/index.ts +0 -2
package/package.json CHANGED
@@ -10,15 +10,16 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/account": "^2.25.2",
14
- "@xyo-network/archivist": "^2.25.2",
15
- "@xyo-network/boundwitness": "^2.25.2",
16
- "@xyo-network/payload": "^2.25.2",
13
+ "@xyo-network/account": "^2.26.0",
14
+ "@xyo-network/archivist": "^2.26.0",
15
+ "@xyo-network/boundwitness": "^2.26.0",
16
+ "@xyo-network/module": "^2.26.0",
17
+ "@xyo-network/payload": "^2.26.0",
17
18
  "tslib": "^2.4.0"
18
19
  },
19
20
  "description": "Primary SDK for using XYO Protocol 2.0",
20
21
  "devDependencies": {
21
- "@xylabs/tsconfig": "^2.5.87"
22
+ "@xylabs/tsconfig": "^2.5.117"
22
23
  },
23
24
  "browser": "dist/esm/index.js",
24
25
  "docs": "dist/docs.json",
@@ -52,5 +53,5 @@
52
53
  },
53
54
  "sideEffects": false,
54
55
  "types": "dist/esm/index.d.ts",
55
- "version": "2.25.2"
56
+ "version": "2.26.0"
56
57
  }
@@ -0,0 +1,15 @@
1
+ import { XyoAbstractModule, XyoModuleConfig } from '@xyo-network/module'
2
+ import { XyoPayload } from '@xyo-network/payload'
3
+
4
+ import { XyoDiviner, XyoDivinerQueryPayload } from './Diviner'
5
+
6
+ export type XyoDivinerConfig<T extends XyoPayload = XyoPayload> = XyoModuleConfig<
7
+ {
8
+ targetSchema: string
9
+ } & T
10
+ >
11
+ export abstract class XyoAbstractDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload, C extends XyoDivinerConfig = XyoDivinerConfig>
12
+ extends XyoAbstractModule<Q, C>
13
+ implements XyoDiviner<Q> {}
14
+
15
+ export abstract class XyoAbstractTimestampDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload> extends XyoAbstractDiviner<Q> {}
package/src/Diviner.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { XyoModule, XyoQueryPayload } from '@xyo-network/module'
2
+ import { XyoPayload } from '@xyo-network/payload'
3
+
4
+ export type XyoDivinerQueryPayload<T extends XyoPayload = XyoPayload> = XyoQueryPayload<T>
5
+
6
+ export type XyoDiviner<Q extends XyoDivinerQueryPayload = XyoDivinerQueryPayload> = XyoModule<Q>
@@ -11,14 +11,14 @@ export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner {
11
11
  protected archivist: XyoArchivist
12
12
 
13
13
  constructor(account: XyoAccount, archivist: XyoArchivist) {
14
- super(account)
14
+ super({ account, schema: 'network.xyo.diviner.payload.config', targetSchema: 'network.xyo.payload' })
15
15
  this.archivist = archivist
16
16
  }
17
17
 
18
- override async divine(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]> {
18
+ override async query(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]> {
19
19
  const huri = new Huri(query.huri)
20
20
  const [payloads = []] = await profile(async () => await this.archivist.get([huri.hash]))
21
21
  const resultPayloads = payloads?.[0] ? [payloads?.[0]] : []
22
- return [this.bind(resultPayloads), resultPayloads]
22
+ return [this.bindPayloads(resultPayloads), resultPayloads]
23
23
  }
24
24
  }
@@ -0,0 +1,32 @@
1
+ import { XyoBoundWitness } from '@xyo-network/boundwitness'
2
+ import { Huri, HuriOptions, XyoPayload } from '@xyo-network/payload'
3
+
4
+ import { XyoDivinerConfig } from '../../Abstract'
5
+ import { XyoDivinerQueryPayload } from '../../Diviner'
6
+ import { profile } from '../lib'
7
+ import { XyoPayloadDiviner } from '../XyoPayloadDiviner'
8
+ import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload'
9
+
10
+ export type XyoHuriPayloadDivinerConfig = XyoDivinerConfig<{
11
+ schema: 'network.xyo.diviner.payload.huri.config'
12
+ huriOptions: HuriOptions
13
+ huri: string
14
+ }>
15
+
16
+ export type XyoHuriPayloadDivinerQuery = XyoDivinerQueryPayload<{
17
+ schema: 'network.xyo.diviner.payload.huri.query'
18
+ huri: string
19
+ }>
20
+
21
+ export class XyoHuriPayloadDiviner extends XyoPayloadDiviner<XyoHuriPayloadDivinerQuery, XyoHuriPayloadDivinerConfig> {
22
+ protected get options() {
23
+ return this.config.huriOptions
24
+ }
25
+
26
+ override async query(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]> {
27
+ const huri = new Huri(query.huri, this.options)
28
+ const [payload = null] = await profile(async () => await huri.fetch())
29
+ const payloads = payload ? [payload] : []
30
+ return [this.bindPayloads(payloads), payloads]
31
+ }
32
+ }
File without changes
@@ -0,0 +1,7 @@
1
+ import { XyoAbstractDiviner, XyoDivinerConfig } from '../Abstract'
2
+ import { XyoPayloadDivinerQueryPayload } from './XyoPayloadDivinerQueryPayload'
3
+
4
+ export abstract class XyoPayloadDiviner<
5
+ Q extends XyoPayloadDivinerQueryPayload = XyoPayloadDivinerQueryPayload,
6
+ C extends XyoDivinerConfig = XyoDivinerConfig,
7
+ > extends XyoAbstractDiviner<Q, C> {}
@@ -1,9 +1,10 @@
1
- import { XyoQueryPayload } from '@xyo-network/payload'
1
+ import { XyoPayload, XyoQueryPayload } from '@xyo-network/payload'
2
2
 
3
3
  export type XyoPayloadDivinerQueryPayloadSchema = 'network.xyo.diviner.payload.query'
4
4
  export const XyoPayloadDivinerQueryPayloadSchema: XyoPayloadDivinerQueryPayloadSchema = 'network.xyo.diviner.payload.query'
5
5
 
6
- export type XyoPayloadDivinerQueryPayload = XyoQueryPayload<{
7
- schema: XyoPayloadDivinerQueryPayloadSchema
8
- huri: string
9
- }>
6
+ export type XyoPayloadDivinerQueryPayload<T extends XyoPayload = XyoPayload> = XyoQueryPayload<
7
+ {
8
+ huri: string
9
+ } & T
10
+ >
@@ -1,5 +1,4 @@
1
1
  export * from './Archivist'
2
2
  export * from './Huri'
3
3
  export * from './XyoPayloadDiviner'
4
- export * from './XyoPayloadDivinerPayload'
5
4
  export * from './XyoPayloadDivinerQueryPayload'
File without changes
File without changes
@@ -0,0 +1,13 @@
1
+ import { XyoBoundWitness } from '@xyo-network/boundwitness'
2
+ import { XyoPayload } from '@xyo-network/payload'
3
+
4
+ import { XyoAbstractDiviner } from '../Abstract'
5
+ import { XyoSequenceDivinerQueryPayload } from './XyoSequenceDivinerQueryPayload'
6
+
7
+ export abstract class XyoSequenceDiviner<
8
+ TQueryPayload extends XyoSequenceDivinerQueryPayload = XyoSequenceDivinerQueryPayload,
9
+ > extends XyoAbstractDiviner<TQueryPayload> {
10
+ override query(query: XyoSequenceDivinerQueryPayload): [XyoBoundWitness, XyoPayload[]] {
11
+ return [this.bindHashes(query.payload_hashes, query.payload_schemas), []]
12
+ }
13
+ }
@@ -0,0 +1,10 @@
1
+ import { XyoDivinerQueryPayload } from '../Diviner'
2
+
3
+ export type XyoSequenceDivinerQueryPayloadSchema = 'network.xyo.diviner.sequence.query'
4
+ export const XyoSequenceDivinerQueryPayloadSchema: XyoSequenceDivinerQueryPayloadSchema = 'network.xyo.diviner.sequence.query'
5
+
6
+ export type XyoSequenceDivinerQueryPayload = XyoDivinerQueryPayload<{
7
+ schema: XyoSequenceDivinerQueryPayloadSchema
8
+ payload_hashes: string[]
9
+ payload_schemas: string[]
10
+ }>
@@ -0,0 +1 @@
1
+ export * from './XyoSequenceDiviner'
package/src/index.ts CHANGED
@@ -1 +1,4 @@
1
+ export * from './Abstract'
1
2
  export * from './Diviner'
3
+ export * from './Payload'
4
+ export * from './Sequence'
@@ -1,11 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XyoPayloadDivinerPayloadSchema = void 0;
4
- exports.XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload';
5
- //# sourceMappingURL=XyoPayloadDivinerPayload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XyoPayloadDivinerPayload.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerPayload.ts"],"names":[],"mappings":";;;AAGa,QAAA,8BAA8B,GAAmC,6BAA6B,CAAA"}
@@ -1,11 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
1
- export const XyoPayloadDivinerPayloadSchema = 'network.xyo.diviner.payload';
2
- //# sourceMappingURL=XyoPayloadDivinerPayload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XyoPayloadDivinerPayload.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDivinerPayload.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,8BAA8B,GAAmC,6BAA6B,CAAA"}
@@ -1,31 +0,0 @@
1
- import { XyoAccount } from '@xyo-network/account'
2
- import { XyoBoundWitness, XyoBoundWitnessBuilder } from '@xyo-network/boundwitness'
3
- import { XyoPayload, XyoQueryPayload } from '@xyo-network/payload'
4
-
5
- export interface XyoNode {
6
- attach(module: XyoDiviner): void
7
- remove(address: string): void
8
- get<T extends XyoDiviner>(address: string): T | undefined
9
- }
10
-
11
- export interface XyoDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> {
12
- address: string
13
- divine(query: TQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>
14
- }
15
-
16
- export abstract class XyoAbstractDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> implements XyoDiviner<TQueryPayload> {
17
- protected account: XyoAccount
18
- constructor(account: XyoAccount) {
19
- this.account = account
20
- }
21
- abstract divine(query: TQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>
22
- get address() {
23
- return this.account.addressValue.hex
24
- }
25
-
26
- bind(payloads: XyoPayload[]) {
27
- return new XyoBoundWitnessBuilder().payloads(payloads).witness(this.account).build()
28
- }
29
- }
30
-
31
- export abstract class XyoAbstractTimestampDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> extends XyoAbstractDiviner<TQueryPayload> {}
@@ -1,23 +0,0 @@
1
- import { XyoAccount } from '@xyo-network/account'
2
- import { XyoBoundWitness } from '@xyo-network/boundwitness'
3
- import { Huri, HuriOptions, XyoPayload } from '@xyo-network/payload'
4
-
5
- import { profile } from '../lib'
6
- import { XyoPayloadDiviner } from '../XyoPayloadDiviner'
7
- import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload'
8
-
9
- export class XyoHuriPayloadDiviner extends XyoPayloadDiviner {
10
- protected options: HuriOptions
11
-
12
- constructor(account: XyoAccount, options: HuriOptions) {
13
- super(account)
14
- this.options = options
15
- }
16
-
17
- override async divine(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]> {
18
- const huri = new Huri(query.huri, this.options)
19
- const [payload = null] = await profile(async () => await huri.fetch())
20
- const payloads = payload ? [payload] : []
21
- return [this.bind(payloads), payloads]
22
- }
23
- }
@@ -1,6 +0,0 @@
1
- import { XyoAbstractDiviner } from '../Diviner'
2
- import { XyoPayloadDivinerQueryPayload } from './XyoPayloadDivinerQueryPayload'
3
-
4
- export abstract class XyoPayloadDiviner<
5
- TQueryPayload extends XyoPayloadDivinerQueryPayload = XyoPayloadDivinerQueryPayload
6
- > extends XyoAbstractDiviner<TQueryPayload> {}
@@ -1,12 +0,0 @@
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
- }>
@@ -1,2 +0,0 @@
1
- export * from './Diviner'
2
- export * from './Payload'