@xyo-network/payload 2.33.0-rc.9 → 2.33.1

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
@@ -5,10 +5,26 @@ export type WithTimestamp<T extends EmptyObject = EmptyObject> = T & { timestamp
5
5
  export type XyoPayloadSchema = 'network.xyo.payload'
6
6
  export const XyoPayloadSchema: XyoPayloadSchema = 'network.xyo.payload'
7
7
 
8
- //we put {schema: string} first since we want it be be changed to the type of T's schema
9
- export type XyoPayload<T extends EmptyObject = EmptyObject, TSchema extends string = string> = T & {
10
- schema: TSchema
11
- previousHash?: string
12
- sources?: string[]
13
- timestamp?: number
14
- }
8
+ type XyoPayloadBaseWithSchema<T extends EmptyObject = EmptyObject> = {
9
+ schema: string
10
+ } & T
11
+
12
+ type XyoPayloadBase<T extends EmptyObject = EmptyObject> = XyoPayloadBaseWithSchema<
13
+ {
14
+ previousHash?: string
15
+ sources?: string[]
16
+ timestamp?: number
17
+ } & T
18
+ >
19
+
20
+ export type XyoPayload<
21
+ T extends void | EmptyObject | XyoPayloadBaseWithSchema = void,
22
+ S extends string = T extends XyoPayloadBaseWithSchema ? T['schema'] : string,
23
+ > = T extends XyoPayloadBaseWithSchema
24
+ ? /* Type sent is an XyoPayload */
25
+ XyoPayloadBase<T>
26
+ : T extends EmptyObject
27
+ ? /* Type sent is an Object */
28
+ XyoPayloadBase & T & { schema: S }
29
+ : /* Type sent is void */
30
+ XyoPayloadBase & { schema: S }
@@ -1,7 +1,9 @@
1
+ /* eslint-disable deprecation/deprecation */
1
2
  import { EmptyObject } from '@xyo-network/core'
2
3
 
3
4
  import { XyoPayload } from './Base'
4
5
 
6
+ /** @deprecated - meta fields not supported by client anymore */
5
7
  export interface XyoPayloadMetaBase {
6
8
  _hash: string
7
9
  _observeDuration?: number
@@ -14,7 +16,12 @@ export interface XyoPayloadMetaBase {
14
16
  _schemaValid?: boolean
15
17
  }
16
18
 
19
+ /** @deprecated - meta fields not supported by client anymore */
17
20
  export type XyoPayloadMeta<T extends EmptyObject = EmptyObject> = T & XyoPayloadMetaBase
21
+ /** @deprecated - meta fields not supported by client anymore */
18
22
  export type XyoPartialPayloadMeta<T extends EmptyObject = EmptyObject> = T & Partial<XyoPayloadMetaBase>
23
+ /** @deprecated - meta fields not supported by client anymore */
19
24
  export type XyoPayloadWithMeta<T extends EmptyObject = EmptyObject> = XyoPayload<T & XyoPayloadMetaBase>
25
+ /** @deprecated - meta fields not supported by client anymore */
20
26
  export type XyoPayloadWithPartialMeta<T extends EmptyObject = EmptyObject> = XyoPayload<T & Partial<XyoPayloadMetaBase>>
27
+ /** @deprecated - meta fields not supported by client anymore */
@@ -1,10 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core';
2
- import { XyoPayload } from '../models';
3
- import { XyoSchemaNameValidator } from '../SchemaNameValidator';
4
- export declare class XyoPayloadBodyValidator<T extends XyoPayload = XyoPayload> extends XyoValidatorBase<T> {
5
- private _schemaValidator?;
6
- get schemaValidator(): XyoSchemaNameValidator;
7
- schemaName(): Error[];
8
- validate(): Error[];
9
- }
10
- //# sourceMappingURL=BodyValidator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BodyValidator.d.ts","sourceRoot":"","sources":["../../../src/Validator/BodyValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,qBAAa,uBAAuB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IACjG,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IACjD,IAAI,eAAe,2BAGlB;IAEM,UAAU;IAUV,QAAQ;CAKhB"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XyoPayloadBodyValidator = void 0;
4
- const core_1 = require("@xyo-network/core");
5
- const SchemaNameValidator_1 = require("../SchemaNameValidator");
6
- class XyoPayloadBodyValidator extends core_1.XyoValidatorBase {
7
- get schemaValidator() {
8
- var _a, _b;
9
- this._schemaValidator = (_a = this._schemaValidator) !== null && _a !== void 0 ? _a : new SchemaNameValidator_1.XyoSchemaNameValidator((_b = this.obj.schema) !== null && _b !== void 0 ? _b : '');
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;
21
- }
22
- validate() {
23
- const errors = [];
24
- errors.push(...this.schemaName());
25
- return errors;
26
- }
27
- }
28
- exports.XyoPayloadBodyValidator = XyoPayloadBodyValidator;
29
- //# sourceMappingURL=BodyValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BodyValidator.js","sourceRoot":"","sources":["../../../src/Validator/BodyValidator.ts"],"names":[],"mappings":";;;AAAA,4CAAoD;AAGpD,gEAA+D;AAE/D,MAAa,uBAA2D,SAAQ,uBAAmB;IAEjG,IAAI,eAAe;;QACjB,IAAI,CAAC,gBAAgB,GAAG,MAAA,IAAI,CAAC,gBAAgB,mCAAI,IAAI,4CAAsB,CAAC,MAAA,IAAI,CAAC,GAAG,CAAC,MAAM,mCAAI,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;AAtBD,0DAsBC"}
@@ -1,9 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core';
2
- import { XyoPayloadMeta } from '../models';
3
- declare class XyoPayloadMetaValidator<T extends XyoPayloadMeta = XyoPayloadMeta> extends XyoValidatorBase<T> {
4
- hash(): Error[];
5
- timestamp(): Error[];
6
- validate(): Error[];
7
- }
8
- export { XyoPayloadMetaValidator };
9
- //# sourceMappingURL=MetaValidator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetaValidator.d.ts","sourceRoot":"","sources":["../../../src/Validator/MetaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAK1C,cAAM,uBAAuB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAC3F,IAAI;IASJ,SAAS;IAST,QAAQ;CAKhB;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XyoPayloadMetaValidator = void 0;
4
- const core_1 = require("@xyo-network/core");
5
- const MIN_ALLOWED_TIMESTAMP = 1609459200000;
6
- const MAX_ALLOWED_TIMESTAMP = 4102444800000;
7
- class XyoPayloadMetaValidator extends core_1.XyoValidatorBase {
8
- hash() {
9
- const errors = [];
10
- const wrapper = new core_1.XyoHasher(this.obj);
11
- const bodyHash = wrapper.hash;
12
- if (bodyHash !== this.obj._hash)
13
- errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.obj._hash}]`));
14
- return errors;
15
- }
16
- timestamp() {
17
- const errors = [];
18
- const { _timestamp } = this.obj;
19
- if (_timestamp === undefined)
20
- errors.push(new Error('Missing _timestamp'));
21
- else if (_timestamp < MIN_ALLOWED_TIMESTAMP)
22
- errors.push(new Error('_timestamp is before year 2021'));
23
- else if (_timestamp > MAX_ALLOWED_TIMESTAMP)
24
- errors.push(new Error('_timestamp is after year 2100'));
25
- return errors;
26
- }
27
- validate() {
28
- const errors = [];
29
- errors.push(...this.hash(), ...this.timestamp());
30
- return errors;
31
- }
32
- }
33
- exports.XyoPayloadMetaValidator = XyoPayloadMetaValidator;
34
- //# sourceMappingURL=MetaValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetaValidator.js","sourceRoot":"","sources":["../../../src/Validator/MetaValidator.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAI/D,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC3C,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAE3C,MAAM,uBAAmE,SAAQ,uBAAmB;IAC3F,IAAI;QACT,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,gBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAA;QAC7B,IAAI,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,QAAQ,aAAa,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QACnI,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAA;QAC/B,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,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 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core';
2
- import { XyoPayloadWithMeta } from '../models';
3
- import { XyoPayloadValidator } from '../Validator';
4
- import { XyoPayloadWrapper } from './Wrapper';
5
- export declare class XyoPayloadWrapperValidator<T extends XyoPayloadWrapper<XyoPayloadWithMeta> = XyoPayloadWrapper<XyoPayloadWithMeta>> extends XyoValidatorBase<T> {
6
- get payload(): XyoPayloadValidator<XyoPayloadWithMeta<import("@xyo-network/core").EmptyObject>>;
7
- validate(): Error[];
8
- }
9
- //# sourceMappingURL=Validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,qBAAa,0BAA0B,CACrC,CAAC,SAAS,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CACvF,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAC3B,IAAW,OAAO,qFAEjB;IAEM,QAAQ;CAKhB"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XyoPayloadWrapperValidator = void 0;
4
- const core_1 = require("@xyo-network/core");
5
- const Validator_1 = require("../Validator");
6
- class XyoPayloadWrapperValidator extends core_1.XyoValidatorBase {
7
- get payload() {
8
- return new Validator_1.XyoPayloadValidator(this.obj.body);
9
- }
10
- validate() {
11
- const errors = [];
12
- errors.push(...this.payload.validate());
13
- return errors;
14
- }
15
- }
16
- exports.XyoPayloadWrapperValidator = XyoPayloadWrapperValidator;
17
- //# sourceMappingURL=Validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/Wrapper/Validator.ts"],"names":[],"mappings":";;;AAAA,4CAAoD;AAGpD,4CAAkD;AAGlD,MAAa,0BAEX,SAAQ,uBAAmB;IAC3B,IAAW,OAAO;QAChB,OAAO,IAAI,+BAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QACvC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAZD,gEAYC"}
@@ -1,10 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core';
2
- import { XyoPayload } from '../models';
3
- import { XyoSchemaNameValidator } from '../SchemaNameValidator';
4
- export declare class XyoPayloadBodyValidator<T extends XyoPayload = XyoPayload> extends XyoValidatorBase<T> {
5
- private _schemaValidator?;
6
- get schemaValidator(): XyoSchemaNameValidator;
7
- schemaName(): Error[];
8
- validate(): Error[];
9
- }
10
- //# sourceMappingURL=BodyValidator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BodyValidator.d.ts","sourceRoot":"","sources":["../../../src/Validator/BodyValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,qBAAa,uBAAuB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IACjG,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IACjD,IAAI,eAAe,2BAGlB;IAEM,UAAU;IAUV,QAAQ;CAKhB"}
@@ -1,25 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core';
2
- import { XyoSchemaNameValidator } from '../SchemaNameValidator';
3
- export class XyoPayloadBodyValidator extends XyoValidatorBase {
4
- _schemaValidator;
5
- get schemaValidator() {
6
- this._schemaValidator = this._schemaValidator ?? new XyoSchemaNameValidator(this.obj.schema ?? '');
7
- return this._schemaValidator;
8
- }
9
- schemaName() {
10
- const errors = [];
11
- if (this.obj.schema === undefined) {
12
- errors.push(Error('schema missing'));
13
- }
14
- else {
15
- errors.push(...this.schemaValidator.all());
16
- }
17
- return errors;
18
- }
19
- validate() {
20
- const errors = [];
21
- errors.push(...this.schemaName());
22
- return errors;
23
- }
24
- }
25
- //# sourceMappingURL=BodyValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BodyValidator.js","sourceRoot":"","sources":["../../../src/Validator/BodyValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,OAAO,uBAA2D,SAAQ,gBAAmB;IACzF,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"}
@@ -1,9 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core';
2
- import { XyoPayloadMeta } from '../models';
3
- declare class XyoPayloadMetaValidator<T extends XyoPayloadMeta = XyoPayloadMeta> extends XyoValidatorBase<T> {
4
- hash(): Error[];
5
- timestamp(): Error[];
6
- validate(): Error[];
7
- }
8
- export { XyoPayloadMetaValidator };
9
- //# sourceMappingURL=MetaValidator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetaValidator.d.ts","sourceRoot":"","sources":["../../../src/Validator/MetaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAK1C,cAAM,uBAAuB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAC3F,IAAI;IASJ,SAAS;IAST,QAAQ;CAKhB;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -1,31 +0,0 @@
1
- import { XyoHasher, XyoValidatorBase } from '@xyo-network/core';
2
- const MIN_ALLOWED_TIMESTAMP = 1609459200000;
3
- const MAX_ALLOWED_TIMESTAMP = 4102444800000;
4
- class XyoPayloadMetaValidator extends XyoValidatorBase {
5
- hash() {
6
- const errors = [];
7
- const wrapper = new XyoHasher(this.obj);
8
- const bodyHash = wrapper.hash;
9
- if (bodyHash !== this.obj._hash)
10
- errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.obj._hash}]`));
11
- return errors;
12
- }
13
- timestamp() {
14
- const errors = [];
15
- const { _timestamp } = this.obj;
16
- if (_timestamp === undefined)
17
- errors.push(new Error('Missing _timestamp'));
18
- else if (_timestamp < MIN_ALLOWED_TIMESTAMP)
19
- errors.push(new Error('_timestamp is before year 2021'));
20
- else if (_timestamp > MAX_ALLOWED_TIMESTAMP)
21
- errors.push(new Error('_timestamp is after year 2100'));
22
- return errors;
23
- }
24
- validate() {
25
- const errors = [];
26
- errors.push(...this.hash(), ...this.timestamp());
27
- return errors;
28
- }
29
- }
30
- export { XyoPayloadMetaValidator };
31
- //# sourceMappingURL=MetaValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetaValidator.js","sourceRoot":"","sources":["../../../src/Validator/MetaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAI/D,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC3C,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAE3C,MAAM,uBAAmE,SAAQ,gBAAmB;IAC3F,IAAI;QACT,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAA;QAC7B,IAAI,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,QAAQ,aAAa,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QACnI,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAA;QAC/B,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,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAChD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -1,9 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core';
2
- import { XyoPayloadWithMeta } from '../models';
3
- import { XyoPayloadValidator } from '../Validator';
4
- import { XyoPayloadWrapper } from './Wrapper';
5
- export declare class XyoPayloadWrapperValidator<T extends XyoPayloadWrapper<XyoPayloadWithMeta> = XyoPayloadWrapper<XyoPayloadWithMeta>> extends XyoValidatorBase<T> {
6
- get payload(): XyoPayloadValidator<XyoPayloadWithMeta<import("@xyo-network/core").EmptyObject>>;
7
- validate(): Error[];
8
- }
9
- //# sourceMappingURL=Validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,qBAAa,0BAA0B,CACrC,CAAC,SAAS,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CACvF,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAC3B,IAAW,OAAO,qFAEjB;IAEM,QAAQ;CAKhB"}
@@ -1,13 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core';
2
- import { XyoPayloadValidator } from '../Validator';
3
- export class XyoPayloadWrapperValidator extends XyoValidatorBase {
4
- get payload() {
5
- return new XyoPayloadValidator(this.obj.body);
6
- }
7
- validate() {
8
- const errors = [];
9
- errors.push(...this.payload.validate());
10
- return errors;
11
- }
12
- }
13
- //# sourceMappingURL=Validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/Wrapper/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD,MAAM,OAAO,0BAEX,SAAQ,gBAAmB;IAC3B,IAAW,OAAO;QAChB,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QACvC,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -1,11 +0,0 @@
1
- import { dumpErrors } from '@xyo-network/core'
2
-
3
- import { testPayload } from '../Test'
4
- import { XyoPayloadBodyValidator } from './BodyValidator'
5
-
6
- test('all', () => {
7
- const validator = new XyoPayloadBodyValidator(testPayload)
8
- const errors = validator.validate()
9
- dumpErrors(errors)
10
- expect(errors.length).toBe(0)
11
- })
@@ -1,28 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core'
2
-
3
- import { XyoPayload } from '../models'
4
- import { XyoSchemaNameValidator } from '../SchemaNameValidator'
5
-
6
- export class XyoPayloadBodyValidator<T extends XyoPayload = XyoPayload> extends XyoValidatorBase<T> {
7
- private _schemaValidator?: XyoSchemaNameValidator
8
- get schemaValidator() {
9
- this._schemaValidator = this._schemaValidator ?? new XyoSchemaNameValidator(this.obj.schema ?? '')
10
- return this._schemaValidator
11
- }
12
-
13
- public schemaName() {
14
- const errors: Error[] = []
15
- if (this.obj.schema === undefined) {
16
- errors.push(Error('schema missing'))
17
- } else {
18
- errors.push(...this.schemaValidator.all())
19
- }
20
- return errors
21
- }
22
-
23
- public validate() {
24
- const errors: Error[] = []
25
- errors.push(...this.schemaName())
26
- return errors
27
- }
28
- }
@@ -1,11 +0,0 @@
1
- import { dumpErrors } from '@xyo-network/core'
2
-
3
- import { testPayload } from '../Test'
4
- import { XyoPayloadMetaValidator } from './MetaValidator'
5
-
6
- test('all', () => {
7
- const validator = new XyoPayloadMetaValidator(testPayload)
8
- const errors = validator.validate()
9
- dumpErrors(errors)
10
- expect(errors.length).toBe(0)
11
- })
@@ -1,34 +0,0 @@
1
- import { XyoHasher, XyoValidatorBase } from '@xyo-network/core'
2
-
3
- import { XyoPayloadMeta } from '../models'
4
-
5
- const MIN_ALLOWED_TIMESTAMP = 1609459200000
6
- const MAX_ALLOWED_TIMESTAMP = 4102444800000
7
-
8
- class XyoPayloadMetaValidator<T extends XyoPayloadMeta = XyoPayloadMeta> extends XyoValidatorBase<T> {
9
- public hash() {
10
- const errors: Error[] = []
11
- const wrapper = new XyoHasher(this.obj)
12
-
13
- const bodyHash = wrapper.hash
14
- if (bodyHash !== this.obj._hash) errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.obj._hash}]`))
15
- return errors
16
- }
17
-
18
- public timestamp() {
19
- const errors: Error[] = []
20
- const { _timestamp } = this.obj
21
- if (_timestamp === undefined) errors.push(new Error('Missing _timestamp'))
22
- else if (_timestamp < MIN_ALLOWED_TIMESTAMP) errors.push(new Error('_timestamp is before year 2021'))
23
- else if (_timestamp > MAX_ALLOWED_TIMESTAMP) errors.push(new Error('_timestamp is after year 2100'))
24
- return errors
25
- }
26
-
27
- public validate() {
28
- const errors: Error[] = []
29
- errors.push(...this.hash(), ...this.timestamp())
30
- return errors
31
- }
32
- }
33
-
34
- export { XyoPayloadMetaValidator }
@@ -1,19 +0,0 @@
1
- import { XyoValidatorBase } from '@xyo-network/core'
2
-
3
- import { XyoPayloadWithMeta } from '../models'
4
- import { XyoPayloadValidator } from '../Validator'
5
- import { XyoPayloadWrapper } from './Wrapper'
6
-
7
- export class XyoPayloadWrapperValidator<
8
- T extends XyoPayloadWrapper<XyoPayloadWithMeta> = XyoPayloadWrapper<XyoPayloadWithMeta>,
9
- > extends XyoValidatorBase<T> {
10
- public get payload() {
11
- return new XyoPayloadValidator(this.obj.body)
12
- }
13
-
14
- public validate() {
15
- const errors: Error[] = []
16
- errors.push(...this.payload.validate())
17
- return errors
18
- }
19
- }