@xyo-network/payload 2.33.0-rc.13 → 2.33.0-rc.14
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/MetaValidator.d.ts +1 -0
- package/dist/cjs/Validator/MetaValidator.d.ts.map +1 -1
- package/dist/cjs/Validator/MetaValidator.js +4 -1
- package/dist/cjs/Validator/MetaValidator.js.map +1 -1
- package/dist/cjs/Wrapper/Validator.d.ts +11 -3
- package/dist/cjs/Wrapper/Validator.d.ts.map +1 -1
- package/dist/cjs/Wrapper/Validator.js.map +1 -1
- package/dist/cjs/Wrapper/Wrapper.d.ts +6 -2
- package/dist/cjs/Wrapper/Wrapper.d.ts.map +1 -1
- package/dist/cjs/Wrapper/Wrapper.js +2 -1
- package/dist/cjs/Wrapper/Wrapper.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 +6082 -3329
- 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/MetaValidator.d.ts +1 -0
- package/dist/esm/Validator/MetaValidator.d.ts.map +1 -1
- package/dist/esm/Validator/MetaValidator.js +5 -2
- package/dist/esm/Validator/MetaValidator.js.map +1 -1
- package/dist/esm/Wrapper/Validator.d.ts +11 -3
- package/dist/esm/Wrapper/Validator.d.ts.map +1 -1
- package/dist/esm/Wrapper/Validator.js.map +1 -1
- package/dist/esm/Wrapper/Wrapper.d.ts +6 -2
- package/dist/esm/Wrapper/Wrapper.d.ts.map +1 -1
- package/dist/esm/Wrapper/Wrapper.js +3 -2
- package/dist/esm/Wrapper/Wrapper.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 -3
- package/src/Builder/Builder.ts +3 -3
- package/src/Test/testPayload.ts +2 -5
- package/src/Validator/MetaValidator.ts +5 -2
- package/src/Validator/Validator.spec.ts +10 -21
- package/src/Wrapper/Validator.ts +2 -4
- package/src/Wrapper/Wrapper.ts +3 -2
- package/src/models/Base.ts +17 -7
- package/src/models/Meta.ts +7 -0
- package/src/Validator/MetaValidator.spec.ts +0 -11
|
@@ -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,5 +1,6 @@
|
|
|
1
1
|
import { XyoValidatorBase } from '@xyo-network/core';
|
|
2
2
|
import { XyoPayloadMeta } from '../models';
|
|
3
|
+
/** @deprecated - meta fields not supported by client anymore */
|
|
3
4
|
declare class XyoPayloadMetaValidator<T extends XyoPayloadMeta = XyoPayloadMeta> extends XyoValidatorBase<T> {
|
|
4
5
|
hash(): Error[];
|
|
5
6
|
timestamp(): Error[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaValidator.d.ts","sourceRoot":"","sources":["../../../src/Validator/MetaValidator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetaValidator.d.ts","sourceRoot":"","sources":["../../../src/Validator/MetaValidator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAK1C,gEAAgE;AAChE,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,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable deprecation/deprecation */
|
|
2
|
+
/* eslint-disable import/no-deprecated */
|
|
3
|
+
import { Hasher, XyoValidatorBase } from '@xyo-network/core';
|
|
2
4
|
const MIN_ALLOWED_TIMESTAMP = 1609459200000;
|
|
3
5
|
const MAX_ALLOWED_TIMESTAMP = 4102444800000;
|
|
6
|
+
/** @deprecated - meta fields not supported by client anymore */
|
|
4
7
|
class XyoPayloadMetaValidator extends XyoValidatorBase {
|
|
5
8
|
hash() {
|
|
6
9
|
const errors = [];
|
|
7
|
-
const wrapper = new
|
|
10
|
+
const wrapper = new Hasher(this.obj);
|
|
8
11
|
const bodyHash = wrapper.hash;
|
|
9
12
|
if (bodyHash !== this.obj._hash)
|
|
10
13
|
errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.obj._hash}]`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaValidator.js","sourceRoot":"","sources":["../../../src/Validator/MetaValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MetaValidator.js","sourceRoot":"","sources":["../../../src/Validator/MetaValidator.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,yCAAyC;AACzC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAI5D,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC3C,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAE3C,gEAAgE;AAChE,MAAM,uBAAmE,SAAQ,gBAAmB;IAC3F,IAAI;QACT,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEpC,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 +1,17 @@
|
|
|
1
1
|
import { XyoValidatorBase } from '@xyo-network/core';
|
|
2
|
-
import {
|
|
2
|
+
import { XyoPayload } from '../models';
|
|
3
3
|
import { XyoPayloadValidator } from '../Validator';
|
|
4
4
|
import { XyoPayloadWrapper } from './Wrapper';
|
|
5
|
-
export declare class XyoPayloadWrapperValidator<T extends XyoPayloadWrapper<
|
|
6
|
-
get payload(): XyoPayloadValidator<
|
|
5
|
+
export declare class XyoPayloadWrapperValidator<T extends XyoPayloadWrapper<XyoPayload> = XyoPayloadWrapper<XyoPayload>> extends XyoValidatorBase<T> {
|
|
6
|
+
get payload(): XyoPayloadValidator<{
|
|
7
|
+
schema: string;
|
|
8
|
+
} & {
|
|
9
|
+
previousHash?: string | undefined;
|
|
10
|
+
sources?: string[] | undefined;
|
|
11
|
+
timestamp?: number | undefined;
|
|
12
|
+
} & {
|
|
13
|
+
schema: string;
|
|
14
|
+
}>;
|
|
7
15
|
validate(): Error[];
|
|
8
16
|
}
|
|
9
17
|
//# sourceMappingURL=Validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,qBAAa,0BAA0B,CAAC,CAAC,SAAS,iBAAiB,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAC1I,IAAW,OAAO;;;;;;;;OAEjB;IAEM,QAAQ;CAKhB"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,0BAAoG,SAAQ,gBAAmB;IAC1I,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,15 +1,19 @@
|
|
|
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 XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends
|
|
4
|
+
export declare class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends Hasher<T> {
|
|
5
5
|
get payload(): T;
|
|
6
6
|
get body(): T;
|
|
7
|
+
/** @deprecated - meta fields not supported by client anymore */
|
|
7
8
|
get meta(): T;
|
|
8
9
|
static load(address: XyoDataLike | Huri): Promise<XyoPayloadWrapper<{
|
|
9
10
|
schema: string;
|
|
11
|
+
} & {
|
|
10
12
|
previousHash?: string | undefined;
|
|
11
13
|
sources?: string[] | undefined;
|
|
12
14
|
timestamp?: number | undefined;
|
|
15
|
+
} & {
|
|
16
|
+
schema: string;
|
|
13
17
|
}> | undefined>;
|
|
14
18
|
}
|
|
15
19
|
//# 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;AAEtC,qBAAa,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IACjF,IAAW,OAAO,MAEjB;IAED,IAAW,IAAI,MAEd;IAED,gEAAgE;IAChE,IAAW,IAAI,MAEd;WAEmB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;;;;;;;;;CAMrD"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { deepOmitUnderscoreFields, deepPickUnderscoreFields,
|
|
1
|
+
import { deepOmitUnderscoreFields, deepPickUnderscoreFields, Hasher } from '@xyo-network/core';
|
|
2
2
|
import { Huri } from '../Huri';
|
|
3
|
-
export class XyoPayloadWrapper extends
|
|
3
|
+
export class XyoPayloadWrapper extends Hasher {
|
|
4
4
|
get payload() {
|
|
5
5
|
return this.obj;
|
|
6
6
|
}
|
|
7
7
|
get body() {
|
|
8
8
|
return deepOmitUnderscoreFields(this.obj);
|
|
9
9
|
}
|
|
10
|
+
/** @deprecated - meta fields not supported by client anymore */
|
|
10
11
|
get meta() {
|
|
11
12
|
return deepPickUnderscoreFields(this.obj);
|
|
12
13
|
}
|
|
@@ -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;AAG9B,MAAM,OAAO,iBAAqD,SAAQ,MAAS;IACjF,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,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,iBAAiB,CAAC,OAAO,CAAC,CAAA;SACtC;IACH,CAAC;CACF"}
|
|
@@ -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 = string> = T extends XyoPayloadBaseWithSchema ? XyoPayloadBase<T> : T extends EmptyObject ? XyoPayloadBase & T & {
|
|
16
|
+
schema: S;
|
|
17
|
+
} : 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,CAAC,CAAC,SAAS,IAAI,GAAG,WAAW,GAAG,wBAAwB,GAAG,IAAI,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,wBAAwB,GAClJ,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,WAAW,GACrB,cAAc,GAAG,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAClC,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.0-rc.
|
|
15
|
-
"@xyo-network/core": "^2.33.0-rc.
|
|
14
|
+
"@xyo-network/account": "^2.33.0-rc.14",
|
|
15
|
+
"@xyo-network/core": "^2.33.0-rc.14",
|
|
16
16
|
"axios": "^0.27.2",
|
|
17
17
|
"tslib": "^2.4.0"
|
|
18
18
|
},
|
|
@@ -49,6 +49,6 @@
|
|
|
49
49
|
},
|
|
50
50
|
"sideEffects": false,
|
|
51
51
|
"types": "dist/esm/index.d.ts",
|
|
52
|
-
"version": "2.33.0-rc.
|
|
52
|
+
"version": "2.33.0-rc.14",
|
|
53
53
|
"stableVersion": "2.32.1"
|
|
54
54
|
}
|
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,14 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable deprecation/deprecation */
|
|
2
|
+
/* eslint-disable import/no-deprecated */
|
|
3
|
+
import { Hasher, XyoValidatorBase } from '@xyo-network/core'
|
|
2
4
|
|
|
3
5
|
import { XyoPayloadMeta } from '../models'
|
|
4
6
|
|
|
5
7
|
const MIN_ALLOWED_TIMESTAMP = 1609459200000
|
|
6
8
|
const MAX_ALLOWED_TIMESTAMP = 4102444800000
|
|
7
9
|
|
|
10
|
+
/** @deprecated - meta fields not supported by client anymore */
|
|
8
11
|
class XyoPayloadMetaValidator<T extends XyoPayloadMeta = XyoPayloadMeta> extends XyoValidatorBase<T> {
|
|
9
12
|
public hash() {
|
|
10
13
|
const errors: Error[] = []
|
|
11
|
-
const wrapper = new
|
|
14
|
+
const wrapper = new Hasher(this.obj)
|
|
12
15
|
|
|
13
16
|
const bodyHash = wrapper.hash
|
|
14
17
|
if (bodyHash !== this.obj._hash) errors.push(new Error(`Body hash mismatch: [calculated: ${bodyHash}] [found: ${this.obj._hash}]`))
|
|
@@ -1,32 +1,21 @@
|
|
|
1
1
|
import { dumpErrors } from '@xyo-network/core'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { XyoPayload } from '../models'
|
|
4
4
|
import { XyoPayloadValidator } from './Validator'
|
|
5
5
|
|
|
6
|
-
const testPayloadNoSchema:
|
|
7
|
-
|
|
8
|
-
_timestamp: 1609459255555,
|
|
9
|
-
} as XyoPayloadWithMeta
|
|
10
|
-
const testPayloadMixedCase: XyoPayloadWithMeta = {
|
|
11
|
-
_hash: '9a67116e05c33135f6ba23768f9a3fbbba155297ee1bb0a7e21d91fdc3835769',
|
|
12
|
-
_timestamp: 1609459255555,
|
|
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
21
|
const validator = new XyoPayloadValidator(testPayloadNoSchema)
|
package/src/Wrapper/Validator.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { XyoValidatorBase } from '@xyo-network/core'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { XyoPayload } from '../models'
|
|
4
4
|
import { XyoPayloadValidator } from '../Validator'
|
|
5
5
|
import { XyoPayloadWrapper } from './Wrapper'
|
|
6
6
|
|
|
7
|
-
export class XyoPayloadWrapperValidator<
|
|
8
|
-
T extends XyoPayloadWrapper<XyoPayloadWithMeta> = XyoPayloadWrapper<XyoPayloadWithMeta>,
|
|
9
|
-
> extends XyoValidatorBase<T> {
|
|
7
|
+
export class XyoPayloadWrapperValidator<T extends XyoPayloadWrapper<XyoPayload> = XyoPayloadWrapper<XyoPayload>> extends XyoValidatorBase<T> {
|
|
10
8
|
public get payload() {
|
|
11
9
|
return new XyoPayloadValidator(this.obj.body)
|
|
12
10
|
}
|
package/src/Wrapper/Wrapper.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
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
5
|
|
|
6
|
-
export class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends
|
|
6
|
+
export class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends Hasher<T> {
|
|
7
7
|
public get payload() {
|
|
8
8
|
return this.obj
|
|
9
9
|
}
|
|
@@ -12,6 +12,7 @@ export class XyoPayloadWrapper<T extends XyoPayload = XyoPayload> extends XyoHas
|
|
|
12
12
|
return deepOmitUnderscoreFields<T>(this.obj)
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
/** @deprecated - meta fields not supported by client anymore */
|
|
15
16
|
public get meta() {
|
|
16
17
|
return deepPickUnderscoreFields<T>(this.obj)
|
|
17
18
|
}
|
package/src/models/Base.ts
CHANGED
|
@@ -5,10 +5,20 @@ 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<T extends void | EmptyObject | XyoPayloadBaseWithSchema = void, S extends string = string> = T extends XyoPayloadBaseWithSchema
|
|
21
|
+
? XyoPayloadBase<T>
|
|
22
|
+
: T extends EmptyObject
|
|
23
|
+
? XyoPayloadBase & T & { schema: S }
|
|
24
|
+
: 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,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
|
-
})
|