@biorate/config 1.2.2 → 1.7.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":17},"end":{"line":18,"column":1}},"12":{"start":{"line":14,"column":12},"end":{"line":14,"column":28}},"13":{"start":{"line":14,"column":34},"end":{"line":14,"column":125}},"14":{"start":{"line":15,"column":4},"end":{"line":16,"column":150}},"15":{"start":{"line":15,"column":79},"end":{"line":15,"column":131}},"16":{"start":{"line":16,"column":9},"end":{"line":16,"column":150}},"17":{"start":{"line":16,"column":22},"end":{"line":16,"column":43}},"18":{"start":{"line":16,"column":58},"end":{"line":16,"column":150}},"19":{"start":{"line":16,"column":81},"end":{"line":16,"column":150}},"20":{"start":{"line":17,"column":4},"end":{"line":17,"column":66}},"21":{"start":{"line":19,"column":19},"end":{"line":21,"column":1}},"22":{"start":{"line":20,"column":4},"end":{"line":20,"column":126}},"23":{"start":{"line":20,"column":21},"end":{"line":20,"column":126}},"24":{"start":{"line":20,"column":95},"end":{"line":20,"column":126}},"25":{"start":{"line":22,"column":0},"end":{"line":22,"column":62}},"26":{"start":{"line":23,"column":0},"end":{"line":23,"column":24}},"27":{"start":{"line":24,"column":20},"end":{"line":24,"column":49}},"28":{"start":{"line":25,"column":17},"end":{"line":25,"column":34}},"29":{"start":{"line":26,"column":17},"end":{"line":26,"column":36}},"30":{"start":{"line":27,"column":17},"end":{"line":27,"column":36}},"31":{"start":{"line":28,"column":0},"end":{"line":28,"column":43}},"32":{"start":{"line":29,"column":0},"end":{"line":29,"column":47}},"33":{"start":{"line":30,"column":13},"end":{"line":78,"column":1}},"34":{"start":{"line":32,"column":8},"end":{"line":32,"column":23}},"35":{"start":{"line":36,"column":26},"end":{"line":36,"column":31}},"36":{"start":{"line":36,"column":42},"end":{"line":36,"column":59}},"37":{"start":{"line":37,"column":8},"end":{"line":39,"column":66}},"38":{"start":{"line":38,"column":12},"end":{"line":39,"column":66}},"39":{"start":{"line":39,"column":16},"end":{"line":39,"column":66}},"40":{"start":{"line":40,"column":8},"end":{"line":40,"column":36}},"41":{"start":{"line":41,"column":22},"end":{"line":41,"column":90}},"42":{"start":{"line":42,"column":8},"end":{"line":43,"column":37}},"43":{"start":{"line":43,"column":12},"end":{"line":43,"column":37}},"44":{"start":{"line":44,"column":8},"end":{"line":44,"column":22}},"45":{"start":{"line":47,"column":25},"end":{"line":47,"column":49}},"46":{"start":{"line":48,"column":8},"end":{"line":51,"column":11}},"47":{"start":{"line":49,"column":12},"end":{"line":50,"column":45}},"48":{"start":{"line":50,"column":16},"end":{"line":50,"column":45}},"49":{"start":{"line":54,"column":8},"end":{"line":58,"column":9}},"50":{"start":{"line":55,"column":12},"end":{"line":56,"column":66}},"51":{"start":{"line":56,"column":16},"end":{"line":56,"column":66}},"52":{"start":{"line":57,"column":12},"end":{"line":57,"column":23}},"53":{"start":{"line":59,"column":23},"end":{"line":59,"column":57}},"54":{"start":{"line":60,"column":8},"end":{"line":67,"column":9}},"55":{"start":{"line":62,"column":16},"end":{"line":62,"column":45}},"56":{"start":{"line":64,"column":16},"end":{"line":64,"column":65}},"57":{"start":{"line":66,"column":16},"end":{"line":66,"column":30}},"58":{"start":{"line":70,"column":8},"end":{"line":70,"column":50}},"59":{"start":{"line":73,"column":8},"end":{"line":73,"column":50}},"60":{"start":{"line":76,"column":8},"end":{"line":76,"column":45}},"61":{"start":{"line":79,"column":0},"end":{"line":81,"column":11}},"62":{"start":{"line":82,"column":0},"end":{"line":82,"column":24}}},"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":46},"end":{"line":13,"column":47}},"loc":{"start":{"line":13,"column":87},"end":{"line":18,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":19,"column":50},"end":{"line":19,"column":51}},"loc":{"start":{"line":19,"column":71},"end":{"line":21,"column":1}},"line":19},"5":{"name":"(anonymous_5)","decl":{"start":{"line":31,"column":4},"end":{"line":31,"column":5}},"loc":{"start":{"line":31,"column":18},"end":{"line":33,"column":5}},"line":31},"6":{"name":"(anonymous_6)","decl":{"start":{"line":34,"column":4},"end":{"line":34,"column":5}},"loc":{"start":{"line":34,"column":20},"end":{"line":45,"column":5}},"line":34},"7":{"name":"(anonymous_7)","decl":{"start":{"line":46,"column":4},"end":{"line":46,"column":5}},"loc":{"start":{"line":46,"column":23},"end":{"line":52,"column":5}},"line":46},"8":{"name":"(anonymous_8)","decl":{"start":{"line":48,"column":40},"end":{"line":48,"column":41}},"loc":{"start":{"line":48,"column":57},"end":{"line":51,"column":9}},"line":48},"9":{"name":"(anonymous_9)","decl":{"start":{"line":53,"column":4},"end":{"line":53,"column":5}},"loc":{"start":{"line":53,"column":19},"end":{"line":68,"column":5}},"line":53},"10":{"name":"(anonymous_10)","decl":{"start":{"line":69,"column":4},"end":{"line":69,"column":5}},"loc":{"start":{"line":69,"column":14},"end":{"line":71,"column":5}},"line":69},"11":{"name":"(anonymous_11)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":21},"end":{"line":74,"column":5}},"line":72},"12":{"name":"(anonymous_12)","decl":{"start":{"line":75,"column":4},"end":{"line":75,"column":5}},"loc":{"start":{"line":75,"column":16},"end":{"line":77,"column":5}},"line":75}},"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":17},"end":{"line":18,"column":1}},"type":"binary-expr","locations":[{"start":{"line":13,"column":18},"end":{"line":13,"column":22}},{"start":{"line":13,"column":26},"end":{"line":13,"column":41}},{"start":{"line":13,"column":46},"end":{"line":18,"column":1}}],"line":13},"9":{"loc":{"start":{"line":14,"column":34},"end":{"line":14,"column":125}},"type":"cond-expr","locations":[{"start":{"line":14,"column":42},"end":{"line":14,"column":48}},{"start":{"line":14,"column":51},"end":{"line":14,"column":125}}],"line":14},"10":{"loc":{"start":{"line":14,"column":51},"end":{"line":14,"column":125}},"type":"cond-expr","locations":[{"start":{"line":14,"column":67},"end":{"line":14,"column":118}},{"start":{"line":14,"column":121},"end":{"line":14,"column":125}}],"line":14},"11":{"loc":{"start":{"line":15,"column":4},"end":{"line":16,"column":150}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":16,"column":150}},{"start":{"line":15,"column":4},"end":{"line":16,"column":150}}],"line":15},"12":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":77}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":35}},{"start":{"line":15,"column":39},"end":{"line":15,"column":77}}],"line":15},"13":{"loc":{"start":{"line":16,"column":58},"end":{"line":16,"column":150}},"type":"if","locations":[{"start":{"line":16,"column":58},"end":{"line":16,"column":150}},{"start":{"line":16,"column":58},"end":{"line":16,"column":150}}],"line":16},"14":{"loc":{"start":{"line":16,"column":85},"end":{"line":16,"column":149}},"type":"binary-expr","locations":[{"start":{"line":16,"column":86},"end":{"line":16,"column":143}},{"start":{"line":16,"column":148},"end":{"line":16,"column":149}}],"line":16},"15":{"loc":{"start":{"line":16,"column":86},"end":{"line":16,"column":143}},"type":"cond-expr","locations":[{"start":{"line":16,"column":94},"end":{"line":16,"column":98}},{"start":{"line":16,"column":101},"end":{"line":16,"column":143}}],"line":16},"16":{"loc":{"start":{"line":16,"column":101},"end":{"line":16,"column":143}},"type":"cond-expr","locations":[{"start":{"line":16,"column":109},"end":{"line":16,"column":126}},{"start":{"line":16,"column":129},"end":{"line":16,"column":143}}],"line":16},"17":{"loc":{"start":{"line":17,"column":11},"end":{"line":17,"column":62}},"type":"binary-expr","locations":[{"start":{"line":17,"column":11},"end":{"line":17,"column":16}},{"start":{"line":17,"column":20},"end":{"line":17,"column":21}},{"start":{"line":17,"column":25},"end":{"line":17,"column":62}}],"line":17},"18":{"loc":{"start":{"line":19,"column":19},"end":{"line":21,"column":1}},"type":"binary-expr","locations":[{"start":{"line":19,"column":20},"end":{"line":19,"column":24}},{"start":{"line":19,"column":28},"end":{"line":19,"column":45}},{"start":{"line":19,"column":50},"end":{"line":21,"column":1}}],"line":19},"19":{"loc":{"start":{"line":20,"column":21},"end":{"line":20,"column":126}},"type":"if","locations":[{"start":{"line":20,"column":21},"end":{"line":20,"column":126}},{"start":{"line":20,"column":21},"end":{"line":20,"column":126}}],"line":20},"20":{"loc":{"start":{"line":20,"column":25},"end":{"line":20,"column":93}},"type":"binary-expr","locations":[{"start":{"line":20,"column":25},"end":{"line":20,"column":40}},{"start":{"line":20,"column":44},"end":{"line":20,"column":93}}],"line":20},"21":{"loc":{"start":{"line":38,"column":12},"end":{"line":39,"column":66}},"type":"if","locations":[{"start":{"line":38,"column":12},"end":{"line":39,"column":66}},{"start":{"line":38,"column":12},"end":{"line":39,"column":66}}],"line":38},"22":{"loc":{"start":{"line":41,"column":22},"end":{"line":41,"column":90}},"type":"cond-expr","locations":[{"start":{"line":41,"column":76},"end":{"line":41,"column":82}},{"start":{"line":41,"column":85},"end":{"line":41,"column":90}}],"line":41},"23":{"loc":{"start":{"line":41,"column":22},"end":{"line":41,"column":73}},"type":"binary-expr","locations":[{"start":{"line":41,"column":22},"end":{"line":41,"column":56}},{"start":{"line":41,"column":60},"end":{"line":41,"column":73}}],"line":41},"24":{"loc":{"start":{"line":42,"column":8},"end":{"line":43,"column":37}},"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":43,"column":37}},{"start":{"line":42,"column":8},"end":{"line":43,"column":37}}],"line":42},"25":{"loc":{"start":{"line":49,"column":12},"end":{"line":50,"column":45}},"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":50,"column":45}},{"start":{"line":49,"column":12},"end":{"line":50,"column":45}}],"line":49},"26":{"loc":{"start":{"line":54,"column":8},"end":{"line":58,"column":9}},"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":58,"column":9}},{"start":{"line":54,"column":8},"end":{"line":58,"column":9}}],"line":54},"27":{"loc":{"start":{"line":55,"column":12},"end":{"line":56,"column":66}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":56,"column":66}},{"start":{"line":55,"column":12},"end":{"line":56,"column":66}}],"line":55},"28":{"loc":{"start":{"line":60,"column":8},"end":{"line":67,"column":9}},"type":"switch","locations":[{"start":{"line":61,"column":12},"end":{"line":62,"column":45}},{"start":{"line":63,"column":12},"end":{"line":64,"column":65}},{"start":{"line":65,"column":12},"end":{"line":66,"column":30}}],"line":60},"29":{"loc":{"start":{"line":64,"column":23},"end":{"line":64,"column":64}},"type":"cond-expr","locations":[{"start":{"line":64,"column":32},"end":{"line":64,"column":55}},{"start":{"line":64,"column":58},"end":{"line":64,"column":64}}],"line":64}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":0,"7":1,"8":0,"9":0,"10":0,"11":1,"12":1,"13":1,"14":1,"15":1,"16":0,"17":0,"18":0,"19":0,"20":1,"21":1,"22":2,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":10,"36":10,"37":10,"38":2,"39":2,"40":10,"41":10,"42":10,"43":1,"44":10,"45":2,"46":2,"47":6,"48":4,"49":14,"50":2,"51":1,"52":1,"53":12,"54":12,"55":6,"56":2,"57":4,"58":20,"59":1,"60":2,"61":1,"62":1},"f":{"0":1,"1":0,"2":0,"3":1,"4":2,"5":1,"6":10,"7":2,"8":6,"9":14,"10":20,"11":1,"12":2},"b":{"0":[1,1,1],"1":[1,0],"2":[1,0],"3":[1,0],"4":[1,1],"5":[0,1],"6":[1,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[0,0],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[1,0,0],"18":[1,1,1],"19":[1,0],"20":[1,1],"21":[2,0],"22":[9,1],"23":[10,1],"24":[1,9],"25":[4,2],"26":[2,12],"27":[1,1],"28":[6,2,4],"29":[2,0]},"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,kDAAgD;AAChD,mCAA4D;AAC5D,qCAAqC;AACrC,qCAAoD;AAEpD,2CAAyB;AACzB,+CAA6B;AAG7B,IAAa,MAAM,GAAnB,MAAa,MAAM;IAAnB;QAIY,SAAI,GAAG,EAAE,CAAC;IA+HtB,CAAC;IA1HW,QAAQ,CAAC,KAAa;;QAC9B,IAAI,GAAG,EACL,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,iBAAiB,CAAC;QAC7B,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,kBAAkB,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,0CAAG,CAAC,CAAC,CAAC;QACtC,IAAI,KAAK;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,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;CACF,CAAA;AAnIY,MAAM;IADlB,IAAA,sBAAU,GAAE;GACA,MAAM,CAmIlB;AAnIY,wBAAM","sourcesContent":["import { injectable } from '@biorate/inversion';\nimport { merge, get, has, set, PropertyPath } from 'lodash';\nimport * as traverse from 'traverse';\nimport { UndefinedConfigPathError } from './errors';\nimport { IConfig } from './interfaces';\nexport * from './errors';\nexport * from './interfaces';\n\n@injectable()\nexport class Config implements IConfig {\n /**\n * @description Data storage\n * */\n protected data = {};\n\n /**\n * @description Set template value\n * */\n protected template(value: string) {\n let res,\n result = value,\n regExp = /\\${([^}{]+)+?}/g;\n while ((res = regExp.exec(value)))\n if (this.has(res[1])) result = result.replace(res[0], this.get(res[1]));\n regExp = /^#{([^}{]+)+?}$/g;\n const match = regExp.exec(value)?.[1];\n if (match) result = this.get(match);\n return result;\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":"80d01946f17f4f4e80b1a45ea942d8b44d8038f8","contentHash":"5fbc826cafbfc6763db61f8b3ce2b8271695dc1672c1ea5c893ab19f05b471e3"},"/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":"8b33e90957d07d90e180eb90c51762e668db2b15125d9ec38642ea2556e0c703"},"/www/biorate/core/packages/@biorate/config/src/interfaces.ts":{"path":"/www/biorate/core/packages/@biorate/config/src/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/src/interfaces.ts","sources":["/www/biorate/core/packages/@biorate/config/src/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"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ff0b2c89d98a02a68075b24b257321dc6961bd62","contentHash":"02aa14afc2f4459d2d13359db0f6ac36f94f02828a929333c837153f52b445c3"}}
@@ -0,0 +1 @@
1
+ {"parent":null,"pid":76297,"argv":["/home/llevkin/.nvm/versions/node/v16.13.0/bin/node","/www/biorate/core/node_modules/.bin/npx","mocha","-r","ts-node/register","tests/**/*.spec.ts"],"execArgv":[],"cwd":"/www/biorate/core/packages/@biorate/config","time":1662630225513,"ppid":76284,"coverageFilename":"/www/biorate/core/packages/@biorate/config/.nyc_output/d02b0caf-40a3-47a8-9880-f6952e1e1307.json","externalId":"","uuid":"d02b0caf-40a3-47a8-9880-f6952e1e1307","files":["/www/biorate/core/packages/@biorate/config/src/index.ts","/www/biorate/core/packages/@biorate/config/src/errors.ts","/www/biorate/core/packages/@biorate/config/src/interfaces.ts"]}
@@ -1 +1 @@
1
- {"processes":{"b3852113-42e0-44cd-8c35-6bbf5d75b908":{"parent":null,"children":[]}},"files":{"/www/biorate/core/packages/@biorate/config/dist/index.js":["b3852113-42e0-44cd-8c35-6bbf5d75b908"],"/www/biorate/core/packages/@biorate/config/dist/src/index.js":["b3852113-42e0-44cd-8c35-6bbf5d75b908"],"/www/biorate/core/packages/@biorate/config/dist/src/errors.js":["b3852113-42e0-44cd-8c35-6bbf5d75b908"],"/www/biorate/core/packages/@biorate/config/dist/src/interfaces.js":["b3852113-42e0-44cd-8c35-6bbf5d75b908"]},"externalIds":{}}
1
+ {"processes":{"d02b0caf-40a3-47a8-9880-f6952e1e1307":{"parent":null,"children":[]}},"files":{"/www/biorate/core/packages/@biorate/config/src/index.ts":["d02b0caf-40a3-47a8-9880-f6952e1e1307"],"/www/biorate/core/packages/@biorate/config/src/errors.ts":["d02b0caf-40a3-47a8-9880-f6952e1e1307"],"/www/biorate/core/packages/@biorate/config/src/interfaces.ts":["d02b0caf-40a3-47a8-9880-f6952e1e1307"]},"externalIds":{}}
package/CHANGELOG.md CHANGED
@@ -3,6 +3,36 @@
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.7.0](https://github.com/biorate/core/compare/v1.6.0...v1.7.0) (2022-09-08)
7
+
8
+
9
+ ### Features
10
+
11
+ * **config:** link template ([b1ea054](https://github.com/biorate/core/commit/b1ea054ebe6953e0fb7073cc1c6b273df06a7cf3))
12
+
13
+
14
+
15
+
16
+
17
+ # [1.6.0](https://github.com/biorate/core/compare/v1.5.1...v1.6.0) (2022-09-08)
18
+
19
+
20
+ ### Features
21
+
22
+ * **config-loader:** concept added ([0e58d55](https://github.com/biorate/core/commit/0e58d5509323aa0a0a7689642708788e2188db7b))
23
+
24
+
25
+
26
+
27
+
28
+ # [1.4.0](https://github.com/biorate/core/compare/v1.3.2...v1.4.0) (2022-08-15)
29
+
30
+ **Note:** Version bump only for package @biorate/config
31
+
32
+
33
+
34
+
35
+
6
36
  ## [1.2.2](https://github.com/biorate/core/compare/v1.2.1...v1.2.2) (2022-08-11)
7
37
 
8
38
  **Note:** Version bump only for package @biorate/config
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Thu Aug 11 2022 13:46:11 GMT+0300 (Москва, стандартное время)
104
+ at Thu Sep 08 2022 12:34:33 GMT+0300 (Москва, стандартное время)
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at Thu Aug 11 2022 13:46:11 GMT+0300 (Москва, стандартное время)
76
+ at Thu Sep 08 2022 12:34:33 GMT+0300 (Москва, стандартное время)
77
77
  </div>
78
78
  <script src="../prettify.js"></script>
79
79
  <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 Thu Aug 11 2022 13:46:11 GMT+0300 (Москва, стандартное время)
97
+ at Thu Sep 08 2022 12:34:33 GMT+0300 (Москва, стандартное время)
98
98
  </div>
99
99
  <script src="../../prettify.js"></script>
100
100
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80% </span>
26
+ <span class="strong">86.11% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>28/35</span>
28
+ <span class='fraction'>31/36</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.15% </span>
33
+ <span class="strong">53.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>6/13</span>
35
+ <span class='fraction'>7/13</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">83.33% </span>
47
+ <span class="strong">87.09% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>25/30</span>
49
+ <span class='fraction'>27/31</span>
50
50
  </div>
51
51
 
52
52
 
@@ -94,18 +94,18 @@
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file medium" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
98
- <td data-value="78.12" class="pic medium">
99
- <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
97
+ <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
98
+ <td data-value="84.84" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
100
100
  </td>
101
- <td data-value="78.12" class="pct medium">78.12%</td>
102
- <td data-value="32" class="abs medium">25/32</td>
103
- <td data-value="46.15" class="pct low">46.15%</td>
104
- <td data-value="13" class="abs low">6/13</td>
101
+ <td data-value="84.84" class="pct high">84.84%</td>
102
+ <td data-value="33" class="abs high">28/33</td>
103
+ <td data-value="53.84" class="pct medium">53.84%</td>
104
+ <td data-value="13" class="abs medium">7/13</td>
105
105
  <td data-value="75" class="pct medium">75%</td>
106
106
  <td data-value="8" class="abs medium">6/8</td>
107
- <td data-value="81.48" class="pct high">81.48%</td>
108
- <td data-value="27" class="abs high">22/27</td>
107
+ <td data-value="85.71" class="pct high">85.71%</td>
108
+ <td data-value="28" class="abs high">24/28</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Thu Aug 11 2022 13:46:11 GMT+0300 (Москва, стандартное время)
119
+ at Thu Sep 08 2022 12:34:33 GMT+0300 (Москва, стандартное время)
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">78.12% </span>
26
+ <span class="strong">84.84% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>25/32</span>
28
+ <span class='fraction'>28/33</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.15% </span>
33
+ <span class="strong">53.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>6/13</span>
35
+ <span class='fraction'>7/13</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">81.48% </span>
47
+ <span class="strong">85.71% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>22/27</span>
49
+ <span class='fraction'>24/28</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -201,7 +201,8 @@
201
201
  <a name='L136'></a><a href='#L136'>136</a>
202
202
  <a name='L137'></a><a href='#L137'>137</a>
203
203
  <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
205
206
  <span class="cline-any cline-yes">1x</span>
206
207
  <span class="cline-any cline-yes">1x</span>
207
208
  <span class="cline-any cline-yes">1x</span>
@@ -221,11 +222,12 @@
221
222
  <span class="cline-any cline-neutral">&nbsp;</span>
222
223
  <span class="cline-any cline-neutral">&nbsp;</span>
223
224
  <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-yes">1x</span>
225
- <span class="cline-any cline-yes">1x</span>
226
- <span class="cline-any cline-yes">1x</span>
227
- <span class="cline-any cline-no">&nbsp;</span>
228
- <span class="cline-any cline-yes">1x</span>
225
+ <span class="cline-any cline-yes">5x</span>
226
+ <span class="cline-any cline-yes">5x</span>
227
+ <span class="cline-any cline-yes">5x</span>
228
+ <span class="cline-any cline-yes">5x</span>
229
+ <span class="cline-any cline-yes">2x</span>
230
+ <span class="cline-any cline-yes">5x</span>
229
231
  <span class="cline-any cline-neutral">&nbsp;</span>
230
232
  <span class="cline-any cline-neutral">&nbsp;</span>
231
233
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -260,18 +262,18 @@
260
262
  <span class="cline-any cline-neutral">&nbsp;</span>
261
263
  <span class="cline-any cline-neutral">&nbsp;</span>
262
264
  <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-yes">5x</span>
265
+ <span class="cline-any cline-yes">11x</span>
264
266
  <span class="cline-any cline-yes">2x</span>
265
267
  <span class="cline-any cline-yes">1x</span>
266
268
  <span class="cline-any cline-neutral">&nbsp;</span>
267
- <span class="cline-any cline-yes">3x</span>
268
- <span class="cline-any cline-yes">3x</span>
269
+ <span class="cline-any cline-yes">9x</span>
270
+ <span class="cline-any cline-yes">9x</span>
269
271
  <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">1x</span>
272
+ <span class="cline-any cline-yes">5x</span>
271
273
  <span class="cline-any cline-neutral">&nbsp;</span>
272
274
  <span class="cline-any cline-no">&nbsp;</span>
273
275
  <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-yes">2x</span>
276
+ <span class="cline-any cline-yes">4x</span>
275
277
  <span class="cline-any cline-neutral">&nbsp;</span>
276
278
  <span class="cline-any cline-neutral">&nbsp;</span>
277
279
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -290,7 +292,7 @@
290
292
  <span class="cline-any cline-neutral">&nbsp;</span>
291
293
  <span class="cline-any cline-neutral">&nbsp;</span>
292
294
  <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-yes">9x</span>
295
+ <span class="cline-any cline-yes">17x</span>
294
296
  <span class="cline-any cline-neutral">&nbsp;</span>
295
297
  <span class="cline-any cline-neutral">&nbsp;</span>
296
298
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -340,7 +342,7 @@
340
342
  <span class="cline-any cline-neutral">&nbsp;</span>
341
343
  <span class="cline-any cline-neutral">&nbsp;</span>
342
344
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { injectable } from '@biorate/inversion';
343
- import { merge, get, has, set, PropertyPath, PropertyName } from 'lodash';
345
+ import { merge, get, has, set, PropertyPath } from 'lodash';
344
346
  import * as traverse from 'traverse';
345
347
  import { UndefinedConfigPathError } from './errors';
346
348
  import { IConfig } from './interfaces';
@@ -361,8 +363,9 @@ export class Config implements IConfig {
361
363
  let res, result;
362
364
  const regExp = /\${([^}{]+)+?}/g;
363
365
  result = value;
366
+ console.log(value);
364
367
  while ((res = regExp.exec(value)))
365
- <span class="cstat-no" title="statement not covered" > if (this.has(res[1])) <span class="cstat-no" title="statement not covered" >result = result.replace(res[0], this.get(res[1]));</span></span>
368
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.has(res[1])) result = result.replace(res[0], this.get(res[1]));
366
369
  return result;
367
370
  }
368
371
  &nbsp;
@@ -484,7 +487,7 @@ export class Config implements IConfig {
484
487
  <div class='footer quiet pad2 space-top1 center small'>
485
488
  Code coverage generated by
486
489
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
487
- at Thu Aug 11 2022 13:46:11 GMT+0300 (Москва, стандартное время)
490
+ at Thu Sep 08 2022 12:34:33 GMT+0300 (Москва, стандартное время)
488
491
  </div>
489
492
  <script src="../../prettify.js"></script>
490
493
  <script>
@@ -0,0 +1,109 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for errors.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="prettify.css" />
9
+ <link rel="stylesheet" href="base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="index.html">All files</a> errors.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>3/3</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>3/3</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
75
+ <span class="cline-any cline-neutral">&nbsp;</span>
76
+ <span class="cline-any cline-neutral">&nbsp;</span>
77
+ <span class="cline-any cline-yes">1x</span>
78
+ <span class="cline-any cline-neutral">&nbsp;</span>
79
+ <span class="cline-any cline-yes">1x</span>
80
+ <span class="cline-any cline-neutral">&nbsp;</span>
81
+ <span class="cline-any cline-neutral">&nbsp;</span>
82
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { BaseError } from '@biorate/errors';
83
+ import { PropertyPath } from 'lodash';
84
+ &nbsp;
85
+ export class UndefinedConfigPathError extends BaseError {
86
+ public constructor(path: PropertyPath) {
87
+ super(`Undefined config path [%s]`, [path]);
88
+ }
89
+ }
90
+ &nbsp;</pre></td></tr></table></pre>
91
+
92
+ <div class='push'></div><!-- for sticky footer -->
93
+ </div><!-- /wrapper -->
94
+ <div class='footer quiet pad2 space-top1 center small'>
95
+ Code coverage generated by
96
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
97
+ at Thu Sep 08 2022 12:43:47 GMT+0300 (Москва, стандартное время)
98
+ </div>
99
+ <script src="prettify.js"></script>
100
+ <script>
101
+ window.onload = function () {
102
+ prettyPrint();
103
+ };
104
+ </script>
105
+ <script src="sorter.js"></script>
106
+ <script src="block-navigation.js"></script>
107
+ </body>
108
+ </html>
109
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80.55% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>29/36</span>
28
+ <span class='fraction'>39/39</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.15% </span>
33
+ <span class="strong">89.47% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>6/13</span>
35
+ <span class='fraction'>17/19</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">77.77% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/9</span>
42
+ <span class='fraction'>9/9</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">83.87% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>26/31</span>
49
+ <span class='fraction'>33/33</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,33 +79,33 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="config"><a href="config/index.html">config</a></td>
82
+ <td class="file high" data-value="errors.ts"><a href="errors.ts.html">errors.ts</a></td>
83
83
  <td data-value="100" class="pic high">
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="1" class="abs high">1/1</td>
88
- <td data-value="100" class="pct high">100%</td>
89
- <td data-value="0" class="abs high">0/0</td>
87
+ <td data-value="3" class="abs high">3/3</td>
90
88
  <td data-value="100" class="pct high">100%</td>
91
89
  <td data-value="0" class="abs high">0/0</td>
92
90
  <td data-value="100" class="pct high">100%</td>
93
91
  <td data-value="1" class="abs high">1/1</td>
92
+ <td data-value="100" class="pct high">100%</td>
93
+ <td data-value="3" class="abs high">3/3</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file high" data-value="config/src"><a href="config/src/index.html">config/src</a></td>
98
- <td data-value="80" class="pic high">
99
- <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
97
+ <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
98
+ <td data-value="100" class="pic high">
99
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
100
  </td>
101
- <td data-value="80" class="pct high">80%</td>
102
- <td data-value="35" class="abs high">28/35</td>
103
- <td data-value="46.15" class="pct low">46.15%</td>
104
- <td data-value="13" class="abs low">6/13</td>
105
- <td data-value="77.77" class="pct medium">77.77%</td>
106
- <td data-value="9" class="abs medium">7/9</td>
107
- <td data-value="83.33" class="pct high">83.33%</td>
108
- <td data-value="30" class="abs high">25/30</td>
101
+ <td data-value="100" class="pct high">100%</td>
102
+ <td data-value="36" class="abs high">36/36</td>
103
+ <td data-value="89.47" class="pct high">89.47%</td>
104
+ <td data-value="19" class="abs high">17/19</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="8" class="abs high">8/8</td>
107
+ <td data-value="100" class="pct high">100%</td>
108
+ <td data-value="30" class="abs high">30/30</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Thu Aug 11 2022 13:46:11 GMT+0300 (Москва, стандартное время)
119
+ at Thu Sep 08 2022 12:43:47 GMT+0300 (Москва, стандартное время)
120
120
  </div>
121
121
  <script src="prettify.js"></script>
122
122
  <script>