@xyo-network/core 2.20.29 → 2.20.32

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 (80) hide show
  1. package/dist/cjs/BoundWitness/Builder/Builder.js +2 -2
  2. package/dist/cjs/BoundWitness/Builder/Builder.js.map +1 -1
  3. package/dist/cjs/BoundWitness/Validator/BodyValidator.js +1 -1
  4. package/dist/cjs/BoundWitness/Validator/BodyValidator.js.map +1 -1
  5. package/dist/cjs/BoundWitness/Validator/MetaValidator.js +2 -2
  6. package/dist/cjs/BoundWitness/Validator/MetaValidator.js.map +1 -1
  7. package/dist/cjs/Hasher/XyoAbstractHasher.d.ts +11 -0
  8. package/dist/cjs/Hasher/XyoAbstractHasher.js +34 -0
  9. package/dist/cjs/Hasher/XyoAbstractHasher.js.map +1 -0
  10. package/dist/cjs/Hasher/XyoHasher.d.ts +4 -6
  11. package/dist/cjs/Hasher/XyoHasher.js +6 -20
  12. package/dist/cjs/Hasher/XyoHasher.js.map +1 -1
  13. package/dist/cjs/Hasher/index.d.ts +1 -0
  14. package/dist/cjs/Hasher/index.js +1 -0
  15. package/dist/cjs/Hasher/index.js.map +1 -1
  16. package/dist/cjs/Payload/Builder/Builder.js +1 -1
  17. package/dist/cjs/Payload/Builder/Builder.js.map +1 -1
  18. package/dist/cjs/Payload/Validator/MetaValidator.js +1 -1
  19. package/dist/cjs/Payload/Validator/MetaValidator.js.map +1 -1
  20. package/dist/cjs/Payload/Wrapper/Wrapper.d.ts +4 -4
  21. package/dist/cjs/Payload/Wrapper/Wrapper.js +5 -2
  22. package/dist/cjs/Payload/Wrapper/Wrapper.js.map +1 -1
  23. package/dist/cjs/Query/QueryPayload.d.ts +6 -0
  24. package/dist/cjs/Query/QueryPayload.js +3 -0
  25. package/dist/cjs/Query/QueryPayload.js.map +1 -0
  26. package/dist/cjs/Query/index.d.ts +1 -0
  27. package/dist/cjs/Query/index.js +5 -0
  28. package/dist/cjs/Query/index.js.map +1 -0
  29. package/dist/cjs/Schema/Payload.d.ts +1 -0
  30. package/dist/cjs/shared.d.ts +1 -0
  31. package/dist/cjs/shared.js +1 -0
  32. package/dist/cjs/shared.js.map +1 -1
  33. package/dist/docs.json +7954 -6871
  34. package/dist/esm/BoundWitness/Builder/Builder.js +2 -2
  35. package/dist/esm/BoundWitness/Builder/Builder.js.map +1 -1
  36. package/dist/esm/BoundWitness/Validator/BodyValidator.js +1 -1
  37. package/dist/esm/BoundWitness/Validator/BodyValidator.js.map +1 -1
  38. package/dist/esm/BoundWitness/Validator/MetaValidator.js +2 -2
  39. package/dist/esm/BoundWitness/Validator/MetaValidator.js.map +1 -1
  40. package/dist/esm/Hasher/XyoAbstractHasher.d.ts +11 -0
  41. package/dist/esm/Hasher/XyoAbstractHasher.js +29 -0
  42. package/dist/esm/Hasher/XyoAbstractHasher.js.map +1 -0
  43. package/dist/esm/Hasher/XyoHasher.d.ts +4 -6
  44. package/dist/esm/Hasher/XyoHasher.js +6 -19
  45. package/dist/esm/Hasher/XyoHasher.js.map +1 -1
  46. package/dist/esm/Hasher/index.d.ts +1 -0
  47. package/dist/esm/Hasher/index.js +1 -0
  48. package/dist/esm/Hasher/index.js.map +1 -1
  49. package/dist/esm/Payload/Builder/Builder.js +1 -1
  50. package/dist/esm/Payload/Builder/Builder.js.map +1 -1
  51. package/dist/esm/Payload/Validator/MetaValidator.js +1 -1
  52. package/dist/esm/Payload/Validator/MetaValidator.js.map +1 -1
  53. package/dist/esm/Payload/Wrapper/Wrapper.d.ts +4 -4
  54. package/dist/esm/Payload/Wrapper/Wrapper.js +6 -4
  55. package/dist/esm/Payload/Wrapper/Wrapper.js.map +1 -1
  56. package/dist/esm/Query/QueryPayload.d.ts +6 -0
  57. package/dist/esm/Query/QueryPayload.js +2 -0
  58. package/dist/esm/Query/QueryPayload.js.map +1 -0
  59. package/dist/esm/Query/index.d.ts +1 -0
  60. package/dist/esm/Query/index.js +2 -0
  61. package/dist/esm/Query/index.js.map +1 -0
  62. package/dist/esm/Schema/Payload.d.ts +1 -0
  63. package/dist/esm/shared.d.ts +1 -0
  64. package/dist/esm/shared.js +1 -0
  65. package/dist/esm/shared.js.map +1 -1
  66. package/package.json +4 -4
  67. package/src/BoundWitness/Builder/Builder.spec.ts +1 -1
  68. package/src/BoundWitness/Builder/Builder.ts +2 -2
  69. package/src/BoundWitness/Validator/BodyValidator.ts +1 -1
  70. package/src/BoundWitness/Validator/MetaValidator.ts +2 -2
  71. package/src/Hasher/XyoAbstractHasher.ts +37 -0
  72. package/src/Hasher/XyoHasher.ts +7 -24
  73. package/src/Hasher/index.ts +1 -0
  74. package/src/Payload/Builder/Builder.ts +1 -1
  75. package/src/Payload/Validator/MetaValidator.ts +1 -1
  76. package/src/Payload/Wrapper/Wrapper.ts +8 -6
  77. package/src/Query/QueryPayload.ts +7 -0
  78. package/src/Query/index.ts +1 -0
  79. package/src/Schema/Payload.ts +1 -0
  80. package/src/shared.ts +1 -0
@@ -12,7 +12,7 @@ class XyoBoundWitnessBuilder {
12
12
  }
13
13
  get _payload_hashes() {
14
14
  return this._payloads.map((payload) => {
15
- return new Hasher_1.XyoHasher(payload).sortedHash();
15
+ return new Hasher_1.XyoHasher(payload).hash;
16
16
  });
17
17
  }
18
18
  witness(account) {
@@ -56,7 +56,7 @@ class XyoBoundWitnessBuilder {
56
56
  }
57
57
  build() {
58
58
  const hashableFields = this.hashableFields();
59
- const _hash = new Hasher_1.XyoHasher(hashableFields).sortedHash();
59
+ const _hash = new Hasher_1.XyoHasher(hashableFields).hash;
60
60
  const ret = Object.assign(Object.assign({}, hashableFields), { _client: 'js', _hash, _signatures: this.signatures(_hash), _timestamp: Date.now() });
61
61
  if (this.config.inlinePayloads) {
62
62
  ret._payloads = this.inlinePayloads();
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Builder/Builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Builder/Builder.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AAEjD,yCAAoD;AAUpD,MAAa,sBAAsB;IAKjC,YAA4B,SAAuC,EAAE,cAAc,EAAE,KAAK,EAAE;QAAhE,WAAM,GAAN,MAAM,CAA0D;QAJpF,cAAS,GAAiB,EAAE,CAAA;QAC5B,qBAAgB,GAAa,EAAE,CAAA;QAC/B,cAAS,GAAiB,EAAE,CAAA;IAE2D,CAAC;IAEhG,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACpC,OAAO,IAAI,kBAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,OAAO,CAAC,OAAmB;;QAChC,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,QAAQ,CAAC,QAA+B;QAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,OAAO,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;aACtB;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,OAAO,CAAC,OAAoB;QACjC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAA,iBAAQ,EAAC,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA;SACnD;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,cAAc;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,OAAO,CAAC,YAAY,0CAAE,GAAG,mCAAI,IAAI,CAAA,EAAA,CAAC,CAAA;QAC1F,OAAO;YACL,SAAS,EAAE,IAAA,iBAAQ,EAAC,SAAS,EAAE,mBAAmB,CAAC;YACnD,cAAc,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,eAAe,EAAE,wBAAwB,CAAC;YACxE,eAAe,EAAE,IAAA,iBAAQ,EAAC,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;YAC3E,eAAe;YACf,MAAM,EAAE,0BAA0B;SACnC,CAAA;IACH,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9G,CAAC;IAEO,cAAc;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC3D,uCACK,OAAO,KACV,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IACrC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAwC,CAAA;QAClF,MAAM,KAAK,GAAG,IAAI,kBAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAA;QAEhD,MAAM,GAAG,GAAG,gCAAK,cAAc,KAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAqB,CAAA;QACvI,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;YAC9B,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;SACtC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAtED,wDAsEC"}
@@ -51,7 +51,7 @@ class XyoBoundWitnessBodyValidator {
51
51
  const errors = [];
52
52
  const passedHashes = this.body.payload_hashes;
53
53
  (_a = this.payloads) === null || _a === void 0 ? void 0 : _a.forEach((payload, index) => {
54
- const calcHash = new Hasher_1.XyoHasher(payload).sortedHash();
54
+ const calcHash = new Hasher_1.XyoHasher(payload).hash;
55
55
  const passedHash = passedHashes[index];
56
56
  if (calcHash !== passedHash) {
57
57
  errors.push(new Error(`hash mismatch [${calcHash} !== ${passedHash}]`));
@@ -1 +1 @@
1
- {"version":3,"file":"BodyValidator.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Validator/BodyValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BodyValidator.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Validator/BodyValidator.ts"],"names":[],"mappings":"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"}
@@ -16,9 +16,9 @@ class XyoBoundWitnessMetaValidator {
16
16
  hash() {
17
17
  const errors = [];
18
18
  const hasher = new Hasher_1.XyoHasher(this.bw);
19
- const bodyHash = hasher.sortedHash();
19
+ const bodyHash = hasher.hash;
20
20
  if (bodyHash !== this.bw._hash)
21
- errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.bw._hash}] [sortedStringify: ${hasher.sortedStringify()}]`));
21
+ errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.bw._hash}] [sortedStringify: ${hasher.stringified}]`));
22
22
  return errors;
23
23
  }
24
24
  payloads() {
@@ -1 +1 @@
1
- {"version":3,"file":"MetaValidator.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Validator/MetaValidator.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAExC,mCAA8B;AAE9B,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC3C,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAE3C,MAAa,4BAA4B;IAEvC,YAAY,EAAmB;QAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAEM,MAAM;QACX,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,IAAI;QACT,MAAM,MAAM,GAAY,EAAE,CAAA;QAE1B,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QACpC,IAAI,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,QAAQ,aAAa,IAAI,CAAC,EAAE,CAAC,KAAK,uBAAuB,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAA;QAChL,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,UAAU;QACf,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;QAC9B,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;aACrE,IAAI,UAAU,GAAG,qBAAqB;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAA;aAChG,IAAI,UAAU,GAAG,qBAAqB;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAA;QACpG,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;QAC9B,IAAI,UAAU,IAAI,CAAC,IAAA,YAAI,EAAC,UAAU,CAAC,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,8BAA8B,UAAU,GAAG,CAAC,CAAC,CAAA;SACpE;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;QAC/B,IAAI,CAAC,WAAW;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACvF,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,IAAI;QACT,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QACzE,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAnED,oEAmEC"}
1
+ {"version":3,"file":"MetaValidator.js","sourceRoot":"","sources":["../../../../src/BoundWitness/Validator/MetaValidator.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAExC,mCAA8B;AAE9B,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC3C,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAE3C,MAAa,4BAA4B;IAEvC,YAAY,EAAmB;QAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAEM,MAAM;QACX,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,IAAI;QACT,MAAM,MAAM,GAAY,EAAE,CAAA;QAE1B,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAA;QAC5B,IAAI,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,QAAQ,aAAa,IAAI,CAAC,EAAE,CAAC,KAAK,uBAAuB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;QAC1K,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,UAAU;QACf,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;QAC9B,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;aACrE,IAAI,UAAU,GAAG,qBAAqB;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAA;aAChG,IAAI,UAAU,GAAG,qBAAqB;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAA;QACpG,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;QAC9B,IAAI,UAAU,IAAI,CAAC,IAAA,YAAI,EAAC,UAAU,CAAC,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,8BAA8B,UAAU,GAAG,CAAC,CAAC,CAAA;SACpE;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;QAC/B,IAAI,CAAC,WAAW;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACvF,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,IAAI;QACT,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QACzE,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAnED,oEAmEC"}
@@ -0,0 +1,11 @@
1
+ export declare abstract class XyoAbstractHasher<T extends Record<string, unknown>> {
2
+ protected abstract get obj(): T;
3
+ get hashFields(): Record<string, unknown>;
4
+ /** @deprecated use stringified instead */
5
+ sortedStringify(): string;
6
+ get stringified(): string;
7
+ /** @deprecated use hash instead */
8
+ sortedHash(): string;
9
+ get hash(): string;
10
+ private sortedHashData;
11
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XyoAbstractHasher = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const sha_js_1 = tslib_1.__importDefault(require("sha.js"));
6
+ const removeEmptyFields_1 = require("./removeEmptyFields");
7
+ const removeFields_1 = require("./removeFields");
8
+ const sortFields_1 = require("./sortFields");
9
+ class XyoAbstractHasher {
10
+ get hashFields() {
11
+ return (0, removeEmptyFields_1.removeEmptyFields)((0, removeFields_1.deepOmitUnderscoreFields)(this.obj));
12
+ }
13
+ /** @deprecated use stringified instead */
14
+ sortedStringify() {
15
+ return this.stringified;
16
+ }
17
+ get stringified() {
18
+ const sortedEntry = (0, sortFields_1.sortFields)(this.hashFields);
19
+ return JSON.stringify(sortedEntry);
20
+ }
21
+ /** @deprecated use hash instead */
22
+ sortedHash() {
23
+ return this.hash;
24
+ }
25
+ get hash() {
26
+ return this.sortedHashData().toString('hex');
27
+ }
28
+ sortedHashData() {
29
+ const stringObject = this.stringified;
30
+ return (0, sha_js_1.default)('sha256').update(stringObject).digest();
31
+ }
32
+ }
33
+ exports.XyoAbstractHasher = XyoAbstractHasher;
34
+ //# sourceMappingURL=XyoAbstractHasher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoAbstractHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoAbstractHasher.ts"],"names":[],"mappings":";;;;AAAA,4DAA0B;AAE1B,2DAAuD;AACvD,iDAAyD;AACzD,6CAAyC;AAEzC,MAAsB,iBAAiB;IAGrC,IAAI,UAAU;QACZ,OAAO,IAAA,qCAAiB,EAAC,IAAA,uCAAwB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,0CAA0C;IACnC,eAAe;QACpB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAW,WAAW;QACpB,MAAM,WAAW,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED,mCAAmC;IAC5B,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QACrC,OAAO,IAAA,gBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;CACF;AA9BD,8CA8BC"}
@@ -1,8 +1,6 @@
1
- export declare class XyoHasher<T extends Record<string, unknown>> {
2
- readonly obj: T;
1
+ import { XyoAbstractHasher } from './XyoAbstractHasher';
2
+ export declare class XyoHasher<T extends Record<string, unknown>> extends XyoAbstractHasher<T> {
3
+ private readonly memoryObj;
3
4
  constructor(obj: T);
4
- get hashFields(): Record<string, unknown>;
5
- sortedStringify(): string;
6
- sortedHash(): string;
7
- private sortedHashData;
5
+ protected get obj(): T;
8
6
  }
@@ -1,28 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.XyoHasher = void 0;
4
- const tslib_1 = require("tslib");
5
- const sha_js_1 = tslib_1.__importDefault(require("sha.js"));
6
- const removeEmptyFields_1 = require("./removeEmptyFields");
7
- const removeFields_1 = require("./removeFields");
8
- const sortFields_1 = require("./sortFields");
9
- class XyoHasher {
4
+ const XyoAbstractHasher_1 = require("./XyoAbstractHasher");
5
+ class XyoHasher extends XyoAbstractHasher_1.XyoAbstractHasher {
10
6
  constructor(obj) {
11
- this.obj = obj;
7
+ super();
8
+ this.memoryObj = obj;
12
9
  }
13
- get hashFields() {
14
- return (0, removeEmptyFields_1.removeEmptyFields)((0, removeFields_1.deepOmitUnderscoreFields)(this.obj));
15
- }
16
- sortedStringify() {
17
- const sortedEntry = (0, sortFields_1.sortFields)(this.hashFields);
18
- return JSON.stringify(sortedEntry);
19
- }
20
- sortedHash() {
21
- return this.sortedHashData().toString('hex');
22
- }
23
- sortedHashData() {
24
- const stringObject = this.sortedStringify();
25
- return (0, sha_js_1.default)('sha256').update(stringObject).digest();
10
+ get obj() {
11
+ return this.memoryObj;
26
12
  }
27
13
  }
28
14
  exports.XyoHasher = XyoHasher;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoHasher.ts"],"names":[],"mappings":";;;;AAAA,4DAA0B;AAE1B,2DAAuD;AACvD,iDAAyD;AACzD,6CAAyC;AAEzC,MAAa,SAAS;IAEpB,YAAY,GAAM;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAA,qCAAiB,EAAC,IAAA,uCAAwB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAEM,eAAe;QACpB,MAAM,WAAW,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,cAAc;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAC3C,OAAO,IAAA,gBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IACtD,CAAC;CACF;AAvBD,8BAuBC"}
1
+ {"version":3,"file":"XyoHasher.js","sourceRoot":"","sources":["../../../src/Hasher/XyoHasher.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAEvD,MAAa,SAA6C,SAAQ,qCAAoB;IAEpF,YAAY,GAAM;QAChB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG,GAAG,CAAA;IACtB,CAAC;IAED,IAAc,GAAG;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;CACF;AAVD,8BAUC"}
@@ -1,4 +1,5 @@
1
1
  export * from './removeEmptyFields';
2
2
  export * from './removeFields';
3
3
  export * from './sortFields';
4
+ export * from './XyoAbstractHasher';
4
5
  export * from './XyoHasher';
@@ -4,5 +4,6 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./removeEmptyFields"), exports);
5
5
  tslib_1.__exportStar(require("./removeFields"), exports);
6
6
  tslib_1.__exportStar(require("./sortFields"), exports);
7
+ tslib_1.__exportStar(require("./XyoAbstractHasher"), exports);
7
8
  tslib_1.__exportStar(require("./XyoHasher"), exports);
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Hasher/index.ts"],"names":[],"mappings":";;;AAAA,8DAAmC;AACnC,yDAA8B;AAC9B,uDAA4B;AAC5B,sDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Hasher/index.ts"],"names":[],"mappings":";;;AAAA,8DAAmC;AACnC,yDAA8B;AAC9B,uDAA4B;AAC5B,8DAAmC;AACnC,sDAA2B"}
@@ -22,7 +22,7 @@ class XyoPayloadBuilder {
22
22
  }
23
23
  build() {
24
24
  const hashableFields = this.hashableFields();
25
- const _hash = new Hasher_1.XyoHasher(hashableFields).sortedHash();
25
+ const _hash = new Hasher_1.XyoHasher(hashableFields).hash;
26
26
  const _timestamp = Date.now();
27
27
  return Object.assign(Object.assign({}, hashableFields), { _client: 'js', _hash, _timestamp, schema: this._schema });
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/Payload/Builder/Builder.ts"],"names":[],"mappings":";;;AAAA,yCAAqF;AAOrF,MAAa,iBAAiB;IAK5B,YAAY,EAAE,MAAM,EAA4B;QAJxC,YAAO,GAAe,EAAE,CAAA;QAK9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,MAAmB;QAC/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,mCAAQ,IAAI,CAAC,OAAO,GAAK,IAAA,0BAAiB,EAAC,MAAM,CAAC,CAAE,CAAA;SACjE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,YAAY,CAAC,IAAa;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,cAAc;QACnB,OAAO,gCACF,IAAA,0BAAiB,EAAC,IAAA,iCAAwB,kCAAM,IAAI,CAAC,OAAO,KAAE,YAAY,EAAE,IAAI,CAAC,aAAa,IAAG,CAAC,KACrG,MAAM,EAAE,IAAI,CAAC,OAAO,GAChB,CAAA;IACR,CAAC;IAEM,KAAK;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,kBAAS,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAA;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,uCAAY,cAAc,KAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,IAAE;IACtF,CAAC;CACF;AAlCD,8CAkCC"}
1
+ {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/Payload/Builder/Builder.ts"],"names":[],"mappings":";;;AAAA,yCAAqF;AAOrF,MAAa,iBAAiB;IAK5B,YAAY,EAAE,MAAM,EAA4B;QAJxC,YAAO,GAAe,EAAE,CAAA;QAK9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,MAAmB;QAC/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,mCAAQ,IAAI,CAAC,OAAO,GAAK,IAAA,0BAAiB,EAAC,MAAM,CAAC,CAAE,CAAA;SACjE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,YAAY,CAAC,IAAa;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,cAAc;QACnB,OAAO,gCACF,IAAA,0BAAiB,EAAC,IAAA,iCAAwB,kCAAM,IAAI,CAAC,OAAO,KAAE,YAAY,EAAE,IAAI,CAAC,aAAa,IAAG,CAAC,KACrG,MAAM,EAAE,IAAI,CAAC,OAAO,GAChB,CAAA;IACR,CAAC;IAEM,KAAK;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,kBAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAA;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,uCAAY,cAAc,KAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,IAAE;IACtF,CAAC;CACF;AAlCD,8CAkCC"}
@@ -11,7 +11,7 @@ class XyoPayloadMetaValidator {
11
11
  hash() {
12
12
  const errors = [];
13
13
  const wrapper = new Hasher_1.XyoHasher(this.payload);
14
- const bodyHash = wrapper.sortedHash();
14
+ const bodyHash = wrapper.hash;
15
15
  if (bodyHash !== this.payload._hash)
16
16
  errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.payload._hash}]`));
17
17
  return errors;
@@ -1 +1 @@
1
- {"version":3,"file":"MetaValidator.js","sourceRoot":"","sources":["../../../../src/Payload/Validator/MetaValidator.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAGxC,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC3C,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAE3C,MAAM,uBAAuB;IAE3B,YAAY,OAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,IAAI;QACT,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAA;QACrC,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,QAAQ,aAAa,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAC3I,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QACnC,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;aACrE,IAAI,UAAU,GAAG,qBAAqB;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAA;aAChG,IAAI,UAAU,GAAG,qBAAqB;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAA;QACpG,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAChD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAEQ,0DAAuB"}
1
+ {"version":3,"file":"MetaValidator.js","sourceRoot":"","sources":["../../../../src/Payload/Validator/MetaValidator.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAGxC,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC3C,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAE3C,MAAM,uBAAuB;IAE3B,YAAY,OAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,IAAI;QACT,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAA;QAC7B,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,QAAQ,aAAa,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAC3I,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QACnC,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;aACrE,IAAI,UAAU,GAAG,qBAAqB;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAA;aAChG,IAAI,UAAU,GAAG,qBAAqB;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAA;QACpG,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,GAAG;QACR,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAChD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAEQ,0DAAuB"}
@@ -1,9 +1,9 @@
1
- import { XyoHasher } from '../../Hasher';
1
+ import { XyoAbstractHasher } from '../../Hasher';
2
2
  import { XyoPayload } from '../models';
3
- declare class XyoPayloadWrapper<T extends XyoPayload> extends XyoHasher<T> {
4
- readonly payload: T;
3
+ export declare class XyoPayloadWrapper<T extends XyoPayload> extends XyoAbstractHasher<T> {
4
+ payload: T;
5
5
  constructor(payload: T);
6
+ protected get obj(): T;
6
7
  get body(): T;
7
8
  get meta(): T;
8
9
  }
9
- export { XyoPayloadWrapper };
@@ -2,11 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.XyoPayloadWrapper = void 0;
4
4
  const Hasher_1 = require("../../Hasher");
5
- class XyoPayloadWrapper extends Hasher_1.XyoHasher {
5
+ class XyoPayloadWrapper extends Hasher_1.XyoAbstractHasher {
6
6
  constructor(payload) {
7
- super(payload);
7
+ super();
8
8
  this.payload = payload;
9
9
  }
10
+ get obj() {
11
+ return this.payload;
12
+ }
10
13
  get body() {
11
14
  return (0, Hasher_1.deepOmitUnderscoreFields)(this.payload);
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../src/Payload/Wrapper/Wrapper.ts"],"names":[],"mappings":";;;AAAA,yCAA4F;AAG5F,MAAM,iBAAwC,SAAQ,kBAAY;IAEhE,YAAY,OAAU;QACpB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAA,iCAAwB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAA,iCAAwB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;CACF;AAEQ,8CAAiB"}
1
+ {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../src/Payload/Wrapper/Wrapper.ts"],"names":[],"mappings":";;;AAAA,yCAAoG;AAGpG,MAAa,iBAAwC,SAAQ,0BAAoB;IAE/E,YAAY,OAAU;QACpB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAc,GAAG;QACf,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAA,iCAAwB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAA,iCAAwB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;CACF;AAlBD,8CAkBC"}
@@ -0,0 +1,6 @@
1
+ import { XyoPayload } from '../Payload';
2
+ export interface XyoQueryPayload extends XyoPayload {
3
+ budget?: number;
4
+ maxFrequency?: 'once' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'year';
5
+ minBid?: number;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=QueryPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryPayload.js","sourceRoot":"","sources":["../../../src/Query/QueryPayload.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './QueryPayload';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./QueryPayload"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Query/index.ts"],"names":[],"mappings":";;;AAAA,yDAA8B"}
@@ -6,4 +6,5 @@ export interface XyoSchemaPayload extends XyoPayload {
6
6
  $id?: string;
7
7
  [key: string]: unknown;
8
8
  };
9
+ extends?: string;
9
10
  }
@@ -4,6 +4,7 @@ export * from './Huri';
4
4
  export * from './lib';
5
5
  export * from './models';
6
6
  export * from './Payload';
7
+ export * from './Query';
7
8
  export * from './Schema';
8
9
  export * from './SchemaNameValidator';
9
10
  export * from './Wallet';
@@ -7,6 +7,7 @@ tslib_1.__exportStar(require("./Huri"), exports);
7
7
  tslib_1.__exportStar(require("./lib"), exports);
8
8
  tslib_1.__exportStar(require("./models"), exports);
9
9
  tslib_1.__exportStar(require("./Payload"), exports);
10
+ tslib_1.__exportStar(require("./Query"), exports);
10
11
  tslib_1.__exportStar(require("./Schema"), exports);
11
12
  tslib_1.__exportStar(require("./SchemaNameValidator"), exports);
12
13
  tslib_1.__exportStar(require("./Wallet"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":";;;AAAA,yDAA8B;AAC9B,mDAAwB;AACxB,iDAAsB;AACtB,gDAAqB;AACrB,mDAAwB;AACxB,oDAAyB;AACzB,mDAAwB;AACxB,gEAAqC;AACrC,mDAAwB;AACxB,oDAAyB"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":";;;AAAA,yDAA8B;AAC9B,mDAAwB;AACxB,iDAAsB;AACtB,gDAAqB;AACrB,mDAAwB;AACxB,oDAAyB;AACzB,kDAAuB;AACvB,mDAAwB;AACxB,gEAAqC;AACrC,mDAAwB;AACxB,oDAAyB"}