@xyo-network/payload-validator 2.84.6 → 2.84.7
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/node/index.cjs +70 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.js +6 -33
- package/dist/node/index.js.map +1 -1
- package/package.json +12 -12
- package/dist/node/index.mjs +0 -43
- package/dist/node/index.mjs.map +0 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
PayloadValidator: () => PayloadValidator
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(src_exports);
|
|
26
|
+
|
|
27
|
+
// src/Validator.ts
|
|
28
|
+
var import_object = require("@xyo-network/object");
|
|
29
|
+
var import_schema_name_validator = require("@xyo-network/schema-name-validator");
|
|
30
|
+
var defaultSchemaNameValidatorFactory = (schema) => new import_schema_name_validator.SchemaNameValidator(schema);
|
|
31
|
+
var PayloadValidator = class _PayloadValidator extends import_object.ValidatorBase {
|
|
32
|
+
static schemaNameValidatorFactory = defaultSchemaNameValidatorFactory;
|
|
33
|
+
payload;
|
|
34
|
+
_schemaValidator;
|
|
35
|
+
constructor(payload) {
|
|
36
|
+
super(payload);
|
|
37
|
+
this.payload = payload;
|
|
38
|
+
}
|
|
39
|
+
get schemaValidator() {
|
|
40
|
+
var _a;
|
|
41
|
+
this._schemaValidator = this._schemaValidator ?? ((_a = _PayloadValidator.schemaNameValidatorFactory) == null ? void 0 : _a.call(_PayloadValidator, this.payload.schema));
|
|
42
|
+
if (!this._schemaValidator) {
|
|
43
|
+
console.warn(`No schema name validator set [${this.payload.schema}]`);
|
|
44
|
+
}
|
|
45
|
+
return this._schemaValidator;
|
|
46
|
+
}
|
|
47
|
+
static setSchemaNameValidatorFactory(factory) {
|
|
48
|
+
this.schemaNameValidatorFactory = factory;
|
|
49
|
+
}
|
|
50
|
+
schemaName() {
|
|
51
|
+
var _a;
|
|
52
|
+
const errors = [];
|
|
53
|
+
if (this.obj.schema === void 0) {
|
|
54
|
+
errors.push(Error("schema missing"));
|
|
55
|
+
} else {
|
|
56
|
+
errors.push(...((_a = this.schemaValidator) == null ? void 0 : _a.all()) ?? []);
|
|
57
|
+
}
|
|
58
|
+
return errors;
|
|
59
|
+
}
|
|
60
|
+
validate() {
|
|
61
|
+
const errors = [];
|
|
62
|
+
errors.push(...this.schemaName());
|
|
63
|
+
return errors;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
+
0 && (module.exports = {
|
|
68
|
+
PayloadValidator
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/Validator.ts"],"sourcesContent":["export * from './Validator'\n","import { Promisable } from '@xylabs/promise'\nimport { Validator, ValidatorBase } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\nimport { SchemaNameValidator } from '@xyo-network/schema-name-validator'\n\nexport type AllValidator = {\n all(): Error[]\n}\n\nexport type AllValidatorFactory = (schema: string) => AllValidator\n\nconst defaultSchemaNameValidatorFactory: AllValidatorFactory = (schema: string) => new SchemaNameValidator(schema)\n\nexport class PayloadValidator<T extends Payload = Payload> extends ValidatorBase<T> implements Validator<T> {\n protected static schemaNameValidatorFactory: AllValidatorFactory = defaultSchemaNameValidatorFactory\n protected payload: Payload\n\n private _schemaValidator?: AllValidator\n\n constructor(payload: T) {\n super(payload)\n this.payload = payload\n }\n\n get schemaValidator() {\n this._schemaValidator = this._schemaValidator ?? PayloadValidator.schemaNameValidatorFactory?.(this.payload.schema)\n if (!this._schemaValidator) {\n console.warn(`No schema name validator set [${this.payload.schema}]`)\n }\n return this._schemaValidator\n }\n\n static setSchemaNameValidatorFactory(factory: AllValidatorFactory) {\n this.schemaNameValidatorFactory = factory\n }\n\n schemaName(): Error[] {\n const errors: Error[] = []\n if (this.obj.schema === undefined) {\n errors.push(Error('schema missing'))\n } else {\n errors.push(...(this.schemaValidator?.all() ?? []))\n }\n return errors\n }\n\n validate(): Promisable<Error[]> {\n const errors: Error[] = []\n errors.push(...this.schemaName())\n return errors\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,oBAAyC;AAEzC,mCAAoC;AAQpC,IAAM,oCAAyD,CAAC,WAAmB,IAAI,iDAAoB,MAAM;AAE1G,IAAM,mBAAN,MAAM,0BAAsD,4BAAyC;AAAA,EAC1G,OAAiB,6BAAkD;AAAA,EACzD;AAAA,EAEF;AAAA,EAER,YAAY,SAAY;AACtB,UAAM,OAAO;AACb,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,kBAAkB;AAxBxB;AAyBI,SAAK,mBAAmB,KAAK,sBAAoB,uBAAiB,+BAAjB,2CAA8C,KAAK,QAAQ;AAC5G,QAAI,CAAC,KAAK,kBAAkB;AAC1B,cAAQ,KAAK,iCAAiC,KAAK,QAAQ,MAAM,GAAG;AAAA,IACtE;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,OAAO,8BAA8B,SAA8B;AACjE,SAAK,6BAA6B;AAAA,EACpC;AAAA,EAEA,aAAsB;AApCxB;AAqCI,UAAM,SAAkB,CAAC;AACzB,QAAI,KAAK,IAAI,WAAW,QAAW;AACjC,aAAO,KAAK,MAAM,gBAAgB,CAAC;AAAA,IACrC,OAAO;AACL,aAAO,KAAK,KAAI,UAAK,oBAAL,mBAAsB,UAAS,CAAC,CAAE;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,WAAgC;AAC9B,UAAM,SAAkB,CAAC;AACzB,WAAO,KAAK,GAAG,KAAK,WAAW,CAAC;AAChC,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/dist/node/index.js
CHANGED
|
@@ -1,34 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/index.ts
|
|
21
|
-
var src_exports = {};
|
|
22
|
-
__export(src_exports, {
|
|
23
|
-
PayloadValidator: () => PayloadValidator
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(src_exports);
|
|
26
|
-
|
|
27
1
|
// src/Validator.ts
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var defaultSchemaNameValidatorFactory = (schema) => new
|
|
31
|
-
var PayloadValidator = class _PayloadValidator extends
|
|
2
|
+
import { ValidatorBase } from "@xyo-network/object";
|
|
3
|
+
import { SchemaNameValidator } from "@xyo-network/schema-name-validator";
|
|
4
|
+
var defaultSchemaNameValidatorFactory = (schema) => new SchemaNameValidator(schema);
|
|
5
|
+
var PayloadValidator = class _PayloadValidator extends ValidatorBase {
|
|
32
6
|
static schemaNameValidatorFactory = defaultSchemaNameValidatorFactory;
|
|
33
7
|
payload;
|
|
34
8
|
_schemaValidator;
|
|
@@ -63,8 +37,7 @@ var PayloadValidator = class _PayloadValidator extends import_object.ValidatorBa
|
|
|
63
37
|
return errors;
|
|
64
38
|
}
|
|
65
39
|
};
|
|
66
|
-
|
|
67
|
-
0 && (module.exports = {
|
|
40
|
+
export {
|
|
68
41
|
PayloadValidator
|
|
69
|
-
}
|
|
42
|
+
};
|
|
70
43
|
//# sourceMappingURL=index.js.map
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/
|
|
1
|
+
{"version":3,"sources":["../../src/Validator.ts"],"sourcesContent":["import { Promisable } from '@xylabs/promise'\nimport { Validator, ValidatorBase } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\nimport { SchemaNameValidator } from '@xyo-network/schema-name-validator'\n\nexport type AllValidator = {\n all(): Error[]\n}\n\nexport type AllValidatorFactory = (schema: string) => AllValidator\n\nconst defaultSchemaNameValidatorFactory: AllValidatorFactory = (schema: string) => new SchemaNameValidator(schema)\n\nexport class PayloadValidator<T extends Payload = Payload> extends ValidatorBase<T> implements Validator<T> {\n protected static schemaNameValidatorFactory: AllValidatorFactory = defaultSchemaNameValidatorFactory\n protected payload: Payload\n\n private _schemaValidator?: AllValidator\n\n constructor(payload: T) {\n super(payload)\n this.payload = payload\n }\n\n get schemaValidator() {\n this._schemaValidator = this._schemaValidator ?? PayloadValidator.schemaNameValidatorFactory?.(this.payload.schema)\n if (!this._schemaValidator) {\n console.warn(`No schema name validator set [${this.payload.schema}]`)\n }\n return this._schemaValidator\n }\n\n static setSchemaNameValidatorFactory(factory: AllValidatorFactory) {\n this.schemaNameValidatorFactory = factory\n }\n\n schemaName(): Error[] {\n const errors: Error[] = []\n if (this.obj.schema === undefined) {\n errors.push(Error('schema missing'))\n } else {\n errors.push(...(this.schemaValidator?.all() ?? []))\n }\n return errors\n }\n\n validate(): Promisable<Error[]> {\n const errors: Error[] = []\n errors.push(...this.schemaName())\n return errors\n }\n}\n"],"mappings":";AACA,SAAoB,qBAAqB;AAEzC,SAAS,2BAA2B;AAQpC,IAAM,oCAAyD,CAAC,WAAmB,IAAI,oBAAoB,MAAM;AAE1G,IAAM,mBAAN,MAAM,0BAAsD,cAAyC;AAAA,EAC1G,OAAiB,6BAAkD;AAAA,EACzD;AAAA,EAEF;AAAA,EAER,YAAY,SAAY;AACtB,UAAM,OAAO;AACb,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,kBAAkB;AAxBxB;AAyBI,SAAK,mBAAmB,KAAK,sBAAoB,uBAAiB,+BAAjB,2CAA8C,KAAK,QAAQ;AAC5G,QAAI,CAAC,KAAK,kBAAkB;AAC1B,cAAQ,KAAK,iCAAiC,KAAK,QAAQ,MAAM,GAAG;AAAA,IACtE;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,OAAO,8BAA8B,SAA8B;AACjE,SAAK,6BAA6B;AAAA,EACpC;AAAA,EAEA,aAAsB;AApCxB;AAqCI,UAAM,SAAkB,CAAC;AACzB,QAAI,KAAK,IAAI,WAAW,QAAW;AACjC,aAAO,KAAK,MAAM,gBAAgB,CAAC;AAAA,IACrC,OAAO;AACL,aAAO,KAAK,KAAI,UAAK,oBAAL,mBAAsB,UAAS,CAAC,CAAE;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,WAAgC;AAC9B,UAAM,SAAkB,CAAC;AACzB,WAAO,KAAK,GAAG,KAAK,WAAW,CAAC;AAChC,WAAO;AAAA,EACT;AACF;","names":[]}
|
package/package.json
CHANGED
|
@@ -11,17 +11,16 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/promise": "^2.13.20",
|
|
14
|
-
"@xyo-network/object": "~2.84.
|
|
15
|
-
"@xyo-network/payload-model": "~2.84.
|
|
16
|
-
"@xyo-network/schema-name-validator": "~2.84.
|
|
14
|
+
"@xyo-network/object": "~2.84.7",
|
|
15
|
+
"@xyo-network/payload-model": "~2.84.7",
|
|
16
|
+
"@xyo-network/schema-name-validator": "~2.84.7"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@xylabs/ts-scripts-yarn3": "^3.2.
|
|
20
|
-
"@xylabs/tsconfig": "^3.2.
|
|
19
|
+
"@xylabs/ts-scripts-yarn3": "^3.2.24",
|
|
20
|
+
"@xylabs/tsconfig": "^3.2.24",
|
|
21
21
|
"typescript": "^5.3.3"
|
|
22
22
|
},
|
|
23
23
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
24
|
-
"docs": "dist/docs.json",
|
|
25
24
|
"exports": {
|
|
26
25
|
".": {
|
|
27
26
|
"browser": {
|
|
@@ -36,19 +35,19 @@
|
|
|
36
35
|
},
|
|
37
36
|
"node": {
|
|
38
37
|
"require": {
|
|
39
|
-
"types": "./dist/node/index.d.
|
|
40
|
-
"default": "./dist/node/index.
|
|
38
|
+
"types": "./dist/node/index.d.cts",
|
|
39
|
+
"default": "./dist/node/index.cjs"
|
|
41
40
|
},
|
|
42
41
|
"import": {
|
|
43
42
|
"types": "./dist/node/index.d.mts",
|
|
44
|
-
"default": "./dist/node/index.
|
|
43
|
+
"default": "./dist/node/index.js"
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
},
|
|
48
47
|
"./package.json": "./package.json"
|
|
49
48
|
},
|
|
50
|
-
"main": "dist/node/index.
|
|
51
|
-
"module": "dist/node/index.
|
|
49
|
+
"main": "dist/node/index.cjs",
|
|
50
|
+
"module": "dist/node/index.js",
|
|
52
51
|
"homepage": "https://xyo.network",
|
|
53
52
|
"license": "LGPL-3.0-only",
|
|
54
53
|
"publishConfig": {
|
|
@@ -60,5 +59,6 @@
|
|
|
60
59
|
},
|
|
61
60
|
"sideEffects": false,
|
|
62
61
|
"types": "dist/node/index.d.ts",
|
|
63
|
-
"version": "2.84.
|
|
62
|
+
"version": "2.84.7",
|
|
63
|
+
"type": "module"
|
|
64
64
|
}
|
package/dist/node/index.mjs
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// src/Validator.ts
|
|
2
|
-
import { ValidatorBase } from "@xyo-network/object";
|
|
3
|
-
import { SchemaNameValidator } from "@xyo-network/schema-name-validator";
|
|
4
|
-
var defaultSchemaNameValidatorFactory = (schema) => new SchemaNameValidator(schema);
|
|
5
|
-
var PayloadValidator = class _PayloadValidator extends ValidatorBase {
|
|
6
|
-
static schemaNameValidatorFactory = defaultSchemaNameValidatorFactory;
|
|
7
|
-
payload;
|
|
8
|
-
_schemaValidator;
|
|
9
|
-
constructor(payload) {
|
|
10
|
-
super(payload);
|
|
11
|
-
this.payload = payload;
|
|
12
|
-
}
|
|
13
|
-
get schemaValidator() {
|
|
14
|
-
var _a;
|
|
15
|
-
this._schemaValidator = this._schemaValidator ?? ((_a = _PayloadValidator.schemaNameValidatorFactory) == null ? void 0 : _a.call(_PayloadValidator, this.payload.schema));
|
|
16
|
-
if (!this._schemaValidator) {
|
|
17
|
-
console.warn(`No schema name validator set [${this.payload.schema}]`);
|
|
18
|
-
}
|
|
19
|
-
return this._schemaValidator;
|
|
20
|
-
}
|
|
21
|
-
static setSchemaNameValidatorFactory(factory) {
|
|
22
|
-
this.schemaNameValidatorFactory = factory;
|
|
23
|
-
}
|
|
24
|
-
schemaName() {
|
|
25
|
-
var _a;
|
|
26
|
-
const errors = [];
|
|
27
|
-
if (this.obj.schema === void 0) {
|
|
28
|
-
errors.push(Error("schema missing"));
|
|
29
|
-
} else {
|
|
30
|
-
errors.push(...((_a = this.schemaValidator) == null ? void 0 : _a.all()) ?? []);
|
|
31
|
-
}
|
|
32
|
-
return errors;
|
|
33
|
-
}
|
|
34
|
-
validate() {
|
|
35
|
-
const errors = [];
|
|
36
|
-
errors.push(...this.schemaName());
|
|
37
|
-
return errors;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
export {
|
|
41
|
-
PayloadValidator
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/node/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Validator.ts"],"sourcesContent":["import { Promisable } from '@xylabs/promise'\nimport { Validator, ValidatorBase } from '@xyo-network/object'\nimport { Payload } from '@xyo-network/payload-model'\nimport { SchemaNameValidator } from '@xyo-network/schema-name-validator'\n\nexport type AllValidator = {\n all(): Error[]\n}\n\nexport type AllValidatorFactory = (schema: string) => AllValidator\n\nconst defaultSchemaNameValidatorFactory: AllValidatorFactory = (schema: string) => new SchemaNameValidator(schema)\n\nexport class PayloadValidator<T extends Payload = Payload> extends ValidatorBase<T> implements Validator<T> {\n protected static schemaNameValidatorFactory: AllValidatorFactory = defaultSchemaNameValidatorFactory\n protected payload: Payload\n\n private _schemaValidator?: AllValidator\n\n constructor(payload: T) {\n super(payload)\n this.payload = payload\n }\n\n get schemaValidator() {\n this._schemaValidator = this._schemaValidator ?? PayloadValidator.schemaNameValidatorFactory?.(this.payload.schema)\n if (!this._schemaValidator) {\n console.warn(`No schema name validator set [${this.payload.schema}]`)\n }\n return this._schemaValidator\n }\n\n static setSchemaNameValidatorFactory(factory: AllValidatorFactory) {\n this.schemaNameValidatorFactory = factory\n }\n\n schemaName(): Error[] {\n const errors: Error[] = []\n if (this.obj.schema === undefined) {\n errors.push(Error('schema missing'))\n } else {\n errors.push(...(this.schemaValidator?.all() ?? []))\n }\n return errors\n }\n\n validate(): Promisable<Error[]> {\n const errors: Error[] = []\n errors.push(...this.schemaName())\n return errors\n }\n}\n"],"mappings":";AACA,SAAoB,qBAAqB;AAEzC,SAAS,2BAA2B;AAQpC,IAAM,oCAAyD,CAAC,WAAmB,IAAI,oBAAoB,MAAM;AAE1G,IAAM,mBAAN,MAAM,0BAAsD,cAAyC;AAAA,EAC1G,OAAiB,6BAAkD;AAAA,EACzD;AAAA,EAEF;AAAA,EAER,YAAY,SAAY;AACtB,UAAM,OAAO;AACb,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,kBAAkB;AAxBxB;AAyBI,SAAK,mBAAmB,KAAK,sBAAoB,uBAAiB,+BAAjB,2CAA8C,KAAK,QAAQ;AAC5G,QAAI,CAAC,KAAK,kBAAkB;AAC1B,cAAQ,KAAK,iCAAiC,KAAK,QAAQ,MAAM,GAAG;AAAA,IACtE;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,OAAO,8BAA8B,SAA8B;AACjE,SAAK,6BAA6B;AAAA,EACpC;AAAA,EAEA,aAAsB;AApCxB;AAqCI,UAAM,SAAkB,CAAC;AACzB,QAAI,KAAK,IAAI,WAAW,QAAW;AACjC,aAAO,KAAK,MAAM,gBAAgB,CAAC;AAAA,IACrC,OAAO;AACL,aAAO,KAAK,KAAI,UAAK,oBAAL,mBAAsB,UAAS,CAAC,CAAE;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,WAAgC;AAC9B,UAAM,SAAkB,CAAC;AACzB,WAAO,KAAK,GAAG,KAAK,WAAW,CAAC;AAChC,WAAO;AAAA,EACT;AACF;","names":[]}
|