@xyo-network/payload 2.33.0-rc.9 → 2.33.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 (109) hide show
  1. package/dist/cjs/Builder/Builder.d.ts +1 -2
  2. package/dist/cjs/Builder/Builder.d.ts.map +1 -1
  3. package/dist/cjs/Builder/Builder.js +1 -1
  4. package/dist/cjs/Builder/Builder.js.map +1 -1
  5. package/dist/cjs/Huri/Huri.d.ts +3 -0
  6. package/dist/cjs/Huri/Huri.d.ts.map +1 -1
  7. package/dist/cjs/Test/testPayload.d.ts +2 -2
  8. package/dist/cjs/Test/testPayload.d.ts.map +1 -1
  9. package/dist/cjs/Test/testPayload.js +0 -3
  10. package/dist/cjs/Test/testPayload.js.map +1 -1
  11. package/dist/cjs/Validator/Validator.d.ts +8 -3
  12. package/dist/cjs/Validator/Validator.d.ts.map +1 -1
  13. package/dist/cjs/Validator/Validator.js +23 -5
  14. package/dist/cjs/Validator/Validator.js.map +1 -1
  15. package/dist/cjs/Validator/index.d.ts +0 -2
  16. package/dist/cjs/Validator/index.d.ts.map +1 -1
  17. package/dist/cjs/Validator/index.js +0 -2
  18. package/dist/cjs/Validator/index.js.map +1 -1
  19. package/dist/cjs/Wrapper/Wrapper.d.ts +12 -3
  20. package/dist/cjs/Wrapper/Wrapper.d.ts.map +1 -1
  21. package/dist/cjs/Wrapper/Wrapper.js +15 -3
  22. package/dist/cjs/Wrapper/Wrapper.js.map +1 -1
  23. package/dist/cjs/Wrapper/index.d.ts +0 -1
  24. package/dist/cjs/Wrapper/index.d.ts.map +1 -1
  25. package/dist/cjs/Wrapper/index.js +0 -1
  26. package/dist/cjs/Wrapper/index.js.map +1 -1
  27. package/dist/cjs/isXyoPayloadOfSchemaType.d.ts +3 -0
  28. package/dist/cjs/isXyoPayloadOfSchemaType.d.ts.map +1 -1
  29. package/dist/cjs/models/Base.d.ts +10 -2
  30. package/dist/cjs/models/Base.d.ts.map +1 -1
  31. package/dist/cjs/models/Meta.d.ts +6 -0
  32. package/dist/cjs/models/Meta.d.ts.map +1 -1
  33. package/dist/cjs/models/Meta.js +1 -0
  34. package/dist/cjs/models/Meta.js.map +1 -1
  35. package/dist/docs.json +7440 -4235
  36. package/dist/esm/Builder/Builder.d.ts +1 -2
  37. package/dist/esm/Builder/Builder.d.ts.map +1 -1
  38. package/dist/esm/Builder/Builder.js +2 -2
  39. package/dist/esm/Builder/Builder.js.map +1 -1
  40. package/dist/esm/Huri/Huri.d.ts +3 -0
  41. package/dist/esm/Huri/Huri.d.ts.map +1 -1
  42. package/dist/esm/Test/testPayload.d.ts +2 -2
  43. package/dist/esm/Test/testPayload.d.ts.map +1 -1
  44. package/dist/esm/Test/testPayload.js +0 -3
  45. package/dist/esm/Test/testPayload.js.map +1 -1
  46. package/dist/esm/Validator/Validator.d.ts +8 -3
  47. package/dist/esm/Validator/Validator.d.ts.map +1 -1
  48. package/dist/esm/Validator/Validator.js +21 -5
  49. package/dist/esm/Validator/Validator.js.map +1 -1
  50. package/dist/esm/Validator/index.d.ts +0 -2
  51. package/dist/esm/Validator/index.d.ts.map +1 -1
  52. package/dist/esm/Validator/index.js +0 -2
  53. package/dist/esm/Validator/index.js.map +1 -1
  54. package/dist/esm/Wrapper/Wrapper.d.ts +12 -3
  55. package/dist/esm/Wrapper/Wrapper.d.ts.map +1 -1
  56. package/dist/esm/Wrapper/Wrapper.js +14 -3
  57. package/dist/esm/Wrapper/Wrapper.js.map +1 -1
  58. package/dist/esm/Wrapper/index.d.ts +0 -1
  59. package/dist/esm/Wrapper/index.d.ts.map +1 -1
  60. package/dist/esm/Wrapper/index.js +0 -1
  61. package/dist/esm/Wrapper/index.js.map +1 -1
  62. package/dist/esm/isXyoPayloadOfSchemaType.d.ts +3 -0
  63. package/dist/esm/isXyoPayloadOfSchemaType.d.ts.map +1 -1
  64. package/dist/esm/models/Base.d.ts +10 -2
  65. package/dist/esm/models/Base.d.ts.map +1 -1
  66. package/dist/esm/models/Meta.d.ts +6 -0
  67. package/dist/esm/models/Meta.d.ts.map +1 -1
  68. package/dist/esm/models/Meta.js +1 -0
  69. package/dist/esm/models/Meta.js.map +1 -1
  70. package/package.json +3 -4
  71. package/src/Builder/Builder.spec.ts +2 -1
  72. package/src/Builder/Builder.ts +3 -3
  73. package/src/Test/testPayload.ts +2 -5
  74. package/src/Validator/Validator.spec.ts +17 -28
  75. package/src/Validator/Validator.ts +22 -5
  76. package/src/Validator/index.ts +0 -2
  77. package/src/Wrapper/Wrapper.ts +16 -3
  78. package/src/Wrapper/index.ts +0 -1
  79. package/src/models/Base.ts +23 -7
  80. package/src/models/Meta.ts +7 -0
  81. package/dist/cjs/Validator/BodyValidator.d.ts +0 -10
  82. package/dist/cjs/Validator/BodyValidator.d.ts.map +0 -1
  83. package/dist/cjs/Validator/BodyValidator.js +0 -29
  84. package/dist/cjs/Validator/BodyValidator.js.map +0 -1
  85. package/dist/cjs/Validator/MetaValidator.d.ts +0 -9
  86. package/dist/cjs/Validator/MetaValidator.d.ts.map +0 -1
  87. package/dist/cjs/Validator/MetaValidator.js +0 -34
  88. package/dist/cjs/Validator/MetaValidator.js.map +0 -1
  89. package/dist/cjs/Wrapper/Validator.d.ts +0 -9
  90. package/dist/cjs/Wrapper/Validator.d.ts.map +0 -1
  91. package/dist/cjs/Wrapper/Validator.js +0 -17
  92. package/dist/cjs/Wrapper/Validator.js.map +0 -1
  93. package/dist/esm/Validator/BodyValidator.d.ts +0 -10
  94. package/dist/esm/Validator/BodyValidator.d.ts.map +0 -1
  95. package/dist/esm/Validator/BodyValidator.js +0 -25
  96. package/dist/esm/Validator/BodyValidator.js.map +0 -1
  97. package/dist/esm/Validator/MetaValidator.d.ts +0 -9
  98. package/dist/esm/Validator/MetaValidator.d.ts.map +0 -1
  99. package/dist/esm/Validator/MetaValidator.js +0 -31
  100. package/dist/esm/Validator/MetaValidator.js.map +0 -1
  101. package/dist/esm/Wrapper/Validator.d.ts +0 -9
  102. package/dist/esm/Wrapper/Validator.d.ts.map +0 -1
  103. package/dist/esm/Wrapper/Validator.js +0 -13
  104. package/dist/esm/Wrapper/Validator.js.map +0 -1
  105. package/src/Validator/BodyValidator.spec.ts +0 -11
  106. package/src/Validator/BodyValidator.ts +0 -28
  107. package/src/Validator/MetaValidator.spec.ts +0 -11
  108. package/src/Validator/MetaValidator.ts +0 -34
  109. package/src/Wrapper/Validator.ts +0 -19
@@ -1,9 +1,8 @@
1
- import { StringKeyObject } from '@xyo-network/core';
2
1
  import { XyoPayload } from '../models';
3
2
  export interface XyoPayloadBuilderOptions {
4
3
  schema: string;
5
4
  }
6
- export declare class XyoPayloadBuilder<T extends XyoPayload = XyoPayload<StringKeyObject>> {
5
+ export declare class XyoPayloadBuilder<T extends XyoPayload = XyoPayload<Record<string, unknown>>> {
7
6
  private _fields;
8
7
  private _previousHash?;
9
8
  private _schema;
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,eAAe,EAAa,MAAM,mBAAmB,CAAA;AAE3G,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC;IAC/E,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,OAAO,CAAQ;gBAEX,EAAE,MAAM,EAAE,EAAE,wBAAwB;IAIzC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAO1B,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;IAK1B,cAAc;IAOd,KAAK,IAAI,CAAC;CAMlB"}
1
+ {"version":3,"file":"Builder.d.ts","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvF,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,aAAa,CAAC,CAAQ;IAC9B,OAAO,CAAC,OAAO,CAAQ;gBAEX,EAAE,MAAM,EAAE,EAAE,wBAAwB;IAIzC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAO1B,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM;IAK1B,cAAc;IAOd,KAAK,IAAI,CAAC;CAMlB"}
@@ -1,4 +1,4 @@
1
- import { deepOmitUnderscoreFields, removeEmptyFields, XyoHasher } from '@xyo-network/core';
1
+ import { deepOmitUnderscoreFields, Hasher, removeEmptyFields } from '@xyo-network/core';
2
2
  export class XyoPayloadBuilder {
3
3
  _fields = {};
4
4
  _previousHash;
@@ -24,7 +24,7 @@ export class XyoPayloadBuilder {
24
24
  }
25
25
  build() {
26
26
  const hashableFields = this.hashableFields();
27
- const _hash = new XyoHasher(hashableFields).hash;
27
+ const _hash = new Hasher(hashableFields).hash;
28
28
  const _timestamp = Date.now();
29
29
  return { ...hashableFields, _client: 'js', _hash, _timestamp, schema: this._schema };
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAmB,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAQ3G,MAAM,OAAO,iBAAiB;IACpB,OAAO,GAAe,EAAE,CAAA;IACxB,aAAa,CAAS;IACtB,OAAO,CAAQ;IAEvB,YAAY,EAAE,MAAM,EAA4B;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,MAAmB;QAC/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,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;YACL,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACrG,MAAM,EAAE,IAAI,CAAC,OAAO;SAChB,CAAA;IACR,CAAC;IAEM,KAAK;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAA;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACtF,CAAC;CACF"}
1
+ {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAQvF,MAAM,OAAO,iBAAiB;IACpB,OAAO,GAAe,EAAE,CAAA;IACxB,aAAa,CAAS;IACtB,OAAO,CAAQ;IAEvB,YAAY,EAAE,MAAM,EAA4B;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,MAAmB;QAC/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,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;YACL,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACrG,MAAM,EAAE,IAAI,CAAC,OAAO;SAChB,CAAA;IACR,CAAC;IAEM,KAAK;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAA;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACtF,CAAC;CACF"}
@@ -27,9 +27,12 @@ export declare class Huri<T extends XyoPayload = XyoPayload> {
27
27
  private static parsePath;
28
28
  static isHuri(value: unknown): Huri<{
29
29
  schema: string;
30
+ } & {
30
31
  previousHash?: string | undefined;
31
32
  sources?: string[] | undefined;
32
33
  timestamp?: number | undefined;
34
+ } & {
35
+ schema: string;
33
36
  }> | undefined;
34
37
  }
35
38
  //# sourceMappingURL=Huri.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Huri.d.ts","sourceRoot":"","sources":["../../../src/Huri/Huri.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,oBAAY,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAA;AAEnD,oBAAY,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AAY/E,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAClE,OAAO,EAAE,CAAC,CAAA;IACV,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ;AAED,qBAAa,IAAI,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC1C,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IAEnB,OAAO,CAAC,MAAM,CAAO;gBAET,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,EAAE,YAAY,EAAE,GAAE,WAAgB;IAoBxE,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,aAAa;IAerB,IAAW,IAAI,WAad;IAEM,QAAQ;IAIF,KAAK,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;WAI/B,KAAK,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzF,OAAO,CAAC,MAAM,CAAC,aAAa;IAY5B,OAAO,CAAC,MAAM,CAAC,SAAS;WAWV,MAAM,CAAC,KAAK,EAAE,OAAO;;;;;;CAMpC"}
1
+ {"version":3,"file":"Huri.d.ts","sourceRoot":"","sources":["../../../src/Huri/Huri.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,oBAAY,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAA;AAEnD,oBAAY,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;AAY/E,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAClE,OAAO,EAAE,CAAC,CAAA;IACV,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ;AAED,qBAAa,IAAI,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC1C,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IAEnB,OAAO,CAAC,MAAM,CAAO;gBAET,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,EAAE,YAAY,EAAE,GAAE,WAAgB;IAoBxE,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,aAAa;IAerB,IAAW,IAAI,WAad;IAEM,QAAQ;IAIF,KAAK,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;WAI/B,KAAK,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzF,OAAO,CAAC,MAAM,CAAC,aAAa;IAY5B,OAAO,CAAC,MAAM,CAAC,SAAS;WAWV,MAAM,CAAC,KAAK,EAAE,OAAO;;;;;;;;;CAMpC"}
@@ -1,6 +1,6 @@
1
1
  import { StringKeyObject } from '@xyo-network/core';
2
- import { XyoPayloadWithMeta } from '../models';
2
+ import { XyoPayload } from '../models';
3
3
  declare const testSchema = "network.xyo.test";
4
- declare const testPayload: XyoPayloadWithMeta<StringKeyObject>;
4
+ declare const testPayload: XyoPayload<StringKeyObject>;
5
5
  export { testPayload, testSchema };
6
6
  //# sourceMappingURL=testPayload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testPayload.d.ts","sourceRoot":"","sources":["../../../src/Test/testPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,QAAA,MAAM,UAAU,qBAAqB,CAAA;AACrC,QAAA,MAAM,WAAW,EAAE,kBAAkB,CAAC,eAAe,CAWpD,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"testPayload.d.ts","sourceRoot":"","sources":["../../../src/Test/testPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,QAAA,MAAM,UAAU,qBAAqB,CAAA;AACrC,QAAA,MAAM,WAAW,EAAE,UAAU,CAAC,eAAe,CAQ5C,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA"}
@@ -1,8 +1,5 @@
1
1
  const testSchema = 'network.xyo.test';
2
2
  const testPayload = {
3
- _archive: 'test',
4
- _hash: '20e14207f952a09f767ff614a648546c037fe524ace0bfe55db31f818aff1f1c',
5
- _timestamp: 1609459255555,
6
3
  numberField: 1,
7
4
  objectField: {
8
5
  numberField: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"testPayload.js","sourceRoot":"","sources":["../../../src/Test/testPayload.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,GAAG,kBAAkB,CAAA;AACrC,MAAM,WAAW,GAAwC;IACvD,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,kEAAkE;IACzE,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE;QACX,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,aAAa;KAC3B;IACD,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE,aAAa;CAC3B,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"testPayload.js","sourceRoot":"","sources":["../../../src/Test/testPayload.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,GAAG,kBAAkB,CAAA;AACrC,MAAM,WAAW,GAAgC;IAC/C,WAAW,EAAE,CAAC;IACd,WAAW,EAAE;QACX,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,aAAa;KAC3B;IACD,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE,aAAa;CAC3B,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA"}
@@ -1,9 +1,14 @@
1
1
  import { XyoValidator, XyoValidatorBase } from '@xyo-network/core';
2
2
  import { XyoPayload } from '../models';
3
- import { XyoPayloadBodyValidator } from './BodyValidator';
4
- export declare class XyoPayloadValidator<T extends XyoPayload = XyoPayload> extends XyoValidatorBase<T> implements XyoValidator<T> {
5
- body: XyoPayloadBodyValidator;
3
+ import { XyoSchemaNameValidator } from '../SchemaNameValidator';
4
+ export declare class PayloadValidator<T extends XyoPayload = XyoPayload> extends XyoValidatorBase<T> implements XyoValidator<T> {
6
5
  constructor(payload: T);
6
+ private _schemaValidator?;
7
+ get schemaValidator(): XyoSchemaNameValidator;
8
+ schemaName(): Error[];
7
9
  validate(): Error[];
8
10
  }
11
+ /** @deprecated use PayloadValidator instead*/
12
+ export declare class XyoPayloadValidator<T extends XyoPayload = XyoPayload> extends PayloadValidator<T> {
13
+ }
9
14
  //# sourceMappingURL=Validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../../src/Validator/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IACjH,IAAI,EAAE,uBAAuB,CAAA;gBACxB,OAAO,EAAE,CAAC;IAKf,QAAQ;CAKhB"}
1
+ {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../../src/Validator/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,qBAAa,gBAAgB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;gBACzG,OAAO,EAAE,CAAC;IAItB,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IACjD,IAAI,eAAe,2BAGlB;IAEM,UAAU;IAUV,QAAQ;CAKhB;AAED,8CAA8C;AAC9C,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;CAAG"}
@@ -1,15 +1,31 @@
1
1
  import { XyoValidatorBase } from '@xyo-network/core';
2
- import { XyoPayloadBodyValidator } from './BodyValidator';
3
- export class XyoPayloadValidator extends XyoValidatorBase {
4
- body;
2
+ import { XyoSchemaNameValidator } from '../SchemaNameValidator';
3
+ export class PayloadValidator extends XyoValidatorBase {
5
4
  constructor(payload) {
6
5
  super(payload);
7
- this.body = new XyoPayloadBodyValidator(payload);
6
+ }
7
+ _schemaValidator;
8
+ get schemaValidator() {
9
+ this._schemaValidator = this._schemaValidator ?? new XyoSchemaNameValidator(this.obj.schema ?? '');
10
+ return this._schemaValidator;
11
+ }
12
+ schemaName() {
13
+ const errors = [];
14
+ if (this.obj.schema === undefined) {
15
+ errors.push(Error('schema missing'));
16
+ }
17
+ else {
18
+ errors.push(...this.schemaValidator.all());
19
+ }
20
+ return errors;
8
21
  }
9
22
  validate() {
10
23
  const errors = [];
11
- errors.push(...this.body.validate());
24
+ errors.push(...this.schemaName());
12
25
  return errors;
13
26
  }
14
27
  }
28
+ /** @deprecated use PayloadValidator instead*/
29
+ export class XyoPayloadValidator extends PayloadValidator {
30
+ }
15
31
  //# sourceMappingURL=Validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/Validator/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,OAAO,mBAAuD,SAAQ,gBAAmB;IACtF,IAAI,CAAyB;IACpC,YAAY,OAAU;QACpB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACpC,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/Validator/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,OAAO,gBAAoD,SAAQ,gBAAmB;IAC1F,YAAY,OAAU;QACpB,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;IAEO,gBAAgB,CAAyB;IACjD,IAAI,eAAe;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAClG,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAEM,UAAU;QACf,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;SACrC;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAA;SAC3C;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,8CAA8C;AAC9C,MAAM,OAAO,mBAAuD,SAAQ,gBAAmB;CAAG"}
@@ -1,4 +1,2 @@
1
- export * from './BodyValidator';
2
- export * from './MetaValidator';
3
1
  export * from './Validator';
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1,4 +1,2 @@
1
- export * from './BodyValidator';
2
- export * from './MetaValidator';
3
1
  export * from './Validator';
4
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1,15 +1,24 @@
1
- import { XyoDataLike, XyoHasher } from '@xyo-network/core';
1
+ import { Hasher, XyoDataLike } from '@xyo-network/core';
2
2
  import { Huri } from '../Huri';
3
3
  import { XyoPayload } from '../models';
4
- export declare class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends XyoHasher<T> {
4
+ export declare class PayloadWrapper<T extends XyoPayload = XyoPayload> extends Hasher<T> {
5
5
  get payload(): T;
6
6
  get body(): T;
7
+ get valid(): boolean;
8
+ get errors(): Error[];
9
+ /** @deprecated - meta fields not supported by client anymore */
7
10
  get meta(): T;
8
- static load(address: XyoDataLike | Huri): Promise<XyoPayloadWrapper<{
11
+ static load(address: XyoDataLike | Huri): Promise<PayloadWrapper<{
9
12
  schema: string;
13
+ } & {
10
14
  previousHash?: string | undefined;
11
15
  sources?: string[] | undefined;
12
16
  timestamp?: number | undefined;
17
+ } & {
18
+ schema: string;
13
19
  }> | undefined>;
14
20
  }
21
+ /** @deprecated use PayloadWrapper instead */
22
+ export declare class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends PayloadWrapper<T> {
23
+ }
15
24
  //# sourceMappingURL=Wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE9G,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,qBAAa,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACpF,IAAW,OAAO,MAEjB;IAED,IAAW,IAAI,MAEd;IAED,IAAW,IAAI,MAEd;WAEmB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;;;;;;CAMrD"}
1
+ {"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE3G,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAGtC,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IAC9E,IAAW,OAAO,MAEjB;IAED,IAAW,IAAI,MAEd;IAED,IAAI,KAAK,YAER;IAED,IAAI,MAAM,YAET;IAED,gEAAgE;IAChE,IAAW,IAAI,MAEd;WAEmB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;;;;;;;;;CAMrD;AAED,6CAA6C;AAC7C,qBAAa,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;CAAG"}
@@ -1,20 +1,31 @@
1
- import { deepOmitUnderscoreFields, deepPickUnderscoreFields, XyoHasher } from '@xyo-network/core';
1
+ import { deepOmitUnderscoreFields, deepPickUnderscoreFields, Hasher } from '@xyo-network/core';
2
2
  import { Huri } from '../Huri';
3
- export class XyoPayloadWrapper extends XyoHasher {
3
+ import { PayloadValidator } from '../Validator';
4
+ export class PayloadWrapper extends Hasher {
4
5
  get payload() {
5
6
  return this.obj;
6
7
  }
7
8
  get body() {
8
9
  return deepOmitUnderscoreFields(this.obj);
9
10
  }
11
+ get valid() {
12
+ return this.errors.length === 0;
13
+ }
14
+ get errors() {
15
+ return new PayloadValidator(this.payload).validate();
16
+ }
17
+ /** @deprecated - meta fields not supported by client anymore */
10
18
  get meta() {
11
19
  return deepPickUnderscoreFields(this.obj);
12
20
  }
13
21
  static async load(address) {
14
22
  const payload = await new Huri(address).fetch();
15
23
  if (payload) {
16
- return new XyoPayloadWrapper(payload);
24
+ return new PayloadWrapper(payload);
17
25
  }
18
26
  }
19
27
  }
28
+ /** @deprecated use PayloadWrapper instead */
29
+ export class XyoPayloadWrapper extends PayloadWrapper {
30
+ }
20
31
  //# sourceMappingURL=Wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE9G,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAG9B,MAAM,OAAO,iBAAqD,SAAQ,SAAY;IACpF,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,wBAAwB,CAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,IAAW,IAAI;QACb,OAAO,wBAAwB,CAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAA2B;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;QAC/C,IAAI,OAAO,EAAE;YACX,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAA;SACtC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,EAAe,MAAM,mBAAmB,CAAA;AAE3G,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,OAAO,cAAkD,SAAQ,MAAS;IAC9E,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,wBAAwB,CAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;IACtD,CAAC;IAED,gEAAgE;IAChE,IAAW,IAAI;QACb,OAAO,wBAAwB,CAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAA2B;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;QAC/C,IAAI,OAAO,EAAE;YACX,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;SACnC;IACH,CAAC;CACF;AAED,6CAA6C;AAC7C,MAAM,OAAO,iBAAqD,SAAQ,cAAiB;CAAG"}
@@ -1,3 +1,2 @@
1
- export * from './Validator';
2
1
  export * from './Wrapper';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -1,3 +1,2 @@
1
- export * from './Validator';
2
1
  export * from './Wrapper';
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -1,8 +1,11 @@
1
1
  import { XyoPayload } from './models';
2
2
  export declare const isXyoPayloadOfSchemaType: <T extends {
3
3
  schema: string;
4
+ } & {
4
5
  previousHash?: string | undefined;
5
6
  sources?: string[] | undefined;
6
7
  timestamp?: number | undefined;
8
+ } & {
9
+ schema: string;
7
10
  }>(schema: string) => (x: XyoPayload) => x is T;
8
11
  //# sourceMappingURL=isXyoPayloadOfSchemaType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isXyoPayloadOfSchemaType.d.ts","sourceRoot":"","sources":["../../src/isXyoPayloadOfSchemaType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,eAAO,MAAM,wBAAwB;;;;;WAAkC,MAAM,SAChE,UAAU,WACtB,CAAA"}
1
+ {"version":3,"file":"isXyoPayloadOfSchemaType.d.ts","sourceRoot":"","sources":["../../src/isXyoPayloadOfSchemaType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,eAAO,MAAM,wBAAwB;;;;;;;;WAAkC,MAAM,SAChE,UAAU,WACtB,CAAA"}
@@ -4,10 +4,18 @@ export declare type WithTimestamp<T extends EmptyObject = EmptyObject> = T & {
4
4
  };
5
5
  export declare type XyoPayloadSchema = 'network.xyo.payload';
6
6
  export declare const XyoPayloadSchema: XyoPayloadSchema;
7
- export declare type XyoPayload<T extends EmptyObject = EmptyObject, TSchema extends string = string> = T & {
8
- schema: TSchema;
7
+ declare type XyoPayloadBaseWithSchema<T extends EmptyObject = EmptyObject> = {
8
+ schema: string;
9
+ } & T;
10
+ declare type XyoPayloadBase<T extends EmptyObject = EmptyObject> = XyoPayloadBaseWithSchema<{
9
11
  previousHash?: string;
10
12
  sources?: string[];
11
13
  timestamp?: number;
14
+ } & T>;
15
+ export declare type XyoPayload<T extends void | EmptyObject | XyoPayloadBaseWithSchema = void, S extends string = T extends XyoPayloadBaseWithSchema ? T['schema'] : string> = T extends XyoPayloadBaseWithSchema ? XyoPayloadBase<T> : T extends EmptyObject ? /* Type sent is an Object */ XyoPayloadBase & T & {
16
+ schema: S;
17
+ } : /* Type sent is void */ XyoPayloadBase & {
18
+ schema: S;
12
19
  };
20
+ export {};
13
21
  //# sourceMappingURL=Base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Base.d.ts","sourceRoot":"","sources":["../../../src/models/Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,oBAAY,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1F,oBAAY,gBAAgB,GAAG,qBAAqB,CAAA;AACpD,eAAO,MAAM,gBAAgB,EAAE,gBAAwC,CAAA;AAGvE,oBAAY,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG;IACjG,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"Base.d.ts","sourceRoot":"","sources":["../../../src/models/Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,oBAAY,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1F,oBAAY,gBAAgB,GAAG,qBAAqB,CAAA;AACpD,eAAO,MAAM,gBAAgB,EAAE,gBAAwC,CAAA;AAEvE,aAAK,wBAAwB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IACnE,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,CAAC,CAAA;AAEL,aAAK,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,wBAAwB,CACjF;IACE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,CAAC,CACN,CAAA;AAED,oBAAY,UAAU,CACpB,CAAC,SAAS,IAAI,GAAG,WAAW,GAAG,wBAAwB,GAAG,IAAI,EAC9D,CAAC,SAAS,MAAM,GAAG,CAAC,SAAS,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,IAC1E,CAAC,SAAS,wBAAwB,GAElC,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,WAAW,GAErB,AADA,4BAA4B,CAC5B,cAAc,GAAG,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAElC,AADA,uBAAuB,CACvB,cAAc,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { EmptyObject } from '@xyo-network/core';
2
2
  import { XyoPayload } from './Base';
3
+ /** @deprecated - meta fields not supported by client anymore */
3
4
  export interface XyoPayloadMetaBase {
4
5
  _hash: string;
5
6
  _observeDuration?: number;
@@ -11,8 +12,13 @@ export interface XyoPayloadMetaBase {
11
12
  _user_agent?: string;
12
13
  _schemaValid?: boolean;
13
14
  }
15
+ /** @deprecated - meta fields not supported by client anymore */
14
16
  export declare type XyoPayloadMeta<T extends EmptyObject = EmptyObject> = T & XyoPayloadMetaBase;
17
+ /** @deprecated - meta fields not supported by client anymore */
15
18
  export declare type XyoPartialPayloadMeta<T extends EmptyObject = EmptyObject> = T & Partial<XyoPayloadMetaBase>;
19
+ /** @deprecated - meta fields not supported by client anymore */
16
20
  export declare type XyoPayloadWithMeta<T extends EmptyObject = EmptyObject> = XyoPayload<T & XyoPayloadMetaBase>;
21
+ /** @deprecated - meta fields not supported by client anymore */
17
22
  export declare type XyoPayloadWithPartialMeta<T extends EmptyObject = EmptyObject> = XyoPayload<T & Partial<XyoPayloadMetaBase>>;
23
+ /** @deprecated - meta fields not supported by client anymore */
18
24
  //# sourceMappingURL=Meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Meta.d.ts","sourceRoot":"","sources":["../../../src/models/Meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,oBAAY,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,GAAG,kBAAkB,CAAA;AACxF,oBAAY,qBAAqB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AACxG,oBAAY,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAA;AACxG,oBAAY,yBAAyB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Meta.d.ts","sourceRoot":"","sources":["../../../src/models/Meta.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,gEAAgE;AAChE,oBAAY,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,GAAG,kBAAkB,CAAA;AACxF,gEAAgE;AAChE,oBAAY,qBAAqB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AACxG,gEAAgE;AAChE,oBAAY,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAA;AACxG,gEAAgE;AAChE,oBAAY,yBAAyB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;AACxH,gEAAgE"}
@@ -1,2 +1,3 @@
1
1
  export {};
2
+ /** @deprecated - meta fields not supported by client anymore */
2
3
  //# sourceMappingURL=Meta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Meta.js","sourceRoot":"","sources":["../../../src/models/Meta.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Meta.js","sourceRoot":"","sources":["../../../src/models/Meta.ts"],"names":[],"mappings":";AA0BA,gEAAgE"}
package/package.json CHANGED
@@ -11,8 +11,8 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/sdk-js": "^2.6.7",
14
- "@xyo-network/account": "^2.33.0-rc.9",
15
- "@xyo-network/core": "^2.33.0-rc.9",
14
+ "@xyo-network/account": "^2.33.0",
15
+ "@xyo-network/core": "^2.33.0",
16
16
  "axios": "^0.27.2",
17
17
  "tslib": "^2.4.0"
18
18
  },
@@ -49,6 +49,5 @@
49
49
  },
50
50
  "sideEffects": false,
51
51
  "types": "dist/esm/index.d.ts",
52
- "version": "2.33.0-rc.9",
53
- "stableVersion": "2.32.1"
52
+ "version": "2.33.0"
54
53
  }
@@ -1,3 +1,4 @@
1
+ import { XyoPayload } from '../models'
1
2
  import { XyoPayloadBuilder } from './Builder'
2
3
 
3
4
  const schema = 'network.xyo.temp'
@@ -8,7 +9,7 @@ const ADDITIONAL_FIELD_COUNT = 4
8
9
 
9
10
  describe('XyoBoundWitnessBuilder', () => {
10
11
  test('build', () => {
11
- let builder = new XyoPayloadBuilder({ schema })
12
+ let builder = new XyoPayloadBuilder<XyoPayload<Record<string, unknown>>>({ schema })
12
13
  expect(builder).toBeDefined()
13
14
  builder = builder.fields({
14
15
  testArray: [1, 2, 3],
@@ -1,4 +1,4 @@
1
- import { deepOmitUnderscoreFields, removeEmptyFields, StringKeyObject, XyoHasher } from '@xyo-network/core'
1
+ import { deepOmitUnderscoreFields, Hasher, removeEmptyFields } from '@xyo-network/core'
2
2
 
3
3
  import { XyoPayload } from '../models'
4
4
 
@@ -6,7 +6,7 @@ export interface XyoPayloadBuilderOptions {
6
6
  schema: string
7
7
  }
8
8
 
9
- export class XyoPayloadBuilder<T extends XyoPayload = XyoPayload<StringKeyObject>> {
9
+ export class XyoPayloadBuilder<T extends XyoPayload = XyoPayload<Record<string, unknown>>> {
10
10
  private _fields: Partial<T> = {}
11
11
  private _previousHash?: string
12
12
  private _schema: string
@@ -36,7 +36,7 @@ export class XyoPayloadBuilder<T extends XyoPayload = XyoPayload<StringKeyObject
36
36
 
37
37
  public build(): T {
38
38
  const hashableFields = this.hashableFields()
39
- const _hash = new XyoHasher(hashableFields).hash
39
+ const _hash = new Hasher(hashableFields).hash
40
40
  const _timestamp = Date.now()
41
41
  return { ...hashableFields, _client: 'js', _hash, _timestamp, schema: this._schema }
42
42
  }
@@ -1,12 +1,9 @@
1
1
  import { StringKeyObject } from '@xyo-network/core'
2
2
 
3
- import { XyoPayloadWithMeta } from '../models'
3
+ import { XyoPayload } from '../models'
4
4
 
5
5
  const testSchema = 'network.xyo.test'
6
- const testPayload: XyoPayloadWithMeta<StringKeyObject> = {
7
- _archive: 'test',
8
- _hash: '20e14207f952a09f767ff614a648546c037fe524ace0bfe55db31f818aff1f1c',
9
- _timestamp: 1609459255555,
6
+ const testPayload: XyoPayload<StringKeyObject> = {
10
7
  numberField: 1,
11
8
  objectField: {
12
9
  numberField: 1,
@@ -1,60 +1,49 @@
1
1
  import { dumpErrors } from '@xyo-network/core'
2
2
 
3
- import { XyoPayloadWithMeta } from '../models'
4
- import { XyoPayloadValidator } from './Validator'
5
-
6
- const testPayloadNoSchema: XyoPayloadWithMeta = {
7
- _hash: '44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a',
8
- _timestamp: 1609459255555,
9
- } as XyoPayloadWithMeta
10
- const testPayloadMixedCase: XyoPayloadWithMeta = {
11
- _hash: '9a67116e05c33135f6ba23768f9a3fbbba155297ee1bb0a7e21d91fdc3835769',
12
- _timestamp: 1609459255555,
3
+ import { XyoPayload } from '../models'
4
+ import { PayloadValidator } from './Validator'
5
+
6
+ const testPayloadNoSchema: XyoPayload = {} as XyoPayload
7
+ const testPayloadMixedCase: XyoPayload = {
13
8
  schema: 'network.xyo.testMixedCaseSchema',
14
- } as XyoPayloadWithMeta
15
- const testPayloadTooFewLevels: XyoPayloadWithMeta = {
16
- _hash: '95206b26e3173deaac5e3f5d4510d50112b6348d3a2128b1eb6fe3ca66957628',
17
- _timestamp: 1609459255555,
9
+ } as XyoPayload
10
+ const testPayloadTooFewLevels: XyoPayload = {
18
11
  schema: 'network.xyo',
19
- } as XyoPayloadWithMeta
20
- const testPayloadDoesNotExist: XyoPayloadWithMeta = {
21
- _hash: '360b4ce36862ef2a20dd572d69283a86d351b2b4a9cd4f61ae6f7a320be81dbf',
22
- _timestamp: 1609459255555,
12
+ } as XyoPayload
13
+ const testPayloadDoesNotExist: XyoPayload = {
23
14
  schema: 'network.dfd-sf-sf-s.blahblah',
24
- } as XyoPayloadWithMeta
25
- const testPayloadValid: XyoPayloadWithMeta = {
26
- _hash: '4b5958c6d16b26d6790e33f5be45578728b0ea36e40a0d1b9c9164822341cac1',
27
- _timestamp: 1609459255555,
15
+ } as XyoPayload
16
+ const testPayloadValid: XyoPayload = {
28
17
  schema: 'network.xyo.test',
29
- } as XyoPayloadWithMeta
18
+ } as XyoPayload
30
19
 
31
20
  test('all [missing schema]', () => {
32
- const validator = new XyoPayloadValidator(testPayloadNoSchema)
21
+ const validator = new PayloadValidator(testPayloadNoSchema)
33
22
  const errors = validator.validate()
34
23
  expect(errors.length).toBe(1)
35
24
  })
36
25
 
37
26
  test('all [mixed case]', () => {
38
- const validator = new XyoPayloadValidator(testPayloadMixedCase)
27
+ const validator = new PayloadValidator(testPayloadMixedCase)
39
28
  const errors = validator.validate()
40
29
  expect(errors.length).toBe(1)
41
30
  })
42
31
 
43
32
  test('all [too few levels]', () => {
44
- const validator = new XyoPayloadValidator(testPayloadTooFewLevels)
33
+ const validator = new PayloadValidator(testPayloadTooFewLevels)
45
34
  const errors = validator.validate()
46
35
  expect(errors.length).toBe(1)
47
36
  })
48
37
 
49
38
  test('all [does not exist]', () => {
50
- const validator = new XyoPayloadValidator(testPayloadDoesNotExist)
39
+ const validator = new PayloadValidator(testPayloadDoesNotExist)
51
40
  const errors = validator.validate()
52
41
  dumpErrors(errors)
53
42
  expect(errors.length).toBe(0)
54
43
  })
55
44
 
56
45
  test('all [valid]', () => {
57
- const validator = new XyoPayloadValidator(testPayloadValid)
46
+ const validator = new PayloadValidator(testPayloadValid)
58
47
 
59
48
  let errors: Error[] = []
60
49
  errors = validator.validate()
@@ -1,18 +1,35 @@
1
1
  import { XyoValidator, XyoValidatorBase } from '@xyo-network/core'
2
2
 
3
3
  import { XyoPayload } from '../models'
4
- import { XyoPayloadBodyValidator } from './BodyValidator'
4
+ import { XyoSchemaNameValidator } from '../SchemaNameValidator'
5
5
 
6
- export class XyoPayloadValidator<T extends XyoPayload = XyoPayload> extends XyoValidatorBase<T> implements XyoValidator<T> {
7
- public body: XyoPayloadBodyValidator
6
+ export class PayloadValidator<T extends XyoPayload = XyoPayload> extends XyoValidatorBase<T> implements XyoValidator<T> {
8
7
  constructor(payload: T) {
9
8
  super(payload)
10
- this.body = new XyoPayloadBodyValidator(payload)
9
+ }
10
+
11
+ private _schemaValidator?: XyoSchemaNameValidator
12
+ get schemaValidator() {
13
+ this._schemaValidator = this._schemaValidator ?? new XyoSchemaNameValidator(this.obj.schema ?? '')
14
+ return this._schemaValidator
15
+ }
16
+
17
+ public schemaName() {
18
+ const errors: Error[] = []
19
+ if (this.obj.schema === undefined) {
20
+ errors.push(Error('schema missing'))
21
+ } else {
22
+ errors.push(...this.schemaValidator.all())
23
+ }
24
+ return errors
11
25
  }
12
26
 
13
27
  public validate() {
14
28
  const errors: Error[] = []
15
- errors.push(...this.body.validate())
29
+ errors.push(...this.schemaName())
16
30
  return errors
17
31
  }
18
32
  }
33
+
34
+ /** @deprecated use PayloadValidator instead*/
35
+ export class XyoPayloadValidator<T extends XyoPayload = XyoPayload> extends PayloadValidator<T> {}
@@ -1,3 +1 @@
1
- export * from './BodyValidator'
2
- export * from './MetaValidator'
3
1
  export * from './Validator'
@@ -1,9 +1,10 @@
1
- import { deepOmitUnderscoreFields, deepPickUnderscoreFields, XyoDataLike, XyoHasher } from '@xyo-network/core'
1
+ import { deepOmitUnderscoreFields, deepPickUnderscoreFields, Hasher, XyoDataLike } from '@xyo-network/core'
2
2
 
3
3
  import { Huri } from '../Huri'
4
4
  import { XyoPayload } from '../models'
5
+ import { PayloadValidator } from '../Validator'
5
6
 
6
- export class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends XyoHasher<T> {
7
+ export class PayloadWrapper<T extends XyoPayload = XyoPayload> extends Hasher<T> {
7
8
  public get payload() {
8
9
  return this.obj
9
10
  }
@@ -12,6 +13,15 @@ export class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends XyoHas
12
13
  return deepOmitUnderscoreFields<T>(this.obj)
13
14
  }
14
15
 
16
+ get valid() {
17
+ return this.errors.length === 0
18
+ }
19
+
20
+ get errors() {
21
+ return new PayloadValidator(this.payload).validate()
22
+ }
23
+
24
+ /** @deprecated - meta fields not supported by client anymore */
15
25
  public get meta() {
16
26
  return deepPickUnderscoreFields<T>(this.obj)
17
27
  }
@@ -19,7 +29,10 @@ export class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends XyoHas
19
29
  public static async load(address: XyoDataLike | Huri) {
20
30
  const payload = await new Huri(address).fetch()
21
31
  if (payload) {
22
- return new XyoPayloadWrapper(payload)
32
+ return new PayloadWrapper(payload)
23
33
  }
24
34
  }
25
35
  }
36
+
37
+ /** @deprecated use PayloadWrapper instead */
38
+ export class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends PayloadWrapper<T> {}
@@ -1,2 +1 @@
1
- export * from './Validator'
2
1
  export * from './Wrapper'