@rootintf/protocol-subverseinfo 0.1.3-api-0.2 → 1.0.7-api.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/antora-docs/modules/ROOT/pages/development.adoc +5 -0
- package/dist/subverseinfo.cjs.js +232 -176
- package/dist/subverseinfo.es.mjs +232 -177
- package/package.json +40 -40
- package/schema/definitions_SubverseInfo.json +21 -10
- package/schema/schema_SubverseInfo_expanse.json +5 -5
- package/schema/schema_SubverseInfo_query.json +2 -1
- package/schema/schema_expanse_instances.json +2 -6
- package/src/subverseinfo.mjs +17 -8
- package/src/validate-esm.mjs +1 -1
- package/tests/subverseinfo.spec.mjs +143 -81
package/dist/subverseinfo.es.mjs
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
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};
|
|
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;}if(valid1){if(data0.unevaluatedProperties !== undefined){var valid1 = false;validate19.errors = [{instancePath:instancePath+"/query/unevaluatedProperties",schemaPath:"#/properties/query/properties/unevaluatedProperties/false schema",keyword:"false schema",params:{},message:"boolean schema is false"}];return false;}else {var valid1 = true;}}}}}}else {validate19.errors = [{instancePath:instancePath+"/query",schemaPath:"#/properties/query/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.subverse_info !== undefined){const _errs9 = errors;if("1.0" !== data.subverse_info){validate19.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "1.0"},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.uri === undefined) && (missing0 = "uri")) || ((data.name === undefined) && (missing0 = "name"))){validate21.errors = [{instancePath,schemaPath:"definitions_SubverseInfo#/definitions/unique-id/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.uri !== undefined){const _errs4 = errors;if(typeof data.uri !== "string"){validate21.errors = [{instancePath:instancePath+"/uri",schemaPath:"definitions_SubverseInfo#/definitions/unique-id/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs4 === errors;}else {var valid2 = true;}if(valid2){if(data.name !== undefined){const _errs6 = errors;if(typeof data.name !== "string"){validate21.errors = [{instancePath:instancePath+"/name",schemaPath:"definitions_SubverseInfo#/definitions/unique-id/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs6 === errors;}else {var valid2 = true;}}}}else {validate21.errors = [{instancePath,schemaPath:"definitions_SubverseInfo#/definitions/unique-id/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}{if(data && typeof data == "object" && !Array.isArray(data)){if(data.favicon !== undefined){const _errs8 = errors;if(typeof data.favicon !== "string"){validate21.errors = [{instancePath:instancePath+"/favicon",schemaPath:"#/properties/favicon/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){if(data.info !== undefined){let data3 = data.info;const _errs10 = 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 valid3 = _errs10 === errors;}else {var valid3 = true;}}}else {validate21.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate21.errors = vErrors;return errors === 0;}validate21.evaluated = {"props":{"favicon":true,"hyperport":true,"info":true,"uri":true,"name":true},"dynamicProps":false,"dynamicItems":false};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.uri === undefined) && (missing0 = "uri")) || ((data.name === undefined) && (missing0 = "name"))){validate24.errors = [{instancePath,schemaPath:"definitions_SubverseInfo#/definitions/unique-id/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.uri !== undefined){const _errs4 = errors;if(typeof data.uri !== "string"){validate24.errors = [{instancePath:instancePath+"/uri",schemaPath:"definitions_SubverseInfo#/definitions/unique-id/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs4 === errors;}else {var valid2 = true;}if(valid2){if(data.name !== undefined){const _errs6 = errors;if(typeof data.name !== "string"){validate24.errors = [{instancePath:instancePath+"/name",schemaPath:"definitions_SubverseInfo#/definitions/unique-id/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid2 = _errs6 === errors;}else {var valid2 = true;}}}}else {validate24.errors = [{instancePath,schemaPath:"definitions_SubverseInfo#/definitions/unique-id/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}{if(data && typeof data == "object" && !Array.isArray(data)){if(data.favicon !== undefined){const _errs8 = errors;if(typeof data.favicon !== "string"){validate24.errors = [{instancePath:instancePath+"/favicon",schemaPath:"#/properties/favicon/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){if(data.info !== undefined){let data3 = data.info;const _errs10 = 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 valid3 = _errs10 === errors;}else {var valid3 = true;}}}else {validate24.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":{"favicon":true,"hyperport":true,"info":true,"uri":true,"name":true},"dynamicProps":false,"dynamicItems":false};function validate23(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate23.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(Array.isArray(data)){var valid0 = true;const len0 = data.length;for(let i0=0; i0<len0; i0++){let data0 = data[i0];const _errs1 = errors;if(!(validate24(data0, {instancePath:instancePath+"/" + i0,parentData:data,parentDataProperty:i0,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){for(const key0 in data0){if(((((key0 !== "favicon") && (key0 !== "hyperport")) && (key0 !== "info")) && (key0 !== "uri")) && (key0 !== "name")){validate23.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/items/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"}];return false;}}}else {validate23.errors = [{instancePath:instancePath+"/" + i0,schemaPath:"#/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;if(!valid0){break;}}}else {validate23.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}validate23.errors = vErrors;return errors === 0;}validate23.evaluated = {"items":true,"dynamicProps":false,"dynamicItems":false};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(errors === 0){if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if(((data.expanse === undefined) && (missing0 = "expanse")) || ((data.subverse_info === undefined) && (missing0 = "subverse_info"))){validate20.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.expanse !== undefined){let data0 = data.expanse;const _errs1 = errors;if(errors === _errs1){if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing1;if(((data0.subverse === undefined) && (missing1 = "subverse")) || ((data0.protocols === undefined) && (missing1 = "protocols"))){validate20.errors = [{instancePath:instancePath+"/expanse",schemaPath:"#/properties/expanse/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data0.subverse !== undefined){let data1 = data0.subverse;const _errs3 = errors;if(!(validate21(data1, {instancePath:instancePath+"/expanse/subverse",parentData:data0,parentDataProperty:"subverse",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);errors = vErrors.length;}if(errors === _errs3){if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["map-uri"] !== undefined){const _errs6 = errors;if(typeof data1["map-uri"] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/subverse/map-uri",schemaPath:"#/properties/expanse/properties/subverse/properties/map-uri/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid3 = _errs6 === errors;}else {var valid3 = true;}if(valid3){if(data1.instances !== undefined){const _errs8 = errors;if(!(validate23(data1.instances, {instancePath:instancePath+"/expanse/subverse/instances",parentData:data1,parentDataProperty:"instances",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);errors = vErrors.length;}var valid3 = _errs8 === errors;}else {var valid3 = true;}if(valid3){for(const key0 in data1){if(((((((key0 !== "map-uri") && (key0 !== "instances")) && (key0 !== "favicon")) && (key0 !== "hyperport")) && (key0 !== "info")) && (key0 !== "uri")) && (key0 !== "name")){validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/unevaluatedProperties",keyword:"unevaluatedProperties",params:{unevaluatedProperty: key0},message:"must NOT have unevaluated properties"}];return false;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/subverse",schemaPath:"#/properties/expanse/properties/subverse/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid1 = _errs3 === errors;}else {var valid1 = true;}if(valid1){if(data0.platforms !== undefined){let data4 = data0.platforms;const _errs10 = errors;const _errs11 = errors;if(errors === _errs11){if(Array.isArray(data4)){var valid5 = true;const len0 = data4.length;for(let i0=0; i0<len0; i0++){let data5 = data4[i0];const _errs13 = errors;if(errors === _errs13){if(data5 && typeof data5 == "object" && !Array.isArray(data5)){let missing2;if((data5.id === undefined) && (missing2 = "id")){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/required",keyword:"required",params:{missingProperty: missing2},message:"must have required property '"+missing2+"'"}];return false;}else {if(data5.id !== undefined){const _errs15 = errors;if(typeof data5.id !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/id",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid6 = _errs15 === errors;}else {var valid6 = true;}if(valid6){if(data5.archs !== undefined){let data7 = data5.archs;const _errs17 = errors;if(errors === _errs17){if(Array.isArray(data7)){var valid7 = true;const len1 = data7.length;for(let i1=0; i1<len1; i1++){const _errs19 = errors;if(typeof data7[i1] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs/" + i1,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid7 = _errs19 === errors;if(!valid7){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/archs",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/archs/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs17 === errors;}else {var valid6 = true;}if(valid6){if(data5.agents !== undefined){let data9 = data5.agents;const _errs21 = errors;if(errors === _errs21){if(Array.isArray(data9)){var valid8 = true;const len2 = data9.length;for(let i2=0; i2<len2; i2++){const _errs23 = errors;if(typeof data9[i2] !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents/" + i2,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid8 = _errs23 === errors;if(!valid8){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0+"/agents",schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/properties/agents/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid6 = _errs21 === errors;}else {var valid6 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms/" + i0,schemaPath:"definitions_SubverseInfo#/definitions/platforms/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid5 = _errs13 === errors;if(!valid5){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/platforms",schemaPath:"definitions_SubverseInfo#/definitions/platforms/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs10 === errors;}else {var valid1 = true;}if(valid1){if(data0.protocols !== undefined){let data11 = data0.protocols;const _errs25 = errors;const _errs26 = errors;if(errors === _errs26){if(Array.isArray(data11)){var valid10 = true;const len3 = data11.length;for(let i3=0; i3<len3; i3++){let data12 = data11[i3];const _errs28 = errors;if(errors === _errs28){if(data12 && typeof data12 == "object" && !Array.isArray(data12)){let missing3;if(((data12.id === undefined) && (missing3 = "id")) || ((data12.attr === undefined) && (missing3 = "attr"))){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/required",keyword:"required",params:{missingProperty: missing3},message:"must have required property '"+missing3+"'"}];return false;}else {if(data12.id !== undefined){const _errs30 = errors;if(typeof data12.id !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/id",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs30 === errors;}else {var valid11 = true;}if(valid11){if(data12.name !== undefined){const _errs32 = errors;if(typeof data12.name !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/name",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs32 === errors;}else {var valid11 = true;}if(valid11){if(data12.version !== undefined){const _errs34 = errors;if(typeof data12.version !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/version",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs34 === errors;}else {var valid11 = true;}if(valid11){if(data12.attr !== undefined){const _errs36 = errors;if(typeof data12.attr !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/attr",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/attr/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs36 === errors;}else {var valid11 = true;}if(valid11){if(data12.url !== undefined){const _errs38 = errors;if(typeof data12.url !== "string"){validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3+"/url",schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid11 = _errs38 === errors;}else {var valid11 = true;}}}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols/" + i3,schemaPath:"definitions_SubverseInfo#/definitions/protocols/items/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid10 = _errs28 === errors;if(!valid10){break;}}}else {validate20.errors = [{instancePath:instancePath+"/expanse/protocols",schemaPath:"definitions_SubverseInfo#/definitions/protocols/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid1 = _errs25 === errors;}else {var valid1 = true;}}}}}else {validate20.errors = [{instancePath:instancePath+"/expanse",schemaPath:"#/properties/expanse/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.subverse_info !== undefined){const _errs40 = errors;if("1.0" !== data.subverse_info){validate20.errors = [{instancePath:instancePath+"/subverse_info",schemaPath:"definitions_SubverseInfo#/definitions/_v/const",keyword:"const",params:{allowedValue: "1.0"},message:"must be equal to constant"}];return false;}var valid0 = _errs40 === errors;}else {var valid0 = true;}}}}else {validate20.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":{"expanse":true,"subverse_info":true},"dynamicProps":false,"dynamicItems":false};
|
|
2
2
|
|
|
3
3
|
// console.log('OUT', __name({variableName}) );
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
|
|
6
|
+
function l_LL_(obj, x) {
|
|
7
|
+
if (! obj || typeof obj !== 'object')
|
|
8
|
+
throw new Error('obj must be an object');
|
|
9
|
+
if (! Number.isSafeInteger(x) || x < 0)
|
|
10
|
+
throw new Error('Shift value must be a safe, non-negative integer');
|
|
11
|
+
|
|
12
|
+
const obj_new= {};
|
|
8
13
|
for (const [k,v] of Object.entries(obj)) {
|
|
9
|
-
if (
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
if (typeof v !== 'number' || ! Number.isFinite(v))
|
|
15
|
+
continue; // Skip non-numeric
|
|
16
|
+
obj_new[k] = v<<x;
|
|
12
17
|
}
|
|
13
|
-
return
|
|
18
|
+
return Object.freeze(obj_new);
|
|
14
19
|
}
|
|
15
20
|
|
|
16
21
|
//-------------------------------------------------------------------------------------------------
|
|
@@ -23,56 +28,85 @@ function handler_default_( /* ... */ ) {
|
|
|
23
28
|
|
|
24
29
|
//-------------------------------------------------------------------------------------------------
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
BitLogr.prototype['log']= function (nr_logged, /* ... */ ) {
|
|
33
|
-
// console.log('NOP')
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
set handler(fx) {
|
|
38
|
-
this._handler_log= fx;
|
|
39
|
-
}
|
|
31
|
+
function l_toBigInt_(obj_labels, obj, ignore= false) {
|
|
32
|
+
if (! obj_labels || typeof obj_labels !== 'object')
|
|
33
|
+
throw new Error('obj_labels must be an object');
|
|
34
|
+
if (! obj || typeof obj !== 'object')
|
|
35
|
+
throw new Error('obj must be an object');
|
|
40
36
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
let bigInt = BigInt(0);
|
|
38
|
+
for (const [k,v] of Object.entries(obj)) {
|
|
39
|
+
if ( ( ignore || v ) && obj_labels[k] !== undefined && typeof obj_labels[k] === 'number')
|
|
40
|
+
bigInt|= BigInt( obj_labels[k] );
|
|
41
|
+
// console.log('0b'+ bigInt.toString(2) );
|
|
45
42
|
}
|
|
43
|
+
return bigInt;
|
|
44
|
+
}
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
// let name= __name(label);
|
|
49
|
-
// _labels[name]= label[name];
|
|
50
|
-
// console.log(_labels);
|
|
51
|
-
// }
|
|
46
|
+
// console.log(l_toBigInt_({},{}))
|
|
52
47
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
this._Bint_toggled= l_toBigInt_(this._Bint_labels, obj);
|
|
48
|
+
const LOGR = (function () {
|
|
49
|
+
let _instance; // Private variable to hold the single instance
|
|
56
50
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
51
|
+
function _create_instance() {
|
|
52
|
+
// Private state (replacing constructor properties)
|
|
53
|
+
let _handler_log = handler_default_;
|
|
54
|
+
let _obj_labels = undefined;
|
|
55
|
+
let _Bint_toggled = BigInt(0);
|
|
61
56
|
|
|
62
|
-
|
|
63
|
-
if (
|
|
57
|
+
function _log_fxn(nr_logged, argsFn /* args */) {
|
|
58
|
+
if ((BigInt(nr_logged) & _Bint_toggled) === BigInt(0))
|
|
64
59
|
return false;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
60
|
+
|
|
61
|
+
const args = argsFn();
|
|
62
|
+
_handler_log.apply(this, args);
|
|
63
|
+
// _handler_log.apply(this, args);
|
|
70
64
|
return true;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
set handler(fx) {
|
|
69
|
+
_handler_log = fx;
|
|
70
|
+
},
|
|
71
|
+
get handler() {
|
|
72
|
+
return _handler_log;
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
get labels() { return _obj_labels; },
|
|
76
|
+
set labels(obj) {
|
|
77
|
+
_obj_labels = obj;
|
|
78
|
+
_Bint_toggled = BigInt(0);
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
// put= function(label, abbrv) {
|
|
82
|
+
// let name= __name(label);
|
|
83
|
+
// _labels[name]= label[name];
|
|
84
|
+
// console.log(_labels);
|
|
85
|
+
// }
|
|
86
|
+
|
|
87
|
+
get toggled() { return _Bint_toggled; },
|
|
88
|
+
set toggled(obj_toggled) {
|
|
89
|
+
_Bint_toggled= l_toBigInt_(_obj_labels, obj_toggled);
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
log(nr_logged, argsFn) {
|
|
93
|
+
|
|
94
|
+
return _log_fxn.call(this, nr_logged, argsFn); // Pass the thunk
|
|
95
|
+
}
|
|
71
96
|
};
|
|
72
97
|
}
|
|
73
98
|
|
|
74
|
-
//
|
|
75
|
-
|
|
99
|
+
// Public interface
|
|
100
|
+
return {
|
|
101
|
+
get_instance() {
|
|
102
|
+
if (!_instance) {
|
|
103
|
+
_instance = _create_instance(); // Lazy initialization
|
|
104
|
+
}
|
|
105
|
+
return _instance;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
})();
|
|
76
110
|
|
|
77
111
|
var jsonMsg_cjs = {};
|
|
78
112
|
|
|
@@ -82,77 +116,66 @@ function requireJsonMsg_cjs () {
|
|
|
82
116
|
if (hasRequiredJsonMsg_cjs) return jsonMsg_cjs;
|
|
83
117
|
hasRequiredJsonMsg_cjs = 1;
|
|
84
118
|
|
|
85
|
-
|
|
119
|
+
const schema_Msg = validate18;function validate18(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate18.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.id === undefined) && (missing0 = "id")) || ((data.referer === undefined) && (missing0 = "referer"))) || ((data.dt === undefined) && (missing0 = "dt"))){validate18.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.id !== undefined){const _errs1 = errors;if(typeof data.id !== "string"){validate18.errors = [{instancePath:instancePath+"/id",schemaPath:"#/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs1 === errors;}else {var valid0 = true;}if(valid0){if(data.dt !== undefined){const _errs3 = errors;if(typeof data.dt !== "string"){validate18.errors = [{instancePath:instancePath+"/dt",schemaPath:"#/properties/dt/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs3 === errors;}else {var valid0 = true;}}}}else {validate18.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate18.errors = vErrors;return errors === 0;}validate18.evaluated = {"props":{"id":true,"dt":true},"dynamicProps":false,"dynamicItems":false};const schema_Msg_msg = 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._msg === undefined) && (missing0 = "_msg")){validate19.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}}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 = {"dynamicProps":false,"dynamicItems":false};const schema_MsgAck_msg = validate20;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(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.ack === undefined) && (missing0 = "ack")){validate20.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}else {if(data.ack !== undefined){let data0 = data.ack;{if(data0 && typeof data0 == "object" && !Array.isArray(data0)){let missing1;if((data0.ok === undefined) && (missing1 = "ok")){validate20.errors = [{instancePath:instancePath+"/ack",schemaPath:"#/properties/ack/required",keyword:"required",params:{missingProperty: missing1},message:"must have required property '"+missing1+"'"}];return false;}else {if(data0.ok !== undefined){if(typeof data0.ok !== "boolean"){validate20.errors = [{instancePath:instancePath+"/ack/ok",schemaPath:"#/properties/ack/properties/ok/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}}}}else {validate20.errors = [{instancePath:instancePath+"/ack",schemaPath:"#/properties/ack/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}}}}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":{"ack":true},"dynamicProps":false,"dynamicItems":false};
|
|
86
120
|
|
|
87
|
-
const
|
|
121
|
+
const byteToHex = [];
|
|
122
|
+
for (let i = 0; i < 256; ++i) {
|
|
123
|
+
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
124
|
+
}
|
|
125
|
+
function unsafeStringify(arr, offset = 0) {
|
|
126
|
+
return (byteToHex[arr[offset + 0]] +
|
|
127
|
+
byteToHex[arr[offset + 1]] +
|
|
128
|
+
byteToHex[arr[offset + 2]] +
|
|
129
|
+
byteToHex[arr[offset + 3]] +
|
|
130
|
+
'-' +
|
|
131
|
+
byteToHex[arr[offset + 4]] +
|
|
132
|
+
byteToHex[arr[offset + 5]] +
|
|
133
|
+
'-' +
|
|
134
|
+
byteToHex[arr[offset + 6]] +
|
|
135
|
+
byteToHex[arr[offset + 7]] +
|
|
136
|
+
'-' +
|
|
137
|
+
byteToHex[arr[offset + 8]] +
|
|
138
|
+
byteToHex[arr[offset + 9]] +
|
|
139
|
+
'-' +
|
|
140
|
+
byteToHex[arr[offset + 10]] +
|
|
141
|
+
byteToHex[arr[offset + 11]] +
|
|
142
|
+
byteToHex[arr[offset + 12]] +
|
|
143
|
+
byteToHex[arr[offset + 13]] +
|
|
144
|
+
byteToHex[arr[offset + 14]] +
|
|
145
|
+
byteToHex[arr[offset + 15]]).toLowerCase();
|
|
146
|
+
}
|
|
88
147
|
|
|
89
|
-
// Unique ID creation requires a high quality random # generator. In the browser we therefore
|
|
90
|
-
// require the crypto API and do not support built-in fallback to lower quality random number
|
|
91
|
-
// generators (like Math.random()).
|
|
92
148
|
let getRandomValues;
|
|
93
149
|
const rnds8 = new Uint8Array(16);
|
|
94
150
|
function rng() {
|
|
95
|
-
// lazy load so that environments that need to polyfill have a chance to do so
|
|
96
|
-
if (!getRandomValues) {
|
|
97
|
-
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
|
|
98
|
-
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
|
|
99
|
-
|
|
100
151
|
if (!getRandomValues) {
|
|
101
|
-
|
|
152
|
+
if (typeof crypto === 'undefined' || !crypto.getRandomValues) {
|
|
153
|
+
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
|
154
|
+
}
|
|
155
|
+
getRandomValues = crypto.getRandomValues.bind(crypto);
|
|
102
156
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return getRandomValues(rnds8);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Convert array of 16 byte values to UUID string format of the form:
|
|
110
|
-
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
111
|
-
*/
|
|
112
|
-
|
|
113
|
-
const byteToHex = [];
|
|
114
|
-
|
|
115
|
-
for (let i = 0; i < 256; ++i) {
|
|
116
|
-
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function unsafeStringify(arr, offset = 0) {
|
|
120
|
-
// Note: Be careful editing this code! It's been tuned for performance
|
|
121
|
-
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
122
|
-
return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
|
|
157
|
+
return getRandomValues(rnds8);
|
|
123
158
|
}
|
|
124
159
|
|
|
125
160
|
const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
126
|
-
var native = {
|
|
127
|
-
randomUUID
|
|
128
|
-
};
|
|
161
|
+
var native = { randomUUID };
|
|
129
162
|
|
|
130
163
|
function v4(options, buf, offset) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
164
|
+
if (native.randomUUID && true && !options) {
|
|
165
|
+
return native.randomUUID();
|
|
166
|
+
}
|
|
167
|
+
options = options || {};
|
|
168
|
+
const rnds = options.random ?? options.rng?.() ?? rng();
|
|
169
|
+
if (rnds.length < 16) {
|
|
170
|
+
throw new Error('Random bytes length must be >= 16');
|
|
171
|
+
}
|
|
172
|
+
rnds[6] = (rnds[6] & 0x0f) | 0x40;
|
|
173
|
+
rnds[8] = (rnds[8] & 0x3f) | 0x80;
|
|
174
|
+
return unsafeStringify(rnds);
|
|
142
175
|
}
|
|
143
176
|
|
|
144
177
|
// console.log('OUT', __name({variableName}) );
|
|
145
178
|
|
|
146
|
-
function l_toBigInt_(ref, obj, ignore= false) {
|
|
147
|
-
console.assert(ref !== BigInt(0), 'no labels initialized');
|
|
148
|
-
let bigInt = BigInt(0);
|
|
149
|
-
for (const [k,v] of Object.entries(obj)) {
|
|
150
|
-
if ( ( ignore || v ) && ref[k])
|
|
151
|
-
bigInt|= BigInt( ref[k] );
|
|
152
|
-
// console.log('0b'+ bigInt.toString(2) );
|
|
153
|
-
}
|
|
154
|
-
return bigInt;
|
|
155
|
-
}
|
|
156
179
|
|
|
157
180
|
//-------------------------------------------------------------------------------------------------
|
|
158
181
|
|
|
@@ -164,87 +187,112 @@ function requireJsonMsg_cjs () {
|
|
|
164
187
|
|
|
165
188
|
//-------------------------------------------------------------------------------------------------
|
|
166
189
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
BitLogr.prototype['log']= function (nr_logged, /* ... */ ) {
|
|
174
|
-
// console.log('NOP')
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
set handler(fx) {
|
|
179
|
-
this._handler_log= fx;
|
|
180
|
-
}
|
|
190
|
+
function l_toBigInt_(obj_labels, obj, ignore= false) {
|
|
191
|
+
if (! obj_labels || typeof obj_labels !== 'object')
|
|
192
|
+
throw new Error('obj_labels must be an object');
|
|
193
|
+
if (! obj || typeof obj !== 'object')
|
|
194
|
+
throw new Error('obj must be an object');
|
|
181
195
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
196
|
+
let bigInt = BigInt(0);
|
|
197
|
+
for (const [k,v] of Object.entries(obj)) {
|
|
198
|
+
if ( ( ignore || v ) && obj_labels[k] !== undefined && typeof obj_labels[k] === 'number')
|
|
199
|
+
bigInt|= BigInt( obj_labels[k] );
|
|
200
|
+
// console.log('0b'+ bigInt.toString(2) );
|
|
186
201
|
}
|
|
202
|
+
return bigInt;
|
|
203
|
+
}
|
|
187
204
|
|
|
188
|
-
|
|
189
|
-
// let name= __name(label);
|
|
190
|
-
// _labels[name]= label[name];
|
|
191
|
-
// console.log(_labels);
|
|
192
|
-
// }
|
|
205
|
+
// console.log(l_toBigInt_({},{}))
|
|
193
206
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
this._Bint_toggled= l_toBigInt_(this._Bint_labels, obj);
|
|
207
|
+
const LOGR = (function () {
|
|
208
|
+
let _instance; // Private variable to hold the single instance
|
|
197
209
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
210
|
+
function _create_instance() {
|
|
211
|
+
// Private state (replacing constructor properties)
|
|
212
|
+
let _handler_log = handler_default_;
|
|
213
|
+
let _obj_labels = undefined;
|
|
214
|
+
let _Bint_toggled = BigInt(0);
|
|
202
215
|
|
|
203
|
-
|
|
204
|
-
if (
|
|
216
|
+
function _log_fxn(nr_logged, argsFn /* args */) {
|
|
217
|
+
if ((BigInt(nr_logged) & _Bint_toggled) === BigInt(0))
|
|
205
218
|
return false;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
219
|
+
|
|
220
|
+
const args = argsFn();
|
|
221
|
+
_handler_log.apply(this, args);
|
|
222
|
+
// _handler_log.apply(this, args);
|
|
211
223
|
return true;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return {
|
|
227
|
+
set handler(fx) {
|
|
228
|
+
_handler_log = fx;
|
|
229
|
+
},
|
|
230
|
+
get handler() {
|
|
231
|
+
return _handler_log;
|
|
232
|
+
},
|
|
233
|
+
|
|
234
|
+
get labels() { return _obj_labels; },
|
|
235
|
+
set labels(obj) {
|
|
236
|
+
_obj_labels = obj;
|
|
237
|
+
_Bint_toggled = BigInt(0);
|
|
238
|
+
},
|
|
239
|
+
|
|
240
|
+
// put= function(label, abbrv) {
|
|
241
|
+
// let name= __name(label);
|
|
242
|
+
// _labels[name]= label[name];
|
|
243
|
+
// console.log(_labels);
|
|
244
|
+
// }
|
|
245
|
+
|
|
246
|
+
get toggled() { return _Bint_toggled; },
|
|
247
|
+
set toggled(obj_toggled) {
|
|
248
|
+
_Bint_toggled= l_toBigInt_(_obj_labels, obj_toggled);
|
|
249
|
+
},
|
|
250
|
+
|
|
251
|
+
log(nr_logged, argsFn) {
|
|
252
|
+
|
|
253
|
+
return _log_fxn.call(this, nr_logged, argsFn); // Pass the thunk
|
|
254
|
+
}
|
|
212
255
|
};
|
|
213
256
|
}
|
|
214
257
|
|
|
215
|
-
//
|
|
216
|
-
|
|
258
|
+
// Public interface
|
|
259
|
+
return {
|
|
260
|
+
get_instance() {
|
|
261
|
+
if (!_instance) {
|
|
262
|
+
_instance = _create_instance(); // Lazy initialization
|
|
263
|
+
}
|
|
264
|
+
return _instance;
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
})();
|
|
217
269
|
|
|
218
|
-
let LOGR_=
|
|
270
|
+
let LOGR_= LOGR.get_instance();
|
|
271
|
+
const log_= LOGR_.log;
|
|
219
272
|
|
|
220
273
|
const l_= {
|
|
221
274
|
VALIDATION : 0b1 << 0,
|
|
222
275
|
};
|
|
276
|
+
LOGR_.labels= l_;
|
|
223
277
|
|
|
224
278
|
// TODO: use RFC3339 "timestamp"? https://ajv.js.org/json-type-definition.html
|
|
225
279
|
|
|
226
280
|
// "module" pattern to avoid "static" and "#" private : https://stackoverflow.com/a/1479341/298545
|
|
227
281
|
var JSON_Msg = (function() {
|
|
228
282
|
return {
|
|
229
|
-
merge
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
};
|
|
236
|
-
// https://stackoverflow.com/questions/684672/how-do-i-loop-through-or-enumerate-a-javascript-object
|
|
237
|
-
for (var key of Object.keys(json)) {
|
|
238
|
-
json_msg[key]= json[key];
|
|
239
|
-
}
|
|
240
|
-
return json_msg;
|
|
283
|
+
merge: function(json) {
|
|
284
|
+
return Object.assign({
|
|
285
|
+
id: v4(),
|
|
286
|
+
referer: null,
|
|
287
|
+
dt: new Date().toISOString()
|
|
288
|
+
}, json || {});
|
|
241
289
|
},
|
|
242
|
-
validate : function(json) {
|
|
243
|
-
const b_valid=
|
|
244
|
-
if (!b_valid)
|
|
245
|
-
|
|
290
|
+
validate : function (json) {
|
|
291
|
+
const b_valid = schema_Msg(json);
|
|
292
|
+
if (!b_valid)
|
|
293
|
+
log_(l_.VALIDATION, () => ['JSON_Msg: validate: ', schema_Msg.errors]);
|
|
246
294
|
return b_valid;
|
|
247
|
-
}
|
|
295
|
+
},
|
|
248
296
|
// TODO: requires a separate ajv module require, and JTD specific schema
|
|
249
297
|
// https://ajv.js.org/guide/getting-started.html#parsing-and-serializing-json
|
|
250
298
|
// static #ajv_parse_= ajv.compileParser(this.#schema_json_Msg);
|
|
@@ -253,26 +301,24 @@ function requireJsonMsg_cjs () {
|
|
|
253
301
|
// }
|
|
254
302
|
}
|
|
255
303
|
})();
|
|
256
|
-
|
|
304
|
+
|
|
257
305
|
var JSON_Msg_msg = (function() {
|
|
258
306
|
return {
|
|
259
|
-
create_with_msg_merge
|
|
260
|
-
|
|
261
|
-
json_msg._msg= _msg;
|
|
262
|
-
return json_msg;
|
|
307
|
+
create_with_msg_merge: function(_msg, json) {
|
|
308
|
+
return Object.assign(JSON_Msg.merge(json), { _msg });
|
|
263
309
|
},
|
|
264
310
|
validate : function(json) {
|
|
265
311
|
if (! JSON_Msg.validate(json))
|
|
266
312
|
return false;
|
|
267
|
-
const b_valid=
|
|
313
|
+
const b_valid= schema_Msg_msg(json);
|
|
268
314
|
if (!b_valid)
|
|
269
|
-
|
|
315
|
+
log_(l_.VALIDATION, () => ['JSON_Msg_msg: validate: ', schema_Msg_msg.errors]);
|
|
270
316
|
return b_valid;
|
|
271
317
|
}
|
|
272
318
|
}
|
|
273
319
|
})();
|
|
274
320
|
|
|
275
|
-
var
|
|
321
|
+
var JSON_MsgAck_msg = (function() {
|
|
276
322
|
return {
|
|
277
323
|
create_with_msgOk : function(_msg, b_ok= true) {
|
|
278
324
|
return JSON_Msg_msg.create_with_msg_merge(_msg, {
|
|
@@ -292,34 +338,38 @@ function requireJsonMsg_cjs () {
|
|
|
292
338
|
validate : function(json) {
|
|
293
339
|
if (! JSON_Msg_msg.validate(json))
|
|
294
340
|
return false;
|
|
295
|
-
const b_valid=
|
|
341
|
+
const b_valid= schema_MsgAck_msg(json);
|
|
296
342
|
if (!b_valid)
|
|
297
|
-
|
|
343
|
+
log_(l_.VALIDATION, () => ['JSON_MsgAck: validate: ', schema_MsgAck_msg.errors]);
|
|
298
344
|
return b_valid;
|
|
299
345
|
}
|
|
300
346
|
}
|
|
301
347
|
})();
|
|
302
348
|
|
|
303
349
|
jsonMsg_cjs.JSON_Msg = JSON_Msg;
|
|
304
|
-
jsonMsg_cjs.
|
|
350
|
+
jsonMsg_cjs.JSON_MsgAck_msg = JSON_MsgAck_msg;
|
|
305
351
|
jsonMsg_cjs.JSON_Msg_msg = JSON_Msg_msg;
|
|
352
|
+
jsonMsg_cjs.l = l_;
|
|
306
353
|
return jsonMsg_cjs;
|
|
307
354
|
}
|
|
308
355
|
|
|
309
356
|
var jsonMsg_cjsExports = requireJsonMsg_cjs();
|
|
310
357
|
|
|
311
|
-
let LOGR_=
|
|
358
|
+
let LOGR_= LOGR.get_instance();
|
|
359
|
+
const log_ = LOGR_.log;
|
|
360
|
+
|
|
361
|
+
Object.assign(jsonMsg_cjsExports.l, l_LL_(jsonMsg_cjsExports.l, 2)); // VALIDATION : 4
|
|
312
362
|
|
|
313
363
|
const l_= {
|
|
314
|
-
VALIDATION : 0b1 <<
|
|
364
|
+
VALIDATION : 0b1 << 2, //4
|
|
315
365
|
};
|
|
316
366
|
LOGR_.labels= l_;
|
|
317
367
|
|
|
318
368
|
LOGR_.toggled= {
|
|
319
|
-
// VALIDATION :
|
|
369
|
+
// VALIDATION : true
|
|
320
370
|
};
|
|
321
371
|
|
|
322
|
-
const kstr_VERSION= "0
|
|
372
|
+
const kstr_VERSION= "1.0";
|
|
323
373
|
|
|
324
374
|
// TODO: use RFC3339 "timestamp"? https://ajv.js.org/json-type-definition.html
|
|
325
375
|
|
|
@@ -338,7 +388,7 @@ var JSON_MsgSubverseInfo_query = (function() {
|
|
|
338
388
|
return false;
|
|
339
389
|
|
|
340
390
|
if (! schema_SubverseInfo_query(json)) {
|
|
341
|
-
|
|
391
|
+
log_(l_.VALIDATION, () => ['schema_SubverseInfo_query_: validate: ', schema_SubverseInfo_query.errors]);
|
|
342
392
|
return false;
|
|
343
393
|
}
|
|
344
394
|
|
|
@@ -367,8 +417,13 @@ var JSON_MsgSubverseInfo_expanse = (function() {
|
|
|
367
417
|
validate : function(json) {
|
|
368
418
|
if (! jsonMsg_cjsExports.JSON_Msg_msg.validate(json))
|
|
369
419
|
return false;
|
|
420
|
+
|
|
421
|
+
if (json._msg)
|
|
422
|
+
if (! JSON_MsgSubverseInfo_query.validate(json._msg))
|
|
423
|
+
return false;
|
|
424
|
+
|
|
370
425
|
if (! schema_SubverseInfo_expanse(json)) {
|
|
371
|
-
|
|
426
|
+
log_(l_.VALIDATION, () => ['JSON_SubverseInfo_expanse: validate: ', schema_SubverseInfo_expanse.errors]);
|
|
372
427
|
return false;
|
|
373
428
|
}
|
|
374
429
|
return true;
|
|
@@ -376,4 +431,4 @@ var JSON_MsgSubverseInfo_expanse = (function() {
|
|
|
376
431
|
}
|
|
377
432
|
})();
|
|
378
433
|
|
|
379
|
-
export { JSON_MsgSubverseInfo_expanse, JSON_MsgSubverseInfo_query };
|
|
434
|
+
export { JSON_MsgSubverseInfo_expanse, JSON_MsgSubverseInfo_query, l_ as l };
|