@rootintf/protocol-subverseinfo 0.0.4-api-0.1 → 0.1.3-api-0.2

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.
@@ -9,3 +9,9 @@ npm i
9
9
  npm run build
10
10
  git commit
11
11
  npm publish
12
+
13
+ ----
14
+
15
+ ### TODO
16
+ NFO::Metaverse-Subversemap
17
+
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const schema_SubverseInfo_discovery = validate19;function validate19(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate19.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.discovery === undefined) && (missing0 = "discovery")) || ((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.discovery !== undefined){let data0 = data.discovery;const _errs1 = errors;{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+"/discovery",schemaPath:"#/properties/discovery/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+"/discovery/name",schemaPath:"#/properties/discovery/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+"/discovery/graphql",schemaPath:"#/properties/discovery/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+"/discovery/ttl_msec",schemaPath:"#/properties/discovery/properties/ttl_msec/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}var valid1 = _errs7 === errors;}else {var valid1 = true;}}}}}else {validate19.errors = [{instancePath:instancePath+"/discovery",schemaPath:"#/properties/discovery/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("0.1" !== data.subverse_info){validate19.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.1"},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":{"discovery":true,"subverse_info":true},"dynamicProps":false,"dynamicItems":false};const schema_SubverseInfo_expanse = validate20;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;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate21.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate21.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate21.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":true},"dynamicProps":false,"dynamicItems":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;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate24.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate24.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":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))){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={}}={}){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)){let missing2;if((data1.map_url === undefined) && (missing2 = "map_url")){validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data1.map_url !== undefined){if(typeof data1.map_url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/map_url",schemaPath:"#/properties/expanse/properties/subverse/properties/map_url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}}}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.instances !== undefined){const _errs8 = errors;if(!(validate23(data0.instances, {instancePath:instancePath+"/expanse/instances",parentData:data0,parentDataProperty:"instances",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);errors = vErrors.length;}var valid1 = _errs8 === errors;}else {var valid1 = true;}if(valid1){if(data0.platforms !== undefined){let data4 = data0.platforms;const _errs9 = errors;const _errs10 = errors;if(errors === _errs10){if(Array.isArray(data4)){var valid5 = true;const len0 = data4.length;for(let i0=0; i0<len0; i0++){let data5 = data4[i0];const _errs12 = errors;if(errors === _errs12){if(data5 && typeof data5 == "object" && !Array.isArray(data5)){let missing3;if((data5.name === undefined) && (missing3 = "name")){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data5.name !== undefined){const _errs14 = errors;if(typeof data5.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/name",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs14 === errors;}else {var valid6 = true;}if(valid6){if(data5.archs !== undefined){let data7 = data5.archs;const _errs16 = errors;if(errors === _errs16){if(Array.isArray(data7)){var valid7 = true;const len1 = data7.length;for(let i1=0; i1<len1; i1++){const _errs18 = errors;if(typeof data7[i1] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs18 === errors;if(!valid7){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs16 === errors;}else {var valid6 = true;}if(valid6){if(data5.agents !== undefined){let data9 = data5.agents;const _errs20 = errors;if(errors === _errs20){if(Array.isArray(data9)){var valid8 = true;const len2 = data9.length;for(let i2=0; i2<len2; i2++){const _errs22 = errors;if(typeof data9[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs22 === errors;if(!valid8){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs20 === errors;}else {var valid6 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid5 = _errs12 === errors;if(!valid5){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions_SubverseInfo#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs9 === errors;}else {var valid1 = true;}if(valid1){if(data0.protocols !== undefined){let data11 = data0.protocols;const _errs24 = errors;const _errs25 = errors;if(errors === _errs25){if(Array.isArray(data11)){var valid10 = true;const len3 = data11.length;for(let i3=0; i3<len3; i3++){let data12 = data11[i3];const _errs27 = errors;if(errors === _errs27){if(data12 && typeof data12 == "object" && !Array.isArray(data12)){let missing4;if(((data12.name === undefined) && (missing4 = "name")) || ((data12.attr === undefined) && (missing4 = "attr"))){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {if(data12.name !== undefined){const _errs29 = errors;if(typeof data12.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs29 === errors;}else {var valid11 = true;}if(valid11){if(data12.attr !== undefined){const _errs31 = errors;if(typeof data12.attr !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs31 === errors;}else {var valid11 = true;}if(valid11){if(data12.url !== undefined){const _errs33 = errors;if(typeof data12.url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs33 === errors;}else {var valid11 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid10 = _errs27 === errors;if(!valid10){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions_SubverseInfo#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs24 === 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 _errs35 = errors;if("0.1" !== data.subverse_info){validate20.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.1"},message:"must be equal to constant"}];return false;}var valid0 = _errs35 === 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};
3
+ const schema_SubverseInfo_query = validate19;function validate19(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate19.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}{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(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;}}}}}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("0.2" !== data.subverse_info){validate19.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.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};const schema_SubverseInfo_expanse = validate20;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;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate21.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate21.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate21.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":true},"dynamicProps":false,"dynamicItems":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;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate24.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate24.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":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))){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={}}={}){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)){let missing2;if((data1["map-url"] === undefined) && (missing2 = "map-url")){validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data1["map-url"] !== undefined){const _errs6 = errors;if(typeof data1["map-url"] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/map-url",schemaPath:"#/properties/expanse/properties/subverse/properties/map-url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs6 === errors;}else {var valid3 = true;}if(valid3){if(data1["warp-url"] !== undefined){const _errs8 = errors;if(typeof data1["warp-url"] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/warp-url",schemaPath:"#/properties/expanse/properties/subverse/properties/warp-url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){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 valid3 = _errs10 === errors;}else {var valid3 = true;}}}}}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 data5 = data0.platforms;const _errs11 = errors;const _errs12 = errors;if(errors === _errs12){if(Array.isArray(data5)){var valid5 = true;const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];const _errs14 = errors;if(errors === _errs14){if(data6 && typeof data6 == "object" && !Array.isArray(data6)){let missing3;if((data6.name === undefined) && (missing3 = "name")){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data6.name !== undefined){const _errs16 = errors;if(typeof data6.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/name",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs16 === errors;}else {var valid6 = true;}if(valid6){if(data6.archs !== undefined){let data8 = data6.archs;const _errs18 = errors;if(errors === _errs18){if(Array.isArray(data8)){var valid7 = true;const len1 = data8.length;for(let i1=0; i1<len1; i1++){const _errs20 = errors;if(typeof data8[i1] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs20 === errors;if(!valid7){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs18 === errors;}else {var valid6 = true;}if(valid6){if(data6.agents !== undefined){let data10 = data6.agents;const _errs22 = errors;if(errors === _errs22){if(Array.isArray(data10)){var valid8 = true;const len2 = data10.length;for(let i2=0; i2<len2; i2++){const _errs24 = errors;if(typeof data10[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs24 === errors;if(!valid8){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs22 === errors;}else {var valid6 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid5 = _errs14 === errors;if(!valid5){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions_SubverseInfo#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs11 === errors;}else {var valid1 = true;}if(valid1){if(data0.protocols !== undefined){let data12 = data0.protocols;const _errs26 = errors;const _errs27 = errors;if(errors === _errs27){if(Array.isArray(data12)){var valid10 = true;const len3 = data12.length;for(let i3=0; i3<len3; i3++){let data13 = data12[i3];const _errs29 = errors;if(errors === _errs29){if(data13 && typeof data13 == "object" && !Array.isArray(data13)){let missing4;if(((data13.name === undefined) && (missing4 = "name")) || ((data13.attr === undefined) && (missing4 = "attr"))){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {if(data13.name !== undefined){const _errs31 = errors;if(typeof data13.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs31 === errors;}else {var valid11 = true;}if(valid11){if(data13.attr !== undefined){const _errs33 = errors;if(typeof data13.attr !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs33 === errors;}else {var valid11 = true;}if(valid11){if(data13.url !== undefined){const _errs35 = errors;if(typeof data13.url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs35 === errors;}else {var valid11 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid10 = _errs29 === errors;if(!valid10){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions_SubverseInfo#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs26 === 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 _errs37 = errors;if("0.2" !== data.subverse_info){validate20.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.2"},message:"must be equal to constant"}];return false;}var valid0 = _errs37 === 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};
4
4
 
5
5
  // console.log('OUT', __name({variableName}) );
6
6
 
@@ -321,13 +321,13 @@ LOGR_.toggled= {
321
321
  // VALIDATION : 1
322
322
  };
323
323
 
324
- const kstr_VERSION= "0.1";
324
+ const kstr_VERSION= "0.2";
325
325
 
326
326
  // TODO: use RFC3339 "timestamp"? https://ajv.js.org/json-type-definition.html
327
327
 
328
328
  // const regex_IOI= new RegExp('\\bquery\\s*\\{\\s*IOI\\s*\\(\\s*pkg\\s*:\\s*"([^"]*)"\\s*\\)\\s*\\{.*heartbeat\\s*\\}\\s*\\}');
329
329
 
330
- var JSON_MsgSubverseInfo_discovery = (function() {
330
+ var JSON_MsgSubverseInfo_query = (function() {
331
331
  return {
332
332
  merge : function(json) {
333
333
  let json_msg= jsonMsg_cjsExports.JSON_Msg.merge(json);
@@ -339,8 +339,8 @@ var JSON_MsgSubverseInfo_discovery = (function() {
339
339
  if (! jsonMsg_cjsExports.JSON_Msg.validate(json))
340
340
  return false;
341
341
 
342
- if (! schema_SubverseInfo_discovery(json)) {
343
- LOGR_.log(l_.VALIDATION, 'schema_SubverseInfo_discovery: validate: ', schema_SubverseInfo_discovery.errors);
342
+ if (! schema_SubverseInfo_query(json)) {
343
+ LOGR_.log(l_.VALIDATION, 'schema_SubverseInfo_query_: validate: ', schema_SubverseInfo_query.errors);
344
344
  return false;
345
345
  }
346
346
 
@@ -378,5 +378,5 @@ var JSON_MsgSubverseInfo_expanse = (function() {
378
378
  }
379
379
  })();
380
380
 
381
- exports.JSON_MsgSubverseInfo_discovery = JSON_MsgSubverseInfo_discovery;
382
381
  exports.JSON_MsgSubverseInfo_expanse = JSON_MsgSubverseInfo_expanse;
382
+ exports.JSON_MsgSubverseInfo_query = JSON_MsgSubverseInfo_query;
@@ -1,4 +1,4 @@
1
- const schema_SubverseInfo_discovery = validate19;function validate19(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate19.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.discovery === undefined) && (missing0 = "discovery")) || ((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.discovery !== undefined){let data0 = data.discovery;const _errs1 = errors;{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+"/discovery",schemaPath:"#/properties/discovery/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+"/discovery/name",schemaPath:"#/properties/discovery/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+"/discovery/graphql",schemaPath:"#/properties/discovery/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+"/discovery/ttl_msec",schemaPath:"#/properties/discovery/properties/ttl_msec/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}var valid1 = _errs7 === errors;}else {var valid1 = true;}}}}}else {validate19.errors = [{instancePath:instancePath+"/discovery",schemaPath:"#/properties/discovery/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("0.1" !== data.subverse_info){validate19.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.1"},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":{"discovery":true,"subverse_info":true},"dynamicProps":false,"dynamicItems":false};const schema_SubverseInfo_expanse = validate20;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;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate21.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate21.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate21.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":true},"dynamicProps":false,"dynamicItems":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;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate24.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate24.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":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))){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={}}={}){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)){let missing2;if((data1.map_url === undefined) && (missing2 = "map_url")){validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data1.map_url !== undefined){if(typeof data1.map_url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/map_url",schemaPath:"#/properties/expanse/properties/subverse/properties/map_url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}}}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.instances !== undefined){const _errs8 = errors;if(!(validate23(data0.instances, {instancePath:instancePath+"/expanse/instances",parentData:data0,parentDataProperty:"instances",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);errors = vErrors.length;}var valid1 = _errs8 === errors;}else {var valid1 = true;}if(valid1){if(data0.platforms !== undefined){let data4 = data0.platforms;const _errs9 = errors;const _errs10 = errors;if(errors === _errs10){if(Array.isArray(data4)){var valid5 = true;const len0 = data4.length;for(let i0=0; i0<len0; i0++){let data5 = data4[i0];const _errs12 = errors;if(errors === _errs12){if(data5 && typeof data5 == "object" && !Array.isArray(data5)){let missing3;if((data5.name === undefined) && (missing3 = "name")){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data5.name !== undefined){const _errs14 = errors;if(typeof data5.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/name",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs14 === errors;}else {var valid6 = true;}if(valid6){if(data5.archs !== undefined){let data7 = data5.archs;const _errs16 = errors;if(errors === _errs16){if(Array.isArray(data7)){var valid7 = true;const len1 = data7.length;for(let i1=0; i1<len1; i1++){const _errs18 = errors;if(typeof data7[i1] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs18 === errors;if(!valid7){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs16 === errors;}else {var valid6 = true;}if(valid6){if(data5.agents !== undefined){let data9 = data5.agents;const _errs20 = errors;if(errors === _errs20){if(Array.isArray(data9)){var valid8 = true;const len2 = data9.length;for(let i2=0; i2<len2; i2++){const _errs22 = errors;if(typeof data9[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs22 === errors;if(!valid8){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs20 === errors;}else {var valid6 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid5 = _errs12 === errors;if(!valid5){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions_SubverseInfo#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs9 === errors;}else {var valid1 = true;}if(valid1){if(data0.protocols !== undefined){let data11 = data0.protocols;const _errs24 = errors;const _errs25 = errors;if(errors === _errs25){if(Array.isArray(data11)){var valid10 = true;const len3 = data11.length;for(let i3=0; i3<len3; i3++){let data12 = data11[i3];const _errs27 = errors;if(errors === _errs27){if(data12 && typeof data12 == "object" && !Array.isArray(data12)){let missing4;if(((data12.name === undefined) && (missing4 = "name")) || ((data12.attr === undefined) && (missing4 = "attr"))){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {if(data12.name !== undefined){const _errs29 = errors;if(typeof data12.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs29 === errors;}else {var valid11 = true;}if(valid11){if(data12.attr !== undefined){const _errs31 = errors;if(typeof data12.attr !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs31 === errors;}else {var valid11 = true;}if(valid11){if(data12.url !== undefined){const _errs33 = errors;if(typeof data12.url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs33 === errors;}else {var valid11 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid10 = _errs27 === errors;if(!valid10){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions_SubverseInfo#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs24 === 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 _errs35 = errors;if("0.1" !== data.subverse_info){validate20.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.1"},message:"must be equal to constant"}];return false;}var valid0 = _errs35 === 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
+ const schema_SubverseInfo_query = validate19;function validate19(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate19.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}{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(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;}}}}}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("0.2" !== data.subverse_info){validate19.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.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};const schema_SubverseInfo_expanse = validate20;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;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate21.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate21.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate21.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":true},"dynamicProps":false,"dynamicItems":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;}{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate24.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate24.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":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))){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={}}={}){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)){let missing2;if((data1["map-url"] === undefined) && (missing2 = "map-url")){validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data1["map-url"] !== undefined){const _errs6 = errors;if(typeof data1["map-url"] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/map-url",schemaPath:"#/properties/expanse/properties/subverse/properties/map-url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs6 === errors;}else {var valid3 = true;}if(valid3){if(data1["warp-url"] !== undefined){const _errs8 = errors;if(typeof data1["warp-url"] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/warp-url",schemaPath:"#/properties/expanse/properties/subverse/properties/warp-url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){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 valid3 = _errs10 === errors;}else {var valid3 = true;}}}}}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 data5 = data0.platforms;const _errs11 = errors;const _errs12 = errors;if(errors === _errs12){if(Array.isArray(data5)){var valid5 = true;const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];const _errs14 = errors;if(errors === _errs14){if(data6 && typeof data6 == "object" && !Array.isArray(data6)){let missing3;if((data6.name === undefined) && (missing3 = "name")){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data6.name !== undefined){const _errs16 = errors;if(typeof data6.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/name",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs16 === errors;}else {var valid6 = true;}if(valid6){if(data6.archs !== undefined){let data8 = data6.archs;const _errs18 = errors;if(errors === _errs18){if(Array.isArray(data8)){var valid7 = true;const len1 = data8.length;for(let i1=0; i1<len1; i1++){const _errs20 = errors;if(typeof data8[i1] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs20 === errors;if(!valid7){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs18 === errors;}else {var valid6 = true;}if(valid6){if(data6.agents !== undefined){let data10 = data6.agents;const _errs22 = errors;if(errors === _errs22){if(Array.isArray(data10)){var valid8 = true;const len2 = data10.length;for(let i2=0; i2<len2; i2++){const _errs24 = errors;if(typeof data10[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs24 === errors;if(!valid8){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs22 === errors;}else {var valid6 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid5 = _errs14 === errors;if(!valid5){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions_SubverseInfo#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs11 === errors;}else {var valid1 = true;}if(valid1){if(data0.protocols !== undefined){let data12 = data0.protocols;const _errs26 = errors;const _errs27 = errors;if(errors === _errs27){if(Array.isArray(data12)){var valid10 = true;const len3 = data12.length;for(let i3=0; i3<len3; i3++){let data13 = data12[i3];const _errs29 = errors;if(errors === _errs29){if(data13 && typeof data13 == "object" && !Array.isArray(data13)){let missing4;if(((data13.name === undefined) && (missing4 = "name")) || ((data13.attr === undefined) && (missing4 = "attr"))){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {if(data13.name !== undefined){const _errs31 = errors;if(typeof data13.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs31 === errors;}else {var valid11 = true;}if(valid11){if(data13.attr !== undefined){const _errs33 = errors;if(typeof data13.attr !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs33 === errors;}else {var valid11 = true;}if(valid11){if(data13.url !== undefined){const _errs35 = errors;if(typeof data13.url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs35 === errors;}else {var valid11 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid10 = _errs29 === errors;if(!valid10){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions_SubverseInfo#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs26 === 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 _errs37 = errors;if("0.2" !== data.subverse_info){validate20.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.2"},message:"must be equal to constant"}];return false;}var valid0 = _errs37 === 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};
2
2
 
3
3
  // console.log('OUT', __name({variableName}) );
4
4
 
@@ -319,13 +319,13 @@ LOGR_.toggled= {
319
319
  // VALIDATION : 1
320
320
  };
321
321
 
322
- const kstr_VERSION= "0.1";
322
+ const kstr_VERSION= "0.2";
323
323
 
324
324
  // TODO: use RFC3339 "timestamp"? https://ajv.js.org/json-type-definition.html
325
325
 
326
326
  // const regex_IOI= new RegExp('\\bquery\\s*\\{\\s*IOI\\s*\\(\\s*pkg\\s*:\\s*"([^"]*)"\\s*\\)\\s*\\{.*heartbeat\\s*\\}\\s*\\}');
327
327
 
328
- var JSON_MsgSubverseInfo_discovery = (function() {
328
+ var JSON_MsgSubverseInfo_query = (function() {
329
329
  return {
330
330
  merge : function(json) {
331
331
  let json_msg= jsonMsg_cjsExports.JSON_Msg.merge(json);
@@ -337,8 +337,8 @@ var JSON_MsgSubverseInfo_discovery = (function() {
337
337
  if (! jsonMsg_cjsExports.JSON_Msg.validate(json))
338
338
  return false;
339
339
 
340
- if (! schema_SubverseInfo_discovery(json)) {
341
- LOGR_.log(l_.VALIDATION, 'schema_SubverseInfo_discovery: validate: ', schema_SubverseInfo_discovery.errors);
340
+ if (! schema_SubverseInfo_query(json)) {
341
+ LOGR_.log(l_.VALIDATION, 'schema_SubverseInfo_query_: validate: ', schema_SubverseInfo_query.errors);
342
342
  return false;
343
343
  }
344
344
 
@@ -376,4 +376,4 @@ var JSON_MsgSubverseInfo_expanse = (function() {
376
376
  }
377
377
  })();
378
378
 
379
- export { JSON_MsgSubverseInfo_discovery, JSON_MsgSubverseInfo_expanse };
379
+ export { JSON_MsgSubverseInfo_expanse, JSON_MsgSubverseInfo_query };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rootintf/protocol-subverseinfo",
3
- "version": "0.0.4-api-0.1",
3
+ "version": "0.1.3-api-0.2",
4
4
  "description": "",
5
5
  "main": "dist/subverseinfo.cjs.js",
6
6
  "browser": "dist/subverseinfo.es.mjs",
@@ -1,9 +1,9 @@
1
1
  {
2
- "$id" : "https://root-interface.se/schemas/definitions_SubverseInfo",
2
+ "$id" : "https://root-interface.se/protocols/SubverseInfo/definitions_SubverseInfo",
3
3
  "$schema" : "https://json-schema.org/draft/2019-09/schema",
4
4
  "definitions" : {
5
5
  "_v" : {
6
- "const": "0.1"
6
+ "const": "0.2"
7
7
  },
8
8
  "info" : {
9
9
  "type" : "object"
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://root-interface.se/schemas/schema_SubverseInfo_expanse",
2
+ "$id": "https://root-interface.se/protocols/SubverseInfo/schema_SubverseInfo_expanse",
3
3
  "$schema": "https://json-schema.org/draft/2019-09/schema",
4
4
  "type" : "object",
5
5
  "required" : [ "expanse", "subverse_info" ],
@@ -11,12 +11,13 @@
11
11
  "subverse" : {
12
12
  "type" : "object",
13
13
  "allOf": [{ "$ref": "definitions_SubverseInfo#/definitions/unique-id" }],
14
- "required" : [ "map_url" ],
14
+ "required" : [ "map-url" ],
15
15
  "properties" : {
16
- "map_url" : { "type" : "string" }
16
+ "map-url" : { "type" : "string" },
17
+ "warp-url" : { "type" : "string" },
18
+ "instances" : { "$ref": "definitions_SubverseInfo#/definitions/instances" }
17
19
  }
18
20
  },
19
- "instances" : { "$ref": "definitions_SubverseInfo#/definitions/instances" },
20
21
  "platforms" : { "$ref": "definitions_SubverseInfo#/definitions/platforms" },
21
22
  "protocols": { "$ref": "definitions_SubverseInfo#/definitions/protocols" }
22
23
  }
@@ -1,10 +1,10 @@
1
1
  {
2
- "$id": "https://root-interface.se/schemas/schema_SubverseInfo_discovery",
2
+ "$id": "https://root-interface.se/protocols/SubverseInfo/schema_SubverseInfo_query",
3
3
  "$schema": "https://json-schema.org/draft/2019-09/schema",
4
4
  "type" : "object",
5
- "required" : [ "discovery", "subverse_info" ],
5
+ "required" : [ "query", "subverse_info" ],
6
6
  "properties" : {
7
- "discovery" : {
7
+ "query" : {
8
8
  "type" : "object",
9
9
  "required": [ "name", "graphql", "ttl_msec" ],
10
10
  "properties": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://root-interface.se/schemas/schema_expanse_instances",
2
+ "$id": "https://root-interface.se/protocols/SubverseInfo/schema_expanse_instances",
3
3
  "$schema": "https://json-schema.org/draft/2019-09/schema",
4
4
  "type" : "object",
5
5
  "required" : ["instances"],
@@ -1,7 +1,7 @@
1
1
 
2
2
  var json_definitions_SubverseInfo_ = require('../schema/definitions_SubverseInfo.json');
3
3
 
4
- var josn_schema_SubverseInfo_discovery_= require('../schema/schema_SubverseInfo_discovery.json');
4
+ var json_schema_SubverseInfo_query_= require('../schema/schema_SubverseInfo_query.json');
5
5
  var json_schema_SubverseInfo_expanse_= require('../schema/schema_SubverseInfo_expanse.json');
6
6
  var json_schema_expanse_instances_= require('../schema/schema_expanse_instances.json');
7
7
 
@@ -22,7 +22,7 @@ const standaloneCode = require("ajv/dist/standalone").default
22
22
  const ajv = new Ajv2019({
23
23
  schemas: [
24
24
  json_definitions_SubverseInfo_,
25
- josn_schema_SubverseInfo_discovery_,
25
+ json_schema_SubverseInfo_query_,
26
26
  json_schema_SubverseInfo_expanse_,
27
27
  // json_schema_expanse_instances_,
28
28
  ],
@@ -33,10 +33,10 @@ const ajv = new Ajv2019({
33
33
  });
34
34
 
35
35
  let moduleCode = standaloneCode(ajv, {
36
- "definitions_SubverseInfo": "https://root-interface.se/schemas/definitions_SubverseInfo",
37
- "schema_SubverseInfo_discovery": "https://root-interface.se/schemas/schema_SubverseInfo_discovery",
38
- "schema_SubverseInfo_expanse": "https://root-interface.se/schemas/schema_SubverseInfo_expanse",
39
- // "schema_expanse_instances": "https://root-interface.se/schemas/schema_expanse_instances",
36
+ "definitions_SubverseInfo": "https://root-interface.se/protocols/SubverseInfo/definitions_SubverseInfo",
37
+ "schema_SubverseInfo_query": "https://root-interface.se/protocols/SubverseInfo/schema_SubverseInfo_query",
38
+ "schema_SubverseInfo_expanse": "https://root-interface.se/protocols/SubverseInfo/schema_SubverseInfo_expanse",
39
+ // "schema_expanse_instances": "https://root-interface.se/protocols/SubverseInfo/schema_expanse_instances",
40
40
  })
41
41
 
42
42
  // Now you can write the module code to file
@@ -1,7 +1,7 @@
1
1
 
2
2
  import {
3
3
  definitions_SubverseInfo as definitions_SubverseInfo_,
4
- schema_SubverseInfo_discovery as schema_SubverseInfo_discovery_,
4
+ schema_SubverseInfo_query as schema_SubverseInfo_query_,
5
5
  schema_SubverseInfo_expanse as schema_SubverseInfo_expanse_,
6
6
  // schema_expanse_instances as schema_expanse_instances_,
7
7
  } from './validate-esm.mjs';
@@ -20,13 +20,13 @@ LOGR_.toggled= {
20
20
  // VALIDATION : 1
21
21
  }
22
22
 
23
- const kstr_VERSION= "0.1";
23
+ const kstr_VERSION= "0.2";
24
24
 
25
25
  // TODO: use RFC3339 "timestamp"? https://ajv.js.org/json-type-definition.html
26
26
 
27
27
  // const regex_IOI= new RegExp('\\bquery\\s*\\{\\s*IOI\\s*\\(\\s*pkg\\s*:\\s*"([^"]*)"\\s*\\)\\s*\\{.*heartbeat\\s*\\}\\s*\\}');
28
28
 
29
- var JSON_MsgSubverseInfo_discovery = (function() {
29
+ var JSON_MsgSubverseInfo_query = (function() {
30
30
  return {
31
31
  merge : function(json) {
32
32
  let json_msg= JSON_Msg.merge(json);
@@ -38,8 +38,8 @@ var JSON_MsgSubverseInfo_discovery = (function() {
38
38
  if (! JSON_Msg.validate(json))
39
39
  return false;
40
40
 
41
- if (! schema_SubverseInfo_discovery_(json)) {
42
- LOGR_.log(l_.VALIDATION, 'schema_SubverseInfo_discovery: validate: ', schema_SubverseInfo_discovery_.errors)
41
+ if (! schema_SubverseInfo_query_(json)) {
42
+ LOGR_.log(l_.VALIDATION, 'schema_SubverseInfo_query_: validate: ', schema_SubverseInfo_query_.errors)
43
43
  return false;
44
44
  }
45
45
 
@@ -129,6 +129,6 @@ var JSON_instances= (function() {
129
129
  //-------------------------------------------------------------------------------------------------
130
130
 
131
131
  export {
132
- JSON_MsgSubverseInfo_discovery,
132
+ JSON_MsgSubverseInfo_query,
133
133
  JSON_MsgSubverseInfo_expanse,
134
134
  }
@@ -1 +1 @@
1
- "use strict";export const definitions_SubverseInfo = validate18;const schema21 = {"$id":"https://root-interface.se/schemas/definitions_SubverseInfo","$schema":"https://json-schema.org/draft/2019-09/schema","definitions":{"_v":{"const":"0.1"},"info":{"type":"object"},"unique-id":{"type":"object","required":["name","uri"],"properties":{"name":{"type":"string"},"uri":{"type":"string"},"favicon":{"type":"string"},"info":{"$ref":"definitions_SubverseInfo#/definitions/info"}}},"instances":{"type":"array","items":{"type":"object","allOf":[{"$ref":"definitions_SubverseInfo#/definitions/unique-id"}],"properties":{}}},"platforms":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"archs":{"type":"array","items":{"type":"string"}},"agents":{"type":"array","items":{"type":"string"}}}}},"protocols":{"type":"array","items":{"type":"object","required":["name","attr"],"properties":{"name":{"type":"string"},"attr":{"type":"string"},"url":{"type":"string"}}}}}};function validate18(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/schemas/definitions_SubverseInfo" */;validate18.errors = null;return true;}validate18.evaluated = {"dynamicProps":false,"dynamicItems":false};export const schema_SubverseInfo_discovery = validate19;const schema22 = {"$id":"https://root-interface.se/schemas/schema_SubverseInfo_discovery","$schema":"https://json-schema.org/draft/2019-09/schema","type":"object","required":["discovery","subverse_info"],"properties":{"discovery":{"type":"object","required":["name","graphql","ttl_msec"],"properties":{"name":{"type":"string"},"graphql":{"type":"string"},"ttl_msec":{"type":"integer"}}},"subverse_info":{"$ref":"definitions_SubverseInfo#/definitions/_v"}}};const schema23 = {"const":"0.1"};function validate19(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/schemas/schema_SubverseInfo_discovery" */;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.discovery === undefined) && (missing0 = "discovery")) || ((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.discovery !== undefined){let data0 = data.discovery;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+"/discovery",schemaPath:"#/properties/discovery/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+"/discovery/name",schemaPath:"#/properties/discovery/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+"/discovery/graphql",schemaPath:"#/properties/discovery/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+"/discovery/ttl_msec",schemaPath:"#/properties/discovery/properties/ttl_msec/type",keyword:"type",params:{type: "integer"},message:"must be integer"}];return false;}var valid1 = _errs7 === errors;}else {var valid1 = true;}}}}}else {validate19.errors = [{instancePath:instancePath+"/discovery",schemaPath:"#/properties/discovery/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("0.1" !== data.subverse_info){validate19.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.1"},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":{"discovery":true,"subverse_info":true},"dynamicProps":false,"dynamicItems":false};export const schema_SubverseInfo_expanse = validate20;const schema24 = {"$id":"https://root-interface.se/schemas/schema_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_SubverseInfo#/definitions/unique-id"}],"required":["map_url"],"properties":{"map_url":{"type":"string"}}},"instances":{"$ref":"definitions_SubverseInfo#/definitions/instances"},"platforms":{"$ref":"definitions_SubverseInfo#/definitions/platforms"},"protocols":{"$ref":"definitions_SubverseInfo#/definitions/protocols"}}},"subverse_info":{"$ref":"definitions_SubverseInfo#/definitions/_v"}}};const schema30 = {"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"archs":{"type":"array","items":{"type":"string"}},"agents":{"type":"array","items":{"type":"string"}}}}};const schema31 = {"type":"array","items":{"type":"object","required":["name","attr"],"properties":{"name":{"type":"string"},"attr":{"type":"string"},"url":{"type":"string"}}}};const schema25 = {"type":"object","required":["name","uri"],"properties":{"name":{"type":"string"},"uri":{"type":"string"},"favicon":{"type":"string"},"info":{"$ref":"definitions_SubverseInfo#/definitions/info"}}};const schema26 = {"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;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate21.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate21.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate21.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":true},"dynamicProps":false,"dynamicItems":false};const schema27 = {"type":"array","items":{"type":"object","allOf":[{"$ref":"definitions_SubverseInfo#/definitions/unique-id"}],"properties":{}}};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;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate24.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate24.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":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))){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/schemas/schema_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)){let missing2;if((data1.map_url === undefined) && (missing2 = "map_url")){validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data1.map_url !== undefined){if(typeof data1.map_url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/map_url",schemaPath:"#/properties/expanse/properties/subverse/properties/map_url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}}}}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.instances !== undefined){const _errs8 = errors;if(!(validate23(data0.instances, {instancePath:instancePath+"/expanse/instances",parentData:data0,parentDataProperty:"instances",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);errors = vErrors.length;}var valid1 = _errs8 === errors;}else {var valid1 = true;}if(valid1){if(data0.platforms !== undefined){let data4 = data0.platforms;const _errs9 = errors;const _errs10 = errors;if(errors === _errs10){if(Array.isArray(data4)){var valid5 = true;const len0 = data4.length;for(let i0=0; i0<len0; i0++){let data5 = data4[i0];const _errs12 = errors;if(errors === _errs12){if(data5 && typeof data5 == "object" && !Array.isArray(data5)){let missing3;if((data5.name === undefined) && (missing3 = "name")){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data5.name !== undefined){const _errs14 = errors;if(typeof data5.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/name",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs14 === errors;}else {var valid6 = true;}if(valid6){if(data5.archs !== undefined){let data7 = data5.archs;const _errs16 = errors;if(errors === _errs16){if(Array.isArray(data7)){var valid7 = true;const len1 = data7.length;for(let i1=0; i1<len1; i1++){const _errs18 = errors;if(typeof data7[i1] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs18 === errors;if(!valid7){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs16 === errors;}else {var valid6 = true;}if(valid6){if(data5.agents !== undefined){let data9 = data5.agents;const _errs20 = errors;if(errors === _errs20){if(Array.isArray(data9)){var valid8 = true;const len2 = data9.length;for(let i2=0; i2<len2; i2++){const _errs22 = errors;if(typeof data9[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs22 === errors;if(!valid8){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs20 === errors;}else {var valid6 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid5 = _errs12 === errors;if(!valid5){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions_SubverseInfo#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs9 === errors;}else {var valid1 = true;}if(valid1){if(data0.protocols !== undefined){let data11 = data0.protocols;const _errs24 = errors;const _errs25 = errors;if(errors === _errs25){if(Array.isArray(data11)){var valid10 = true;const len3 = data11.length;for(let i3=0; i3<len3; i3++){let data12 = data11[i3];const _errs27 = errors;if(errors === _errs27){if(data12 && typeof data12 == "object" && !Array.isArray(data12)){let missing4;if(((data12.name === undefined) && (missing4 = "name")) || ((data12.attr === undefined) && (missing4 = "attr"))){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {if(data12.name !== undefined){const _errs29 = errors;if(typeof data12.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs29 === errors;}else {var valid11 = true;}if(valid11){if(data12.attr !== undefined){const _errs31 = errors;if(typeof data12.attr !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs31 === errors;}else {var valid11 = true;}if(valid11){if(data12.url !== undefined){const _errs33 = errors;if(typeof data12.url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs33 === errors;}else {var valid11 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid10 = _errs27 === errors;if(!valid10){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions_SubverseInfo#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs24 === 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 _errs35 = errors;if("0.1" !== data.subverse_info){validate20.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.1"},message:"must be equal to constant"}];return false;}var valid0 = _errs35 === 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_SubverseInfo","$schema":"https://json-schema.org/draft/2019-09/schema","definitions":{"_v":{"const":"0.2"},"info":{"type":"object"},"unique-id":{"type":"object","required":["name","uri"],"properties":{"name":{"type":"string"},"uri":{"type":"string"},"favicon":{"type":"string"},"info":{"$ref":"definitions_SubverseInfo#/definitions/info"}}},"instances":{"type":"array","items":{"type":"object","allOf":[{"$ref":"definitions_SubverseInfo#/definitions/unique-id"}],"properties":{}}},"platforms":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"archs":{"type":"array","items":{"type":"string"}},"agents":{"type":"array","items":{"type":"string"}}}}},"protocols":{"type":"array","items":{"type":"object","required":["name","attr"],"properties":{"name":{"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_SubverseInfo" */;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/schema_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"}}},"subverse_info":{"$ref":"definitions_SubverseInfo#/definitions/_v"}}};const schema23 = {"const":"0.2"};function validate19(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://root-interface.se/protocols/SubverseInfo/schema_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;}}}}}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("0.2" !== data.subverse_info){validate19.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.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/schema_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_SubverseInfo#/definitions/unique-id"}],"required":["map-url"],"properties":{"map-url":{"type":"string"},"warp-url":{"type":"string"},"instances":{"$ref":"definitions_SubverseInfo#/definitions/instances"}}},"platforms":{"$ref":"definitions_SubverseInfo#/definitions/platforms"},"protocols":{"$ref":"definitions_SubverseInfo#/definitions/protocols"}}},"subverse_info":{"$ref":"definitions_SubverseInfo#/definitions/_v"}}};const schema30 = {"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"archs":{"type":"array","items":{"type":"string"}},"agents":{"type":"array","items":{"type":"string"}}}}};const schema31 = {"type":"array","items":{"type":"object","required":["name","attr"],"properties":{"name":{"type":"string"},"attr":{"type":"string"},"url":{"type":"string"}}}};const schema25 = {"type":"object","required":["name","uri"],"properties":{"name":{"type":"string"},"uri":{"type":"string"},"favicon":{"type":"string"},"info":{"$ref":"definitions_SubverseInfo#/definitions/info"}}};const schema26 = {"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;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate21.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate21.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate21.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":true},"dynamicProps":false,"dynamicItems":false};const schema27 = {"type":"array","items":{"type":"object","allOf":[{"$ref":"definitions_SubverseInfo#/definitions/unique-id"}],"properties":{}}};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;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.name === undefined) && (missing0 = "name")) || ((data.uri === undefined) && (missing0 = "uri"))){validate24.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.name !== undefined){const _errs1 = errors;if(typeof data.name !== "string"){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.uri !== undefined){const _errs3 = errors;if(typeof data.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/uri",schemaPath:"#/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.favicon !== undefined){const _errs5 = 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 valid0 = _errs5 === errors;}else {var valid0 = true;}if(valid0){if(data.info !== undefined){let data3 = data.info;const _errs7 = errors;if(!(data3 && typeof data3 == "object" && !Array.isArray(data3))){validate24.errors = [{instancePath:instancePath+"/info",schemaPath:"definitions_SubverseInfo#/definitions/info/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = 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":{"name":true,"uri":true,"favicon":true,"info":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))){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/schema_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)){let missing2;if((data1["map-url"] === undefined) && (missing2 = "map-url")){validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data1["map-url"] !== undefined){const _errs6 = errors;if(typeof data1["map-url"] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/map-url",schemaPath:"#/properties/expanse/properties/subverse/properties/map-url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs6 === errors;}else {var valid3 = true;}if(valid3){if(data1["warp-url"] !== undefined){const _errs8 = errors;if(typeof data1["warp-url"] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/warp-url",schemaPath:"#/properties/expanse/properties/subverse/properties/warp-url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){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 valid3 = _errs10 === errors;}else {var valid3 = true;}}}}}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 data5 = data0.platforms;const _errs11 = errors;const _errs12 = errors;if(errors === _errs12){if(Array.isArray(data5)){var valid5 = true;const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];const _errs14 = errors;if(errors === _errs14){if(data6 && typeof data6 == "object" && !Array.isArray(data6)){let missing3;if((data6.name === undefined) && (missing3 = "name")){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data6.name !== undefined){const _errs16 = errors;if(typeof data6.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/name",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs16 === errors;}else {var valid6 = true;}if(valid6){if(data6.archs !== undefined){let data8 = data6.archs;const _errs18 = errors;if(errors === _errs18){if(Array.isArray(data8)){var valid7 = true;const len1 = data8.length;for(let i1=0; i1<len1; i1++){const _errs20 = errors;if(typeof data8[i1] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs20 === errors;if(!valid7){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs18 === errors;}else {var valid6 = true;}if(valid6){if(data6.agents !== undefined){let data10 = data6.agents;const _errs22 = errors;if(errors === _errs22){if(Array.isArray(data10)){var valid8 = true;const len2 = data10.length;for(let i2=0; i2<len2; i2++){const _errs24 = errors;if(typeof data10[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs24 === errors;if(!valid8){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs22 === errors;}else {var valid6 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid5 = _errs14 === errors;if(!valid5){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions_SubverseInfo#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs11 === errors;}else {var valid1 = true;}if(valid1){if(data0.protocols !== undefined){let data12 = data0.protocols;const _errs26 = errors;const _errs27 = errors;if(errors === _errs27){if(Array.isArray(data12)){var valid10 = true;const len3 = data12.length;for(let i3=0; i3<len3; i3++){let data13 = data12[i3];const _errs29 = errors;if(errors === _errs29){if(data13 && typeof data13 == "object" && !Array.isArray(data13)){let missing4;if(((data13.name === undefined) && (missing4 = "name")) || ((data13.attr === undefined) && (missing4 = "attr"))){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing4},message:"must have required property '"+missing4+"'"}];return false;}else {if(data13.name !== undefined){const _errs31 = errors;if(typeof data13.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs31 === errors;}else {var valid11 = true;}if(valid11){if(data13.attr !== undefined){const _errs33 = errors;if(typeof data13.attr !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs33 === errors;}else {var valid11 = true;}if(valid11){if(data13.url !== undefined){const _errs35 = errors;if(typeof data13.url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs35 === errors;}else {var valid11 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid10 = _errs29 === errors;if(!valid10){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions_SubverseInfo#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs26 === 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 _errs37 = errors;if("0.2" !== data.subverse_info){validate20.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "0.2"},message:"must be equal to constant"}];return false;}var valid0 = _errs37 === 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};
@@ -12,26 +12,26 @@ Object.defineProperty(globalThis, 'crypto', {
12
12
 
13
13
  // import { JSON_Msg, JSON_Msg_msg } from '@rootintf/json-msg';
14
14
  import {
15
- JSON_MsgSubverseInfo_discovery,
15
+ JSON_MsgSubverseInfo_query,
16
16
  JSON_MsgSubverseInfo_expanse,
17
17
  } from '../src/subverseinfo.mjs';
18
18
 
19
- const kstr_VERSION = "0.1"
19
+ const kstr_VERSION = "0.2"
20
20
 
21
21
  //-------------------------------------------------------------------------------------------------
22
22
 
23
- const json_msgSubverseInfo_discovery_merge = JSON_MsgSubverseInfo_discovery.merge({
24
- "discovery": {
23
+ const json_msgSubverseInfo_query_merge = JSON_MsgSubverseInfo_query.merge({
24
+ "query": {
25
25
  "name": "discovery-expanse",
26
26
  "graphql": "query { expanse { name map logo(width: 200, height: 200) { link } platforms { name archs agents } protocols { name attr } } }",
27
27
  "ttl_msec": 5000
28
28
  },
29
29
  });
30
- json_msgSubverseInfo_discovery_merge.referer = [ "karr_referer", "" ];
30
+ json_msgSubverseInfo_query_merge.referer = [ "karr_referer", "" ];
31
31
 
32
32
  describe("Validation", function () {
33
- it("JSON_MsgSubverseInfo_discovery.validate(json_msgSubverseInfo_discovery_merge)", function () {
34
- expect(JSON_MsgSubverseInfo_discovery.validate(json_msgSubverseInfo_discovery_merge)).toBe(true);
33
+ it("JSON_MsgSubverseInfo_discovery.validate(json_msgSubverseInfo_query_merge)", function () {
34
+ expect(JSON_MsgSubverseInfo_query.validate(json_msgSubverseInfo_query_merge)).toBe(true);
35
35
  });
36
36
  });
37
37
 
@@ -50,23 +50,23 @@ describe("Validation", function () {
50
50
 
51
51
  //-------------------------------------------------------------------------------------------------
52
52
 
53
- const json_msgAnnouncement_expanse = {
54
- "id": "53C2A451-D3E7-4657-932D-22EBF4A823D8",
55
- "_msg": { "id": "15169a65-94fe-449a-9164-a2e2bdd78c56", "discovery": { "graphql": "query { subverse { name logo(width: 200, height: 200) protocols integrations } }", "ttl_msec": 5000 }, "referer": ["subverse-protocol-map", "4b1ad967-8154-416f-a744-989db452bd76"], "dt": "2023-04-28T10:13:11.642Z" },
56
- "referer": ["tx-sl", "D41EDF64-6BF9-40D0-B30C-CC6A798B67F2"],
57
- "dt": "2023-04-28T10:13:11Z",
58
- "announcement": {
59
- // "expanse": {
60
- // "integrations": [
61
- // { "pkg": "tx-sl", "ppa": "https://root-interface.se/depot", "sha2-384": "c3f3e373de97e8d7f5d9c47096c128fcdcb07fbbb4581d6ab7d32913fe301edec0abb48a0bcf585f167c473b45a24634", "sha3-224": "", "version": "0.2.9" }
62
- // ],
63
- // "logo": "http://root-interface.se/depot/tx-sl/img-SL_DLbackground.png",
64
- // "name": "Second Life",
65
- // "protocols": ["QuerySubverse", "2PhW", "Discovery"]
66
- // }
67
- },
68
- "_v" : kstr_VERSION
69
- }
53
+ // const json_msgAnnouncement_expanse = {
54
+ // "id": "53C2A451-D3E7-4657-932D-22EBF4A823D8",
55
+ // "_msg": { "id": "15169a65-94fe-449a-9164-a2e2bdd78c56", "discovery": { "graphql": "query { subverse { name logo(width: 200, height: 200) protocols integrations } }", "ttl_msec": 5000 }, "referer": ["subverse-protocol-map", "4b1ad967-8154-416f-a744-989db452bd76"], "dt": "2023-04-28T10:13:11.642Z" },
56
+ // "referer": ["tx-sl", "D41EDF64-6BF9-40D0-B30C-CC6A798B67F2"],
57
+ // "dt": "2023-04-28T10:13:11Z",
58
+ // "announcement": {
59
+ // // "expanse": {
60
+ // // "integrations": [
61
+ // // { "pkg": "tx-sl", "ppa": "https://root-interface.se/depot", "sha2-384": "c3f3e373de97e8d7f5d9c47096c128fcdcb07fbbb4581d6ab7d32913fe301edec0abb48a0bcf585f167c473b45a24634", "sha3-224": "", "version": "0.2.9" }
62
+ // // ],
63
+ // // "logo": "http://root-interface.se/depot/tx-sl/img-SL_DLbackground.png",
64
+ // // "name": "Second Life",
65
+ // // "protocols": ["QuerySubverse", "2PhW", "Discovery"]
66
+ // // }
67
+ // },
68
+ // "_v" : kstr_VERSION
69
+ // }
70
70
 
71
71
  let json_SubverseInfo_expanse_OpenSim= JSON_MsgSubverseInfo_expanse.create_with_msg_merge(null, {
72
72
  expanse : {
@@ -74,10 +74,18 @@ let json_SubverseInfo_expanse_OpenSim= JSON_MsgSubverseInfo_expanse.create_with_
74
74
  name : "OpenSimulator",
75
75
  uri : "http://opensimulator.org",
76
76
  favicon : "https://upload.wikimedia.org/wikipedia/commons/5/50/Opensimulator_logo200x160.png",
77
- map_url : "http://opensimulator.org/wiki/Grid_List"
77
+ "map-url" : "http://opensimulator.org/wiki/Grid_List",
78
+ instances : [
79
+ {
80
+ name : "",
81
+ uri : "",
82
+ favicon : "",
83
+ "warp-url" : ""
84
+ }
85
+ ]
78
86
  },
79
87
  protocols: [
80
- { name: "Second Life protocol", attr: "0r" }
88
+ { name: "Second Life protocol", attr: "0r" }
81
89
  ]
82
90
  }
83
91
  });
@@ -102,7 +110,7 @@ const json_msgSubverseInfo_expanse_DCL = {
102
110
  "name": "Decentraland",
103
111
  "uri": "https://genesis.city",
104
112
  "favicon": "https://cryptologos.cc/logos/decentraland-mana-logo.png",
105
- "map_url": "https://genesis.city"
113
+ "map-url": "https://genesis.city"
106
114
  },
107
115
  "protocols": [
108
116
  {
@@ -118,14 +126,14 @@ const json_msgSubverseInfo_expanse_DCL = {
118
126
  "c8961cab-1aeb-4d9e-9cf2-ce94e6b3ef7f"
119
127
  ],
120
128
  "dt": "2025-03-05T07:52:01.209Z",
121
- "discovery": {
129
+ "query": {
122
130
  "name": "discovery-expanse",
123
131
  "graphql": "query { expanse { name map logo(width: 200, height: 200) { link } platforms { name archs agents } protocols { name attr } } }",
124
132
  "ttl_msec": 5000
125
133
  },
126
134
  "_v": "0.8"
127
135
  },
128
- "subverse_info": "0.1"
136
+ "subverse_info": "0.2"
129
137
  }
130
138
 
131
139
  describe("Validation", function () {