@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.
- package/dist/cjs/Builder/Builder.d.ts +1 -2
- package/dist/cjs/Builder/Builder.d.ts.map +1 -1
- package/dist/cjs/Builder/Builder.js +1 -1
- package/dist/cjs/Builder/Builder.js.map +1 -1
- package/dist/cjs/Huri/Huri.d.ts +3 -0
- package/dist/cjs/Huri/Huri.d.ts.map +1 -1
- package/dist/cjs/Test/testPayload.d.ts +2 -2
- package/dist/cjs/Test/testPayload.d.ts.map +1 -1
- package/dist/cjs/Test/testPayload.js +0 -3
- package/dist/cjs/Test/testPayload.js.map +1 -1
- package/dist/cjs/Validator/Validator.d.ts +8 -3
- package/dist/cjs/Validator/Validator.d.ts.map +1 -1
- package/dist/cjs/Validator/Validator.js +23 -5
- package/dist/cjs/Validator/Validator.js.map +1 -1
- package/dist/cjs/Validator/index.d.ts +0 -2
- package/dist/cjs/Validator/index.d.ts.map +1 -1
- package/dist/cjs/Validator/index.js +0 -2
- package/dist/cjs/Validator/index.js.map +1 -1
- package/dist/cjs/Wrapper/Wrapper.d.ts +12 -3
- package/dist/cjs/Wrapper/Wrapper.d.ts.map +1 -1
- package/dist/cjs/Wrapper/Wrapper.js +15 -3
- package/dist/cjs/Wrapper/Wrapper.js.map +1 -1
- package/dist/cjs/Wrapper/index.d.ts +0 -1
- package/dist/cjs/Wrapper/index.d.ts.map +1 -1
- package/dist/cjs/Wrapper/index.js +0 -1
- package/dist/cjs/Wrapper/index.js.map +1 -1
- package/dist/cjs/isXyoPayloadOfSchemaType.d.ts +3 -0
- package/dist/cjs/isXyoPayloadOfSchemaType.d.ts.map +1 -1
- package/dist/cjs/models/Base.d.ts +10 -2
- package/dist/cjs/models/Base.d.ts.map +1 -1
- package/dist/cjs/models/Meta.d.ts +6 -0
- package/dist/cjs/models/Meta.d.ts.map +1 -1
- package/dist/cjs/models/Meta.js +1 -0
- package/dist/cjs/models/Meta.js.map +1 -1
- package/dist/docs.json +7440 -4235
- package/dist/esm/Builder/Builder.d.ts +1 -2
- package/dist/esm/Builder/Builder.d.ts.map +1 -1
- package/dist/esm/Builder/Builder.js +2 -2
- package/dist/esm/Builder/Builder.js.map +1 -1
- package/dist/esm/Huri/Huri.d.ts +3 -0
- package/dist/esm/Huri/Huri.d.ts.map +1 -1
- package/dist/esm/Test/testPayload.d.ts +2 -2
- package/dist/esm/Test/testPayload.d.ts.map +1 -1
- package/dist/esm/Test/testPayload.js +0 -3
- package/dist/esm/Test/testPayload.js.map +1 -1
- package/dist/esm/Validator/Validator.d.ts +8 -3
- package/dist/esm/Validator/Validator.d.ts.map +1 -1
- package/dist/esm/Validator/Validator.js +21 -5
- package/dist/esm/Validator/Validator.js.map +1 -1
- package/dist/esm/Validator/index.d.ts +0 -2
- package/dist/esm/Validator/index.d.ts.map +1 -1
- package/dist/esm/Validator/index.js +0 -2
- package/dist/esm/Validator/index.js.map +1 -1
- package/dist/esm/Wrapper/Wrapper.d.ts +12 -3
- package/dist/esm/Wrapper/Wrapper.d.ts.map +1 -1
- package/dist/esm/Wrapper/Wrapper.js +14 -3
- package/dist/esm/Wrapper/Wrapper.js.map +1 -1
- package/dist/esm/Wrapper/index.d.ts +0 -1
- package/dist/esm/Wrapper/index.d.ts.map +1 -1
- package/dist/esm/Wrapper/index.js +0 -1
- package/dist/esm/Wrapper/index.js.map +1 -1
- package/dist/esm/isXyoPayloadOfSchemaType.d.ts +3 -0
- package/dist/esm/isXyoPayloadOfSchemaType.d.ts.map +1 -1
- package/dist/esm/models/Base.d.ts +10 -2
- package/dist/esm/models/Base.d.ts.map +1 -1
- package/dist/esm/models/Meta.d.ts +6 -0
- package/dist/esm/models/Meta.d.ts.map +1 -1
- package/dist/esm/models/Meta.js +1 -0
- package/dist/esm/models/Meta.js.map +1 -1
- package/package.json +3 -4
- package/src/Builder/Builder.spec.ts +2 -1
- package/src/Builder/Builder.ts +3 -3
- package/src/Test/testPayload.ts +2 -5
- package/src/Validator/Validator.spec.ts +17 -28
- package/src/Validator/Validator.ts +22 -5
- package/src/Validator/index.ts +0 -2
- package/src/Wrapper/Wrapper.ts +16 -3
- package/src/Wrapper/index.ts +0 -1
- package/src/models/Base.ts +23 -7
- package/src/models/Meta.ts +7 -0
- package/dist/cjs/Validator/BodyValidator.d.ts +0 -10
- package/dist/cjs/Validator/BodyValidator.d.ts.map +0 -1
- package/dist/cjs/Validator/BodyValidator.js +0 -29
- package/dist/cjs/Validator/BodyValidator.js.map +0 -1
- package/dist/cjs/Validator/MetaValidator.d.ts +0 -9
- package/dist/cjs/Validator/MetaValidator.d.ts.map +0 -1
- package/dist/cjs/Validator/MetaValidator.js +0 -34
- package/dist/cjs/Validator/MetaValidator.js.map +0 -1
- package/dist/cjs/Wrapper/Validator.d.ts +0 -9
- package/dist/cjs/Wrapper/Validator.d.ts.map +0 -1
- package/dist/cjs/Wrapper/Validator.js +0 -17
- package/dist/cjs/Wrapper/Validator.js.map +0 -1
- package/dist/esm/Validator/BodyValidator.d.ts +0 -10
- package/dist/esm/Validator/BodyValidator.d.ts.map +0 -1
- package/dist/esm/Validator/BodyValidator.js +0 -25
- package/dist/esm/Validator/BodyValidator.js.map +0 -1
- package/dist/esm/Validator/MetaValidator.d.ts +0 -9
- package/dist/esm/Validator/MetaValidator.d.ts.map +0 -1
- package/dist/esm/Validator/MetaValidator.js +0 -31
- package/dist/esm/Validator/MetaValidator.js.map +0 -1
- package/dist/esm/Wrapper/Validator.d.ts +0 -9
- package/dist/esm/Wrapper/Validator.d.ts.map +0 -1
- package/dist/esm/Wrapper/Validator.js +0 -13
- package/dist/esm/Wrapper/Validator.js.map +0 -1
- package/src/Validator/BodyValidator.spec.ts +0 -11
- package/src/Validator/BodyValidator.ts +0 -28
- package/src/Validator/MetaValidator.spec.ts +0 -11
- package/src/Validator/MetaValidator.ts +0 -34
- package/src/Wrapper/Validator.ts +0 -19
package/src/models/Base.ts
CHANGED
|
@@ -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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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 }
|
package/src/models/Meta.ts
CHANGED
|
@@ -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 }
|
package/src/Wrapper/Validator.ts
DELETED
|
@@ -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
|
-
}
|