@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.
- 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
|
@@ -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<
|
|
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":"
|
|
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,
|
|
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
|
|
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,
|
|
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"}
|
package/dist/esm/Huri/Huri.d.ts
CHANGED
|
@@ -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
|
|
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 {
|
|
2
|
+
import { XyoPayload } from '../models';
|
|
3
3
|
declare const testSchema = "network.xyo.test";
|
|
4
|
-
declare const testPayload:
|
|
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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testPayload.js","sourceRoot":"","sources":["../../../src/Test/testPayload.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,GAAG,kBAAkB,CAAA;AACrC,MAAM,WAAW,
|
|
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 {
|
|
4
|
-
export declare class
|
|
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,
|
|
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 {
|
|
3
|
-
export class
|
|
4
|
-
body;
|
|
2
|
+
import { XyoSchemaNameValidator } from '../SchemaNameValidator';
|
|
3
|
+
export class PayloadValidator extends XyoValidatorBase {
|
|
5
4
|
constructor(payload) {
|
|
6
5
|
super(payload);
|
|
7
|
-
|
|
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.
|
|
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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
@@ -1,15 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Hasher, XyoDataLike } from '@xyo-network/core';
|
|
2
2
|
import { Huri } from '../Huri';
|
|
3
3
|
import { XyoPayload } from '../models';
|
|
4
|
-
export declare class
|
|
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<
|
|
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,
|
|
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,
|
|
1
|
+
import { deepOmitUnderscoreFields, deepPickUnderscoreFields, Hasher } from '@xyo-network/core';
|
|
2
2
|
import { Huri } from '../Huri';
|
|
3
|
-
|
|
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
|
|
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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
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
|
|
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
|
-
|
|
8
|
-
schema:
|
|
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;
|
|
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":"
|
|
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"}
|
package/dist/esm/models/Meta.js
CHANGED
|
@@ -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.
|
|
15
|
-
"@xyo-network/core": "^2.33.
|
|
14
|
+
"@xyo-network/account": "^2.33.1",
|
|
15
|
+
"@xyo-network/core": "^2.33.1",
|
|
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.
|
|
53
|
-
"stableVersion": "2.32.1"
|
|
52
|
+
"version": "2.33.1"
|
|
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],
|
package/src/Builder/Builder.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { deepOmitUnderscoreFields,
|
|
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<
|
|
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
|
|
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
|
}
|
package/src/Test/testPayload.ts
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { StringKeyObject } from '@xyo-network/core'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { XyoPayload } from '../models'
|
|
4
4
|
|
|
5
5
|
const testSchema = 'network.xyo.test'
|
|
6
|
-
const testPayload:
|
|
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 {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
const testPayloadNoSchema:
|
|
7
|
-
|
|
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
|
|
15
|
-
const testPayloadTooFewLevels:
|
|
16
|
-
_hash: '95206b26e3173deaac5e3f5d4510d50112b6348d3a2128b1eb6fe3ca66957628',
|
|
17
|
-
_timestamp: 1609459255555,
|
|
9
|
+
} as XyoPayload
|
|
10
|
+
const testPayloadTooFewLevels: XyoPayload = {
|
|
18
11
|
schema: 'network.xyo',
|
|
19
|
-
} as
|
|
20
|
-
const testPayloadDoesNotExist:
|
|
21
|
-
_hash: '360b4ce36862ef2a20dd572d69283a86d351b2b4a9cd4f61ae6f7a320be81dbf',
|
|
22
|
-
_timestamp: 1609459255555,
|
|
12
|
+
} as XyoPayload
|
|
13
|
+
const testPayloadDoesNotExist: XyoPayload = {
|
|
23
14
|
schema: 'network.dfd-sf-sf-s.blahblah',
|
|
24
|
-
} as
|
|
25
|
-
const testPayloadValid:
|
|
26
|
-
_hash: '4b5958c6d16b26d6790e33f5be45578728b0ea36e40a0d1b9c9164822341cac1',
|
|
27
|
-
_timestamp: 1609459255555,
|
|
15
|
+
} as XyoPayload
|
|
16
|
+
const testPayloadValid: XyoPayload = {
|
|
28
17
|
schema: 'network.xyo.test',
|
|
29
|
-
} as
|
|
18
|
+
} as XyoPayload
|
|
30
19
|
|
|
31
20
|
test('all [missing schema]', () => {
|
|
32
|
-
const validator = new
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 {
|
|
4
|
+
import { XyoSchemaNameValidator } from '../SchemaNameValidator'
|
|
5
5
|
|
|
6
|
-
export class
|
|
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
|
-
|
|
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.
|
|
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> {}
|
package/src/Validator/index.ts
CHANGED
package/src/Wrapper/Wrapper.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { deepOmitUnderscoreFields, deepPickUnderscoreFields,
|
|
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
|
|
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
|
|
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> {}
|
package/src/Wrapper/index.ts
CHANGED