@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.
@@ -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
- function l_toBigInt_(ref, obj, ignore= false) {
6
- console.assert(ref !== BigInt(0), 'no labels initialized');
7
- let bigInt = BigInt(0);
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 ( ( ignore || v ) && ref[k])
10
- bigInt|= BigInt( ref[k] );
11
- // console.log('0b'+ bigInt.toString(2) );
14
+ if (typeof v !== 'number' || ! Number.isFinite(v))
15
+ continue; // Skip non-numeric
16
+ obj_new[k] = v<<x;
12
17
  }
13
- return bigInt;
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
- class BitLogr {
27
- constructor() {
28
- this._handler_log= handler_default_;
29
- this._Bint_labels= BigInt(0);
30
- this._Bint_toggled= BigInt(0);
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
- get labels() { return this._Bint_labels; }
42
- set labels(obj) {
43
- this._Bint_labels= obj;
44
- this._Bint_toggled= BigInt(0);
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
- // put= function(label, abbrv) {
48
- // let name= __name(label);
49
- // _labels[name]= label[name];
50
- // console.log(_labels);
51
- // }
46
+ // console.log(l_toBigInt_({},{}))
52
47
 
53
- get toggled() { return this._Bint_toggled; }
54
- set toggled(obj) {
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
- if (this._Bint_toggled === BigInt(0)) {
58
- console.log('adlkjasdlfk');
59
- return;
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
- BitLogr.prototype['log']= function (nr_logged, /* ... */ ) {
63
- if ( (BigInt(nr_logged) & this._Bint_toggled) === BigInt(0))
57
+ function _log_fxn(nr_logged, argsFn /* args */) {
58
+ if ((BigInt(nr_logged) & _Bint_toggled) === BigInt(0))
64
59
  return false;
65
-
66
- var args = Array.prototype.slice.call(arguments);
67
- args.shift(); // remove first arg: nr_logged
68
- this._handler_log.apply(this, args);
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
- // log= function (nr_logged, /* ... */ ) {}
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
- Object.defineProperty(jsonMsg_cjs, '__esModule', { value: true });
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 validate_Msg = validate10;function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;{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"))){validate10.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"){validate10.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.referer !== undefined){let data1 = data.referer;const _errs3 = errors;{if(Array.isArray(data1)){if(data1.length > 2){validate10.errors = [{instancePath:instancePath+"/referer",schemaPath:"#/properties/referer/maxItems",keyword:"maxItems",params:{limit: 2},message:"must NOT have more than 2 items"}];return false;}else {if(data1.length < 2){validate10.errors = [{instancePath:instancePath+"/referer",schemaPath:"#/properties/referer/minItems",keyword:"minItems",params:{limit: 2},message:"must NOT have fewer than 2 items"}];return false;}else {var valid1 = true;const len0 = data1.length;for(let i0=0; i0<len0; i0++){const _errs5 = errors;if(typeof data1[i0] !== "string"){validate10.errors = [{instancePath:instancePath+"/referer/" + i0,schemaPath:"#/properties/referer/items/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid1 = _errs5 === errors;if(!valid1){break;}}}}}else {validate10.errors = [{instancePath:instancePath+"/referer",schemaPath:"#/properties/referer/type",keyword:"type",params:{type: "array"},message:"must be array"}];return false;}}var valid0 = _errs3 === errors;}else {var valid0 = true;}if(valid0){if(data.dt !== undefined){const _errs7 = errors;if(typeof data.dt !== "string"){validate10.errors = [{instancePath:instancePath+"/dt",schemaPath:"#/properties/dt/type",keyword:"type",params:{type: "string"},message:"must be string"}];return false;}var valid0 = _errs7 === errors;}else {var valid0 = true;}}}}}else {validate10.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate10.errors = vErrors;return errors === 0;}const validate_Msg_msg = validate11;function validate11(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data._msg === undefined) && (missing0 = "_msg")){validate11.errors = [{instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: missing0},message:"must have required property '"+missing0+"'"}];return false;}}else {validate11.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate11.errors = vErrors;return errors === 0;}const validate_MsgAck = validate12;function validate12(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;{if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data.ack === undefined) && (missing0 = "ack")){validate12.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")){validate12.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"){validate12.errors = [{instancePath:instancePath+"/ack/ok",schemaPath:"#/properties/ack/properties/ok/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"}];return false;}}}}else {validate12.errors = [{instancePath:instancePath+"/ack",schemaPath:"#/properties/ack/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}}}}else {validate12.errors = [{instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"}];return false;}}validate12.errors = vErrors;return errors === 0;}
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
- throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
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
- if (native.randomUUID && !buf && !options) {
132
- return native.randomUUID();
133
- }
134
-
135
- options = options || {};
136
- const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
137
-
138
- rnds[6] = rnds[6] & 0x0f | 0x40;
139
- rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
140
-
141
- return unsafeStringify(rnds);
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
- class BitLogr {
168
- constructor() {
169
- this._handler_log= handler_default_;
170
- this._Bint_labels= BigInt(0);
171
- this._Bint_toggled= BigInt(0);
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
- get labels() { return this._Bint_labels; }
183
- set labels(obj) {
184
- this._Bint_labels= obj;
185
- this._Bint_toggled= BigInt(0);
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
- // put= function(label, abbrv) {
189
- // let name= __name(label);
190
- // _labels[name]= label[name];
191
- // console.log(_labels);
192
- // }
205
+ // console.log(l_toBigInt_({},{}))
193
206
 
194
- get toggled() { return this._Bint_toggled; }
195
- set toggled(obj) {
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
- if (this._Bint_toggled === BigInt(0)) {
199
- console.log('adlkjasdlfk');
200
- return;
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
- BitLogr.prototype['log']= function (nr_logged, /* ... */ ) {
204
- if ( (BigInt(nr_logged) & this._Bint_toggled) === BigInt(0))
216
+ function _log_fxn(nr_logged, argsFn /* args */) {
217
+ if ((BigInt(nr_logged) & _Bint_toggled) === BigInt(0))
205
218
  return false;
206
-
207
- var args = Array.prototype.slice.call(arguments);
208
- args.shift(); // remove first arg: nr_logged
209
- this._handler_log.apply(this, args);
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
- // log= function (nr_logged, /* ... */ ) {}
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_= new BitLogr();
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 : function(json) {
230
- const dt_Msg= new Date();
231
- let json_msg= {
232
- id : v4(),
233
- referer : null,
234
- dt : dt_Msg.toISOString(),
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= validate_Msg(json);
244
- if (!b_valid)
245
- LOGR_.log(l_.VALIDATION, 'JSON_Msg: validate: ', validate_Msg.errors);
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 : function(_msg, json) {
260
- let json_msg= JSON_Msg.merge(json);
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= validate_Msg_msg(json);
313
+ const b_valid= schema_Msg_msg(json);
268
314
  if (!b_valid)
269
- LOGR_.log(l_.VALIDATION, 'JSON_Msg_msg: validate: ', validate_Msg_msg.errors);
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 JSON_MsgAck = (function() {
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= validate_MsgAck(json);
341
+ const b_valid= schema_MsgAck_msg(json);
296
342
  if (!b_valid)
297
- LOGR_.log(l_.VALIDATION, 'JSON_MsgAck: validate: ', validate_MsgAck.errors);
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.JSON_MsgAck = JSON_MsgAck;
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_= new BitLogr();
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 << 0,
364
+ VALIDATION : 0b1 << 2, //4
315
365
  };
316
366
  LOGR_.labels= l_;
317
367
 
318
368
  LOGR_.toggled= {
319
- // VALIDATION : 1
369
+ // VALIDATION : true
320
370
  };
321
371
 
322
- const kstr_VERSION= "0.2";
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
- LOGR_.log(l_.VALIDATION, 'schema_SubverseInfo_query_: validate: ', schema_SubverseInfo_query.errors);
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
- LOGR_.log(l_.VALIDATION, 'JSON_SubverseInfo_expanse: validate: ', schema_SubverseInfo_expanse.errors);
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 };