@xyo-network/payload 2.21.11
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/LICENSE +165 -0
- package/README.md +79 -0
- package/babel.config.json +5 -0
- package/dist/cjs/Builder/Builder.d.ts +15 -0
- package/dist/cjs/Builder/Builder.js +31 -0
- package/dist/cjs/Builder/Builder.js.map +1 -0
- package/dist/cjs/Builder/index.d.ts +1 -0
- package/dist/cjs/Builder/index.js +5 -0
- package/dist/cjs/Builder/index.js.map +1 -0
- package/dist/cjs/Huri/Huri.d.ts +29 -0
- package/dist/cjs/Huri/Huri.js +111 -0
- package/dist/cjs/Huri/Huri.js.map +1 -0
- package/dist/cjs/Huri/index.d.ts +1 -0
- package/dist/cjs/Huri/index.js +5 -0
- package/dist/cjs/Huri/index.js.map +1 -0
- package/dist/cjs/Query/QueryPayload.d.ts +11 -0
- package/dist/cjs/Query/QueryPayload.js +3 -0
- package/dist/cjs/Query/QueryPayload.js.map +1 -0
- package/dist/cjs/Query/index.d.ts +1 -0
- package/dist/cjs/Query/index.js +5 -0
- package/dist/cjs/Query/index.js.map +1 -0
- package/dist/cjs/Schema/Payload.d.ts +10 -0
- package/dist/cjs/Schema/Payload.js +3 -0
- package/dist/cjs/Schema/Payload.js.map +1 -0
- package/dist/cjs/Schema/index.d.ts +1 -0
- package/dist/cjs/Schema/index.js +5 -0
- package/dist/cjs/Schema/index.js.map +1 -0
- package/dist/cjs/SchemaNameValidator.d.ts +73 -0
- package/dist/cjs/SchemaNameValidator.js +135 -0
- package/dist/cjs/SchemaNameValidator.js.map +1 -0
- package/dist/cjs/Test/index.d.ts +1 -0
- package/dist/cjs/Test/index.js +5 -0
- package/dist/cjs/Test/index.js.map +1 -0
- package/dist/cjs/Test/testPayload.d.ts +5 -0
- package/dist/cjs/Test/testPayload.js +19 -0
- package/dist/cjs/Test/testPayload.js.map +1 -0
- package/dist/cjs/Validator/BodyValidator.d.ts +9 -0
- package/dist/cjs/Validator/BodyValidator.js +29 -0
- package/dist/cjs/Validator/BodyValidator.js.map +1 -0
- package/dist/cjs/Validator/MetaValidator.d.ts +8 -0
- package/dist/cjs/Validator/MetaValidator.js +34 -0
- package/dist/cjs/Validator/MetaValidator.js.map +1 -0
- package/dist/cjs/Validator/Validator.d.ts +10 -0
- package/dist/cjs/Validator/Validator.js +20 -0
- package/dist/cjs/Validator/Validator.js.map +1 -0
- package/dist/cjs/Validator/index.d.ts +3 -0
- package/dist/cjs/Validator/index.js +7 -0
- package/dist/cjs/Validator/index.js.map +1 -0
- package/dist/cjs/Wrapper/Validator.d.ts +8 -0
- package/dist/cjs/Wrapper/Validator.js +17 -0
- package/dist/cjs/Wrapper/Validator.js.map +1 -0
- package/dist/cjs/Wrapper/Wrapper.d.ts +9 -0
- package/dist/cjs/Wrapper/Wrapper.js +27 -0
- package/dist/cjs/Wrapper/Wrapper.js.map +1 -0
- package/dist/cjs/Wrapper/index.d.ts +2 -0
- package/dist/cjs/Wrapper/index.js +6 -0
- package/dist/cjs/Wrapper/index.js.map +1 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.js +13 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/isXyoPayloadOfSchemaType.d.ts +4 -0
- package/dist/cjs/isXyoPayloadOfSchemaType.js +9 -0
- package/dist/cjs/isXyoPayloadOfSchemaType.js.map +1 -0
- package/dist/cjs/models/Base.d.ts +6 -0
- package/dist/cjs/models/Base.js +3 -0
- package/dist/cjs/models/Base.js.map +1 -0
- package/dist/cjs/models/Meta.d.ts +24 -0
- package/dist/cjs/models/Meta.js +3 -0
- package/dist/cjs/models/Meta.js.map +1 -0
- package/dist/cjs/models/XyoPayload.d.ts +2 -0
- package/dist/cjs/models/XyoPayload.js +3 -0
- package/dist/cjs/models/XyoPayload.js.map +1 -0
- package/dist/cjs/models/index.d.ts +3 -0
- package/dist/cjs/models/index.js +7 -0
- package/dist/cjs/models/index.js.map +1 -0
- package/dist/docs.json +7 -0
- package/dist/esm/Builder/Builder.d.ts +15 -0
- package/dist/esm/Builder/Builder.js +30 -0
- package/dist/esm/Builder/Builder.js.map +1 -0
- package/dist/esm/Builder/index.d.ts +1 -0
- package/dist/esm/Builder/index.js +2 -0
- package/dist/esm/Builder/index.js.map +1 -0
- package/dist/esm/Huri/Huri.d.ts +29 -0
- package/dist/esm/Huri/Huri.js +99 -0
- package/dist/esm/Huri/Huri.js.map +1 -0
- package/dist/esm/Huri/index.d.ts +1 -0
- package/dist/esm/Huri/index.js +2 -0
- package/dist/esm/Huri/index.js.map +1 -0
- package/dist/esm/Query/QueryPayload.d.ts +11 -0
- package/dist/esm/Query/QueryPayload.js +2 -0
- package/dist/esm/Query/QueryPayload.js.map +1 -0
- package/dist/esm/Query/index.d.ts +1 -0
- package/dist/esm/Query/index.js +2 -0
- package/dist/esm/Query/index.js.map +1 -0
- package/dist/esm/Schema/Payload.d.ts +10 -0
- package/dist/esm/Schema/Payload.js +2 -0
- package/dist/esm/Schema/Payload.js.map +1 -0
- package/dist/esm/Schema/index.d.ts +1 -0
- package/dist/esm/Schema/index.js +2 -0
- package/dist/esm/Schema/index.js.map +1 -0
- package/dist/esm/SchemaNameValidator.d.ts +73 -0
- package/dist/esm/SchemaNameValidator.js +117 -0
- package/dist/esm/SchemaNameValidator.js.map +1 -0
- package/dist/esm/Test/index.d.ts +1 -0
- package/dist/esm/Test/index.js +2 -0
- package/dist/esm/Test/index.js.map +1 -0
- package/dist/esm/Test/testPayload.d.ts +5 -0
- package/dist/esm/Test/testPayload.js +15 -0
- package/dist/esm/Test/testPayload.js.map +1 -0
- package/dist/esm/Validator/BodyValidator.d.ts +9 -0
- package/dist/esm/Validator/BodyValidator.js +24 -0
- package/dist/esm/Validator/BodyValidator.js.map +1 -0
- package/dist/esm/Validator/MetaValidator.d.ts +8 -0
- package/dist/esm/Validator/MetaValidator.js +31 -0
- package/dist/esm/Validator/MetaValidator.js.map +1 -0
- package/dist/esm/Validator/Validator.d.ts +10 -0
- package/dist/esm/Validator/Validator.js +16 -0
- package/dist/esm/Validator/Validator.js.map +1 -0
- package/dist/esm/Validator/index.d.ts +3 -0
- package/dist/esm/Validator/index.js +4 -0
- package/dist/esm/Validator/index.js.map +1 -0
- package/dist/esm/Wrapper/Validator.d.ts +8 -0
- package/dist/esm/Wrapper/Validator.js +13 -0
- package/dist/esm/Wrapper/Validator.js.map +1 -0
- package/dist/esm/Wrapper/Wrapper.d.ts +9 -0
- package/dist/esm/Wrapper/Wrapper.js +20 -0
- package/dist/esm/Wrapper/Wrapper.js.map +1 -0
- package/dist/esm/Wrapper/index.d.ts +2 -0
- package/dist/esm/Wrapper/index.js +3 -0
- package/dist/esm/Wrapper/index.js.map +1 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/isXyoPayloadOfSchemaType.d.ts +4 -0
- package/dist/esm/isXyoPayloadOfSchemaType.js +5 -0
- package/dist/esm/isXyoPayloadOfSchemaType.js.map +1 -0
- package/dist/esm/models/Base.d.ts +6 -0
- package/dist/esm/models/Base.js +2 -0
- package/dist/esm/models/Base.js.map +1 -0
- package/dist/esm/models/Meta.d.ts +24 -0
- package/dist/esm/models/Meta.js +2 -0
- package/dist/esm/models/Meta.js.map +1 -0
- package/dist/esm/models/XyoPayload.d.ts +2 -0
- package/dist/esm/models/XyoPayload.js +2 -0
- package/dist/esm/models/XyoPayload.js.map +1 -0
- package/dist/esm/models/index.d.ts +3 -0
- package/dist/esm/models/index.js +4 -0
- package/dist/esm/models/index.js.map +1 -0
- package/jest.config.cjs +25 -0
- package/package.json +56 -0
- package/src/Builder/Builder.spec.ts +37 -0
- package/src/Builder/Builder.ts +43 -0
- package/src/Builder/index.ts +1 -0
- package/src/Huri/Huri.spec.ts +92 -0
- package/src/Huri/Huri.ts +155 -0
- package/src/Huri/index.ts +1 -0
- package/src/Query/QueryPayload.ts +15 -0
- package/src/Query/index.ts +1 -0
- package/src/Schema/Payload.ts +11 -0
- package/src/Schema/index.ts +1 -0
- package/src/SchemaNameValidator.ts +128 -0
- package/src/Test/index.ts +1 -0
- package/src/Test/testPayload.ts +19 -0
- package/src/Validator/BodyValidator.spec.ts +11 -0
- package/src/Validator/BodyValidator.ts +28 -0
- package/src/Validator/MetaValidator.spec.ts +11 -0
- package/src/Validator/MetaValidator.ts +34 -0
- package/src/Validator/Validator.spec.ts +63 -0
- package/src/Validator/Validator.ts +21 -0
- package/src/Validator/index.ts +3 -0
- package/src/Wrapper/Validator.ts +17 -0
- package/src/Wrapper/Wrapper.ts +25 -0
- package/src/Wrapper/index.ts +2 -0
- package/src/index.ts +9 -0
- package/src/isXyoPayloadOfSchemaType.ts +8 -0
- package/src/models/Base.ts +6 -0
- package/src/models/Meta.ts +28 -0
- package/src/models/XyoPayload.ts +3 -0
- package/src/models/index.ts +3 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XyoSchemaValidator = exports.SchemaValidator = exports.XyoSchemaNameValidator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@xyo-network/core");
|
|
6
|
+
/**
|
|
7
|
+
* Validates a XYO schema structure and existence
|
|
8
|
+
*/
|
|
9
|
+
class XyoSchemaNameValidator {
|
|
10
|
+
constructor(schema) {
|
|
11
|
+
this.schema = schema;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The schema converted into a string array split on '.'
|
|
15
|
+
*
|
|
16
|
+
* @returns string[]
|
|
17
|
+
*/
|
|
18
|
+
get parts() {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
this._parts = (_a = this._parts) !== null && _a !== void 0 ? _a : (_b = this.schema) === null || _b === void 0 ? void 0 : _b.split('.');
|
|
21
|
+
return this._parts;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Levels in the schema
|
|
25
|
+
*
|
|
26
|
+
* @returns number
|
|
27
|
+
*/
|
|
28
|
+
get levels() {
|
|
29
|
+
var _a;
|
|
30
|
+
return (_a = this.parts) === null || _a === void 0 ? void 0 : _a.length;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Checks whether the schema is all lowercase
|
|
34
|
+
*
|
|
35
|
+
* @returns boolean
|
|
36
|
+
*/
|
|
37
|
+
get isLowercase() {
|
|
38
|
+
var _a;
|
|
39
|
+
return this.schema === ((_a = this.schema) === null || _a === void 0 ? void 0 : _a.toLowerCase());
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
*
|
|
43
|
+
* Get a domain for the schema at a certain level
|
|
44
|
+
*
|
|
45
|
+
* @param level - Zero based level to check
|
|
46
|
+
* @returns string
|
|
47
|
+
*/
|
|
48
|
+
domainLevel(level) {
|
|
49
|
+
var _a;
|
|
50
|
+
return (_a = this.parts) === null || _a === void 0 ? void 0 : _a.slice(0, level + 1).reverse().join('.');
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The rootDomain is the first two levels of the schema, in reverse order
|
|
54
|
+
* This can be used to determine who 'owns' that schema, based on domain
|
|
55
|
+
* registration
|
|
56
|
+
*
|
|
57
|
+
* @returns string
|
|
58
|
+
*/
|
|
59
|
+
get rootDomain() {
|
|
60
|
+
var _a;
|
|
61
|
+
this._rootDomain = (_a = this._rootDomain) !== null && _a !== void 0 ? _a : this.domainLevel(1);
|
|
62
|
+
return this._rootDomain;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Checks if the root domain validates via DNS resolution
|
|
66
|
+
*
|
|
67
|
+
* @returns boolean
|
|
68
|
+
*/
|
|
69
|
+
rootDomainExists() {
|
|
70
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
return yield (0, core_1.domainExists)(this.rootDomain);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Determines how many levels of the schema's reverse domain
|
|
76
|
+
* pass DNS resolution
|
|
77
|
+
*
|
|
78
|
+
* @returns number (0 if none exist)
|
|
79
|
+
*/
|
|
80
|
+
domainExistanceDepth() {
|
|
81
|
+
var _a;
|
|
82
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const levels = (_a = this.levels) !== null && _a !== void 0 ? _a : 0;
|
|
84
|
+
let level = 0;
|
|
85
|
+
while (level < levels) {
|
|
86
|
+
if (!(yield (0, core_1.domainExists)(this.domainLevel(level)))) {
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
level += 1;
|
|
90
|
+
}
|
|
91
|
+
return level;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Run all the validations
|
|
96
|
+
* @param checkExistance - boolean
|
|
97
|
+
* @returns Error[]
|
|
98
|
+
*/
|
|
99
|
+
allDynamic() {
|
|
100
|
+
var _a, _b;
|
|
101
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
const errors = [];
|
|
103
|
+
if (((_b = (_a = this.schema) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) === 0)
|
|
104
|
+
errors.push(Error('schema missing'));
|
|
105
|
+
else if (!(yield this.rootDomainExists()))
|
|
106
|
+
errors.push(Error(`schema root domain must exist [${this.rootDomain}]`));
|
|
107
|
+
return errors;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Run all static validations
|
|
112
|
+
* @returns Error[]
|
|
113
|
+
*/
|
|
114
|
+
all() {
|
|
115
|
+
var _a, _b, _c;
|
|
116
|
+
const errors = [];
|
|
117
|
+
if (((_b = (_a = this.schema) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) === 0)
|
|
118
|
+
errors.push(Error('schema missing'));
|
|
119
|
+
else if (((_c = this.levels) !== null && _c !== void 0 ? _c : 0) < 3)
|
|
120
|
+
errors.push(Error(`schema levels < 3 [${this.levels}, ${this.schema}]`));
|
|
121
|
+
else if (!this.isLowercase)
|
|
122
|
+
errors.push(Error(`schema not lowercase [${this.schema}]`));
|
|
123
|
+
return errors;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.XyoSchemaNameValidator = XyoSchemaNameValidator;
|
|
127
|
+
/** @deprectated use XyoSchemaNameValidator instead */
|
|
128
|
+
class SchemaValidator extends XyoSchemaNameValidator {
|
|
129
|
+
}
|
|
130
|
+
exports.SchemaValidator = SchemaValidator;
|
|
131
|
+
/** @deprectated use XyoSchemaNameValidator instead */
|
|
132
|
+
class XyoSchemaValidator extends XyoSchemaNameValidator {
|
|
133
|
+
}
|
|
134
|
+
exports.XyoSchemaValidator = XyoSchemaValidator;
|
|
135
|
+
//# sourceMappingURL=SchemaNameValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaNameValidator.js","sourceRoot":"","sources":["../../src/SchemaNameValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './testPayload';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Test/index.ts"],"names":[],"mappings":";;;AAAA,wDAA6B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.testSchema = exports.testPayload = void 0;
|
|
4
|
+
const testSchema = 'network.xyo.test';
|
|
5
|
+
exports.testSchema = testSchema;
|
|
6
|
+
const testPayload = {
|
|
7
|
+
_archive: 'test',
|
|
8
|
+
_hash: '20e14207f952a09f767ff614a648546c037fe524ace0bfe55db31f818aff1f1c',
|
|
9
|
+
_timestamp: 1609459255555,
|
|
10
|
+
numberField: 1,
|
|
11
|
+
objectField: {
|
|
12
|
+
numberField: 1,
|
|
13
|
+
stringField: 'stringValue',
|
|
14
|
+
},
|
|
15
|
+
schema: testSchema,
|
|
16
|
+
stringField: 'stringValue',
|
|
17
|
+
};
|
|
18
|
+
exports.testPayload = testPayload;
|
|
19
|
+
//# sourceMappingURL=testPayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testPayload.js","sourceRoot":"","sources":["../../../src/Test/testPayload.ts"],"names":[],"mappings":";;;AAIA,MAAM,UAAU,GAAG,kBAAkB,CAAA;AAcf,gCAAU;AAbhC,MAAM,WAAW,GAAuC;IACtD,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,kEAAkE;IACzE,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE;QACX,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,aAAa;KAC3B;IACD,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE,aAAa;CAC3B,CAAA;AAEQ,kCAAW"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoValidator } from '@xyo-network/core';
|
|
2
|
+
import { XyoPayload } from '../models';
|
|
3
|
+
import { XyoSchemaNameValidator } from '../SchemaNameValidator';
|
|
4
|
+
export declare class XyoPayloadBodyValidator<T extends XyoPayload = XyoPayload> extends XyoValidator<T> {
|
|
5
|
+
private _schemaValidator?;
|
|
6
|
+
get schemaValidator(): XyoSchemaNameValidator;
|
|
7
|
+
schemaName(): Error[];
|
|
8
|
+
validate(): Error[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
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.XyoValidator {
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BodyValidator.js","sourceRoot":"","sources":["../../../src/Validator/BodyValidator.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAGhD,gEAA+D;AAE/D,MAAa,uBAA2D,SAAQ,mBAAe;IAE7F,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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XyoValidator } from '@xyo-network/core';
|
|
2
|
+
import { XyoPayloadMeta } from '../models';
|
|
3
|
+
declare class XyoPayloadMetaValidator<T extends XyoPayloadMeta = XyoPayloadMeta> extends XyoValidator<T> {
|
|
4
|
+
hash(): Error[];
|
|
5
|
+
timestamp(): Error[];
|
|
6
|
+
validate(): Error[];
|
|
7
|
+
}
|
|
8
|
+
export { XyoPayloadMetaValidator };
|
|
@@ -0,0 +1,34 @@
|
|
|
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.XyoValidator {
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetaValidator.js","sourceRoot":"","sources":["../../../src/Validator/MetaValidator.ts"],"names":[],"mappings":";;;AAAA,4CAA2D;AAI3D,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC3C,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAE3C,MAAM,uBAAmE,SAAQ,mBAAe;IACvF,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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { XyoValidator } from '@xyo-network/core';
|
|
2
|
+
import { XyoPayloadWithMeta } from '../models';
|
|
3
|
+
import { XyoPayloadBodyValidator } from './BodyValidator';
|
|
4
|
+
import { XyoPayloadMetaValidator } from './MetaValidator';
|
|
5
|
+
export declare class XyoPayloadValidator<T extends XyoPayloadWithMeta = XyoPayloadWithMeta> extends XyoValidator<T> {
|
|
6
|
+
body: XyoPayloadBodyValidator;
|
|
7
|
+
meta: XyoPayloadMetaValidator;
|
|
8
|
+
constructor(payload: T);
|
|
9
|
+
validate(): Error[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XyoPayloadValidator = void 0;
|
|
4
|
+
const core_1 = require("@xyo-network/core");
|
|
5
|
+
const BodyValidator_1 = require("./BodyValidator");
|
|
6
|
+
const MetaValidator_1 = require("./MetaValidator");
|
|
7
|
+
class XyoPayloadValidator extends core_1.XyoValidator {
|
|
8
|
+
constructor(payload) {
|
|
9
|
+
super(payload);
|
|
10
|
+
this.body = new BodyValidator_1.XyoPayloadBodyValidator(payload);
|
|
11
|
+
this.meta = new MetaValidator_1.XyoPayloadMetaValidator(payload);
|
|
12
|
+
}
|
|
13
|
+
validate() {
|
|
14
|
+
const errors = [];
|
|
15
|
+
errors.push(...this.body.validate());
|
|
16
|
+
return errors;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.XyoPayloadValidator = XyoPayloadValidator;
|
|
20
|
+
//# sourceMappingURL=Validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/Validator/Validator.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAGhD,mDAAyD;AACzD,mDAAyD;AAEzD,MAAa,mBAAuE,SAAQ,mBAAe;IAGzG,YAAY,OAAU;QACpB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,uCAAuB,CAAC,OAAO,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,uCAAuB,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACpC,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAdD,kDAcC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./BodyValidator"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./MetaValidator"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./Validator"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Validator/index.ts"],"names":[],"mappings":";;;AAAA,0DAA+B;AAC/B,0DAA+B;AAC/B,sDAA2B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XyoValidator } 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 XyoValidator<T> {
|
|
6
|
+
get payload(): XyoPayloadValidator<XyoPayloadWithMeta<unknown>>;
|
|
7
|
+
validate(): Error[];
|
|
8
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
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.XyoValidator {
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../../src/Wrapper/Validator.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAGhD,4CAAkD;AAGlD,MAAa,0BAAoH,SAAQ,mBAAe;IACtJ,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;AAVD,gEAUC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoDataLike, XyoHasher } from '@xyo-network/core';
|
|
2
|
+
import { Huri } from '../Huri';
|
|
3
|
+
import { XyoPayload } from '../models';
|
|
4
|
+
export declare class XyoPayloadWrapper<T extends XyoPayload> extends XyoHasher<T> {
|
|
5
|
+
get payload(): T;
|
|
6
|
+
get body(): T;
|
|
7
|
+
get meta(): T;
|
|
8
|
+
static load(address: XyoDataLike | Huri): Promise<XyoPayloadWrapper<XyoPayload<object>> | undefined>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XyoPayloadWrapper = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@xyo-network/core");
|
|
6
|
+
const Huri_1 = require("../Huri");
|
|
7
|
+
class XyoPayloadWrapper extends core_1.XyoHasher {
|
|
8
|
+
get payload() {
|
|
9
|
+
return this.obj;
|
|
10
|
+
}
|
|
11
|
+
get body() {
|
|
12
|
+
return (0, core_1.deepOmitUnderscoreFields)(this.obj);
|
|
13
|
+
}
|
|
14
|
+
get meta() {
|
|
15
|
+
return (0, core_1.deepPickUnderscoreFields)(this.obj);
|
|
16
|
+
}
|
|
17
|
+
static load(address) {
|
|
18
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
const payload = yield new Huri_1.Huri(address).fetch();
|
|
20
|
+
if (payload) {
|
|
21
|
+
return new XyoPayloadWrapper(payload);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.XyoPayloadWrapper = XyoPayloadWrapper;
|
|
27
|
+
//# sourceMappingURL=Wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../src/Wrapper/Wrapper.ts"],"names":[],"mappings":";;;;AAAA,4CAA8G;AAE9G,kCAA8B;AAG9B,MAAa,iBAAwC,SAAQ,gBAAY;IACvE,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAA,+BAAwB,EAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAA,+BAAwB,EAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAO,IAAI,CAAC,OAA2B;;YAClD,MAAM,OAAO,GAAG,MAAM,IAAI,WAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;YAC/C,IAAI,OAAO,EAAE;gBACX,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAA;aACtC;QACH,CAAC;KAAA;CACF;AAnBD,8CAmBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Wrapper/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,oDAAyB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './Builder';
|
|
2
|
+
export * from './Huri';
|
|
3
|
+
export * from './isXyoPayloadOfSchemaType';
|
|
4
|
+
export * from './models';
|
|
5
|
+
export * from './Query';
|
|
6
|
+
export * from './Schema';
|
|
7
|
+
export * from './SchemaNameValidator';
|
|
8
|
+
export * from './Validator';
|
|
9
|
+
export * from './Wrapper';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./Builder"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./Huri"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./isXyoPayloadOfSchemaType"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./models"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./Query"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./Schema"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./SchemaNameValidator"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./Validator"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./Wrapper"), exports);
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,iDAAsB;AACtB,qEAA0C;AAC1C,mDAAwB;AACxB,kDAAuB;AACvB,mDAAwB;AACxB,gEAAqC;AACrC,sDAA2B;AAC3B,oDAAyB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { XyoPayload } from './models';
|
|
2
|
+
import { XyoSchemaPayload } from './Schema';
|
|
3
|
+
export declare const isXyoPayloadOfSchemaType: <T extends XyoPayload<object>>(schema: string) => (x: XyoPayload) => x is T;
|
|
4
|
+
export declare const isXyoSchemaPayload: (x: XyoPayload) => x is XyoSchemaPayload;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isXyoSchemaPayload = exports.isXyoPayloadOfSchemaType = void 0;
|
|
4
|
+
const isXyoPayloadOfSchemaType = (schema) => {
|
|
5
|
+
return (x) => x.schema === schema;
|
|
6
|
+
};
|
|
7
|
+
exports.isXyoPayloadOfSchemaType = isXyoPayloadOfSchemaType;
|
|
8
|
+
exports.isXyoSchemaPayload = (0, exports.isXyoPayloadOfSchemaType)('network.xyo.schema');
|
|
9
|
+
//# sourceMappingURL=isXyoPayloadOfSchemaType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isXyoPayloadOfSchemaType.js","sourceRoot":"","sources":["../../src/isXyoPayloadOfSchemaType.ts"],"names":[],"mappings":";;;AAGO,MAAM,wBAAwB,GAAG,CAAuB,MAAc,EAAE,EAAE;IAC/E,OAAO,CAAC,CAAa,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAA;AACvD,CAAC,CAAA;AAFY,QAAA,wBAAwB,4BAEpC;AAEY,QAAA,kBAAkB,GAAG,IAAA,gCAAwB,EAAmB,oBAAoB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Base.js","sourceRoot":"","sources":["../../../src/models/Base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { XyoPayloadBase } from './Base';
|
|
2
|
+
import { XyoPayload } from './XyoPayload';
|
|
3
|
+
export interface XyoPayloadMetaBase {
|
|
4
|
+
_hash: string;
|
|
5
|
+
_observeDuration?: number;
|
|
6
|
+
_archive: string;
|
|
7
|
+
_client?: string;
|
|
8
|
+
_reportedHash?: string;
|
|
9
|
+
_timestamp: number;
|
|
10
|
+
_sources?: XyoPayload[];
|
|
11
|
+
_user_agent?: string;
|
|
12
|
+
_schemaValid?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface XyoQueryPayloadMetaBase extends XyoPayloadMetaBase {
|
|
15
|
+
_queryId: string;
|
|
16
|
+
}
|
|
17
|
+
export declare type XyoPayloadMeta<T = unknown> = T & XyoPayloadMetaBase;
|
|
18
|
+
export declare type XyoPartialPayloadMeta<T = unknown> = T & Partial<XyoPayloadMetaBase>;
|
|
19
|
+
export declare type XyoPayloadWithMeta<T = unknown> = T & XyoPayloadMetaBase & XyoPayloadBase;
|
|
20
|
+
export declare type XyoPayloadWithPartialMeta<T = unknown> = T & Partial<XyoPayloadMetaBase> & XyoPayloadBase;
|
|
21
|
+
export declare type XyoQueryPayloadMeta<T = unknown> = T & XyoQueryPayloadMetaBase;
|
|
22
|
+
export declare type XyoQueryPartialPayloadMeta<T = unknown> = T & Partial<XyoQueryPayloadMetaBase>;
|
|
23
|
+
export declare type XyoQueryPayloadWithMeta<T = unknown> = T & XyoQueryPayloadMetaBase & XyoPayloadBase;
|
|
24
|
+
export declare type XyoQueryPayloadWithPartialMeta<T = unknown> = T & Partial<XyoQueryPayloadMetaBase> & XyoPayloadBase;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Meta.js","sourceRoot":"","sources":["../../../src/models/Meta.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoPayload.js","sourceRoot":"","sources":["../../../src/models/XyoPayload.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./Base"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./Meta"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./XyoPayload"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,iDAAsB;AACtB,iDAAsB;AACtB,uDAA4B"}
|
package/dist/docs.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StringKeyObject } from '@xyo-network/core';
|
|
2
|
+
import { XyoPayload } from '../models';
|
|
3
|
+
export interface XyoPayloadBuilderOptions {
|
|
4
|
+
schema: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class XyoPayloadBuilder<T extends XyoPayload = XyoPayload<StringKeyObject>> {
|
|
7
|
+
private _fields;
|
|
8
|
+
private _previousHash?;
|
|
9
|
+
private _schema;
|
|
10
|
+
constructor({ schema }: XyoPayloadBuilderOptions);
|
|
11
|
+
fields(fields?: Partial<T>): this;
|
|
12
|
+
previousHash(hash?: string): this;
|
|
13
|
+
hashableFields(): T;
|
|
14
|
+
build(): T;
|
|
15
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { deepOmitUnderscoreFields, removeEmptyFields, XyoHasher } from '@xyo-network/core';
|
|
2
|
+
export class XyoPayloadBuilder {
|
|
3
|
+
constructor({ schema }) {
|
|
4
|
+
this._fields = {};
|
|
5
|
+
this._schema = schema;
|
|
6
|
+
}
|
|
7
|
+
fields(fields) {
|
|
8
|
+
if (fields) {
|
|
9
|
+
this._fields = { ...this._fields, ...removeEmptyFields(fields) };
|
|
10
|
+
}
|
|
11
|
+
return this;
|
|
12
|
+
}
|
|
13
|
+
previousHash(hash) {
|
|
14
|
+
this._previousHash = hash;
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
hashableFields() {
|
|
18
|
+
return {
|
|
19
|
+
...removeEmptyFields(deepOmitUnderscoreFields({ ...this._fields, previousHash: this._previousHash })),
|
|
20
|
+
schema: this._schema,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
build() {
|
|
24
|
+
const hashableFields = this.hashableFields();
|
|
25
|
+
const _hash = new XyoHasher(hashableFields).hash;
|
|
26
|
+
const _timestamp = Date.now();
|
|
27
|
+
return { ...hashableFields, _client: 'js', _hash, _timestamp, schema: this._schema };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=Builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../src/Builder/Builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAmB,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAQ3G,MAAM,OAAO,iBAAiB;IAK5B,YAAY,EAAE,MAAM,EAA4B;QAJxC,YAAO,GAAe,EAAE,CAAA;QAK9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAEM,MAAM,CAAC,MAAmB;QAC/B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAA;SACjE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,YAAY,CAAC,IAAa;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,cAAc;QACnB,OAAO;YACL,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACrG,MAAM,EAAE,IAAI,CAAC,OAAO;SAChB,CAAA;IACR,CAAC;IAEM,KAAK;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAA;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACtF,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Builder';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Builder/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
|