@biorate/config 1.90.0 → 1.91.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.
@@ -0,0 +1 @@
1
+ {"/www/biorate/core/packages/@biorate/config/src/index.ts":{"path":"/www/biorate/core/packages/@biorate/config/src/index.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":19},"end":{"line":15,"column":1}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":126}},"13":{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},"14":{"start":{"line":14,"column":95},"end":{"line":14,"column":126}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":62}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":43}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":43}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":50},"end":{"line":13,"column":51}},"loc":{"start":{"line":13,"column":71},"end":{"line":15,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{"line":5,"column":4},"end":{"line":7,"column":5}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{"line":10,"column":4},"end":{"line":10,"column":33}}],"line":10},"8":{"loc":{"start":{"line":13,"column":19},"end":{"line":15,"column":1}},"type":"binary-expr","locations":[{"start":{"line":13,"column":20},"end":{"line":13,"column":24}},{"start":{"line":13,"column":28},"end":{"line":13,"column":45}},{"start":{"line":13,"column":50},"end":{"line":15,"column":1}}],"line":13},"9":{"loc":{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},"type":"if","locations":[{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},{"start":{"line":14,"column":21},"end":{"line":14,"column":126}}],"line":14},"10":{"loc":{"start":{"line":14,"column":25},"end":{"line":14,"column":93}},"type":"binary-expr","locations":[{"start":{"line":14,"column":25},"end":{"line":14,"column":40}},{"start":{"line":14,"column":44},"end":{"line":14,"column":93}}],"line":14}},"s":{"0":1,"1":2,"2":2,"3":2,"4":2,"5":2,"6":1,"7":2,"8":0,"9":0,"10":0,"11":1,"12":3,"13":2,"14":2,"15":1,"16":1,"17":1,"18":1},"f":{"0":2,"1":1,"2":0,"3":3},"b":{"0":[1,1,1],"1":[1,0],"2":[2,0],"3":[2,0],"4":[2,2],"5":[0,2],"6":[2,0],"7":[0,0],"8":[1,1,1],"9":[2,0],"10":[2,2]},"inputSourceMap":{"version":3,"file":"/www/biorate/core/packages/@biorate/config/src/index.ts","sources":["/www/biorate/core/packages/@biorate/config/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,gDAA8B","sourcesContent":["export * from './config';\nexport * from './errors';\nexport * from '../interfaces';\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"baec144c0b1c5275a2b10d0bca1f993d069dcab4","contentHash":"f397226aef3381560905a0f1aa08b2355fb3e6d33aeb2489af644d7b5ae78109"},"/www/biorate/core/packages/@biorate/config/src/config.ts":{"path":"/www/biorate/core/packages/@biorate/config/src/config.ts","statementMap":{"0":{"start":{"line":2,"column":17},"end":{"line":7,"column":1}},"1":{"start":{"line":3,"column":12},"end":{"line":3,"column":28}},"2":{"start":{"line":3,"column":34},"end":{"line":3,"column":125}},"3":{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},"4":{"start":{"line":4,"column":79},"end":{"line":4,"column":131}},"5":{"start":{"line":5,"column":9},"end":{"line":5,"column":150}},"6":{"start":{"line":5,"column":22},"end":{"line":5,"column":43}},"7":{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},"8":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"9":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"10":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"11":{"start":{"line":9,"column":0},"end":{"line":9,"column":24}},"12":{"start":{"line":10,"column":20},"end":{"line":10,"column":49}},"13":{"start":{"line":11,"column":17},"end":{"line":11,"column":34}},"14":{"start":{"line":12,"column":17},"end":{"line":12,"column":36}},"15":{"start":{"line":13,"column":19},"end":{"line":13,"column":40}},"16":{"start":{"line":14,"column":17},"end":{"line":14,"column":36}},"17":{"start":{"line":15,"column":13},"end":{"line":60,"column":1}},"18":{"start":{"line":17,"column":8},"end":{"line":17,"column":23}},"19":{"start":{"line":20,"column":23},"end":{"line":20,"column":32}},"20":{"start":{"line":21,"column":8},"end":{"line":21,"column":61}},"21":{"start":{"line":22,"column":8},"end":{"line":22,"column":59}},"22":{"start":{"line":23,"column":8},"end":{"line":23,"column":61}},"23":{"start":{"line":24,"column":8},"end":{"line":24,"column":63}},"24":{"start":{"line":25,"column":8},"end":{"line":25,"column":60}},"25":{"start":{"line":26,"column":8},"end":{"line":26,"column":28}},"26":{"start":{"line":29,"column":25},"end":{"line":29,"column":49}},"27":{"start":{"line":30,"column":8},"end":{"line":33,"column":11}},"28":{"start":{"line":31,"column":12},"end":{"line":32,"column":45}},"29":{"start":{"line":32,"column":16},"end":{"line":32,"column":45}},"30":{"start":{"line":36,"column":8},"end":{"line":40,"column":9}},"31":{"start":{"line":37,"column":12},"end":{"line":38,"column":66}},"32":{"start":{"line":38,"column":16},"end":{"line":38,"column":66}},"33":{"start":{"line":39,"column":12},"end":{"line":39,"column":23}},"34":{"start":{"line":41,"column":23},"end":{"line":41,"column":57}},"35":{"start":{"line":42,"column":8},"end":{"line":49,"column":9}},"36":{"start":{"line":44,"column":16},"end":{"line":44,"column":45}},"37":{"start":{"line":46,"column":16},"end":{"line":46,"column":65}},"38":{"start":{"line":48,"column":16},"end":{"line":48,"column":30}},"39":{"start":{"line":52,"column":8},"end":{"line":52,"column":50}},"40":{"start":{"line":55,"column":8},"end":{"line":55,"column":50}},"41":{"start":{"line":58,"column":8},"end":{"line":58,"column":45}},"42":{"start":{"line":61,"column":0},"end":{"line":67,"column":2}},"43":{"start":{"line":68,"column":0},"end":{"line":70,"column":11}},"44":{"start":{"line":71,"column":0},"end":{"line":71,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":46},"end":{"line":2,"column":47}},"loc":{"start":{"line":2,"column":87},"end":{"line":7,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":18},"end":{"line":18,"column":5}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":20},"end":{"line":27,"column":5}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":23},"end":{"line":34,"column":5}},"line":28},"4":{"name":"(anonymous_4)","decl":{"start":{"line":30,"column":40},"end":{"line":30,"column":41}},"loc":{"start":{"line":30,"column":57},"end":{"line":33,"column":9}},"line":30},"5":{"name":"(anonymous_5)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":19},"end":{"line":50,"column":5}},"line":35},"6":{"name":"(anonymous_6)","decl":{"start":{"line":51,"column":4},"end":{"line":51,"column":5}},"loc":{"start":{"line":51,"column":14},"end":{"line":53,"column":5}},"line":51},"7":{"name":"(anonymous_7)","decl":{"start":{"line":54,"column":4},"end":{"line":54,"column":5}},"loc":{"start":{"line":54,"column":21},"end":{"line":56,"column":5}},"line":54},"8":{"name":"(anonymous_8)","decl":{"start":{"line":57,"column":4},"end":{"line":57,"column":5}},"loc":{"start":{"line":57,"column":16},"end":{"line":59,"column":5}},"line":57}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":17},"end":{"line":7,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":18},"end":{"line":2,"column":22}},{"start":{"line":2,"column":26},"end":{"line":2,"column":41}},{"start":{"line":2,"column":46},"end":{"line":7,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":34},"end":{"line":3,"column":125}},"type":"cond-expr","locations":[{"start":{"line":3,"column":42},"end":{"line":3,"column":48}},{"start":{"line":3,"column":51},"end":{"line":3,"column":125}}],"line":3},"2":{"loc":{"start":{"line":3,"column":51},"end":{"line":3,"column":125}},"type":"cond-expr","locations":[{"start":{"line":3,"column":67},"end":{"line":3,"column":118}},{"start":{"line":3,"column":121},"end":{"line":3,"column":125}}],"line":3},"3":{"loc":{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":5,"column":150}},{"start":{"line":4,"column":4},"end":{"line":5,"column":150}}],"line":4},"4":{"loc":{"start":{"line":4,"column":8},"end":{"line":4,"column":77}},"type":"binary-expr","locations":[{"start":{"line":4,"column":8},"end":{"line":4,"column":35}},{"start":{"line":4,"column":39},"end":{"line":4,"column":77}}],"line":4},"5":{"loc":{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},"type":"if","locations":[{"start":{"line":5,"column":58},"end":{"line":5,"column":150}},{"start":{"line":5,"column":58},"end":{"line":5,"column":150}}],"line":5},"6":{"loc":{"start":{"line":5,"column":85},"end":{"line":5,"column":149}},"type":"binary-expr","locations":[{"start":{"line":5,"column":86},"end":{"line":5,"column":143}},{"start":{"line":5,"column":148},"end":{"line":5,"column":149}}],"line":5},"7":{"loc":{"start":{"line":5,"column":86},"end":{"line":5,"column":143}},"type":"cond-expr","locations":[{"start":{"line":5,"column":94},"end":{"line":5,"column":98}},{"start":{"line":5,"column":101},"end":{"line":5,"column":143}}],"line":5},"8":{"loc":{"start":{"line":5,"column":101},"end":{"line":5,"column":143}},"type":"cond-expr","locations":[{"start":{"line":5,"column":109},"end":{"line":5,"column":126}},{"start":{"line":5,"column":129},"end":{"line":5,"column":143}}],"line":5},"9":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":62}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":16}},{"start":{"line":6,"column":20},"end":{"line":6,"column":21}},{"start":{"line":6,"column":25},"end":{"line":6,"column":62}}],"line":6},"10":{"loc":{"start":{"line":31,"column":12},"end":{"line":32,"column":45}},"type":"if","locations":[{"start":{"line":31,"column":12},"end":{"line":32,"column":45}},{"start":{"line":31,"column":12},"end":{"line":32,"column":45}}],"line":31},"11":{"loc":{"start":{"line":36,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":40,"column":9}},{"start":{"line":36,"column":8},"end":{"line":40,"column":9}}],"line":36},"12":{"loc":{"start":{"line":37,"column":12},"end":{"line":38,"column":66}},"type":"if","locations":[{"start":{"line":37,"column":12},"end":{"line":38,"column":66}},{"start":{"line":37,"column":12},"end":{"line":38,"column":66}}],"line":37},"13":{"loc":{"start":{"line":42,"column":8},"end":{"line":49,"column":9}},"type":"switch","locations":[{"start":{"line":43,"column":12},"end":{"line":44,"column":45}},{"start":{"line":45,"column":12},"end":{"line":46,"column":65}},{"start":{"line":47,"column":12},"end":{"line":48,"column":30}}],"line":42},"14":{"loc":{"start":{"line":46,"column":23},"end":{"line":46,"column":64}},"type":"cond-expr","locations":[{"start":{"line":46,"column":32},"end":{"line":46,"column":55}},{"start":{"line":46,"column":58},"end":{"line":46,"column":64}}],"line":46}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":20,"20":20,"21":20,"22":20,"23":20,"24":20,"25":20,"26":2,"27":2,"28":6,"29":4,"30":24,"31":2,"32":1,"33":1,"34":22,"35":22,"36":16,"37":2,"38":4,"39":30,"40":1,"41":14,"42":1,"43":1,"44":1},"f":{"0":1,"1":1,"2":20,"3":2,"4":6,"5":24,"6":30,"7":1,"8":14},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[1,0],"4":[1,1],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[1,0,0],"10":[4,2],"11":[2,22],"12":[1,1],"13":[16,2,4],"14":[2,0]},"inputSourceMap":{"version":3,"file":"/www/biorate/core/packages/@biorate/config/src/config.ts","sources":["/www/biorate/core/packages/@biorate/config/src/config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kDAAgD;AAChD,mCAA4D;AAC5D,qCAAqC;AACrC,yCAAsC;AACtC,qCAAoD;AAIpD,IAAa,MAAM,GAAnB,MAAa,MAAM;IAAnB;QAWY,SAAI,GAAG,EAAE,CAAC;IA6HtB,CAAC;IAxHW,QAAQ,CAAC,KAAa;QAC9B,MAAM,MAAM,GAAY,EAAE,KAAK,EAAE,CAAC;QAClC,mBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,mBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,mBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5C,mBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAKS,UAAU,CAAC,MAAe;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;YAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAuBM,GAAG,CAAc,IAAkB,EAAE,GAAO;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,GAAG,KAAK,SAAS;gBAAE,MAAM,IAAI,iCAAwB,CAAC,IAAI,CAAC,CAAC;YAChE,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,MAAM,GAAQ,IAAA,YAAG,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,QAAQ,OAAO,MAAM,EAAE;YACrB,KAAK,QAAQ;gBACX,OAAoB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAE,CAAC;YAC7C,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnD;gBACE,OAAO,MAAM,CAAC;SACjB;IACH,CAAC;IAgBM,GAAG,CAAC,IAAkB;QAC3B,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAiBM,GAAG,CAAC,IAAkB,EAAE,KAAc;QAC3C,IAAA,YAAG,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAyBM,KAAK,CAAC,IAAa;QACxB,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;;AAtIsB,eAAQ,GAAG;IAChC,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;CACZ,AAN8B,CAM7B;AAPS,MAAM;IADlB,IAAA,sBAAU,GAAE;GACA,MAAM,CAwIlB;AAxIY,wBAAM","sourcesContent":["import { injectable } from '@biorate/inversion';\nimport { merge, get, has, set, PropertyPath } from 'lodash';\nimport * as traverse from 'traverse';\nimport { Template } from './template';\nimport { UndefinedConfigPathError } from './errors';\nimport { IConfig, IResult } from '../interfaces';\n\n@injectable()\nexport class Config implements IConfig {\n public static readonly Template = {\n string: true,\n link: true,\n regexp: true,\n function: true,\n empty: true,\n };\n /**\n * @description Data storage\n * */\n protected data = {};\n\n /**\n * @description Set template value\n * */\n protected template(value: string) {\n const result: IResult = { value };\n Template.string.call(this, value, result);\n Template.link.call(this, value, result);\n Template.regexp.call(this, value, result);\n Template.function.call(this, value, result);\n Template.empty.call(this, value, result);\n return result.value;\n }\n\n /**\n * @description Walk object recursive to templatize internal values\n * */\n protected templatize(object: unknown) {\n const template = this.template.bind(this);\n return traverse(object).forEach(function (value) {\n if (typeof value === 'string') this.update(template(value));\n });\n }\n\n /**\n * @description Get config property by path\n * @param path - data path\n * @param def - default value\n * @example\n * ```\n * import { Config } from '@biorate/config';\n *\n * const config = new Config();\n *\n * config.set('a', 1);\n *\n * console.log(config.get('a')); // 1\n * console.log(config.get('b', 2)); // 2\n * console.log(config.get('b')); // UndefinedConfigPathError: Undefined config path [b]\n * // at Config.get (src/index.ts:2:1608)\n * // at Context.<anonymous> (tests/index.spec.ts:19:24)\n * // at processImmediate (node:internal/timers:464:21)\n *\n * ```\n * */\n public get<T = unknown>(path: PropertyPath, def?: T): T {\n if (!this.has(path)) {\n if (def === undefined) throw new UndefinedConfigPathError(path);\n return def;\n }\n const result: any = get(this.data, path);\n switch (typeof result) {\n case 'string':\n return <T>(<unknown>this.template(result));\n case 'object':\n return result ? this.templatize(result) : result;\n default:\n return result;\n }\n }\n\n /**\n * @description Has config property by path\n * @param path - data path\n * @example\n * ```\n * import { Config } from '@biorate/config';\n *\n * const config = new Config();\n *\n * config.set('a', 1);\n *\n * console.log(config.has('a')); // true\n * ```\n * */\n public has(path: PropertyPath) {\n return has(this.data, path);\n }\n\n /**\n * @description Set config property by path\n * @param path - data path\n * @param value - data value\n * @example\n * ```\n * import { Config } from '@biorate/config';\n *\n * const config = new Config();\n *\n * config.set('a', 1);\n *\n * console.log(config.get('a')); // 1\n * ```\n * */\n public set(path: PropertyPath, value: unknown) {\n set(this.data, path, value);\n }\n\n /**\n * @description Merge config data\n * @param data - data object\n * @example\n * ```\n * import { Config } from '@biorate/config';\n *\n * const config = new Config();\n *\n * config.merge({\n * a: { b: { c: 1 } },\n * });\n *\n * config.merge({\n * a: { b: { d: 2 } },\n * });\n *\n * console.log(config.has('a')); // true\n * console.log(config.has('a.b')); // true\n * console.log(config.get('a.b.c')); // 1\n * console.log(config.get('a.b.d')); // 2\n * ```\n * */\n public merge(data: unknown) {\n merge(this.data, data);\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bb2b421a841d960a300b454b013aa67ea79e3a13","contentHash":"36664978ae6b4d97f487e29a5005ba8b5d2645e5d2875ed7eddcf7a5d467b4ec"},"/www/biorate/core/packages/@biorate/config/src/template.ts":{"path":"/www/biorate/core/packages/@biorate/config/src/template.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":26}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":36}},"3":{"start":{"line":7,"column":8},"end":{"line":8,"column":19}},"4":{"start":{"line":8,"column":12},"end":{"line":8,"column":19}},"5":{"start":{"line":9,"column":21},"end":{"line":9,"column":38}},"6":{"start":{"line":10,"column":8},"end":{"line":12,"column":78}},"7":{"start":{"line":11,"column":12},"end":{"line":12,"column":78}},"8":{"start":{"line":12,"column":16},"end":{"line":12,"column":78}},"9":{"start":{"line":16,"column":8},"end":{"line":17,"column":19}},"10":{"start":{"line":17,"column":12},"end":{"line":17,"column":19}},"11":{"start":{"line":18,"column":21},"end":{"line":18,"column":39}},"12":{"start":{"line":19,"column":22},"end":{"line":19,"column":90}},"13":{"start":{"line":20,"column":8},"end":{"line":21,"column":43}},"14":{"start":{"line":21,"column":12},"end":{"line":21,"column":43}},"15":{"start":{"line":24,"column":8},"end":{"line":25,"column":19}},"16":{"start":{"line":25,"column":12},"end":{"line":25,"column":19}},"17":{"start":{"line":26,"column":21},"end":{"line":26,"column":51}},"18":{"start":{"line":27,"column":22},"end":{"line":27,"column":40}},"19":{"start":{"line":28,"column":8},"end":{"line":29,"column":150}},"20":{"start":{"line":29,"column":12},"end":{"line":29,"column":150}},"21":{"start":{"line":32,"column":8},"end":{"line":33,"column":19}},"22":{"start":{"line":33,"column":12},"end":{"line":33,"column":19}},"23":{"start":{"line":34,"column":21},"end":{"line":34,"column":50}},"24":{"start":{"line":35,"column":22},"end":{"line":35,"column":40}},"25":{"start":{"line":36,"column":8},"end":{"line":37,"column":197}},"26":{"start":{"line":37,"column":12},"end":{"line":37,"column":197}},"27":{"start":{"line":41,"column":8},"end":{"line":42,"column":19}},"28":{"start":{"line":42,"column":12},"end":{"line":42,"column":19}},"29":{"start":{"line":43,"column":21},"end":{"line":43,"column":39}},"30":{"start":{"line":44,"column":22},"end":{"line":44,"column":90}},"31":{"start":{"line":45,"column":8},"end":{"line":58,"column":9}},"32":{"start":{"line":46,"column":12},"end":{"line":57,"column":36}},"33":{"start":{"line":47,"column":16},"end":{"line":47,"column":34}},"34":{"start":{"line":48,"column":17},"end":{"line":57,"column":36}},"35":{"start":{"line":49,"column":16},"end":{"line":49,"column":34}},"36":{"start":{"line":50,"column":17},"end":{"line":57,"column":36}},"37":{"start":{"line":51,"column":16},"end":{"line":51,"column":41}},"38":{"start":{"line":52,"column":17},"end":{"line":57,"column":36}},"39":{"start":{"line":53,"column":16},"end":{"line":53,"column":36}},"40":{"start":{"line":54,"column":17},"end":{"line":57,"column":36}},"41":{"start":{"line":55,"column":16},"end":{"line":55,"column":34}},"42":{"start":{"line":57,"column":16},"end":{"line":57,"column":36}},"43":{"start":{"line":61,"column":0},"end":{"line":61,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":33},"end":{"line":13,"column":5}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":31},"end":{"line":22,"column":5}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":33},"end":{"line":30,"column":5}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":4},"end":{"line":31,"column":5}},"loc":{"start":{"line":31,"column":35},"end":{"line":38,"column":5}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":4},"end":{"line":39,"column":5}},"loc":{"start":{"line":39,"column":32},"end":{"line":59,"column":5}},"line":39}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":8},"end":{"line":8,"column":19}},"type":"if","locations":[{"start":{"line":7,"column":8},"end":{"line":8,"column":19}},{"start":{"line":7,"column":8},"end":{"line":8,"column":19}}],"line":7},"1":{"loc":{"start":{"line":11,"column":12},"end":{"line":12,"column":78}},"type":"if","locations":[{"start":{"line":11,"column":12},"end":{"line":12,"column":78}},{"start":{"line":11,"column":12},"end":{"line":12,"column":78}}],"line":11},"2":{"loc":{"start":{"line":16,"column":8},"end":{"line":17,"column":19}},"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":17,"column":19}},{"start":{"line":16,"column":8},"end":{"line":17,"column":19}}],"line":16},"3":{"loc":{"start":{"line":19,"column":22},"end":{"line":19,"column":90}},"type":"cond-expr","locations":[{"start":{"line":19,"column":76},"end":{"line":19,"column":82}},{"start":{"line":19,"column":85},"end":{"line":19,"column":90}}],"line":19},"4":{"loc":{"start":{"line":19,"column":22},"end":{"line":19,"column":73}},"type":"binary-expr","locations":[{"start":{"line":19,"column":22},"end":{"line":19,"column":56}},{"start":{"line":19,"column":60},"end":{"line":19,"column":73}}],"line":19},"5":{"loc":{"start":{"line":20,"column":8},"end":{"line":21,"column":43}},"type":"if","locations":[{"start":{"line":20,"column":8},"end":{"line":21,"column":43}},{"start":{"line":20,"column":8},"end":{"line":21,"column":43}}],"line":20},"6":{"loc":{"start":{"line":24,"column":8},"end":{"line":25,"column":19}},"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":25,"column":19}},{"start":{"line":24,"column":8},"end":{"line":25,"column":19}}],"line":24},"7":{"loc":{"start":{"line":28,"column":8},"end":{"line":29,"column":150}},"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":29,"column":150}},{"start":{"line":28,"column":8},"end":{"line":29,"column":150}}],"line":28},"8":{"loc":{"start":{"line":28,"column":12},"end":{"line":28,"column":128}},"type":"binary-expr","locations":[{"start":{"line":28,"column":13},"end":{"line":28,"column":67}},{"start":{"line":28,"column":73},"end":{"line":28,"column":127}}],"line":28},"9":{"loc":{"start":{"line":28,"column":13},"end":{"line":28,"column":67}},"type":"cond-expr","locations":[{"start":{"line":28,"column":50},"end":{"line":28,"column":56}},{"start":{"line":28,"column":59},"end":{"line":28,"column":67}}],"line":28},"10":{"loc":{"start":{"line":28,"column":13},"end":{"line":28,"column":47}},"type":"binary-expr","locations":[{"start":{"line":28,"column":13},"end":{"line":28,"column":27}},{"start":{"line":28,"column":31},"end":{"line":28,"column":47}}],"line":28},"11":{"loc":{"start":{"line":28,"column":73},"end":{"line":28,"column":127}},"type":"cond-expr","locations":[{"start":{"line":28,"column":110},"end":{"line":28,"column":116}},{"start":{"line":28,"column":119},"end":{"line":28,"column":127}}],"line":28},"12":{"loc":{"start":{"line":28,"column":73},"end":{"line":28,"column":107}},"type":"binary-expr","locations":[{"start":{"line":28,"column":73},"end":{"line":28,"column":87}},{"start":{"line":28,"column":91},"end":{"line":28,"column":107}}],"line":28},"13":{"loc":{"start":{"line":29,"column":38},"end":{"line":29,"column":92}},"type":"cond-expr","locations":[{"start":{"line":29,"column":75},"end":{"line":29,"column":81}},{"start":{"line":29,"column":84},"end":{"line":29,"column":92}}],"line":29},"14":{"loc":{"start":{"line":29,"column":38},"end":{"line":29,"column":72}},"type":"binary-expr","locations":[{"start":{"line":29,"column":38},"end":{"line":29,"column":52}},{"start":{"line":29,"column":56},"end":{"line":29,"column":72}}],"line":29},"15":{"loc":{"start":{"line":29,"column":94},"end":{"line":29,"column":148}},"type":"cond-expr","locations":[{"start":{"line":29,"column":131},"end":{"line":29,"column":137}},{"start":{"line":29,"column":140},"end":{"line":29,"column":148}}],"line":29},"16":{"loc":{"start":{"line":29,"column":94},"end":{"line":29,"column":128}},"type":"binary-expr","locations":[{"start":{"line":29,"column":94},"end":{"line":29,"column":108}},{"start":{"line":29,"column":112},"end":{"line":29,"column":128}}],"line":29},"17":{"loc":{"start":{"line":32,"column":8},"end":{"line":33,"column":19}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":33,"column":19}},{"start":{"line":32,"column":8},"end":{"line":33,"column":19}}],"line":32},"18":{"loc":{"start":{"line":36,"column":8},"end":{"line":37,"column":197}},"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":37,"column":197}},{"start":{"line":36,"column":8},"end":{"line":37,"column":197}}],"line":36},"19":{"loc":{"start":{"line":36,"column":12},"end":{"line":36,"column":128}},"type":"binary-expr","locations":[{"start":{"line":36,"column":13},"end":{"line":36,"column":67}},{"start":{"line":36,"column":73},"end":{"line":36,"column":127}}],"line":36},"20":{"loc":{"start":{"line":36,"column":13},"end":{"line":36,"column":67}},"type":"cond-expr","locations":[{"start":{"line":36,"column":50},"end":{"line":36,"column":56}},{"start":{"line":36,"column":59},"end":{"line":36,"column":67}}],"line":36},"21":{"loc":{"start":{"line":36,"column":13},"end":{"line":36,"column":47}},"type":"binary-expr","locations":[{"start":{"line":36,"column":13},"end":{"line":36,"column":27}},{"start":{"line":36,"column":31},"end":{"line":36,"column":47}}],"line":36},"22":{"loc":{"start":{"line":36,"column":73},"end":{"line":36,"column":127}},"type":"cond-expr","locations":[{"start":{"line":36,"column":110},"end":{"line":36,"column":116}},{"start":{"line":36,"column":119},"end":{"line":36,"column":127}}],"line":36},"23":{"loc":{"start":{"line":36,"column":73},"end":{"line":36,"column":107}},"type":"binary-expr","locations":[{"start":{"line":36,"column":73},"end":{"line":36,"column":87}},{"start":{"line":36,"column":91},"end":{"line":36,"column":107}}],"line":36},"24":{"loc":{"start":{"line":37,"column":44},"end":{"line":37,"column":122}},"type":"cond-expr","locations":[{"start":{"line":37,"column":81},"end":{"line":37,"column":87}},{"start":{"line":37,"column":90},"end":{"line":37,"column":122}}],"line":37},"25":{"loc":{"start":{"line":37,"column":44},"end":{"line":37,"column":78}},"type":"binary-expr","locations":[{"start":{"line":37,"column":44},"end":{"line":37,"column":58}},{"start":{"line":37,"column":62},"end":{"line":37,"column":78}}],"line":37},"26":{"loc":{"start":{"line":37,"column":124},"end":{"line":37,"column":185}},"type":"cond-expr","locations":[{"start":{"line":37,"column":161},"end":{"line":37,"column":167}},{"start":{"line":37,"column":170},"end":{"line":37,"column":185}}],"line":37},"27":{"loc":{"start":{"line":37,"column":124},"end":{"line":37,"column":158}},"type":"binary-expr","locations":[{"start":{"line":37,"column":124},"end":{"line":37,"column":138}},{"start":{"line":37,"column":142},"end":{"line":37,"column":158}}],"line":37},"28":{"loc":{"start":{"line":41,"column":8},"end":{"line":42,"column":19}},"type":"if","locations":[{"start":{"line":41,"column":8},"end":{"line":42,"column":19}},{"start":{"line":41,"column":8},"end":{"line":42,"column":19}}],"line":41},"29":{"loc":{"start":{"line":44,"column":22},"end":{"line":44,"column":90}},"type":"cond-expr","locations":[{"start":{"line":44,"column":76},"end":{"line":44,"column":82}},{"start":{"line":44,"column":85},"end":{"line":44,"column":90}}],"line":44},"30":{"loc":{"start":{"line":44,"column":22},"end":{"line":44,"column":73}},"type":"binary-expr","locations":[{"start":{"line":44,"column":22},"end":{"line":44,"column":56}},{"start":{"line":44,"column":60},"end":{"line":44,"column":73}}],"line":44},"31":{"loc":{"start":{"line":45,"column":8},"end":{"line":58,"column":9}},"type":"if","locations":[{"start":{"line":45,"column":8},"end":{"line":58,"column":9}},{"start":{"line":45,"column":8},"end":{"line":58,"column":9}}],"line":45},"32":{"loc":{"start":{"line":46,"column":12},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":46,"column":12},"end":{"line":57,"column":36}},{"start":{"line":46,"column":12},"end":{"line":57,"column":36}}],"line":46},"33":{"loc":{"start":{"line":48,"column":17},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":48,"column":17},"end":{"line":57,"column":36}},{"start":{"line":48,"column":17},"end":{"line":57,"column":36}}],"line":48},"34":{"loc":{"start":{"line":50,"column":17},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":50,"column":17},"end":{"line":57,"column":36}},{"start":{"line":50,"column":17},"end":{"line":57,"column":36}}],"line":50},"35":{"loc":{"start":{"line":52,"column":17},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":52,"column":17},"end":{"line":57,"column":36}},{"start":{"line":52,"column":17},"end":{"line":57,"column":36}}],"line":52},"36":{"loc":{"start":{"line":54,"column":17},"end":{"line":57,"column":36}},"type":"if","locations":[{"start":{"line":54,"column":17},"end":{"line":57,"column":36}},{"start":{"line":54,"column":17},"end":{"line":57,"column":36}}],"line":54}},"s":{"0":1,"1":1,"2":1,"3":20,"4":0,"5":20,"6":20,"7":2,"8":2,"9":20,"10":0,"11":20,"12":20,"13":20,"14":1,"15":20,"16":0,"17":20,"18":20,"19":20,"20":2,"21":20,"22":0,"23":20,"24":20,"25":20,"26":2,"27":20,"28":0,"29":20,"30":20,"31":20,"32":6,"33":1,"34":5,"35":1,"36":4,"37":1,"38":3,"39":1,"40":2,"41":1,"42":1,"43":1},"f":{"0":20,"1":20,"2":20,"3":20,"4":20},"b":{"0":[0,20],"1":[2,0],"2":[0,20],"3":[19,1],"4":[20,1],"5":[1,19],"6":[0,20],"7":[2,18],"8":[20,2],"9":[18,2],"10":[20,2],"11":[0,2],"12":[2,2],"13":[0,2],"14":[2,2],"15":[0,2],"16":[2,2],"17":[0,20],"18":[2,18],"19":[20,2],"20":[18,2],"21":[20,2],"22":[0,2],"23":[2,2],"24":[0,2],"25":[2,2],"26":[0,2],"27":[2,2],"28":[0,20],"29":[14,6],"30":[20,6],"31":[6,14],"32":[1,5],"33":[1,4],"34":[1,3],"35":[1,2],"36":[1,1]},"inputSourceMap":{"version":3,"file":"/www/biorate/core/packages/@biorate/config/src/template.ts","sources":["/www/biorate/core/packages/@biorate/config/src/template.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAGlC,MAAa,QAAQ;IACZ,MAAM,CAAC,MAAM,CAAe,KAAa,EAAE,MAAe;QAC/D,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QACpC,IAAI,MAAM,GAAG,iBAAiB,EAC5B,GAAG,CAAC;QACN,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,KAAK,GAAY,MAAM,CAAC,KAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEM,MAAM,CAAC,IAAI,CAAe,KAAa,EAAE,MAAe;;QAC7D,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,IAAI;YAAE,OAAO;QAClC,IAAI,MAAM,GAAG,kBAAkB,CAAC;QAChC,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,0CAAG,CAAC,CAAC,CAAC;QACtC,IAAI,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,MAAM,CAAe,KAAa,EAAE,MAAe;QAC/D,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QACpC,IAAI,MAAM,GAAG,8BAA8B,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAA;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAe,KAAa,EAAE,MAAe;QACjE,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO;QACtC,IAAI,MAAM,GAAG,6BAA6B,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAA;YAC1B,MAAM,CAAC,KAAK,GAAkB,CAC5B,IAAI,QAAQ,CAAC,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAChF,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,KAAK,CAAe,KAAa,EAAE,MAAe;;QAC9D,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,KAAK;YAAE,OAAO;QACnC,IAAI,MAAM,GAAG,kBAAkB,CAAC;QAChC,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,0CAAG,CAAC,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,KAAK,QAAQ;gBAAE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;iBACrC,IAAI,KAAK,KAAK,OAAO;gBAAE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;iBACzC,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;iBAC/C,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;iBAC1C,IAAI,KAAK,KAAK,QAAQ;gBAAE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;;gBAC1C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;SAC1B;IACH,CAAC;CACF;AA/CD,4BA+CC","sourcesContent":["import { Config } from './config';\nimport { IResult } from '../interfaces';\n\nexport class Template {\n public static string(this: Config, value: string, result: IResult) {\n if (!Config.Template.string) return;\n let regExp = /\\${([^}{]+)+?}/g,\n res;\n while ((res = regExp.exec(value)))\n if (this.has(res[1]))\n result.value = (<string>result.value).replace(res[0], this.get(res[1]));\n }\n\n public static link(this: Config, value: string, result: IResult) {\n if (!Config.Template.link) return;\n let regExp = /^#{([^}{]+)+?}$/g;\n const match = regExp.exec(value)?.[1];\n if (match) result.value = this.get(match);\n }\n\n public static regexp(this: Config, value: string, result: IResult) {\n if (!Config.Template.regexp) return;\n let regExp = /^R\\{\\/([^\\/]+)\\/([^\\/]+)\\}$/g;\n const match = regExp.exec(value);\n if (match?.[1] && match?.[2]) result.value = new RegExp(match?.[1], match?.[2]);\n }\n\n public static function(this: Config, value: string, result: IResult) {\n if (!Config.Template.function) return;\n let regExp = /^F\\{([^=>]+) => ([^}]+)\\}$/g;\n const match = regExp.exec(value);\n if (match?.[1] && match?.[2])\n result.value = <() => unknown>(\n new Function(...match?.[1].trim().split(/\\s*,\\s*/), match?.[2].trim()).bind({})\n );\n }\n\n public static empty(this: Config, value: string, result: IResult) {\n if (!Config.Template.empty) return;\n let regExp = /^!{([^}{]+)+?}$/g;\n const match = regExp.exec(value)?.[1];\n if (match) {\n if (match === 'object') result.value = {};\n else if (match === 'array') result.value = [];\n else if (match === 'void') result.value = undefined;\n else if (match === 'null') result.value = null;\n else if (match === 'string') result.value = '';\n else result.value = null;\n }\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3d5476e82c2c0738bd8fada6f88ccde93dcafefc","contentHash":"f0e4d70cdf74abefb32ff12473d06b13059dd765f99fe19fb89d062634e8b712"},"/www/biorate/core/packages/@biorate/config/src/errors.ts":{"path":"/www/biorate/core/packages/@biorate/config/src/errors.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":42}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":43}},"3":{"start":{"line":7,"column":8},"end":{"line":7,"column":52}},"4":{"start":{"line":10,"column":0},"end":{"line":10,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":22},"end":{"line":8,"column":5}},"line":6}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1},"f":{"0":1},"b":{},"inputSourceMap":{"version":3,"file":"/www/biorate/core/packages/@biorate/config/src/errors.ts","sources":["/www/biorate/core/packages/@biorate/config/src/errors.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAG5C,MAAa,wBAAyB,SAAQ,kBAAS;IACrD,YAAmB,IAAkB;QACnC,KAAK,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF;AAJD,4DAIC","sourcesContent":["import { BaseError } from '@biorate/errors';\nimport { PropertyPath } from 'lodash';\n\nexport class UndefinedConfigPathError extends BaseError {\n public constructor(path: PropertyPath) {\n super(`Undefined config path [%s]`, [path]);\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"79108ff19f8d81998fc3fa3ab5c5e97956adef37","contentHash":"e3d8bcc3d7c2b98f138cbb8d691dad9e285b8cbdc53b8425715652d7990d8043"},"/www/biorate/core/packages/@biorate/config/interfaces.ts":{"path":"/www/biorate/core/packages/@biorate/config/interfaces.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"/www/biorate/core/packages/@biorate/config/interfaces.ts","sources":["/www/biorate/core/packages/@biorate/config/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["import { PropertyPath } from 'lodash';\n\nexport interface IConfig {\n get<T = unknown>(path: PropertyPath, def?: T): T;\n has(path: PropertyPath): boolean;\n set(path: PropertyPath, value: unknown): void;\n merge(data: unknown): void;\n}\n\nexport type IResult = {\n value:\n | string\n | RegExp\n | (() => unknown)\n | unknown[]\n | Record<string, unknown>\n | null\n | undefined;\n};\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6db34b1820a831f114e4c60b06729a4c9f146ed4","contentHash":"79e679a8ade2c27432ea67cd19bd30542c8ee4b4c1f06c53981c37a52f2873b3"}}
@@ -0,0 +1 @@
1
+ {"parent":"dadb6fac-1339-4f89-aa6f-73217e41bc9b","pid":13148,"argv":["/home/llevkin/.nvm/versions/node/v20.17.0/bin/node","/www/biorate/core/node_modules/mocha/bin/mocha.js","-r","ts-node/register","tests/**/*.spec.ts"],"execArgv":[],"cwd":"/www/biorate/core/packages/@biorate/config","time":1733426029457,"ppid":13132,"coverageFilename":"/www/biorate/core/packages/@biorate/config/.nyc_output/0c4c8da3-ddad-49d9-8b5d-10c100c153f7.json","externalId":"","uuid":"0c4c8da3-ddad-49d9-8b5d-10c100c153f7","files":["/www/biorate/core/packages/@biorate/config/src/index.ts","/www/biorate/core/packages/@biorate/config/src/config.ts","/www/biorate/core/packages/@biorate/config/src/template.ts","/www/biorate/core/packages/@biorate/config/src/errors.ts","/www/biorate/core/packages/@biorate/config/interfaces.ts"]}
@@ -0,0 +1 @@
1
+ {"parent":null,"pid":13132,"argv":["/home/llevkin/.nvm/versions/node/v20.17.0/bin/node","/www/biorate/core/node_modules/npx/index.js","mocha","-r","ts-node/register","tests/**/*.spec.ts"],"execArgv":[],"cwd":"/www/biorate/core/packages/@biorate/config","time":1733426029347,"ppid":13116,"coverageFilename":"/www/biorate/core/packages/@biorate/config/.nyc_output/dadb6fac-1339-4f89-aa6f-73217e41bc9b.json","externalId":"","uuid":"dadb6fac-1339-4f89-aa6f-73217e41bc9b","files":[]}
@@ -1 +1 @@
1
- {"processes":{"1f450655-e486-4cca-926c-cc66a2921e33":{"parent":"319852e1-cffd-4bee-9b4b-0331f1f1bf22","children":[]},"319852e1-cffd-4bee-9b4b-0331f1f1bf22":{"parent":null,"children":["1f450655-e486-4cca-926c-cc66a2921e33"]}},"files":{"/www/biorate/core/packages/@biorate/config/src/index.ts":["1f450655-e486-4cca-926c-cc66a2921e33"],"/www/biorate/core/packages/@biorate/config/src/config.ts":["1f450655-e486-4cca-926c-cc66a2921e33"],"/www/biorate/core/packages/@biorate/config/src/template.ts":["1f450655-e486-4cca-926c-cc66a2921e33"],"/www/biorate/core/packages/@biorate/config/src/errors.ts":["1f450655-e486-4cca-926c-cc66a2921e33"],"/www/biorate/core/packages/@biorate/config/interfaces.ts":["1f450655-e486-4cca-926c-cc66a2921e33"]},"externalIds":{}}
1
+ {"processes":{"0c4c8da3-ddad-49d9-8b5d-10c100c153f7":{"parent":"dadb6fac-1339-4f89-aa6f-73217e41bc9b","children":[]},"dadb6fac-1339-4f89-aa6f-73217e41bc9b":{"parent":null,"children":["0c4c8da3-ddad-49d9-8b5d-10c100c153f7"]}},"files":{"/www/biorate/core/packages/@biorate/config/src/index.ts":["0c4c8da3-ddad-49d9-8b5d-10c100c153f7"],"/www/biorate/core/packages/@biorate/config/src/config.ts":["0c4c8da3-ddad-49d9-8b5d-10c100c153f7"],"/www/biorate/core/packages/@biorate/config/src/template.ts":["0c4c8da3-ddad-49d9-8b5d-10c100c153f7"],"/www/biorate/core/packages/@biorate/config/src/errors.ts":["0c4c8da3-ddad-49d9-8b5d-10c100c153f7"],"/www/biorate/core/packages/@biorate/config/interfaces.ts":["0c4c8da3-ddad-49d9-8b5d-10c100c153f7"]},"externalIds":{}}
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.91.0](https://github.com/biorate/core/compare/v1.90.0...v1.91.0) (2024-12-05)
7
+
8
+ ### Features
9
+
10
+ - **config:** add empty template ([62ae333](https://github.com/biorate/core/commit/62ae333924f234d526df391a99575cce7ae33471))
11
+
6
12
  # [1.90.0](https://github.com/biorate/core/compare/v1.89.0...v1.90.0) (2024-12-05)
7
13
 
8
14
  ### Features
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>31/31</span>
28
+ <span class='fraction'>32/32</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>28/28</span>
49
+ <span class='fraction'>29/29</span>
50
50
  </div>
51
51
 
52
52
 
@@ -206,7 +206,9 @@
206
206
  <a name='L141'></a><a href='#L141'>141</a>
207
207
  <a name='L142'></a><a href='#L142'>142</a>
208
208
  <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
210
212
  <span class="cline-any cline-yes">1x</span>
211
213
  <span class="cline-any cline-yes">1x</span>
212
214
  <span class="cline-any cline-yes">1x</span>
@@ -224,18 +226,20 @@
224
226
  <span class="cline-any cline-neutral">&nbsp;</span>
225
227
  <span class="cline-any cline-neutral">&nbsp;</span>
226
228
  <span class="cline-any cline-neutral">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
230
  <span class="cline-any cline-yes">1x</span>
228
231
  <span class="cline-any cline-neutral">&nbsp;</span>
229
232
  <span class="cline-any cline-neutral">&nbsp;</span>
230
233
  <span class="cline-any cline-neutral">&nbsp;</span>
231
234
  <span class="cline-any cline-neutral">&nbsp;</span>
232
235
  <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-yes">14x</span>
234
- <span class="cline-any cline-yes">14x</span>
235
- <span class="cline-any cline-yes">14x</span>
236
- <span class="cline-any cline-yes">14x</span>
237
- <span class="cline-any cline-yes">14x</span>
238
- <span class="cline-any cline-yes">14x</span>
236
+ <span class="cline-any cline-yes">20x</span>
237
+ <span class="cline-any cline-yes">20x</span>
238
+ <span class="cline-any cline-yes">20x</span>
239
+ <span class="cline-any cline-yes">20x</span>
240
+ <span class="cline-any cline-yes">20x</span>
241
+ <span class="cline-any cline-yes">20x</span>
242
+ <span class="cline-any cline-yes">20x</span>
239
243
  <span class="cline-any cline-neutral">&nbsp;</span>
240
244
  <span class="cline-any cline-neutral">&nbsp;</span>
241
245
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -270,14 +274,14 @@
270
274
  <span class="cline-any cline-neutral">&nbsp;</span>
271
275
  <span class="cline-any cline-neutral">&nbsp;</span>
272
276
  <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-yes">18x</span>
277
+ <span class="cline-any cline-yes">24x</span>
274
278
  <span class="cline-any cline-yes">2x</span>
275
279
  <span class="cline-any cline-yes">1x</span>
276
280
  <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-yes">16x</span>
278
- <span class="cline-any cline-yes">16x</span>
281
+ <span class="cline-any cline-yes">22x</span>
282
+ <span class="cline-any cline-yes">22x</span>
279
283
  <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-yes">10x</span>
284
+ <span class="cline-any cline-yes">16x</span>
281
285
  <span class="cline-any cline-neutral">&nbsp;</span>
282
286
  <span class="cline-any cline-yes">2x</span>
283
287
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -300,7 +304,7 @@
300
304
  <span class="cline-any cline-neutral">&nbsp;</span>
301
305
  <span class="cline-any cline-neutral">&nbsp;</span>
302
306
  <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-yes">24x</span>
307
+ <span class="cline-any cline-yes">30x</span>
304
308
  <span class="cline-any cline-neutral">&nbsp;</span>
305
309
  <span class="cline-any cline-neutral">&nbsp;</span>
306
310
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -346,7 +350,7 @@
346
350
  <span class="cline-any cline-neutral">&nbsp;</span>
347
351
  <span class="cline-any cline-neutral">&nbsp;</span>
348
352
  <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-yes">2x</span>
353
+ <span class="cline-any cline-yes">14x</span>
350
354
  <span class="cline-any cline-neutral">&nbsp;</span>
351
355
  <span class="cline-any cline-neutral">&nbsp;</span>
352
356
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { injectable } from '@biorate/inversion';
@@ -363,6 +367,7 @@ export class Config implements IConfig {
363
367
  link: true,
364
368
  regexp: true,
365
369
  function: true,
370
+ empty: true,
366
371
  };
367
372
  /**
368
373
  * @description Data storage
@@ -378,6 +383,7 @@ export class Config implements IConfig {
378
383
  Template.link.call(this, value, result);
379
384
  Template.regexp.call(this, value, result);
380
385
  Template.function.call(this, value, result);
386
+ Template.empty.call(this, value, result);
381
387
  return result.value;
382
388
  }
383
389
  &nbsp;
@@ -499,7 +505,7 @@ export class Config implements IConfig {
499
505
  <div class='footer quiet pad2 space-top1 center small'>
500
506
  Code coverage generated by
501
507
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
502
- at 2024-12-05T15:36:16.769Z
508
+ at 2024-12-05T19:13:51.155Z
503
509
  </div>
504
510
  <script src="prettify.js"></script>
505
511
  <script>
@@ -94,7 +94,7 @@ export class UndefinedConfigPathError extends BaseError {
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
97
- at 2024-12-05T15:36:16.769Z
97
+ at 2024-12-05T19:13:51.155Z
98
98
  </div>
99
99
  <script src="prettify.js"></script>
100
100
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">93.65% </span>
26
+ <span class="strong">93.75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>59/63</span>
28
+ <span class='fraction'>75/80</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">82.08% </span>
33
+ <span class="strong">84.7% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>55/67</span>
35
+ <span class='fraction'>72/85</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>13/13</span>
42
+ <span class='fraction'>14/14</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>54/54</span>
49
+ <span class='fraction'>65/65</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="31" class="abs high">31/31</td>
87
+ <td data-value="32" class="abs high">32/32</td>
88
88
  <td data-value="90.9" class="pct high">90.9%</td>
89
89
  <td data-value="11" class="abs high">10/11</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="8" class="abs high">8/8</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="28" class="abs high">28/28</td>
93
+ <td data-value="29" class="abs high">29/29</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -125,17 +125,17 @@
125
125
 
126
126
  <tr>
127
127
  <td class="file high" data-value="template.ts"><a href="template.ts.html">template.ts</a></td>
128
- <td data-value="84.61" class="pic high">
129
- <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
128
+ <td data-value="88.09" class="pic high">
129
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
130
130
  </td>
131
- <td data-value="84.61" class="pct high">84.61%</td>
132
- <td data-value="26" class="abs high">22/26</td>
133
- <td data-value="80.35" class="pct high">80.35%</td>
134
- <td data-value="56" class="abs high">45/56</td>
131
+ <td data-value="88.09" class="pct high">88.09%</td>
132
+ <td data-value="42" class="abs high">37/42</td>
133
+ <td data-value="83.78" class="pct high">83.78%</td>
134
+ <td data-value="74" class="abs high">62/74</td>
135
135
  <td data-value="100" class="pct high">100%</td>
136
- <td data-value="4" class="abs high">4/4</td>
136
+ <td data-value="5" class="abs high">5/5</td>
137
137
  <td data-value="100" class="pct high">100%</td>
138
- <td data-value="20" class="abs high">20/20</td>
138
+ <td data-value="30" class="abs high">30/30</td>
139
139
  </tr>
140
140
 
141
141
  </tbody>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2024-12-05T15:36:16.769Z
149
+ at 2024-12-05T19:13:51.155Z
150
150
  </div>
151
151
  <script src="prettify.js"></script>
152
152
  <script>
@@ -79,7 +79,7 @@ export * from '../interfaces';
79
79
  <div class='footer quiet pad2 space-top1 center small'>
80
80
  Code coverage generated by
81
81
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82
- at 2024-12-05T15:36:16.769Z
82
+ at 2024-12-05T19:13:51.155Z
83
83
  </div>
84
84
  <script src="prettify.js"></script>
85
85
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.61% </span>
26
+ <span class="strong">88.09% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>22/26</span>
28
+ <span class='fraction'>37/42</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">80.35% </span>
33
+ <span class="strong">83.78% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>45/56</span>
35
+ <span class='fraction'>62/74</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/4</span>
42
+ <span class='fraction'>5/5</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>20/20</span>
49
+ <span class='fraction'>30/30</span>
50
50
  </div>
51
51
 
52
52
 
@@ -100,43 +100,71 @@
100
100
  <a name='L35'></a><a href='#L35'>35</a>
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
102
  <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
104
118
  <span class="cline-any cline-neutral">&nbsp;</span>
105
119
  <span class="cline-any cline-neutral">&nbsp;</span>
106
120
  <span class="cline-any cline-yes">1x</span>
107
121
  <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-yes">14x</span>
109
- <span class="cline-any cline-yes">14x</span>
122
+ <span class="cline-any cline-yes">20x</span>
123
+ <span class="cline-any cline-yes">20x</span>
110
124
  <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-yes">14x</span>
125
+ <span class="cline-any cline-yes">20x</span>
112
126
  <span class="cline-any cline-yes">2x</span>
113
127
  <span class="cline-any cline-yes">2x</span>
114
128
  <span class="cline-any cline-neutral">&nbsp;</span>
115
129
  <span class="cline-any cline-neutral">&nbsp;</span>
116
130
  <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-yes">14x</span>
118
- <span class="cline-any cline-yes">14x</span>
119
- <span class="cline-any cline-yes">14x</span>
120
- <span class="cline-any cline-yes">14x</span>
131
+ <span class="cline-any cline-yes">20x</span>
132
+ <span class="cline-any cline-yes">20x</span>
133
+ <span class="cline-any cline-yes">20x</span>
134
+ <span class="cline-any cline-yes">20x</span>
121
135
  <span class="cline-any cline-neutral">&nbsp;</span>
122
136
  <span class="cline-any cline-neutral">&nbsp;</span>
123
137
  <span class="cline-any cline-neutral">&nbsp;</span>
124
- <span class="cline-any cline-yes">14x</span>
125
- <span class="cline-any cline-yes">14x</span>
126
- <span class="cline-any cline-yes">14x</span>
127
- <span class="cline-any cline-yes">14x</span>
138
+ <span class="cline-any cline-yes">20x</span>
139
+ <span class="cline-any cline-yes">20x</span>
140
+ <span class="cline-any cline-yes">20x</span>
141
+ <span class="cline-any cline-yes">20x</span>
128
142
  <span class="cline-any cline-neutral">&nbsp;</span>
129
143
  <span class="cline-any cline-neutral">&nbsp;</span>
130
144
  <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-yes">14x</span>
132
- <span class="cline-any cline-yes">14x</span>
133
- <span class="cline-any cline-yes">14x</span>
134
- <span class="cline-any cline-yes">14x</span>
145
+ <span class="cline-any cline-yes">20x</span>
146
+ <span class="cline-any cline-yes">20x</span>
147
+ <span class="cline-any cline-yes">20x</span>
148
+ <span class="cline-any cline-yes">20x</span>
135
149
  <span class="cline-any cline-yes">2x</span>
136
150
  <span class="cline-any cline-neutral">&nbsp;</span>
137
151
  <span class="cline-any cline-neutral">&nbsp;</span>
138
152
  <span class="cline-any cline-neutral">&nbsp;</span>
139
153
  <span class="cline-any cline-neutral">&nbsp;</span>
154
+ <span class="cline-any cline-neutral">&nbsp;</span>
155
+ <span class="cline-any cline-yes">20x</span>
156
+ <span class="cline-any cline-yes">20x</span>
157
+ <span class="cline-any cline-yes">20x</span>
158
+ <span class="cline-any cline-yes">20x</span>
159
+ <span class="cline-any cline-yes">6x</span>
160
+ <span class="cline-any cline-yes">5x</span>
161
+ <span class="cline-any cline-yes">4x</span>
162
+ <span class="cline-any cline-yes">3x</span>
163
+ <span class="cline-any cline-yes">2x</span>
164
+ <span class="cline-any cline-yes">1x</span>
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
168
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Config } from './config';
141
169
  import { IResult } from '../interfaces';
142
170
  &nbsp;
@@ -173,6 +201,20 @@ export class Template {
173
201
  new Function(...match<span class="branch-0 cbranch-no" title="branch not covered" >?.[1</span>].trim().split(/\s*,\s*/), match<span class="branch-0 cbranch-no" title="branch not covered" >?.[2</span>].trim()).bind({})
174
202
  );
175
203
  }
204
+ &nbsp;
205
+ public static empty(this: Config, value: string, result: IResult) {
206
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!Config.Template.empty) <span class="cstat-no" title="statement not covered" >return;</span>
207
+ let regExp = /^!{([^}{]+)+?}$/g;
208
+ const match = regExp.exec(value)?.[1];
209
+ if (match) {
210
+ if (match === 'object') result.value = {};
211
+ else if (match === 'array') result.value = [];
212
+ else if (match === 'void') result.value = undefined;
213
+ else if (match === 'null') result.value = null;
214
+ else if (match === 'string') result.value = '';
215
+ else result.value = null;
216
+ }
217
+ }
176
218
  }
177
219
  &nbsp;</pre></td></tr></table></pre>
178
220
 
@@ -181,7 +223,7 @@ export class Template {
181
223
  <div class='footer quiet pad2 space-top1 center small'>
182
224
  Code coverage generated by
183
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at 2024-12-05T15:36:16.769Z
226
+ at 2024-12-05T19:13:51.155Z
185
227
  </div>
186
228
  <script src="prettify.js"></script>
187
229
  <script>