@rootintf/protocol-subverseinfo 1.0.13-api.2 → 2.0.3-api.4
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/ajv-gen-validate.d.cts +1 -0
- package/dist/subverseinfo.cjs.js +1758 -339
- package/dist/subverseinfo.d.ts +14 -0
- package/dist/subverseinfo.es.mjs +1757 -338
- package/dist/validate-esm.d.mts +70 -0
- package/package.json +10 -4
- package/rollup.config.mjs +15 -4
- package/schema/schema_SubverseInfo.json +30 -3
- package/src/ajv-gen-validate.cjs +3 -4
- package/src/declarations.d.ts +1 -0
- package/src/subverseinfo.ts +118 -0
- package/src/validate-esm.mjs +1 -1
- package/tests/subverseinfo.spec.mjs +305 -269
- package/tsconfig.json +115 -0
- package/schema/schema_expanse_instances.json +0 -17
- package/src/subverseinfo.mjs +0 -146
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export function definitions_SubverseInfo(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
|
|
2
|
+
instancePath?: string;
|
|
3
|
+
rootData?: any;
|
|
4
|
+
dynamicAnchors?: {};
|
|
5
|
+
}): boolean;
|
|
6
|
+
export namespace definitions_SubverseInfo {
|
|
7
|
+
namespace evaluated {
|
|
8
|
+
let dynamicProps: boolean;
|
|
9
|
+
let dynamicItems: boolean;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function schema_SubverseInfo_query(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
|
|
13
|
+
instancePath?: string;
|
|
14
|
+
rootData?: any;
|
|
15
|
+
dynamicAnchors?: {};
|
|
16
|
+
}): boolean;
|
|
17
|
+
export namespace schema_SubverseInfo_query {
|
|
18
|
+
export namespace evaluated_1 {
|
|
19
|
+
export namespace props {
|
|
20
|
+
let query: boolean;
|
|
21
|
+
let subverse_info: boolean;
|
|
22
|
+
}
|
|
23
|
+
let dynamicProps_1: boolean;
|
|
24
|
+
export { dynamicProps_1 as dynamicProps };
|
|
25
|
+
let dynamicItems_1: boolean;
|
|
26
|
+
export { dynamicItems_1 as dynamicItems };
|
|
27
|
+
}
|
|
28
|
+
export { evaluated_1 as evaluated };
|
|
29
|
+
}
|
|
30
|
+
export function schema_SubverseInfo_subverse(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
|
|
31
|
+
instancePath?: string;
|
|
32
|
+
rootData?: any;
|
|
33
|
+
dynamicAnchors?: {};
|
|
34
|
+
}): boolean;
|
|
35
|
+
export namespace schema_SubverseInfo_subverse {
|
|
36
|
+
export namespace evaluated_2 {
|
|
37
|
+
export namespace props_1 {
|
|
38
|
+
export let expanse: boolean;
|
|
39
|
+
let subverse_info_1: boolean;
|
|
40
|
+
export { subverse_info_1 as subverse_info };
|
|
41
|
+
}
|
|
42
|
+
export { props_1 as props };
|
|
43
|
+
let dynamicProps_2: boolean;
|
|
44
|
+
export { dynamicProps_2 as dynamicProps };
|
|
45
|
+
let dynamicItems_2: boolean;
|
|
46
|
+
export { dynamicItems_2 as dynamicItems };
|
|
47
|
+
}
|
|
48
|
+
export { evaluated_2 as evaluated };
|
|
49
|
+
}
|
|
50
|
+
export function schema_SubverseInfo_instances(data: any, { instancePath, parentData, parentDataProperty, rootData, dynamicAnchors }?: {
|
|
51
|
+
instancePath?: string;
|
|
52
|
+
rootData?: any;
|
|
53
|
+
dynamicAnchors?: {};
|
|
54
|
+
}): boolean;
|
|
55
|
+
export namespace schema_SubverseInfo_instances {
|
|
56
|
+
export namespace evaluated_3 {
|
|
57
|
+
export namespace props_2 {
|
|
58
|
+
let expanse_1: boolean;
|
|
59
|
+
export { expanse_1 as expanse };
|
|
60
|
+
let subverse_info_2: boolean;
|
|
61
|
+
export { subverse_info_2 as subverse_info };
|
|
62
|
+
}
|
|
63
|
+
export { props_2 as props };
|
|
64
|
+
let dynamicProps_3: boolean;
|
|
65
|
+
export { dynamicProps_3 as dynamicProps };
|
|
66
|
+
let dynamicItems_3: boolean;
|
|
67
|
+
export { dynamicItems_3 as dynamicItems };
|
|
68
|
+
}
|
|
69
|
+
export { evaluated_3 as evaluated };
|
|
70
|
+
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rootintf/protocol-subverseinfo",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.3-api.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/subverseinfo.cjs.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
6
7
|
"browser": "dist/subverseinfo.es.mjs",
|
|
7
8
|
"scripts": {
|
|
8
9
|
"build": "node src/ajv-gen-validate.cjs && rollup --config",
|
|
@@ -23,8 +24,8 @@
|
|
|
23
24
|
},
|
|
24
25
|
"homepage": "https://gitlab.com/interface-x/npm-protocol-subverseinfo.git#readme",
|
|
25
26
|
"dependencies": {
|
|
26
|
-
"@knev/bitlogr": "^
|
|
27
|
-
"@rootintf/json-msg": "^
|
|
27
|
+
"@knev/bitlogr": "^3.1.3",
|
|
28
|
+
"@rootintf/json-msg": "^2.1.6",
|
|
28
29
|
"ajv": "^8.17.1",
|
|
29
30
|
"uuid": "^11.0.3"
|
|
30
31
|
},
|
|
@@ -32,9 +33,14 @@
|
|
|
32
33
|
"@rollup/plugin-commonjs": "^28.0.1",
|
|
33
34
|
"@rollup/plugin-json": "^6.1.0",
|
|
34
35
|
"@rollup/plugin-node-resolve": "^15.3.0",
|
|
36
|
+
"@rollup/plugin-typescript": "^12.3.0",
|
|
37
|
+
"@types/ajv": "^0.0.5",
|
|
38
|
+
"@types/node": "^24.10.1",
|
|
35
39
|
"ajv-cli": "^5.0.0",
|
|
36
40
|
"del-cli": "^6.0.0",
|
|
37
41
|
"jasmine": "^5.5.0",
|
|
38
|
-
"rollup": "^4.28.1"
|
|
42
|
+
"rollup": "^4.28.1",
|
|
43
|
+
"tslib": "^2.8.1",
|
|
44
|
+
"typescript": "^5.9.3"
|
|
39
45
|
}
|
|
40
46
|
}
|
package/rollup.config.mjs
CHANGED
|
@@ -2,23 +2,34 @@
|
|
|
2
2
|
import resolve from '@rollup/plugin-node-resolve';
|
|
3
3
|
import commonjs from '@rollup/plugin-commonjs';
|
|
4
4
|
import json from '@rollup/plugin-json';
|
|
5
|
+
import typescript from '@rollup/plugin-typescript';
|
|
5
6
|
|
|
6
7
|
export default [
|
|
7
8
|
{
|
|
8
|
-
input: 'src/subverseinfo.
|
|
9
|
+
input: 'src/subverseinfo.ts',
|
|
9
10
|
output: {
|
|
10
11
|
file: 'dist/subverseinfo.es.mjs',
|
|
11
12
|
format: 'es'
|
|
12
13
|
},
|
|
13
|
-
plugins: [
|
|
14
|
+
plugins: [
|
|
15
|
+
resolve(),
|
|
16
|
+
commonjs(),
|
|
17
|
+
json(),
|
|
18
|
+
typescript({ tsconfig: './tsconfig.json' })
|
|
19
|
+
]
|
|
14
20
|
},
|
|
15
21
|
{
|
|
16
|
-
input: 'src/subverseinfo.
|
|
22
|
+
input: 'src/subverseinfo.ts',
|
|
17
23
|
output: {
|
|
18
24
|
file: 'dist/subverseinfo.cjs.js',
|
|
19
25
|
format: 'cjs'
|
|
20
26
|
},
|
|
21
|
-
plugins: [
|
|
27
|
+
plugins: [
|
|
28
|
+
resolve(),
|
|
29
|
+
commonjs(),
|
|
30
|
+
json(),
|
|
31
|
+
typescript({ tsconfig: './tsconfig.json' })
|
|
32
|
+
]
|
|
22
33
|
}
|
|
23
34
|
|
|
24
35
|
];
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"$schema" : "https://json-schema.org/draft/2019-09/schema",
|
|
8
8
|
"definitions" : {
|
|
9
9
|
"_v" : {
|
|
10
|
-
"const": "
|
|
10
|
+
"const": "4"
|
|
11
11
|
},
|
|
12
12
|
"unique-id" : {
|
|
13
13
|
"type" : "object",
|
|
@@ -106,8 +106,8 @@
|
|
|
106
106
|
"subverse_info": { "$ref": "definitions#/definitions/_v" }
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
|
-
"https://root-interface.se/protocols/SubverseInfo/
|
|
110
|
-
"$id": "https://root-interface.se/protocols/SubverseInfo/
|
|
109
|
+
"https://root-interface.se/protocols/SubverseInfo/subverse" : {
|
|
110
|
+
"$id": "https://root-interface.se/protocols/SubverseInfo/subverse",
|
|
111
111
|
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
112
112
|
"type" : "object",
|
|
113
113
|
"required" : [ "expanse", "subverse_info" ],
|
|
@@ -115,6 +115,9 @@
|
|
|
115
115
|
"expanse" : {
|
|
116
116
|
"type" : "object",
|
|
117
117
|
"required" : [ "subverse", "protocols" ],
|
|
118
|
+
"not": {
|
|
119
|
+
"required": [ "instances" ]
|
|
120
|
+
},
|
|
118
121
|
"properties" : {
|
|
119
122
|
"subverse" : {
|
|
120
123
|
"type" : "object",
|
|
@@ -132,6 +135,30 @@
|
|
|
132
135
|
},
|
|
133
136
|
"subverse_info": { "$ref": "definitions#/definitions/_v" }
|
|
134
137
|
}
|
|
138
|
+
},
|
|
139
|
+
"https://root-interface.se/protocols/SubverseInfo/instances" : {
|
|
140
|
+
"$id": "https://root-interface.se/protocols/SubverseInfo/instances",
|
|
141
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
142
|
+
"type" : "object",
|
|
143
|
+
"required" : [ "expanse", "subverse_info" ],
|
|
144
|
+
"properties" : {
|
|
145
|
+
"expanse" : {
|
|
146
|
+
"type" : "object",
|
|
147
|
+
"required" : ["instances"],
|
|
148
|
+
"properties" : {
|
|
149
|
+
"instances" : { "$ref": "definitions#/definitions/instances" },
|
|
150
|
+
"subverse" : {
|
|
151
|
+
"type" : "object",
|
|
152
|
+
"allOf": [{ "$ref": "definitions#/definitions/unique-id" }],
|
|
153
|
+
"unevaluatedProperties": false
|
|
154
|
+
},
|
|
155
|
+
"platforms" : { "$ref": "definitions#/definitions/platforms" },
|
|
156
|
+
"protocols": { "$ref": "definitions#/definitions/protocols" }
|
|
157
|
+
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"subverse_info": { "$ref": "definitions#/definitions/_v" }
|
|
161
|
+
}
|
|
135
162
|
}
|
|
136
163
|
}
|
|
137
164
|
}
|
package/src/ajv-gen-validate.cjs
CHANGED
|
@@ -12,8 +12,6 @@ const standaloneCode = require("ajv/dist/standalone").default
|
|
|
12
12
|
// var json_schema_SubverseInfo_expanse_= require('../schema/schema_SubverseInfo_expanse.json');
|
|
13
13
|
// var json_schema_expanse_instances_= require('../schema/schema_expanse_instances.json');
|
|
14
14
|
|
|
15
|
-
var json_schema_SubverseInfo_= require('../schema/schema_SubverseInfo.json');
|
|
16
|
-
|
|
17
15
|
// ajv draft07, draft/2019-09 requires id URIs
|
|
18
16
|
// For ESM, the export name needs to be a valid export name, it can not be `export const #/definitions/Foo = ...;` so we
|
|
19
17
|
// need to provide a mapping between a valid name and the $id field. Below will generate
|
|
@@ -33,6 +31,7 @@ const ajv = new Ajv2019({
|
|
|
33
31
|
}
|
|
34
32
|
});
|
|
35
33
|
|
|
34
|
+
var json_schema_SubverseInfo_= require('../schema/schema_SubverseInfo.json');
|
|
36
35
|
Object.values(json_schema_SubverseInfo_.schemas).forEach(schema => {
|
|
37
36
|
ajv.addSchema(schema);
|
|
38
37
|
});
|
|
@@ -40,8 +39,8 @@ Object.values(json_schema_SubverseInfo_.schemas).forEach(schema => {
|
|
|
40
39
|
let moduleCode = standaloneCode(ajv, {
|
|
41
40
|
"definitions_SubverseInfo": "https://root-interface.se/protocols/SubverseInfo/definitions",
|
|
42
41
|
"schema_SubverseInfo_query": "https://root-interface.se/protocols/SubverseInfo/query",
|
|
43
|
-
"
|
|
44
|
-
|
|
42
|
+
"schema_SubverseInfo_subverse": "https://root-interface.se/protocols/SubverseInfo/subverse",
|
|
43
|
+
"schema_SubverseInfo_instances": "https://root-interface.se/protocols/SubverseInfo/instances"
|
|
45
44
|
})
|
|
46
45
|
|
|
47
46
|
// Now you can write the module code to file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module '@knev/bitlogr';
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
|
|
2
|
+
import {
|
|
3
|
+
definitions_SubverseInfo as definitions_SubverseInfo_,
|
|
4
|
+
schema_SubverseInfo_query as schema_SubverseInfo_query_,
|
|
5
|
+
schema_SubverseInfo_subverse as schema_SubverseInfo_subverse_,
|
|
6
|
+
schema_SubverseInfo_instances as schema_SubverseInfo_instances_
|
|
7
|
+
} from './validate-esm.mjs';
|
|
8
|
+
|
|
9
|
+
import { LOGR, l_LL } from '@knev/bitlogr';
|
|
10
|
+
import { JSON_Msg, JSON_MsgEffect, logr as logr_ } from '@rootintf/json-msg';
|
|
11
|
+
|
|
12
|
+
const kstr_VERSION= "4";
|
|
13
|
+
// windows: $ certutil -hashfile schema/schema_Slogr_json_msg_.json Slogr_json_msg_ODO: needs to be a canonical text file: line endings, encoding, whitespace, sorting, redundant data, comments
|
|
14
|
+
const kstr_SubverseInfo_uri= "SubverseInfo:SHA256:f1fb09af477be5fbb7d014ff738fa62637680dacf0ca85ec76d2891518d6efaa";
|
|
15
|
+
|
|
16
|
+
// TODO: use RFC3339 "timestamp"? https://ajv.js.org/json-type-definition.html
|
|
17
|
+
|
|
18
|
+
//-------------------------------------------------------------------------------------------------
|
|
19
|
+
|
|
20
|
+
const LOGR_= LOGR.get_instance();
|
|
21
|
+
|
|
22
|
+
const obj_labels_shift_= l_LL(logr_.lref.get(), 2); // VALIDATION : 4
|
|
23
|
+
logr_.lref.set(obj_labels_shift_);
|
|
24
|
+
const l_= logr_.l;
|
|
25
|
+
|
|
26
|
+
//-------------------------------------------------------------------------------------------------
|
|
27
|
+
|
|
28
|
+
// const regex_IOI= new RegExp('\\bquery\\s*\\{\\s*IOI\\s*\\(\\s*pkg\\s*:\\s*"([^"]*)"\\s*\\)\\s*\\{.*heartbeat\\s*\\}\\s*\\}');
|
|
29
|
+
|
|
30
|
+
var JSON_MsgSubverseInfo_query = (function() {
|
|
31
|
+
return {
|
|
32
|
+
merge : function(json) {
|
|
33
|
+
let json_msg= JSON_Msg.merge(json);
|
|
34
|
+
json_msg["subverse_info"]= kstr_VERSION;
|
|
35
|
+
|
|
36
|
+
return json_msg;
|
|
37
|
+
},
|
|
38
|
+
validate : function(json, _pkg= {}) {
|
|
39
|
+
// if (! JSON_Msg.validate(json))
|
|
40
|
+
// return false;
|
|
41
|
+
|
|
42
|
+
if (! schema_SubverseInfo_query_(json)) {
|
|
43
|
+
logr_.log(l_.VALIDATION, () => ['schema_SubverseInfo_query_: validate: ', (schema_SubverseInfo_query_ as any).errors])
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// const str_graphql = json["discovery"]["graphql"];
|
|
48
|
+
|
|
49
|
+
// const regex_match= str_graphql.match(regex_IOI);
|
|
50
|
+
// if (regex_match === null || regex_match.length !== 2)
|
|
51
|
+
// return false;
|
|
52
|
+
|
|
53
|
+
// if (pkg !== regex_match[1])
|
|
54
|
+
// return false;
|
|
55
|
+
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
})();
|
|
60
|
+
|
|
61
|
+
var JSON_MsgSubverseInfo_subverse = (function() {
|
|
62
|
+
return {
|
|
63
|
+
create_with_cause_merge : function(msg_cause, json) {
|
|
64
|
+
let json_msgeffect= JSON_MsgEffect.create_with_cause_merge(msg_cause, json);
|
|
65
|
+
json_msgeffect["subverse_info"]= kstr_VERSION;
|
|
66
|
+
|
|
67
|
+
return json_msgeffect;
|
|
68
|
+
},
|
|
69
|
+
validate : function(json_msg) {
|
|
70
|
+
// if (! JSON_Msg_msg.validate(json))
|
|
71
|
+
// return false;
|
|
72
|
+
|
|
73
|
+
if (json_msg._cause)
|
|
74
|
+
if (! JSON_MsgSubverseInfo_query.validate(json_msg._cause))
|
|
75
|
+
return false;
|
|
76
|
+
|
|
77
|
+
if (! schema_SubverseInfo_subverse_(json_msg)) {
|
|
78
|
+
logr_.log(l_.VALIDATION, () => ['JSON_SubverseInfo_expanse: validate: ', (schema_SubverseInfo_subverse_ as any).errors])
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
})();
|
|
85
|
+
|
|
86
|
+
var JSON_MsgSubverseInfo_instances = (function() {
|
|
87
|
+
return {
|
|
88
|
+
create_with_cause_merge : function(msg_cause, json) {
|
|
89
|
+
let json_msgeffect= JSON_MsgEffect.create_with_cause_merge(msg_cause, json);
|
|
90
|
+
json_msgeffect["subverse_info"]= kstr_VERSION;
|
|
91
|
+
|
|
92
|
+
return json_msgeffect;
|
|
93
|
+
},
|
|
94
|
+
validate : function(json_msg) {
|
|
95
|
+
// if (! JSON_Msg_msg.validate(json))
|
|
96
|
+
// return false;
|
|
97
|
+
|
|
98
|
+
if (json_msg._cause)
|
|
99
|
+
if (! JSON_MsgSubverseInfo_query.validate(json_msg._cause))
|
|
100
|
+
return false;
|
|
101
|
+
|
|
102
|
+
if (! schema_SubverseInfo_instances_(json_msg)) {
|
|
103
|
+
logr_.log(l_.VALIDATION, () => ['JSON_SubverseInfo_instances: validate: ', (schema_SubverseInfo_instances_ as any).errors])
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
})();
|
|
110
|
+
|
|
111
|
+
//-------------------------------------------------------------------------------------------------
|
|
112
|
+
|
|
113
|
+
export {
|
|
114
|
+
JSON_MsgSubverseInfo_query,
|
|
115
|
+
JSON_MsgSubverseInfo_subverse,
|
|
116
|
+
JSON_MsgSubverseInfo_instances,
|
|
117
|
+
logr_ as logr
|
|
118
|
+
}
|
package/src/validate-esm.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";export const definitions_SubverseInfo = validate18;const schema21 = {"$id":"https://root-interface.se/protocols/SubverseInfo/definitions","$schema":"https://json-schema.org/draft/2019-09/schema","definitions":{"_v":{"const":"2"},"unique-id":{"type":"object","required":["uri","name"],"properties":{"uri":{"type":"string"},"name":{"type":"string"}}},"info":{"type":"object"},"hyperport":{"type":"object","required":["uri","port"],"properties":{"uri":{"type":"string"}}},"verse-header":{"type":"object","allOf":[{"$ref":"definitions#/definitions/unique-id"}],"required":[],"properties":{"favicon":{"type":"string"},"hyperport":{"$ref":"definitions#/definitions/hyperport"},"info":{"$ref":"definitions#/definitions/info"}}},"instances":{"type":"array","items":{"type":"object","allOf":[{"$ref":"definitions#/definitions/verse-header"}],"properties":{},"unevaluatedProperties":false}},"platforms":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"archs":{"type":"array","items":{"type":"string"}},"agents":{"type":"array","items":{"type":"string"}}}}},"protocols":{"type":"array","items":{"type":"object","required":["id","attr"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"},"attr":{"type":"string"},"url":{"type":"string"}}}}}};function validate18(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/protocols/SubverseInfo/definitions" */;validate18.errors = null;return true;}validate18.evaluated = {"dynamicProps":false,"dynamicItems":false};export const schema_SubverseInfo_query = validate19;const schema22 = {"$id":"https://root-interface.se/protocols/SubverseInfo/query","$schema":"https://json-schema.org/draft/2019-09/schema","type":"object","required":["query","subverse_info"],"properties":{"query":{"type":"object","required":["name","graphql","ttl_msec"],"properties":{"name":{"type":"string"},"graphql":{"type":"string"},"ttl_msec":{"type":"integer"},"unevaluatedProperties":false}},"subverse_info":{"$ref":"definitions#/definitions/_v"}}};const schema23 = {"const":"2"};function validate19(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/protocols/SubverseInfo/query" */;let vErrors = null;let errors = 0;const evaluated0 = validate19.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.query === undefined) && (missing0 = "query")) || ((data.subverse_info === undefined) && (missing0 = "subverse_info"))){validate19.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.query !== undefined){let data0 = data.query;const _errs1 = errors;if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing1;if((((data0.name === undefined) && (missing1 = "name")) || ((data0.graphql === undefined) && (missing1 = "graphql"))) || ((data0.ttl_msec === undefined) && (missing1 = "ttl_msec"))){validate19.errors = [{instancePath:instancePath+"/query",schemaPath:"#/properties/query/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data0.name !== undefined){const _errs3 = errors;if(typeof data0.name !== "string"){validate19.errors = [{instancePath:instancePath+"/query/name",schemaPath:"#/properties/query/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid1 = _errs3 === errors;}else {var valid1 = true;}if(valid1){if(data0.graphql !== undefined){const _errs5 = errors;if(typeof data0.graphql !== "string"){validate19.errors = [{instancePath:instancePath+"/query/graphql",schemaPath:"#/properties/query/properties/graphql/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid1 = _errs5 === errors;}else {var valid1 = true;}if(valid1){if(data0.ttl_msec !== undefined){let data3 = data0.ttl_msec;const _errs7 = errors;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){validate19.errors = [{instancePath:instancePath+"/query/ttl_msec",schemaPath:"#/properties/query/properties/ttl_msec/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}var valid1 = _errs7 === errors;}else {var valid1 = true;}if(valid1){if(data0.unevaluatedProperties !== undefined){var valid1 = false;validate19.errors = [{instancePath:instancePath+"/query/unevaluatedProperties",schemaPath:"#/properties/query/properties/unevaluatedProperties/false schema",keyword:"false schema",params:{},message:"boolean schema is false"}];return false;}else {var valid1 = true;}}}}}}else {validate19.errors = [{instancePath:instancePath+"/query",schemaPath:"#/properties/query/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.subverse_info !== undefined){const _errs9 = errors;if("2" !== data.subverse_info){validate19.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions#/definitions/_v/const",keyword:"const",params:{allowedValue: "2"},message:"must be equal to constant"}];return false;}var valid0 = _errs9 === errors;}else {var valid0 = true;}}}}else {validate19.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate19.errors = vErrors;return errors === 0;}validate19.evaluated = {"props":{"query":true,"subverse_info":true},"dynamicProps":false,"dynamicItems":false};export const schema_SubverseInfo_expanse = validate20;const schema24 = {"$id":"https://root-interface.se/protocols/SubverseInfo/expanse","$schema":"https://json-schema.org/draft/2019-09/schema","type":"object","required":["expanse","subverse_info"],"properties":{"expanse":{"type":"object","required":["subverse","protocols"],"properties":{"subverse":{"type":"object","allOf":[{"$ref":"definitions#/definitions/verse-header"}],"required":[],"properties":{"map-uri":{"type":"string"},"instances":{"$ref":"definitions#/definitions/instances"}},"unevaluatedProperties":false},"platforms":{"$ref":"definitions#/definitions/platforms"},"protocols":{"$ref":"definitions#/definitions/protocols"}}},"subverse_info":{"$ref":"definitions#/definitions/_v"}}};const schema34 = {"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"archs":{"type":"array","items":{"type":"string"}},"agents":{"type":"array","items":{"type":"string"}}}}};const schema35 = {"type":"array","items":{"type":"object","required":["id","attr"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"},"attr":{"type":"string"},"url":{"type":"string"}}}};const schema25 = {"type":"object","allOf":[{"$ref":"definitions#/definitions/unique-id"}],"required":[],"properties":{"favicon":{"type":"string"},"hyperport":{"$ref":"definitions#/definitions/hyperport"},"info":{"$ref":"definitions#/definitions/info"}}};const schema26 = {"type":"object","required":["uri","name"],"properties":{"uri":{"type":"string"},"name":{"type":"string"}}};const schema27 = {"type":"object","required":["uri","port"],"properties":{"uri":{"type":"string"}}};const schema28 = {"type":"object"};function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate21.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs2 = errors;if(errors === _errs2){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.uri === undefined) && (missing0 = "uri")) || ((data.name === undefined) && (missing0 = "name"))){validate21.errors = [{instancePath,schemaPath:"definitions#/definitions/unique-id/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.uri !== undefined){const _errs4 = errors;if(typeof data.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/uri",schemaPath:"definitions#/definitions/unique-id/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs4 === errors;}else {var valid2 = true;}if(valid2){if(data.name !== undefined){const _errs6 = errors;if(typeof data.name !== "string"){validate21.errors = [{instancePath:instancePath+"/name",schemaPath:"definitions#/definitions/unique-id/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs6 === errors;}else {var valid2 = true;}}}}else {validate21.errors = [{instancePath,schemaPath:"definitions#/definitions/unique-id/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){if(data.favicon !== undefined){const _errs8 = errors;if(typeof data.favicon !== "string"){validate21.errors = [{instancePath:instancePath+"/favicon",schemaPath:"#/properties/favicon/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){if(data.hyperport !== undefined){let data3 = data.hyperport;const _errs10 = errors;const _errs11 = errors;if(errors === _errs11){if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing1;if(((data3.uri === undefined) && (missing1 = "uri")) || ((data3.port === undefined) && (missing1 = "port"))){validate21.errors = [{instancePath:instancePath+"/hyperport",schemaPath:"definitions#/definitions/hyperport/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data3.uri !== undefined){if(typeof data3.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/hyperport/uri",schemaPath:"definitions#/definitions/hyperport/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}}}else {validate21.errors = [{instancePath:instancePath+"/hyperport",schemaPath:"definitions#/definitions/hyperport/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid3 = _errs10 === errors;}else {var valid3 = true;}if(valid3){if(data.info !== undefined){let data5 = data.info;const _errs15 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){validate21.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid3 = _errs15 === errors;}else {var valid3 = true;}}}}else {validate21.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate21.errors = vErrors;return errors === 0;}validate21.evaluated = {"props":{"favicon":true,"hyperport":true,"info":true,"uri":true,"name":true},"dynamicProps":false,"dynamicItems":false};const schema29 = {"type":"array","items":{"type":"object","allOf":[{"$ref":"definitions#/definitions/verse-header"}],"properties":{},"unevaluatedProperties":false}};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs2 = errors;if(errors === _errs2){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.uri === undefined) && (missing0 = "uri")) || ((data.name === undefined) && (missing0 = "name"))){validate24.errors = [{instancePath,schemaPath:"definitions#/definitions/unique-id/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.uri !== undefined){const _errs4 = errors;if(typeof data.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/uri",schemaPath:"definitions#/definitions/unique-id/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs4 === errors;}else {var valid2 = true;}if(valid2){if(data.name !== undefined){const _errs6 = errors;if(typeof data.name !== "string"){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"definitions#/definitions/unique-id/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs6 === errors;}else {var valid2 = true;}}}}else {validate24.errors = [{instancePath,schemaPath:"definitions#/definitions/unique-id/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){if(data.favicon !== undefined){const _errs8 = errors;if(typeof data.favicon !== "string"){validate24.errors = [{instancePath:instancePath+"/favicon",schemaPath:"#/properties/favicon/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){if(data.hyperport !== undefined){let data3 = data.hyperport;const _errs10 = errors;const _errs11 = errors;if(errors === _errs11){if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing1;if(((data3.uri === undefined) && (missing1 = "uri")) || ((data3.port === undefined) && (missing1 = "port"))){validate24.errors = [{instancePath:instancePath+"/hyperport",schemaPath:"definitions#/definitions/hyperport/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data3.uri !== undefined){if(typeof data3.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/hyperport/uri",schemaPath:"definitions#/definitions/hyperport/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}}}else {validate24.errors = [{instancePath:instancePath+"/hyperport",schemaPath:"definitions#/definitions/hyperport/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid3 = _errs10 === errors;}else {var valid3 = true;}if(valid3){if(data.info !== undefined){let data5 = data.info;const _errs15 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){validate24.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid3 = _errs15 === errors;}else {var valid3 = true;}}}}else {validate24.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":{"favicon":true,"hyperport":true,"info":true,"uri":true,"name":true},"dynamicProps":false,"dynamicItems":false};function validate23(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate23.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(Array.isArray(data)){var valid0 = true;const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs1 = errors;if(!(validate24(data0, {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){for(const key0 in data0){if(((((key0 !== "favicon") && (key0 !== "hyperport")) && (key0 !== "info")) && (key0 !== "uri")) && (key0 !== "name")){validate23.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/items/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"}];return false;break;}}}else {validate23.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;if(!valid0){break;}}}else {validate23.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}validate23.errors = vErrors;return errors === 0;}validate23.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/protocols/SubverseInfo/expanse" */;let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.expanse === undefined) && (missing0 = "expanse")) || ((data.subverse_info === undefined) && (missing0 = "subverse_info"))){validate20.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.expanse !== undefined){let data0 = data.expanse;const _errs1 = errors;if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing1;if(((data0.subverse === undefined) && (missing1 = "subverse")) || ((data0.protocols === undefined) && (missing1 = "protocols"))){validate20.errors = [{instancePath:instancePath+"/expanse",schemaPath:"#/properties/expanse/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data0.subverse !== undefined){let data1 = data0.subverse;const _errs3 = errors;if(!(validate21(data1, {instancePath:instancePath+"/expanse/subverse",parentData:data0,parentDataProperty:"subverse",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);errors = vErrors.length;}if(errors === _errs3){if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["map-uri"] !== undefined){const _errs6 = errors;if(typeof data1["map-uri"] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/map-uri",schemaPath:"#/properties/expanse/properties/subverse/properties/map-uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs6 === errors;}else {var valid3 = true;}if(valid3){if(data1.instances !== undefined){const _errs8 = errors;if(!(validate23(data1.instances, {instancePath:instancePath+"/expanse/subverse/instances",parentData:data1,parentDataProperty:"instances",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);errors = vErrors.length;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){for(const key0 in data1){if(((((((key0 !== "map-uri") && (key0 !== "instances")) && (key0 !== "favicon")) && (key0 !== "hyperport")) && (key0 !== "info")) && (key0 !== "uri")) && (key0 !== "name")){validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"}];return false;break;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid1 = _errs3 === errors;}else {var valid1 = true;}if(valid1){if(data0.platforms !== undefined){let data4 = data0.platforms;const _errs10 = errors;const _errs11 = errors;if(errors === _errs11){if(Array.isArray(data4)){var valid5 = true;const len0 = data4.length;for(let i0=0; i0<len0; i0++){let data5 = data4[i0];const _errs13 = errors;if(errors === _errs13){if(data5 && typeof data5 == "object" && !Array.isArray(data5)){let missing2;if((data5.id === undefined) && (missing2 = "id")){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data5.id !== undefined){const _errs15 = errors;if(typeof data5.id !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/id",schemaPath:"definitions#/definitions/platforms/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs15 === errors;}else {var valid6 = true;}if(valid6){if(data5.archs !== undefined){let data7 = data5.archs;const _errs17 = errors;if(errors === _errs17){if(Array.isArray(data7)){var valid7 = true;const len1 = data7.length;for(let i1=0; i1<len1; i1++){const _errs19 = errors;if(typeof data7[i1] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs19 === errors;if(!valid7){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs17 === errors;}else {var valid6 = true;}if(valid6){if(data5.agents !== undefined){let data9 = data5.agents;const _errs21 = errors;if(errors === _errs21){if(Array.isArray(data9)){var valid8 = true;const len2 = data9.length;for(let i2=0; i2<len2; i2++){const _errs23 = errors;if(typeof data9[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs23 === errors;if(!valid8){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs21 === errors;}else {var valid6 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid5 = _errs13 === errors;if(!valid5){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs10 === errors;}else {var valid1 = true;}if(valid1){if(data0.protocols !== undefined){let data11 = data0.protocols;const _errs25 = errors;const _errs26 = errors;if(errors === _errs26){if(Array.isArray(data11)){var valid10 = true;const len3 = data11.length;for(let i3=0; i3<len3; i3++){let data12 = data11[i3];const _errs28 = errors;if(errors === _errs28){if(data12 && typeof data12 == "object" && !Array.isArray(data12)){let missing3;if(((data12.id === undefined) && (missing3 = "id")) || ((data12.attr === undefined) && (missing3 = "attr"))){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data12.id !== undefined){const _errs30 = errors;if(typeof data12.id !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/id",schemaPath:"definitions#/definitions/protocols/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs30 === errors;}else {var valid11 = true;}if(valid11){if(data12.name !== undefined){const _errs32 = errors;if(typeof data12.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs32 === errors;}else {var valid11 = true;}if(valid11){if(data12.version !== undefined){const _errs34 = errors;if(typeof data12.version !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/version",schemaPath:"definitions#/definitions/protocols/items/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs34 === errors;}else {var valid11 = true;}if(valid11){if(data12.attr !== undefined){const _errs36 = errors;if(typeof data12.attr !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs36 === errors;}else {var valid11 = true;}if(valid11){if(data12.url !== undefined){const _errs38 = errors;if(typeof data12.url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs38 === errors;}else {var valid11 = true;}}}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid10 = _errs28 === errors;if(!valid10){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs25 === errors;}else {var valid1 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse",schemaPath:"#/properties/expanse/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.subverse_info !== undefined){const _errs40 = errors;if("2" !== data.subverse_info){validate20.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions#/definitions/_v/const",keyword:"const",params:{allowedValue: "2"},message:"must be equal to constant"}];return false;}var valid0 = _errs40 === errors;}else {var valid0 = true;}}}}else {validate20.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":{"expanse":true,"subverse_info":true},"dynamicProps":false,"dynamicItems":false};
|
|
1
|
+
"use strict";export const definitions_SubverseInfo = validate18;const schema21 = {"$id":"https://root-interface.se/protocols/SubverseInfo/definitions","$schema":"https://json-schema.org/draft/2019-09/schema","definitions":{"_v":{"const":"4"},"unique-id":{"type":"object","required":["uri","name"],"properties":{"uri":{"type":"string"},"name":{"type":"string"}}},"info":{"type":"object"},"hyperport":{"type":"object","required":["uri","port"],"properties":{"uri":{"type":"string"}}},"verse-header":{"type":"object","allOf":[{"$ref":"definitions#/definitions/unique-id"}],"required":[],"properties":{"favicon":{"type":"string"},"hyperport":{"$ref":"definitions#/definitions/hyperport"},"info":{"$ref":"definitions#/definitions/info"}}},"instances":{"type":"array","items":{"type":"object","allOf":[{"$ref":"definitions#/definitions/verse-header"}],"properties":{},"unevaluatedProperties":false}},"platforms":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"archs":{"type":"array","items":{"type":"string"}},"agents":{"type":"array","items":{"type":"string"}}}}},"protocols":{"type":"array","items":{"type":"object","required":["id","attr"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"},"attr":{"type":"string"},"url":{"type":"string"}}}}}};function validate18(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/protocols/SubverseInfo/definitions" */;validate18.errors = null;return true;}validate18.evaluated = {"dynamicProps":false,"dynamicItems":false};export const schema_SubverseInfo_query = validate19;const schema22 = {"$id":"https://root-interface.se/protocols/SubverseInfo/query","$schema":"https://json-schema.org/draft/2019-09/schema","type":"object","required":["query","subverse_info"],"properties":{"query":{"type":"object","required":["name","graphql","ttl_msec"],"properties":{"name":{"type":"string"},"graphql":{"type":"string"},"ttl_msec":{"type":"integer"},"unevaluatedProperties":false}},"subverse_info":{"$ref":"definitions#/definitions/_v"}}};const schema23 = {"const":"4"};function validate19(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/protocols/SubverseInfo/query" */;let vErrors = null;let errors = 0;const evaluated0 = validate19.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.query === undefined) && (missing0 = "query")) || ((data.subverse_info === undefined) && (missing0 = "subverse_info"))){validate19.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.query !== undefined){let data0 = data.query;const _errs1 = errors;if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing1;if((((data0.name === undefined) && (missing1 = "name")) || ((data0.graphql === undefined) && (missing1 = "graphql"))) || ((data0.ttl_msec === undefined) && (missing1 = "ttl_msec"))){validate19.errors = [{instancePath:instancePath+"/query",schemaPath:"#/properties/query/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data0.name !== undefined){const _errs3 = errors;if(typeof data0.name !== "string"){validate19.errors = [{instancePath:instancePath+"/query/name",schemaPath:"#/properties/query/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid1 = _errs3 === errors;}else {var valid1 = true;}if(valid1){if(data0.graphql !== undefined){const _errs5 = errors;if(typeof data0.graphql !== "string"){validate19.errors = [{instancePath:instancePath+"/query/graphql",schemaPath:"#/properties/query/properties/graphql/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid1 = _errs5 === errors;}else {var valid1 = true;}if(valid1){if(data0.ttl_msec !== undefined){let data3 = data0.ttl_msec;const _errs7 = errors;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){validate19.errors = [{instancePath:instancePath+"/query/ttl_msec",schemaPath:"#/properties/query/properties/ttl_msec/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}var valid1 = _errs7 === errors;}else {var valid1 = true;}if(valid1){if(data0.unevaluatedProperties !== undefined){var valid1 = false;validate19.errors = [{instancePath:instancePath+"/query/unevaluatedProperties",schemaPath:"#/properties/query/properties/unevaluatedProperties/false schema",keyword:"false schema",params:{},message:"boolean schema is false"}];return false;}else {var valid1 = true;}}}}}}else {validate19.errors = [{instancePath:instancePath+"/query",schemaPath:"#/properties/query/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.subverse_info !== undefined){const _errs9 = errors;if("4" !== data.subverse_info){validate19.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions#/definitions/_v/const",keyword:"const",params:{allowedValue: "4"},message:"must be equal to constant"}];return false;}var valid0 = _errs9 === errors;}else {var valid0 = true;}}}}else {validate19.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate19.errors = vErrors;return errors === 0;}validate19.evaluated = {"props":{"query":true,"subverse_info":true},"dynamicProps":false,"dynamicItems":false};export const schema_SubverseInfo_subverse = validate20;const schema24 = {"$id":"https://root-interface.se/protocols/SubverseInfo/subverse","$schema":"https://json-schema.org/draft/2019-09/schema","type":"object","required":["expanse","subverse_info"],"properties":{"expanse":{"type":"object","required":["subverse","protocols"],"not":{"required":["instances"]},"properties":{"subverse":{"type":"object","allOf":[{"$ref":"definitions#/definitions/verse-header"}],"required":[],"properties":{"map-uri":{"type":"string"},"instances":{"$ref":"definitions#/definitions/instances"}},"unevaluatedProperties":false},"platforms":{"$ref":"definitions#/definitions/platforms"},"protocols":{"$ref":"definitions#/definitions/protocols"}}},"subverse_info":{"$ref":"definitions#/definitions/_v"}}};const schema34 = {"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"archs":{"type":"array","items":{"type":"string"}},"agents":{"type":"array","items":{"type":"string"}}}}};const schema35 = {"type":"array","items":{"type":"object","required":["id","attr"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"},"attr":{"type":"string"},"url":{"type":"string"}}}};const schema25 = {"type":"object","allOf":[{"$ref":"definitions#/definitions/unique-id"}],"required":[],"properties":{"favicon":{"type":"string"},"hyperport":{"$ref":"definitions#/definitions/hyperport"},"info":{"$ref":"definitions#/definitions/info"}}};const schema26 = {"type":"object","required":["uri","name"],"properties":{"uri":{"type":"string"},"name":{"type":"string"}}};const schema27 = {"type":"object","required":["uri","port"],"properties":{"uri":{"type":"string"}}};const schema28 = {"type":"object"};function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate21.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs2 = errors;if(errors === _errs2){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.uri === undefined) && (missing0 = "uri")) || ((data.name === undefined) && (missing0 = "name"))){validate21.errors = [{instancePath,schemaPath:"definitions#/definitions/unique-id/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.uri !== undefined){const _errs4 = errors;if(typeof data.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/uri",schemaPath:"definitions#/definitions/unique-id/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs4 === errors;}else {var valid2 = true;}if(valid2){if(data.name !== undefined){const _errs6 = errors;if(typeof data.name !== "string"){validate21.errors = [{instancePath:instancePath+"/name",schemaPath:"definitions#/definitions/unique-id/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs6 === errors;}else {var valid2 = true;}}}}else {validate21.errors = [{instancePath,schemaPath:"definitions#/definitions/unique-id/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){if(data.favicon !== undefined){const _errs8 = errors;if(typeof data.favicon !== "string"){validate21.errors = [{instancePath:instancePath+"/favicon",schemaPath:"#/properties/favicon/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){if(data.hyperport !== undefined){let data3 = data.hyperport;const _errs10 = errors;const _errs11 = errors;if(errors === _errs11){if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing1;if(((data3.uri === undefined) && (missing1 = "uri")) || ((data3.port === undefined) && (missing1 = "port"))){validate21.errors = [{instancePath:instancePath+"/hyperport",schemaPath:"definitions#/definitions/hyperport/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data3.uri !== undefined){if(typeof data3.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/hyperport/uri",schemaPath:"definitions#/definitions/hyperport/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}}}else {validate21.errors = [{instancePath:instancePath+"/hyperport",schemaPath:"definitions#/definitions/hyperport/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid3 = _errs10 === errors;}else {var valid3 = true;}if(valid3){if(data.info !== undefined){let data5 = data.info;const _errs15 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){validate21.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid3 = _errs15 === errors;}else {var valid3 = true;}}}}else {validate21.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate21.errors = vErrors;return errors === 0;}validate21.evaluated = {"props":{"favicon":true,"hyperport":true,"info":true,"uri":true,"name":true},"dynamicProps":false,"dynamicItems":false};const schema29 = {"type":"array","items":{"type":"object","allOf":[{"$ref":"definitions#/definitions/verse-header"}],"properties":{},"unevaluatedProperties":false}};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs2 = errors;if(errors === _errs2){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.uri === undefined) && (missing0 = "uri")) || ((data.name === undefined) && (missing0 = "name"))){validate24.errors = [{instancePath,schemaPath:"definitions#/definitions/unique-id/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.uri !== undefined){const _errs4 = errors;if(typeof data.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/uri",schemaPath:"definitions#/definitions/unique-id/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs4 === errors;}else {var valid2 = true;}if(valid2){if(data.name !== undefined){const _errs6 = errors;if(typeof data.name !== "string"){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"definitions#/definitions/unique-id/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs6 === errors;}else {var valid2 = true;}}}}else {validate24.errors = [{instancePath,schemaPath:"definitions#/definitions/unique-id/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){if(data.favicon !== undefined){const _errs8 = errors;if(typeof data.favicon !== "string"){validate24.errors = [{instancePath:instancePath+"/favicon",schemaPath:"#/properties/favicon/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){if(data.hyperport !== undefined){let data3 = data.hyperport;const _errs10 = errors;const _errs11 = errors;if(errors === _errs11){if(data3 && typeof data3 == "object" && !Array.isArray(data3)){let missing1;if(((data3.uri === undefined) && (missing1 = "uri")) || ((data3.port === undefined) && (missing1 = "port"))){validate24.errors = [{instancePath:instancePath+"/hyperport",schemaPath:"definitions#/definitions/hyperport/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data3.uri !== undefined){if(typeof data3.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/hyperport/uri",schemaPath:"definitions#/definitions/hyperport/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}}}else {validate24.errors = [{instancePath:instancePath+"/hyperport",schemaPath:"definitions#/definitions/hyperport/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid3 = _errs10 === errors;}else {var valid3 = true;}if(valid3){if(data.info !== undefined){let data5 = data.info;const _errs15 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){validate24.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid3 = _errs15 === errors;}else {var valid3 = true;}}}}else {validate24.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":{"favicon":true,"hyperport":true,"info":true,"uri":true,"name":true},"dynamicProps":false,"dynamicItems":false};function validate23(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate23.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(Array.isArray(data)){var valid0 = true;const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs1 = errors;if(!(validate24(data0, {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){for(const key0 in data0){if(((((key0 !== "favicon") && (key0 !== "hyperport")) && (key0 !== "info")) && (key0 !== "uri")) && (key0 !== "name")){validate23.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/items/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"}];return false;break;}}}else {validate23.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;if(!valid0){break;}}}else {validate23.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}validate23.errors = vErrors;return errors === 0;}validate23.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/protocols/SubverseInfo/subverse" */;let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.expanse === undefined) && (missing0 = "expanse")) || ((data.subverse_info === undefined) && (missing0 = "subverse_info"))){validate20.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.expanse !== undefined){let data0 = data.expanse;const _errs1 = errors;const _errs3 = errors;const _errs4 = errors;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing1;if((data0.instances === undefined) && (missing1 = "instances")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}}var valid1 = _errs4 === errors;if(valid1){validate20.errors = [{instancePath:instancePath+"/expanse",schemaPath:"#/properties/expanse/not",keyword:"not",params:{},message:"must NOT be valid"}];return false;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing2;if(((data0.subverse === undefined) && (missing2 = "subverse")) || ((data0.protocols === undefined) && (missing2 = "protocols"))){validate20.errors = [{instancePath:instancePath+"/expanse",schemaPath:"#/properties/expanse/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data0.subverse !== undefined){let data1 = data0.subverse;const _errs5 = errors;if(!(validate21(data1, {instancePath:instancePath+"/expanse/subverse",parentData:data0,parentDataProperty:"subverse",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);errors = vErrors.length;}if(errors === _errs5){if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["map-uri"] !== undefined){const _errs8 = errors;if(typeof data1["map-uri"] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/map-uri",schemaPath:"#/properties/expanse/properties/subverse/properties/map-uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid4 = _errs8 === errors;}else {var valid4 = true;}if(valid4){if(data1.instances !== undefined){const _errs10 = errors;if(!(validate23(data1.instances, {instancePath:instancePath+"/expanse/subverse/instances",parentData:data1,parentDataProperty:"instances",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);errors = vErrors.length;}var valid4 = _errs10 === errors;}else {var valid4 = true;}if(valid4){for(const key0 in data1){if(((((((key0 !== "map-uri") && (key0 !== "instances")) && (key0 !== "favicon")) && (key0 !== "hyperport")) && (key0 !== "info")) && (key0 !== "uri")) && (key0 !== "name")){validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"}];return false;break;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid2 = _errs5 === errors;}else {var valid2 = true;}if(valid2){if(data0.platforms !== undefined){let data4 = data0.platforms;const _errs12 = errors;const _errs13 = errors;if(errors === _errs13){if(Array.isArray(data4)){var valid6 = true;const len0 = data4.length;for(let i0=0; i0<len0; i0++){let data5 = data4[i0];const _errs15 = errors;if(errors === _errs15){if(data5 && typeof data5 == "object" && !Array.isArray(data5)){let missing3;if((data5.id === undefined) && (missing3 = "id")){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data5.id !== undefined){const _errs17 = errors;if(typeof data5.id !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/id",schemaPath:"definitions#/definitions/platforms/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs17 === errors;}else {var valid7 = true;}if(valid7){if(data5.archs !== undefined){let data7 = data5.archs;const _errs19 = errors;if(errors === _errs19){if(Array.isArray(data7)){var valid8 = true;const len1 = data7.length;for(let i1=0; i1<len1; i1++){const _errs21 = errors;if(typeof data7[i1] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs21 === errors;if(!valid8){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid7 = _errs19 === errors;}else {var valid7 = true;}if(valid7){if(data5.agents !== undefined){let data9 = data5.agents;const _errs23 = errors;if(errors === _errs23){if(Array.isArray(data9)){var valid9 = true;const len2 = data9.length;for(let i2=0; i2<len2; i2++){const _errs25 = errors;if(typeof data9[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid9 = _errs25 === errors;if(!valid9){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid7 = _errs23 === errors;}else {var valid7 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid6 = _errs15 === errors;if(!valid6){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid2 = _errs12 === errors;}else {var valid2 = true;}if(valid2){if(data0.protocols !== undefined){let data11 = data0.protocols;const _errs27 = errors;const _errs28 = errors;if(errors === _errs28){if(Array.isArray(data11)){var valid11 = true;const len3 = data11.length;for(let i3=0; i3<len3; i3++){let data12 = data11[i3];const _errs30 = errors;if(errors === _errs30){if(data12 && typeof data12 == "object" && !Array.isArray(data12)){let missing4;if(((data12.id === undefined) && (missing4 = "id")) || ((data12.attr === undefined) && (missing4 = "attr"))){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {if(data12.id !== undefined){const _errs32 = errors;if(typeof data12.id !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/id",schemaPath:"definitions#/definitions/protocols/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs32 === errors;}else {var valid12 = true;}if(valid12){if(data12.name !== undefined){const _errs34 = errors;if(typeof data12.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs34 === errors;}else {var valid12 = true;}if(valid12){if(data12.version !== undefined){const _errs36 = errors;if(typeof data12.version !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/version",schemaPath:"definitions#/definitions/protocols/items/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs36 === errors;}else {var valid12 = true;}if(valid12){if(data12.attr !== undefined){const _errs38 = errors;if(typeof data12.attr !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs38 === errors;}else {var valid12 = true;}if(valid12){if(data12.url !== undefined){const _errs40 = errors;if(typeof data12.url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs40 === errors;}else {var valid12 = true;}}}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid11 = _errs30 === errors;if(!valid11){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid2 = _errs27 === errors;}else {var valid2 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse",schemaPath:"#/properties/expanse/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.subverse_info !== undefined){const _errs42 = errors;if("4" !== data.subverse_info){validate20.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions#/definitions/_v/const",keyword:"const",params:{allowedValue: "4"},message:"must be equal to constant"}];return false;}var valid0 = _errs42 === errors;}else {var valid0 = true;}}}}else {validate20.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":{"expanse":true,"subverse_info":true},"dynamicProps":false,"dynamicItems":false};export const schema_SubverseInfo_instances = validate27;const schema37 = {"$id":"https://root-interface.se/protocols/SubverseInfo/instances","$schema":"https://json-schema.org/draft/2019-09/schema","type":"object","required":["expanse","subverse_info"],"properties":{"expanse":{"type":"object","required":["instances"],"properties":{"instances":{"$ref":"definitions#/definitions/instances"},"subverse":{"type":"object","allOf":[{"$ref":"definitions#/definitions/unique-id"}],"unevaluatedProperties":false},"platforms":{"$ref":"definitions#/definitions/platforms"},"protocols":{"$ref":"definitions#/definitions/protocols"}}},"subverse_info":{"$ref":"definitions#/definitions/_v"}}};function validate28(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate28.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(Array.isArray(data)){var valid0 = true;const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs1 = errors;if(!(validate24(data0, {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){for(const key0 in data0){if(((((key0 !== "favicon") && (key0 !== "hyperport")) && (key0 !== "info")) && (key0 !== "uri")) && (key0 !== "name")){validate28.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/items/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"}];return false;break;}}}else {validate28.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;if(!valid0){break;}}}else {validate28.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}validate28.errors = vErrors;return errors === 0;}validate28.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};function validate27(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/protocols/SubverseInfo/instances" */;let vErrors = null;let errors = 0;const evaluated0 = validate27.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.expanse === undefined) && (missing0 = "expanse")) || ((data.subverse_info === undefined) && (missing0 = "subverse_info"))){validate27.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.expanse !== undefined){let data0 = data.expanse;const _errs1 = errors;if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing1;if((data0.instances === undefined) && (missing1 = "instances")){validate27.errors = [{instancePath:instancePath+"/expanse",schemaPath:"#/properties/expanse/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data0.instances !== undefined){const _errs3 = errors;if(!(validate28(data0.instances, {instancePath:instancePath+"/expanse/instances",parentData:data0,parentDataProperty:"instances",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);errors = vErrors.length;}var valid1 = _errs3 === errors;}else {var valid1 = true;}if(valid1){if(data0.subverse !== undefined){let data2 = data0.subverse;const _errs4 = errors;const _errs7 = errors;if(errors === _errs7){if(data2 && typeof data2 == "object" && !Array.isArray(data2)){let missing2;if(((data2.uri === undefined) && (missing2 = "uri")) || ((data2.name === undefined) && (missing2 = "name"))){validate27.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"definitions#/definitions/unique-id/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data2.uri !== undefined){const _errs9 = errors;if(typeof data2.uri !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/subverse/uri",schemaPath:"definitions#/definitions/unique-id/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid4 = _errs9 === errors;}else {var valid4 = true;}if(valid4){if(data2.name !== undefined){const _errs11 = errors;if(typeof data2.name !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/subverse/name",schemaPath:"definitions#/definitions/unique-id/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid4 = _errs11 === errors;}else {var valid4 = true;}}}}else {validate27.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"definitions#/definitions/unique-id/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}if(errors === _errs4){if(data2 && typeof data2 == "object" && !Array.isArray(data2)){for(const key0 in data2){if((key0 !== "uri") && (key0 !== "name")){validate27.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"}];return false;break;}}}else {validate27.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid1 = _errs4 === errors;}else {var valid1 = true;}if(valid1){if(data0.platforms !== undefined){let data5 = data0.platforms;const _errs14 = errors;const _errs15 = errors;if(errors === _errs15){if(Array.isArray(data5)){var valid6 = true;const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];const _errs17 = errors;if(errors === _errs17){if(data6 && typeof data6 == "object" && !Array.isArray(data6)){let missing3;if((data6.id === undefined) && (missing3 = "id")){validate27.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data6.id !== undefined){const _errs19 = errors;if(typeof data6.id !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/id",schemaPath:"definitions#/definitions/platforms/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs19 === errors;}else {var valid7 = true;}if(valid7){if(data6.archs !== undefined){let data8 = data6.archs;const _errs21 = errors;if(errors === _errs21){if(Array.isArray(data8)){var valid8 = true;const len1 = data8.length;for(let i1=0; i1<len1; i1++){const _errs23 = errors;if(typeof data8[i1] !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs23 === errors;if(!valid8){break;}}}else {validate27.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid7 = _errs21 === errors;}else {var valid7 = true;}if(valid7){if(data6.agents !== undefined){let data10 = data6.agents;const _errs25 = errors;if(errors === _errs25){if(Array.isArray(data10)){var valid9 = true;const len2 = data10.length;for(let i2=0; i2<len2; i2++){const _errs27 = errors;if(typeof data10[i2] !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid9 = _errs27 === errors;if(!valid9){break;}}}else {validate27.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid7 = _errs25 === errors;}else {var valid7 = true;}}}}}else {validate27.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid6 = _errs17 === errors;if(!valid6){break;}}}else {validate27.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs14 === errors;}else {var valid1 = true;}if(valid1){if(data0.protocols !== undefined){let data12 = data0.protocols;const _errs29 = errors;const _errs30 = errors;if(errors === _errs30){if(Array.isArray(data12)){var valid11 = true;const len3 = data12.length;for(let i3=0; i3<len3; i3++){let data13 = data12[i3];const _errs32 = errors;if(errors === _errs32){if(data13 && typeof data13 == "object" && !Array.isArray(data13)){let missing4;if(((data13.id === undefined) && (missing4 = "id")) || ((data13.attr === undefined) && (missing4 = "attr"))){validate27.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {if(data13.id !== undefined){const _errs34 = errors;if(typeof data13.id !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/id",schemaPath:"definitions#/definitions/protocols/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs34 === errors;}else {var valid12 = true;}if(valid12){if(data13.name !== undefined){const _errs36 = errors;if(typeof data13.name !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs36 === errors;}else {var valid12 = true;}if(valid12){if(data13.version !== undefined){const _errs38 = errors;if(typeof data13.version !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/version",schemaPath:"definitions#/definitions/protocols/items/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs38 === errors;}else {var valid12 = true;}if(valid12){if(data13.attr !== undefined){const _errs40 = errors;if(typeof data13.attr !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs40 === errors;}else {var valid12 = true;}if(valid12){if(data13.url !== undefined){const _errs42 = errors;if(typeof data13.url !== "string"){validate27.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid12 = _errs42 === errors;}else {var valid12 = true;}}}}}}}else {validate27.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid11 = _errs32 === errors;if(!valid11){break;}}}else {validate27.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs29 === errors;}else {var valid1 = true;}}}}}}else {validate27.errors = [{instancePath:instancePath+"/expanse",schemaPath:"#/properties/expanse/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.subverse_info !== undefined){const _errs44 = errors;if("4" !== data.subverse_info){validate27.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions#/definitions/_v/const",keyword:"const",params:{allowedValue: "4"},message:"must be equal to constant"}];return false;}var valid0 = _errs44 === errors;}else {var valid0 = true;}}}}else {validate27.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate27.errors = vErrors;return errors === 0;}validate27.evaluated = {"props":{"expanse":true,"subverse_info":true},"dynamicProps":false,"dynamicItems":false};
|