diff --git a/.gitignore b/.gitignore
index 4453f1c6a..a641f5491 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,7 @@
npm-debug.log
# example
-/quick-start
\ No newline at end of file
+/quick-start
+
+# tests
+/test
\ No newline at end of file
diff --git a/.nyc_output/4ae259876e585fb280c72304a291c774.json b/.nyc_output/4ae259876e585fb280c72304a291c774.json
new file mode 100644
index 000000000..9e26dfeeb
--- /dev/null
+++ b/.nyc_output/4ae259876e585fb280c72304a291c774.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/.nyc_output/d5120c539a5d900e8efb40fa7f253619.json b/.nyc_output/d5120c539a5d900e8efb40fa7f253619.json
new file mode 100644
index 000000000..8caa07741
--- /dev/null
+++ b/.nyc_output/d5120c539a5d900e8efb40fa7f253619.json
@@ -0,0 +1 @@
+{"C:\\wamp\\www\\tracker-server\\src\\common\\test\\utils\\component.decorator.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\common\\test\\utils\\component.decorator.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":0},"end":{"line":11,"column":28}},"13":{"start":{"line":12,"column":0},"end":{"line":12,"column":17}},"14":{"start":{"line":13,"column":15},"end":{"line":13,"column":30}},"15":{"start":{"line":14,"column":30},"end":{"line":14,"column":72}},"16":{"start":{"line":15,"column":0},"end":{"line":28,"column":3}},"17":{"start":{"line":16,"column":24},"end":{"line":18,"column":5}},"18":{"start":{"line":19,"column":4},"end":{"line":22,"column":22}},"19":{"start":{"line":23,"column":4},"end":{"line":27,"column":7}},"20":{"start":{"line":24,"column":34},"end":{"line":24,"column":89}},"21":{"start":{"line":25,"column":8},"end":{"line":25,"column":62}},"22":{"start":{"line":26,"column":8},"end":{"line":26,"column":62}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":25}},"loc":{"start":{"line":15,"column":30},"end":{"line":28,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":8},"end":{"line":17,"column":9}},"loc":{"start":{"line":17,"column":33},"end":{"line":17,"column":36}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":65},"end":{"line":23,"column":66}},"loc":{"start":{"line":23,"column":71},"end":{"line":27,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"f":{"0":1,"1":1,"2":1,"3":0,"4":1},"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":[1,1,1],"11":[1,0],"12":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"15fe42e1c459120d240fbd5522298db29f4767c6","contentHash":"91042b0169fae52a2c1d385b04bb438c_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\common\\utils\\component.decorator.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\common\\utils\\component.decorator.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":4,"column":2}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":27}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":20},"end":{"line":2,"column":21}},"loc":{"start":{"line":2,"column":26},"end":{"line":4,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":11},"end":{"line":3,"column":12}},"loc":{"start":{"line":3,"column":23},"end":{"line":3,"column":26}}}},"branchMap":{},"s":{"0":1,"1":11},"f":{"0":11,"1":11},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f1b41c9ad6b05424573159fa45fb41135fb0c6e9","contentHash":"d68cbb3e9105e090bf0f21134e5fc25d_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\common\\test\\utils\\controller.decorator.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\common\\test\\utils\\controller.decorator.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":0},"end":{"line":11,"column":28}},"13":{"start":{"line":12,"column":15},"end":{"line":12,"column":30}},"14":{"start":{"line":13,"column":31},"end":{"line":13,"column":74}},"15":{"start":{"line":14,"column":0},"end":{"line":42,"column":3}},"16":{"start":{"line":15,"column":18},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":15},"end":{"line":19,"column":5}},"18":{"start":{"line":20,"column":4},"end":{"line":23,"column":13}},"19":{"start":{"line":24,"column":22},"end":{"line":25,"column":5}},"20":{"start":{"line":26,"column":4},"end":{"line":29,"column":20}},"21":{"start":{"line":30,"column":4},"end":{"line":33,"column":7}},"22":{"start":{"line":31,"column":21},"end":{"line":31,"column":54}},"23":{"start":{"line":32,"column":8},"end":{"line":32,"column":50}},"24":{"start":{"line":34,"column":4},"end":{"line":37,"column":7}},"25":{"start":{"line":35,"column":21},"end":{"line":35,"column":61}},"26":{"start":{"line":36,"column":8},"end":{"line":36,"column":43}},"27":{"start":{"line":38,"column":4},"end":{"line":41,"column":7}},"28":{"start":{"line":39,"column":21},"end":{"line":39,"column":61}},"29":{"start":{"line":40,"column":8},"end":{"line":40,"column":43}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":24},"end":{"line":14,"column":25}},"loc":{"start":{"line":14,"column":30},"end":{"line":42,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":30,"column":59},"end":{"line":30,"column":60}},"loc":{"start":{"line":30,"column":65},"end":{"line":33,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":65},"end":{"line":34,"column":66}},"loc":{"start":{"line":34,"column":71},"end":{"line":37,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":38,"column":61},"end":{"line":38,"column":62}},"loc":{"start":{"line":38,"column":67},"end":{"line":41,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":2,"9":1,"10":2,"11":2,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1},"f":{"0":2,"1":2,"2":1,"3":1,"4":1,"5":1},"b":{"0":[1,1,1],"1":[2,0],"2":[0,0],"3":[2,0],"4":[2,2],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[2,0,0],"10":[1,1,1],"11":[2,0],"12":[2,2]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e3a3310d7e634e4ab87ed47ac1f4b6c550b22171","contentHash":"373b794ca4591307ce3bf127a0c04e4c_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\common\\utils\\controller.decorator.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\common\\utils\\controller.decorator.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"1":{"start":{"line":3,"column":24},"end":{"line":3,"column":37}},"2":{"start":{"line":4,"column":0},"end":{"line":11,"column":2}},"3":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"4":{"start":{"line":6,"column":8},"end":{"line":6,"column":28}},"5":{"start":{"line":8,"column":4},"end":{"line":10,"column":6}},"6":{"start":{"line":9,"column":8},"end":{"line":9,"column":62}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":21},"end":{"line":4,"column":22}},"loc":{"start":{"line":4,"column":53},"end":{"line":11,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":11},"end":{"line":8,"column":12}},"loc":{"start":{"line":8,"column":23},"end":{"line":10,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":22},"end":{"line":4,"column":48}},"type":"default-arg","locations":[{"start":{"line":4,"column":33},"end":{"line":4,"column":48}}]},"1":{"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}}]}},"s":{"0":1,"1":1,"2":1,"3":10,"4":0,"5":10,"6":10},"f":{"0":10,"1":10},"b":{"0":[1],"1":[0,10]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"adf2de39603738e782acd53093cbf8a98b13b5b0","contentHash":"5baa7f0f8b55dbbe2f288aaf48b36784_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\common\\test\\utils\\module.decorator.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\common\\test\\utils\\module.decorator.spec.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":9,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":7,"column":5}},"2":{"start":{"line":4,"column":8},"end":{"line":4,"column":25}},"3":{"start":{"line":5,"column":8},"end":{"line":6,"column":24}},"4":{"start":{"line":5,"column":25},"end":{"line":6,"column":24}},"5":{"start":{"line":6,"column":12},"end":{"line":6,"column":24}},"6":{"start":{"line":8,"column":4},"end":{"line":8,"column":13}},"7":{"start":{"line":10,"column":17},"end":{"line":15,"column":1}},"8":{"start":{"line":11,"column":12},"end":{"line":11,"column":28}},"9":{"start":{"line":11,"column":34},"end":{"line":11,"column":125}},"10":{"start":{"line":12,"column":4},"end":{"line":13,"column":150}},"11":{"start":{"line":12,"column":79},"end":{"line":12,"column":131}},"12":{"start":{"line":13,"column":9},"end":{"line":13,"column":150}},"13":{"start":{"line":13,"column":58},"end":{"line":13,"column":150}},"14":{"start":{"line":13,"column":81},"end":{"line":13,"column":150}},"15":{"start":{"line":14,"column":4},"end":{"line":14,"column":66}},"16":{"start":{"line":16,"column":17},"end":{"line":18,"column":1}},"17":{"start":{"line":17,"column":4},"end":{"line":17,"column":109}},"18":{"start":{"line":17,"column":79},"end":{"line":17,"column":109}},"19":{"start":{"line":19,"column":0},"end":{"line":19,"column":28}},"20":{"start":{"line":20,"column":15},"end":{"line":20,"column":30}},"21":{"start":{"line":21,"column":27},"end":{"line":21,"column":66}},"22":{"start":{"line":22,"column":42},"end":{"line":22,"column":111}},"23":{"start":{"line":23,"column":0},"end":{"line":50,"column":3}},"24":{"start":{"line":24,"column":24},"end":{"line":29,"column":5}},"25":{"start":{"line":30,"column":21},"end":{"line":31,"column":5}},"26":{"start":{"line":32,"column":4},"end":{"line":35,"column":19}},"27":{"start":{"line":36,"column":4},"end":{"line":45,"column":7}},"28":{"start":{"line":37,"column":24},"end":{"line":37,"column":66}},"29":{"start":{"line":38,"column":27},"end":{"line":38,"column":72}},"30":{"start":{"line":39,"column":24},"end":{"line":39,"column":66}},"31":{"start":{"line":40,"column":28},"end":{"line":40,"column":74}},"32":{"start":{"line":41,"column":8},"end":{"line":41,"column":62}},"33":{"start":{"line":42,"column":8},"end":{"line":42,"column":68}},"34":{"start":{"line":43,"column":8},"end":{"line":43,"column":70}},"35":{"start":{"line":44,"column":8},"end":{"line":44,"column":62}},"36":{"start":{"line":46,"column":4},"end":{"line":49,"column":7}},"37":{"start":{"line":47,"column":29},"end":{"line":47,"column":68}},"38":{"start":{"line":48,"column":8},"end":{"line":48,"column":147}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":59},"end":{"line":2,"column":60}},"loc":{"start":{"line":2,"column":71},"end":{"line":9,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":46},"end":{"line":10,"column":47}},"loc":{"start":{"line":10,"column":87},"end":{"line":15,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":46},"end":{"line":16,"column":47}},"loc":{"start":{"line":16,"column":62},"end":{"line":18,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":20},"end":{"line":23,"column":21}},"loc":{"start":{"line":23,"column":26},"end":{"line":50,"column":1}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":61},"end":{"line":36,"column":62}},"loc":{"start":{"line":36,"column":67},"end":{"line":45,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":46,"column":68},"end":{"line":46,"column":69}},"loc":{"start":{"line":46,"column":74},"end":{"line":49,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":15},"end":{"line":9,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":16},"end":{"line":2,"column":20}},{"start":{"line":2,"column":24},"end":{"line":2,"column":37}},{"start":{"line":2,"column":42},"end":{"line":2,"column":55}},{"start":{"line":2,"column":59},"end":{"line":9,"column":1}}]},"1":{"loc":{"start":{"line":5,"column":25},"end":{"line":6,"column":24}},"type":"if","locations":[{"start":{"line":5,"column":25},"end":{"line":6,"column":24}},{"start":{"line":5,"column":25},"end":{"line":6,"column":24}}]},"2":{"loc":{"start":{"line":10,"column":17},"end":{"line":15,"column":1}},"type":"binary-expr","locations":[{"start":{"line":10,"column":18},"end":{"line":10,"column":22}},{"start":{"line":10,"column":26},"end":{"line":10,"column":41}},{"start":{"line":10,"column":46},"end":{"line":15,"column":1}}]},"3":{"loc":{"start":{"line":11,"column":34},"end":{"line":11,"column":125}},"type":"cond-expr","locations":[{"start":{"line":11,"column":42},"end":{"line":11,"column":48}},{"start":{"line":11,"column":51},"end":{"line":11,"column":125}}]},"4":{"loc":{"start":{"line":11,"column":51},"end":{"line":11,"column":125}},"type":"cond-expr","locations":[{"start":{"line":11,"column":67},"end":{"line":11,"column":118}},{"start":{"line":11,"column":121},"end":{"line":11,"column":125}}]},"5":{"loc":{"start":{"line":12,"column":4},"end":{"line":13,"column":150}},"type":"if","locations":[{"start":{"line":12,"column":4},"end":{"line":13,"column":150}},{"start":{"line":12,"column":4},"end":{"line":13,"column":150}}]},"6":{"loc":{"start":{"line":12,"column":8},"end":{"line":12,"column":77}},"type":"binary-expr","locations":[{"start":{"line":12,"column":8},"end":{"line":12,"column":35}},{"start":{"line":12,"column":39},"end":{"line":12,"column":77}}]},"7":{"loc":{"start":{"line":13,"column":58},"end":{"line":13,"column":150}},"type":"if","locations":[{"start":{"line":13,"column":58},"end":{"line":13,"column":150}},{"start":{"line":13,"column":58},"end":{"line":13,"column":150}}]},"8":{"loc":{"start":{"line":13,"column":85},"end":{"line":13,"column":149}},"type":"binary-expr","locations":[{"start":{"line":13,"column":86},"end":{"line":13,"column":143}},{"start":{"line":13,"column":148},"end":{"line":13,"column":149}}]},"9":{"loc":{"start":{"line":13,"column":86},"end":{"line":13,"column":143}},"type":"cond-expr","locations":[{"start":{"line":13,"column":94},"end":{"line":13,"column":98}},{"start":{"line":13,"column":101},"end":{"line":13,"column":143}}]},"10":{"loc":{"start":{"line":13,"column":101},"end":{"line":13,"column":143}},"type":"cond-expr","locations":[{"start":{"line":13,"column":109},"end":{"line":13,"column":126}},{"start":{"line":13,"column":129},"end":{"line":13,"column":143}}]},"11":{"loc":{"start":{"line":14,"column":11},"end":{"line":14,"column":62}},"type":"binary-expr","locations":[{"start":{"line":14,"column":11},"end":{"line":14,"column":16}},{"start":{"line":14,"column":20},"end":{"line":14,"column":21}},{"start":{"line":14,"column":25},"end":{"line":14,"column":62}}]},"12":{"loc":{"start":{"line":16,"column":17},"end":{"line":18,"column":1}},"type":"binary-expr","locations":[{"start":{"line":16,"column":18},"end":{"line":16,"column":22}},{"start":{"line":16,"column":26},"end":{"line":16,"column":41}},{"start":{"line":16,"column":46},"end":{"line":18,"column":1}}]},"13":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":109}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":109}},{"start":{"line":17,"column":4},"end":{"line":17,"column":109}}]},"14":{"loc":{"start":{"line":17,"column":8},"end":{"line":17,"column":77}},"type":"binary-expr","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":35}},{"start":{"line":17,"column":39},"end":{"line":17,"column":77}}]}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1,"8":1,"9":1,"10":1,"11":1,"12":0,"13":0,"14":0,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"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":1,"36":1,"37":1,"38":1},"f":{"0":0,"1":1,"2":1,"3":1,"4":1,"5":1},"b":{"0":[1,1,1,0],"1":[0,0],"2":[1,1,1],"3":[1,0],"4":[0,0],"5":[1,0],"6":[1,1],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[1,0,0],"12":[1,1,1],"13":[1,0],"14":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"97f6e7adbf283f10f45c2af427ca2166ca91536c","contentHash":"6827782741d1eaf6dc05f239e4781bf7_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\common\\utils\\module.decorator.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\common\\utils\\module.decorator.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"1":{"start":{"line":3,"column":42},"end":{"line":3,"column":108}},"2":{"start":{"line":4,"column":0},"end":{"line":19,"column":2}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":40}},"4":{"start":{"line":6,"column":29},"end":{"line":6,"column":80}},"5":{"start":{"line":7,"column":4},"end":{"line":11,"column":7}},"6":{"start":{"line":8,"column":8},"end":{"line":10,"column":9}},"7":{"start":{"line":8,"column":50},"end":{"line":8,"column":64}},"8":{"start":{"line":9,"column":12},"end":{"line":9,"column":91}},"9":{"start":{"line":12,"column":4},"end":{"line":18,"column":6}},"10":{"start":{"line":13,"column":8},"end":{"line":17,"column":9}},"11":{"start":{"line":14,"column":12},"end":{"line":16,"column":13}},"12":{"start":{"line":15,"column":16},"end":{"line":15,"column":74}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":17},"end":{"line":4,"column":18}},"loc":{"start":{"line":4,"column":28},"end":{"line":19,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":18},"end":{"line":7,"column":19}},"loc":{"start":{"line":7,"column":28},"end":{"line":11,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":39},"end":{"line":8,"column":40}},"loc":{"start":{"line":8,"column":50},"end":{"line":8,"column":64}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":12,"column":11},"end":{"line":12,"column":12}},"loc":{"start":{"line":12,"column":23},"end":{"line":18,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":8},"end":{"line":10,"column":9}},"type":"if","locations":[{"start":{"line":8,"column":8},"end":{"line":10,"column":9}},{"start":{"line":8,"column":8},"end":{"line":10,"column":9}}]},"1":{"loc":{"start":{"line":14,"column":12},"end":{"line":16,"column":13}},"type":"if","locations":[{"start":{"line":14,"column":12},"end":{"line":16,"column":13}},{"start":{"line":14,"column":12},"end":{"line":16,"column":13}}]}},"s":{"0":1,"1":1,"2":1,"3":5,"4":5,"5":5,"6":15,"7":41,"8":1,"9":4,"10":4,"11":10,"12":10},"f":{"0":5,"1":15,"2":41,"3":4},"b":{"0":[1,14],"1":[10,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"92d304628b584994b864c5cb1066586884ccb6df","contentHash":"b82dc6267c7bf8111cb8d2e6240610d1_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\invalid-module-config.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\invalid-module-config.exception.ts","statementMap":{"0":{"start":{"line":2,"column":28},"end":{"line":2,"column":58}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":75}},"2":{"start":{"line":8,"column":0},"end":{"line":8,"column":68}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":26},"end":{"line":6,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"baf8a12ab399e9e9afcf2723954ef131cc99038c","contentHash":"1dbf8ff42181a1483e48a5071f8e5607_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\runtime.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\runtime.exception.ts","statementMap":{"0":{"start":{"line":4,"column":8},"end":{"line":4,"column":16}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":23}},"2":{"start":{"line":8,"column":8},"end":{"line":8,"column":24}},"3":{"start":{"line":11,"column":0},"end":{"line":11,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":4},"end":{"line":3,"column":5}},"loc":{"start":{"line":3,"column":21},"end":{"line":6,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":11},"end":{"line":9,"column":5}}}},"branchMap":{},"s":{"0":8,"1":8,"2":0,"3":1},"f":{"0":8,"1":0},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f92121a2cbe8c2fb27f5232f2c599814585bbfa9","contentHash":"2b9d92d21d9da7679f483f5364ee12fa_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\common\\test\\utils\\request-mapping.decorator.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\common\\test\\utils\\request-mapping.decorator.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":0},"end":{"line":11,"column":28}},"13":{"start":{"line":12,"column":15},"end":{"line":12,"column":30}},"14":{"start":{"line":13,"column":36},"end":{"line":13,"column":84}},"15":{"start":{"line":14,"column":30},"end":{"line":14,"column":72}},"16":{"start":{"line":15,"column":42},"end":{"line":15,"column":111}},"17":{"start":{"line":16,"column":0},"end":{"line":52,"column":3}},"18":{"start":{"line":17,"column":25},"end":{"line":20,"column":5}},"19":{"start":{"line":21,"column":4},"end":{"line":35,"column":7}},"20":{"start":{"line":25,"column":8},"end":{"line":30,"column":31}},"21":{"start":{"line":31,"column":21},"end":{"line":31,"column":59}},"22":{"start":{"line":32,"column":23},"end":{"line":32,"column":63}},"23":{"start":{"line":33,"column":8},"end":{"line":33,"column":61}},"24":{"start":{"line":34,"column":8},"end":{"line":34,"column":57}},"25":{"start":{"line":36,"column":4},"end":{"line":48,"column":7}},"26":{"start":{"line":40,"column":8},"end":{"line":45,"column":31}},"27":{"start":{"line":46,"column":23},"end":{"line":46,"column":63}},"28":{"start":{"line":47,"column":8},"end":{"line":47,"column":81}},"29":{"start":{"line":49,"column":4},"end":{"line":51,"column":7}},"30":{"start":{"line":50,"column":8},"end":{"line":50,"column":151}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":28},"end":{"line":16,"column":29}},"loc":{"start":{"line":16,"column":34},"end":{"line":52,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":62},"end":{"line":21,"column":63}},"loc":{"start":{"line":21,"column":68},"end":{"line":35,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":12},"end":{"line":23,"column":13}},"loc":{"start":{"line":23,"column":26},"end":{"line":23,"column":29}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":54},"end":{"line":36,"column":55}},"loc":{"start":{"line":36,"column":60},"end":{"line":48,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":38,"column":12},"end":{"line":38,"column":13}},"loc":{"start":{"line":38,"column":26},"end":{"line":38,"column":29}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":49,"column":63},"end":{"line":49,"column":64}},"loc":{"start":{"line":49,"column":69},"end":{"line":51,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":2,"9":1,"10":6,"11":6,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1},"f":{"0":2,"1":6,"2":1,"3":1,"4":0,"5":1,"6":0,"7":1},"b":{"0":[1,1,1],"1":[0,2],"2":[2,0],"3":[2,0],"4":[2,2],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[2,2,2],"10":[1,1,1],"11":[6,0],"12":[6,6]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"59df74b7201d2e435cf7a7992e3ce5e1f07c1ca3","contentHash":"eb0b055afc719b1d5bb8871834719f64_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\common\\utils\\request-mapping.decorator.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\common\\utils\\request-mapping.decorator.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"1":{"start":{"line":3,"column":30},"end":{"line":3,"column":69}},"2":{"start":{"line":4,"column":42},"end":{"line":4,"column":108}},"3":{"start":{"line":5,"column":0},"end":{"line":15,"column":2}},"4":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":7,"column":8},"end":{"line":7,"column":99}},"6":{"start":{"line":9,"column":26},"end":{"line":9,"column":84}},"7":{"start":{"line":10,"column":4},"end":{"line":14,"column":6}},"8":{"start":{"line":11,"column":8},"end":{"line":11,"column":72}},"9":{"start":{"line":12,"column":8},"end":{"line":12,"column":74}},"10":{"start":{"line":13,"column":8},"end":{"line":13,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":25},"end":{"line":5,"column":26}},"loc":{"start":{"line":5,"column":39},"end":{"line":15,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":11},"end":{"line":10,"column":12}},"loc":{"start":{"line":10,"column":46},"end":{"line":14,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},{"start":{"line":6,"column":4},"end":{"line":8,"column":5}}]},"1":{"loc":{"start":{"line":9,"column":26},"end":{"line":9,"column":84}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":41}},{"start":{"line":9,"column":45},"end":{"line":9,"column":84}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":14,"5":1,"6":13,"7":13,"8":13,"9":13,"10":13},"f":{"0":14,"1":13},"b":{"0":[1,13],"1":[13,6]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"688848687fc03f95acb3c334f8bc45d589816a7e","contentHash":"004e58b9f2810b3ff0ffe708d2779784_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\common\\enums\\request-method.enum.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\common\\enums\\request-method.enum.ts","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":9,"column":74}},"1":{"start":{"line":4,"column":4},"end":{"line":4,"column":52}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":54}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":52}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":58}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":52}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":1},"end":{"line":3,"column":2}},"loc":{"start":{"line":3,"column":26},"end":{"line":9,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":19},"end":{"line":9,"column":72}},"type":"binary-expr","locations":[{"start":{"line":9,"column":19},"end":{"line":9,"column":40}},{"start":{"line":9,"column":45},"end":{"line":9,"column":71}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1},"f":{"0":1},"b":{"0":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"816908c1d448eafd1251a6251188306c74f4d75c","contentHash":"e8bfedbcfdba37b319c62e3f24b9ea9c_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\invalid-path-variable.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\invalid-path-variable.exception.ts","statementMap":{"0":{"start":{"line":2,"column":28},"end":{"line":2,"column":58}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":53}},"2":{"start":{"line":8,"column":0},"end":{"line":8,"column":68}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":32},"end":{"line":6,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"2bf0b8bff6dbd93442a364d6f89eb6526c0e3707","contentHash":"ea13ca0acb3cc069a70094e795dbfe12_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\exceptions\\exceptions-handler.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\exceptions\\exceptions-handler.spec.ts","statementMap":{"0":{"start":{"line":2,"column":14},"end":{"line":2,"column":30}},"1":{"start":{"line":3,"column":15},"end":{"line":3,"column":30}},"2":{"start":{"line":4,"column":29},"end":{"line":4,"column":75}},"3":{"start":{"line":5,"column":20},"end":{"line":5,"column":57}},"4":{"start":{"line":6,"column":0},"end":{"line":36,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":21,"column":7}},"6":{"start":{"line":12,"column":8},"end":{"line":12,"column":63}},"7":{"start":{"line":13,"column":8},"end":{"line":13,"column":34}},"8":{"start":{"line":14,"column":8},"end":{"line":14,"column":32}},"9":{"start":{"line":15,"column":8},"end":{"line":18,"column":10}},"10":{"start":{"line":19,"column":8},"end":{"line":19,"column":42}},"11":{"start":{"line":20,"column":8},"end":{"line":20,"column":40}},"12":{"start":{"line":22,"column":4},"end":{"line":35,"column":7}},"13":{"start":{"line":23,"column":8},"end":{"line":27,"column":11}},"14":{"start":{"line":24,"column":12},"end":{"line":24,"column":48}},"15":{"start":{"line":25,"column":12},"end":{"line":25,"column":65}},"16":{"start":{"line":26,"column":12},"end":{"line":26,"column":91}},"17":{"start":{"line":28,"column":8},"end":{"line":34,"column":11}},"18":{"start":{"line":29,"column":27},"end":{"line":29,"column":30}},"19":{"start":{"line":30,"column":28},"end":{"line":30,"column":42}},"20":{"start":{"line":31,"column":12},"end":{"line":31,"column":79}},"21":{"start":{"line":32,"column":12},"end":{"line":32,"column":68}},"22":{"start":{"line":33,"column":12},"end":{"line":33,"column":71}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":30},"end":{"line":6,"column":31}},"loc":{"start":{"line":6,"column":36},"end":{"line":36,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":15},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":21},"end":{"line":21,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":21},"end":{"line":22,"column":22}},"loc":{"start":{"line":22,"column":27},"end":{"line":35,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":101},"end":{"line":23,"column":102}},"loc":{"start":{"line":23,"column":107},"end":{"line":27,"column":9}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":28,"column":115},"end":{"line":28,"column":116}},"loc":{"start":{"line":28,"column":121},"end":{"line":34,"column":9}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"f":{"0":1,"1":2,"2":1,"3":1,"4":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"ed7007fbe7e3bede2fe36aa455fba5c1018ccd66","contentHash":"23400661f1052d9a55b254236925ada3_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\exceptions\\exceptions-handler.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\exceptions\\exceptions-handler.ts","statementMap":{"0":{"start":{"line":2,"column":20},"end":{"line":2,"column":42}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":55}},"2":{"start":{"line":8,"column":8},"end":{"line":11,"column":9}},"3":{"start":{"line":9,"column":12},"end":{"line":9,"column":78}},"4":{"start":{"line":10,"column":12},"end":{"line":10,"column":19}},"5":{"start":{"line":12,"column":8},"end":{"line":14,"column":11}},"6":{"start":{"line":17,"column":0},"end":{"line":17,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":18},"end":{"line":6,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":30},"end":{"line":15,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":8},"end":{"line":11,"column":9}},"type":"if","locations":[{"start":{"line":8,"column":8},"end":{"line":11,"column":9}},{"start":{"line":8,"column":8},"end":{"line":11,"column":9}}]}},"s":{"0":1,"1":6,"2":2,"3":1,"4":1,"5":1,"6":1},"f":{"0":6,"1":2},"b":{"0":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"a957a19a0e5acc163090451885ea5b7bdd0b7ec1","contentHash":"f579dd84751396564d30fe08068b2ca6_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\exceptions\\exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\exceptions\\exception.ts","statementMap":{"0":{"start":{"line":4,"column":8},"end":{"line":4,"column":31}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":29}},"2":{"start":{"line":8,"column":8},"end":{"line":8,"column":28}},"3":{"start":{"line":11,"column":8},"end":{"line":11,"column":27}},"4":{"start":{"line":14,"column":0},"end":{"line":14,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":4},"end":{"line":3,"column":5}},"loc":{"start":{"line":3,"column":33},"end":{"line":6,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":17},"end":{"line":9,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":16},"end":{"line":12,"column":5}}}},"branchMap":{},"s":{"0":3,"1":3,"2":1,"3":1,"4":1},"f":{"0":3,"1":1,"2":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3326829bf9b20c7efe7459fd40d0f8e64ec53dac","contentHash":"b93b85c5bcb3840a483da7273ca7e732_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\injector\\container.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\injector\\container.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":15},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":20},"end":{"line":12,"column":55}},"14":{"start":{"line":13,"column":27},"end":{"line":13,"column":76}},"15":{"start":{"line":14,"column":34},"end":{"line":14,"column":95}},"16":{"start":{"line":15,"column":0},"end":{"line":40,"column":3}},"17":{"start":{"line":17,"column":21},"end":{"line":18,"column":5}},"18":{"start":{"line":19,"column":4},"end":{"line":22,"column":19}},"19":{"start":{"line":23,"column":4},"end":{"line":25,"column":7}},"20":{"start":{"line":24,"column":8},"end":{"line":24,"column":52}},"21":{"start":{"line":26,"column":4},"end":{"line":35,"column":7}},"22":{"start":{"line":27,"column":8},"end":{"line":27,"column":40}},"23":{"start":{"line":28,"column":8},"end":{"line":34,"column":11}},"24":{"start":{"line":36,"column":4},"end":{"line":39,"column":7}},"25":{"start":{"line":37,"column":8},"end":{"line":37,"column":40}},"26":{"start":{"line":38,"column":8},"end":{"line":38,"column":146}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":26},"end":{"line":15,"column":27}},"loc":{"start":{"line":15,"column":32},"end":{"line":40,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":15},"end":{"line":23,"column":16}},"loc":{"start":{"line":23,"column":21},"end":{"line":25,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":26,"column":73},"end":{"line":26,"column":74}},"loc":{"start":{"line":26,"column":79},"end":{"line":35,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":111},"end":{"line":36,"column":112}},"loc":{"start":{"line":36,"column":117},"end":{"line":39,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":2,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"f":{"0":1,"1":1,"2":1,"3":2,"4":1,"5":1},"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":[1,1,1],"11":[1,0],"12":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"12c8758c0f6cbcec0d82755428e3c2b13335ae7a","contentHash":"83e6817b5631622dcee6e4ee4c1014b4_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\injector\\container.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\injector\\container.ts","statementMap":{"0":{"start":{"line":2,"column":34},"end":{"line":2,"column":92}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":33}},"2":{"start":{"line":8,"column":8},"end":{"line":16,"column":9}},"3":{"start":{"line":9,"column":12},"end":{"line":15,"column":15}},"4":{"start":{"line":19,"column":8},"end":{"line":19,"column":28}},"5":{"start":{"line":22,"column":8},"end":{"line":26,"column":9}},"6":{"start":{"line":23,"column":33},"end":{"line":23,"column":57}},"7":{"start":{"line":24,"column":28},"end":{"line":24,"column":59}},"8":{"start":{"line":25,"column":12},"end":{"line":25,"column":53}},"9":{"start":{"line":29,"column":8},"end":{"line":35,"column":9}},"10":{"start":{"line":30,"column":33},"end":{"line":30,"column":57}},"11":{"start":{"line":31,"column":12},"end":{"line":34,"column":15}},"12":{"start":{"line":38,"column":8},"end":{"line":44,"column":9}},"13":{"start":{"line":39,"column":33},"end":{"line":39,"column":57}},"14":{"start":{"line":40,"column":12},"end":{"line":42,"column":13}},"15":{"start":{"line":41,"column":16},"end":{"line":41,"column":76}},"16":{"start":{"line":43,"column":12},"end":{"line":43,"column":56}},"17":{"start":{"line":47,"column":8},"end":{"line":53,"column":9}},"18":{"start":{"line":48,"column":33},"end":{"line":48,"column":57}},"19":{"start":{"line":49,"column":12},"end":{"line":52,"column":15}},"20":{"start":{"line":56,"column":0},"end":{"line":56,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":18},"end":{"line":6,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":27},"end":{"line":17,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":4},"end":{"line":18,"column":5}},"loc":{"start":{"line":18,"column":17},"end":{"line":20,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":44},"end":{"line":27,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":36},"end":{"line":36,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":37,"column":4},"end":{"line":37,"column":5}},"loc":{"start":{"line":37,"column":52},"end":{"line":45,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":46,"column":4},"end":{"line":46,"column":5}},"loc":{"start":{"line":46,"column":28},"end":{"line":54,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":8},"end":{"line":16,"column":9}},"type":"if","locations":[{"start":{"line":8,"column":8},"end":{"line":16,"column":9}},{"start":{"line":8,"column":8},"end":{"line":16,"column":9}}]},"1":{"loc":{"start":{"line":22,"column":8},"end":{"line":26,"column":9}},"type":"if","locations":[{"start":{"line":22,"column":8},"end":{"line":26,"column":9}},{"start":{"line":22,"column":8},"end":{"line":26,"column":9}}]},"2":{"loc":{"start":{"line":29,"column":8},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":35,"column":9}},{"start":{"line":29,"column":8},"end":{"line":35,"column":9}}]},"3":{"loc":{"start":{"line":38,"column":8},"end":{"line":44,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":44,"column":9}},{"start":{"line":38,"column":8},"end":{"line":44,"column":9}}]},"4":{"loc":{"start":{"line":40,"column":12},"end":{"line":42,"column":13}},"type":"if","locations":[{"start":{"line":40,"column":12},"end":{"line":42,"column":13}},{"start":{"line":40,"column":12},"end":{"line":42,"column":13}}]},"5":{"loc":{"start":{"line":47,"column":8},"end":{"line":53,"column":9}},"type":"if","locations":[{"start":{"line":47,"column":8},"end":{"line":53,"column":9}},{"start":{"line":47,"column":8},"end":{"line":53,"column":9}}]}},"s":{"0":1,"1":6,"2":8,"3":4,"4":4,"5":3,"6":3,"7":3,"8":3,"9":4,"10":4,"11":4,"12":2,"13":2,"14":2,"15":1,"16":1,"17":4,"18":4,"19":4,"20":1},"f":{"0":6,"1":8,"2":4,"3":3,"4":4,"5":2,"6":4},"b":{"0":[4,4],"1":[3,0],"2":[4,0],"3":[2,0],"4":[1,1],"5":[4,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f0ddcfe1a8289c24c305c622e3aa6c861a7008c5","contentHash":"7b32f12589b4dc5ef67e24f6f3754da6_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\unkown-export.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\unkown-export.exception.ts","statementMap":{"0":{"start":{"line":2,"column":28},"end":{"line":2,"column":58}},"1":{"start":{"line":5,"column":8},"end":{"line":6,"column":69}},"2":{"start":{"line":9,"column":0},"end":{"line":9,"column":54}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":18},"end":{"line":7,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"59771d4ac17048116c2fd6071cf230b804313004","contentHash":"1e2057287b640f10afc6530aaf55d12b_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\injector\\injector.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\injector\\injector.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":15},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":19},"end":{"line":12,"column":53}},"14":{"start":{"line":13,"column":30},"end":{"line":13,"column":82}},"15":{"start":{"line":14,"column":28},"end":{"line":14,"column":83}},"16":{"start":{"line":15,"column":0},"end":{"line":106,"column":3}},"17":{"start":{"line":17,"column":4},"end":{"line":19,"column":7}},"18":{"start":{"line":18,"column":8},"end":{"line":18,"column":45}},"19":{"start":{"line":20,"column":4},"end":{"line":78,"column":7}},"20":{"start":{"line":21,"column":28},"end":{"line":22,"column":9}},"21":{"start":{"line":23,"column":8},"end":{"line":26,"column":26}},"22":{"start":{"line":27,"column":28},"end":{"line":28,"column":9}},"23":{"start":{"line":29,"column":8},"end":{"line":32,"column":26}},"24":{"start":{"line":33,"column":23},"end":{"line":38,"column":9}},"25":{"start":{"line":35,"column":16},"end":{"line":35,"column":37}},"26":{"start":{"line":36,"column":16},"end":{"line":36,"column":37}},"27":{"start":{"line":39,"column":8},"end":{"line":43,"column":21}},"28":{"start":{"line":45,"column":8},"end":{"line":62,"column":11}},"29":{"start":{"line":46,"column":12},"end":{"line":49,"column":14}},"30":{"start":{"line":50,"column":12},"end":{"line":53,"column":15}},"31":{"start":{"line":54,"column":12},"end":{"line":57,"column":15}},"32":{"start":{"line":58,"column":12},"end":{"line":61,"column":15}},"33":{"start":{"line":63,"column":8},"end":{"line":69,"column":11}},"34":{"start":{"line":64,"column":12},"end":{"line":64,"column":79}},"35":{"start":{"line":65,"column":34},"end":{"line":65,"column":69}},"36":{"start":{"line":66,"column":12},"end":{"line":66,"column":79}},"37":{"start":{"line":67,"column":12},"end":{"line":67,"column":79}},"38":{"start":{"line":68,"column":12},"end":{"line":68,"column":67}},"39":{"start":{"line":70,"column":8},"end":{"line":74,"column":11}},"40":{"start":{"line":71,"column":12},"end":{"line":71,"column":79}},"41":{"start":{"line":72,"column":36},"end":{"line":72,"column":71}},"42":{"start":{"line":73,"column":12},"end":{"line":73,"column":49}},"43":{"start":{"line":75,"column":8},"end":{"line":77,"column":11}},"44":{"start":{"line":76,"column":12},"end":{"line":76,"column":154}},"45":{"start":{"line":79,"column":4},"end":{"line":105,"column":7}},"46":{"start":{"line":80,"column":19},"end":{"line":81,"column":9}},"47":{"start":{"line":82,"column":8},"end":{"line":85,"column":17}},"48":{"start":{"line":87,"column":8},"end":{"line":96,"column":11}},"49":{"start":{"line":88,"column":12},"end":{"line":91,"column":14}},"50":{"start":{"line":92,"column":12},"end":{"line":95,"column":15}},"51":{"start":{"line":97,"column":8},"end":{"line":104,"column":11}},"52":{"start":{"line":98,"column":35},"end":{"line":101,"column":13}},"53":{"start":{"line":102,"column":12},"end":{"line":102,"column":74}},"54":{"start":{"line":103,"column":12},"end":{"line":103,"column":89}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":21},"end":{"line":15,"column":22}},"loc":{"start":{"line":15,"column":27},"end":{"line":106,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":15},"end":{"line":17,"column":16}},"loc":{"start":{"line":17,"column":21},"end":{"line":19,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":29},"end":{"line":20,"column":30}},"loc":{"start":{"line":20,"column":35},"end":{"line":78,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":34,"column":12},"end":{"line":34,"column":13}},"loc":{"start":{"line":34,"column":40},"end":{"line":37,"column":13}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":45,"column":19},"end":{"line":45,"column":20}},"loc":{"start":{"line":45,"column":25},"end":{"line":62,"column":9}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":63,"column":78},"end":{"line":63,"column":79}},"loc":{"start":{"line":63,"column":84},"end":{"line":69,"column":9}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":70,"column":85},"end":{"line":70,"column":86}},"loc":{"start":{"line":70,"column":91},"end":{"line":74,"column":9}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":75,"column":82},"end":{"line":75,"column":83}},"loc":{"start":{"line":75,"column":88},"end":{"line":77,"column":9}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":79,"column":40},"end":{"line":79,"column":41}},"loc":{"start":{"line":79,"column":46},"end":{"line":105,"column":5}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":87,"column":19},"end":{"line":87,"column":20}},"loc":{"start":{"line":87,"column":25},"end":{"line":96,"column":9}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":97,"column":50},"end":{"line":97,"column":51}},"loc":{"start":{"line":97,"column":56},"end":{"line":104,"column":9}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":4,"2":4,"3":4,"4":4,"5":0,"6":0,"7":0,"8":4,"9":1,"10":4,"11":4,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":4,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":2,"26":2,"27":1,"28":1,"29":3,"30":3,"31":3,"32":3,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1},"f":{"0":4,"1":4,"2":1,"3":4,"4":1,"5":2,"6":3,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"b":{"0":[1,1,1],"1":[4,0],"2":[0,0],"3":[4,0],"4":[4,4],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[4,0,0],"10":[1,1,1],"11":[4,0],"12":[4,4]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"c120aca39201eece2533300191654d3e98826d71","contentHash":"16fabce7e30d5b3e8394ac9bfe7e1907_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\injector\\injector.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\injector\\injector.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":9,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":7,"column":5}},"2":{"start":{"line":4,"column":8},"end":{"line":4,"column":25}},"3":{"start":{"line":5,"column":8},"end":{"line":6,"column":24}},"4":{"start":{"line":5,"column":25},"end":{"line":6,"column":24}},"5":{"start":{"line":6,"column":12},"end":{"line":6,"column":24}},"6":{"start":{"line":8,"column":4},"end":{"line":8,"column":13}},"7":{"start":{"line":10,"column":0},"end":{"line":10,"column":28}},"8":{"start":{"line":11,"column":40},"end":{"line":11,"column":104}},"9":{"start":{"line":12,"column":40},"end":{"line":12,"column":104}},"10":{"start":{"line":13,"column":28},"end":{"line":13,"column":80}},"11":{"start":{"line":16,"column":41},"end":{"line":16,"column":71}},"12":{"start":{"line":17,"column":8},"end":{"line":21,"column":9}},"13":{"start":{"line":18,"column":12},"end":{"line":20,"column":15}},"14":{"start":{"line":19,"column":16},"end":{"line":19,"column":85}},"15":{"start":{"line":24,"column":23},"end":{"line":24,"column":36}},"16":{"start":{"line":25,"column":8},"end":{"line":25,"column":53}},"17":{"start":{"line":28,"column":8},"end":{"line":30,"column":9}},"18":{"start":{"line":29,"column":12},"end":{"line":29,"column":19}},"19":{"start":{"line":31,"column":8},"end":{"line":31,"column":110}},"20":{"start":{"line":34,"column":27},"end":{"line":34,"column":44}},"21":{"start":{"line":35,"column":8},"end":{"line":35,"column":61}},"22":{"start":{"line":38,"column":39},"end":{"line":38,"column":59}},"23":{"start":{"line":39,"column":8},"end":{"line":41,"column":9}},"24":{"start":{"line":40,"column":12},"end":{"line":40,"column":63}},"25":{"start":{"line":42,"column":8},"end":{"line":47,"column":9}},"26":{"start":{"line":43,"column":12},"end":{"line":46,"column":15}},"27":{"start":{"line":44,"column":16},"end":{"line":44,"column":125}},"28":{"start":{"line":45,"column":16},"end":{"line":45,"column":57}},"29":{"start":{"line":50,"column":32},"end":{"line":50,"column":84}},"30":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"31":{"start":{"line":52,"column":12},"end":{"line":52,"column":50}},"32":{"start":{"line":54,"column":30},"end":{"line":54,"column":110}},"33":{"start":{"line":54,"column":64},"end":{"line":54,"column":108}},"34":{"start":{"line":55,"column":8},"end":{"line":55,"column":32}},"35":{"start":{"line":58,"column":8},"end":{"line":60,"column":9}},"36":{"start":{"line":59,"column":12},"end":{"line":59,"column":94}},"37":{"start":{"line":61,"column":8},"end":{"line":61,"column":72}},"38":{"start":{"line":64,"column":27},"end":{"line":64,"column":44}},"39":{"start":{"line":65,"column":32},"end":{"line":65,"column":95}},"40":{"start":{"line":66,"column":8},"end":{"line":68,"column":9}},"41":{"start":{"line":67,"column":12},"end":{"line":67,"column":56}},"42":{"start":{"line":69,"column":8},"end":{"line":69,"column":40}},"43":{"start":{"line":72,"column":8},"end":{"line":78,"column":9}},"44":{"start":{"line":73,"column":36},"end":{"line":73,"column":88}},"45":{"start":{"line":74,"column":12},"end":{"line":76,"column":13}},"46":{"start":{"line":75,"column":16},"end":{"line":75,"column":101}},"47":{"start":{"line":77,"column":12},"end":{"line":77,"column":35}},"48":{"start":{"line":79,"column":8},"end":{"line":79,"column":37}},"49":{"start":{"line":82,"column":31},"end":{"line":82,"column":52}},"50":{"start":{"line":83,"column":24},"end":{"line":83,"column":28}},"51":{"start":{"line":84,"column":8},"end":{"line":93,"column":11}},"52":{"start":{"line":85,"column":44},"end":{"line":85,"column":57}},"53":{"start":{"line":86,"column":12},"end":{"line":88,"column":13}},"54":{"start":{"line":87,"column":16},"end":{"line":87,"column":23}},"55":{"start":{"line":89,"column":12},"end":{"line":89,"column":54}},"56":{"start":{"line":90,"column":12},"end":{"line":92,"column":13}},"57":{"start":{"line":91,"column":16},"end":{"line":91,"column":75}},"58":{"start":{"line":94,"column":8},"end":{"line":94,"column":25}},"59":{"start":{"line":97,"column":0},"end":{"line":97,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":59},"end":{"line":2,"column":60}},"loc":{"start":{"line":2,"column":71},"end":{"line":9,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":4},"end":{"line":15,"column":5}},"loc":{"start":{"line":15,"column":65},"end":{"line":22,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":66},"end":{"line":18,"column":67}},"loc":{"start":{"line":18,"column":85},"end":{"line":20,"column":13}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":43},"end":{"line":26,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":27,"column":4},"end":{"line":27,"column":5}},"loc":{"start":{"line":27,"column":46},"end":{"line":32,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":4},"end":{"line":33,"column":5}},"loc":{"start":{"line":33,"column":51},"end":{"line":36,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":37,"column":4},"end":{"line":37,"column":5}},"loc":{"start":{"line":37,"column":43},"end":{"line":48,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":43,"column":56},"end":{"line":43,"column":57}},"loc":{"start":{"line":43,"column":75},"end":{"line":46,"column":13}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":49,"column":4},"end":{"line":49,"column":5}},"loc":{"start":{"line":49,"column":53},"end":{"line":56,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":54,"column":52},"end":{"line":54,"column":53}},"loc":{"start":{"line":54,"column":64},"end":{"line":54,"column":108}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":57,"column":4},"end":{"line":57,"column":5}},"loc":{"start":{"line":57,"column":50},"end":{"line":62,"column":5}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":63,"column":4},"end":{"line":63,"column":5}},"loc":{"start":{"line":63,"column":59},"end":{"line":70,"column":5}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":71,"column":4},"end":{"line":71,"column":5}},"loc":{"start":{"line":71,"column":63},"end":{"line":80,"column":5}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":81,"column":4},"end":{"line":81,"column":5}},"loc":{"start":{"line":81,"column":60},"end":{"line":95,"column":5}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":84,"column":31},"end":{"line":84,"column":32}},"loc":{"start":{"line":84,"column":50},"end":{"line":93,"column":9}}}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":15},"end":{"line":9,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":16},"end":{"line":2,"column":20}},{"start":{"line":2,"column":24},"end":{"line":2,"column":37}},{"start":{"line":2,"column":42},"end":{"line":2,"column":55}},{"start":{"line":2,"column":59},"end":{"line":9,"column":1}}]},"1":{"loc":{"start":{"line":5,"column":25},"end":{"line":6,"column":24}},"type":"if","locations":[{"start":{"line":5,"column":25},"end":{"line":6,"column":24}},{"start":{"line":5,"column":25},"end":{"line":6,"column":24}}]},"2":{"loc":{"start":{"line":17,"column":8},"end":{"line":21,"column":9}},"type":"if","locations":[{"start":{"line":17,"column":8},"end":{"line":21,"column":9}},{"start":{"line":17,"column":8},"end":{"line":21,"column":9}}]},"3":{"loc":{"start":{"line":28,"column":8},"end":{"line":30,"column":9}},"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":30,"column":9}},{"start":{"line":28,"column":8},"end":{"line":30,"column":9}}]},"4":{"loc":{"start":{"line":39,"column":8},"end":{"line":41,"column":9}},"type":"if","locations":[{"start":{"line":39,"column":8},"end":{"line":41,"column":9}},{"start":{"line":39,"column":8},"end":{"line":41,"column":9}}]},"5":{"loc":{"start":{"line":42,"column":8},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":47,"column":9}},{"start":{"line":42,"column":8},"end":{"line":47,"column":9}}]},"6":{"loc":{"start":{"line":50,"column":32},"end":{"line":50,"column":84}},"type":"binary-expr","locations":[{"start":{"line":50,"column":32},"end":{"line":50,"column":78}},{"start":{"line":50,"column":82},"end":{"line":50,"column":84}}]},"7":{"loc":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},{"start":{"line":51,"column":8},"end":{"line":53,"column":9}}]},"8":{"loc":{"start":{"line":58,"column":8},"end":{"line":60,"column":9}},"type":"if","locations":[{"start":{"line":58,"column":8},"end":{"line":60,"column":9}},{"start":{"line":58,"column":8},"end":{"line":60,"column":9}}]},"9":{"loc":{"start":{"line":66,"column":8},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":66,"column":8},"end":{"line":68,"column":9}},{"start":{"line":66,"column":8},"end":{"line":68,"column":9}}]},"10":{"loc":{"start":{"line":72,"column":8},"end":{"line":78,"column":9}},"type":"if","locations":[{"start":{"line":72,"column":8},"end":{"line":78,"column":9}},{"start":{"line":72,"column":8},"end":{"line":78,"column":9}}]},"11":{"loc":{"start":{"line":74,"column":12},"end":{"line":76,"column":13}},"type":"if","locations":[{"start":{"line":74,"column":12},"end":{"line":76,"column":13}},{"start":{"line":74,"column":12},"end":{"line":76,"column":13}}]},"12":{"loc":{"start":{"line":86,"column":12},"end":{"line":88,"column":13}},"type":"if","locations":[{"start":{"line":86,"column":12},"end":{"line":88,"column":13}},{"start":{"line":86,"column":12},"end":{"line":88,"column":13}}]},"13":{"loc":{"start":{"line":86,"column":16},"end":{"line":86,"column":77}},"type":"binary-expr","locations":[{"start":{"line":86,"column":16},"end":{"line":86,"column":43}},{"start":{"line":86,"column":47},"end":{"line":86,"column":77}}]},"14":{"loc":{"start":{"line":90,"column":12},"end":{"line":92,"column":13}},"type":"if","locations":[{"start":{"line":90,"column":12},"end":{"line":92,"column":13}},{"start":{"line":90,"column":12},"end":{"line":92,"column":13}}]}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1,"8":1,"9":1,"10":1,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":3,"18":0,"19":3,"20":0,"21":0,"22":3,"23":3,"24":1,"25":2,"26":2,"27":2,"28":2,"29":2,"30":2,"31":0,"32":2,"33":4,"34":2,"35":4,"36":0,"37":4,"38":4,"39":4,"40":4,"41":0,"42":4,"43":4,"44":0,"45":0,"46":0,"47":0,"48":4,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":3,"5":0,"6":3,"7":2,"8":2,"9":4,"10":4,"11":4,"12":4,"13":0,"14":0},"b":{"0":[1,1,1,0],"1":[0,0],"2":[0,0],"3":[0,3],"4":[1,2],"5":[2,0],"6":[2,0],"7":[0,2],"8":[0,4],"9":[0,4],"10":[0,4],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"14140315103ae66d5dec4a6e74addf656b45a761","contentHash":"b2847adf328f3f71ca396c1e1d9c490c_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\circular-dependency.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\circular-dependency.exception.ts","statementMap":{"0":{"start":{"line":2,"column":28},"end":{"line":2,"column":58}},"1":{"start":{"line":5,"column":8},"end":{"line":6,"column":75}},"2":{"start":{"line":9,"column":0},"end":{"line":9,"column":66}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":22},"end":{"line":7,"column":5}}}},"branchMap":{},"s":{"0":1,"1":0,"2":1},"f":{"0":0},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"81782ec86821b7dc5fcda2fab0a213ccb8f396cb","contentHash":"49ad64757989b782f39c13d0a9016c8b_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\unkown-dependencies.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\unkown-dependencies.exception.ts","statementMap":{"0":{"start":{"line":2,"column":28},"end":{"line":2,"column":58}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":58}},"2":{"start":{"line":8,"column":0},"end":{"line":8,"column":66}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":22},"end":{"line":6,"column":5}}}},"branchMap":{},"s":{"0":1,"1":0,"2":1},"f":{"0":0},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"0c991885685ff6eb8b877a195104c685ff4740b2","contentHash":"70d6406716dd2c6cdf75625d21c6c7a4_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\injector\\instance-loader.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\injector\\instance-loader.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":14},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":15},"end":{"line":12,"column":30}},"14":{"start":{"line":13,"column":26},"end":{"line":13,"column":67}},"15":{"start":{"line":14,"column":20},"end":{"line":14,"column":55}},"16":{"start":{"line":15,"column":19},"end":{"line":15,"column":53}},"17":{"start":{"line":16,"column":31},"end":{"line":16,"column":84}},"18":{"start":{"line":17,"column":30},"end":{"line":17,"column":82}},"19":{"start":{"line":18,"column":0},"end":{"line":90,"column":3}},"20":{"start":{"line":22,"column":20},"end":{"line":23,"column":5}},"21":{"start":{"line":24,"column":4},"end":{"line":27,"column":18}},"22":{"start":{"line":28,"column":24},"end":{"line":29,"column":5}},"23":{"start":{"line":30,"column":4},"end":{"line":33,"column":22}},"24":{"start":{"line":34,"column":4},"end":{"line":38,"column":7}},"25":{"start":{"line":35,"column":8},"end":{"line":35,"column":52}},"26":{"start":{"line":36,"column":8},"end":{"line":36,"column":65}},"27":{"start":{"line":37,"column":8},"end":{"line":37,"column":46}},"28":{"start":{"line":39,"column":4},"end":{"line":57,"column":7}},"29":{"start":{"line":40,"column":25},"end":{"line":40,"column":50}},"30":{"start":{"line":41,"column":8},"end":{"line":41,"column":38}},"31":{"start":{"line":42,"column":23},"end":{"line":45,"column":9}},"32":{"start":{"line":46,"column":8},"end":{"line":46,"column":65}},"33":{"start":{"line":47,"column":8},"end":{"line":47,"column":57}},"34":{"start":{"line":48,"column":24},"end":{"line":48,"column":33}},"35":{"start":{"line":49,"column":8},"end":{"line":49,"column":36}},"36":{"start":{"line":50,"column":8},"end":{"line":50,"column":61}},"37":{"start":{"line":51,"column":43},"end":{"line":51,"column":90}},"38":{"start":{"line":52,"column":8},"end":{"line":52,"column":52}},"39":{"start":{"line":53,"column":8},"end":{"line":53,"column":56}},"40":{"start":{"line":54,"column":8},"end":{"line":54,"column":47}},"41":{"start":{"line":55,"column":8},"end":{"line":55,"column":106}},"42":{"start":{"line":56,"column":8},"end":{"line":56,"column":102}},"43":{"start":{"line":58,"column":4},"end":{"line":73,"column":7}},"44":{"start":{"line":59,"column":25},"end":{"line":59,"column":50}},"45":{"start":{"line":60,"column":8},"end":{"line":60,"column":38}},"46":{"start":{"line":61,"column":23},"end":{"line":64,"column":9}},"47":{"start":{"line":65,"column":8},"end":{"line":65,"column":65}},"48":{"start":{"line":66,"column":24},"end":{"line":66,"column":33}},"49":{"start":{"line":67,"column":8},"end":{"line":67,"column":36}},"50":{"start":{"line":68,"column":8},"end":{"line":68,"column":61}},"51":{"start":{"line":69,"column":34},"end":{"line":69,"column":81}},"52":{"start":{"line":70,"column":8},"end":{"line":70,"column":52}},"53":{"start":{"line":71,"column":8},"end":{"line":71,"column":47}},"54":{"start":{"line":72,"column":8},"end":{"line":72,"column":86}},"55":{"start":{"line":74,"column":4},"end":{"line":89,"column":7}},"56":{"start":{"line":75,"column":25},"end":{"line":75,"column":50}},"57":{"start":{"line":76,"column":8},"end":{"line":76,"column":38}},"58":{"start":{"line":77,"column":23},"end":{"line":80,"column":9}},"59":{"start":{"line":81,"column":8},"end":{"line":81,"column":57}},"60":{"start":{"line":82,"column":24},"end":{"line":82,"column":33}},"61":{"start":{"line":83,"column":8},"end":{"line":83,"column":36}},"62":{"start":{"line":84,"column":8},"end":{"line":84,"column":61}},"63":{"start":{"line":85,"column":8},"end":{"line":85,"column":56}},"64":{"start":{"line":86,"column":31},"end":{"line":86,"column":74}},"65":{"start":{"line":87,"column":8},"end":{"line":87,"column":47}},"66":{"start":{"line":88,"column":8},"end":{"line":88,"column":79}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":26},"end":{"line":18,"column":27}},"loc":{"start":{"line":18,"column":32},"end":{"line":90,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":15},"end":{"line":34,"column":16}},"loc":{"start":{"line":34,"column":21},"end":{"line":38,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":39,"column":92},"end":{"line":39,"column":93}},"loc":{"start":{"line":39,"column":98},"end":{"line":57,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":58,"column":82},"end":{"line":58,"column":83}},"loc":{"start":{"line":58,"column":88},"end":{"line":73,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":74,"column":74},"end":{"line":74,"column":75}},"loc":{"start":{"line":74,"column":80},"end":{"line":89,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":2,"2":2,"3":2,"4":2,"5":0,"6":0,"7":0,"8":2,"9":1,"10":2,"11":2,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":3,"26":3,"27":3,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1},"f":{"0":2,"1":2,"2":1,"3":3,"4":1,"5":1,"6":1},"b":{"0":[1,1,1],"1":[2,0],"2":[0,0],"3":[2,0],"4":[2,2],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[2,0,0],"10":[1,1,1],"11":[2,0],"12":[2,2]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"2942fb8a2df7fc49847ac4bb027c27b5d21d6d13","contentHash":"23c6096a06f32719de463039e72b2c24_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\injector\\instance-loader.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\injector\\instance-loader.ts","statementMap":{"0":{"start":{"line":2,"column":19},"end":{"line":2,"column":40}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":35}},"2":{"start":{"line":6,"column":8},"end":{"line":6,"column":50}},"3":{"start":{"line":9,"column":24},"end":{"line":9,"column":51}},"4":{"start":{"line":10,"column":8},"end":{"line":10,"column":39}},"5":{"start":{"line":11,"column":8},"end":{"line":11,"column":38}},"6":{"start":{"line":14,"column":8},"end":{"line":17,"column":11}},"7":{"start":{"line":15,"column":12},"end":{"line":15,"column":54}},"8":{"start":{"line":16,"column":12},"end":{"line":16,"column":50}},"9":{"start":{"line":20,"column":8},"end":{"line":23,"column":11}},"10":{"start":{"line":21,"column":12},"end":{"line":21,"column":53}},"11":{"start":{"line":22,"column":12},"end":{"line":22,"column":49}},"12":{"start":{"line":26,"column":8},"end":{"line":28,"column":11}},"13":{"start":{"line":27,"column":12},"end":{"line":27,"column":84}},"14":{"start":{"line":31,"column":8},"end":{"line":33,"column":11}},"15":{"start":{"line":32,"column":12},"end":{"line":32,"column":73}},"16":{"start":{"line":36,"column":8},"end":{"line":38,"column":11}},"17":{"start":{"line":37,"column":12},"end":{"line":37,"column":76}},"18":{"start":{"line":41,"column":8},"end":{"line":43,"column":11}},"19":{"start":{"line":42,"column":12},"end":{"line":42,"column":65}},"20":{"start":{"line":46,"column":0},"end":{"line":46,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":27},"end":{"line":7,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":4},"end":{"line":8,"column":5}},"loc":{"start":{"line":8,"column":36},"end":{"line":12,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":30},"end":{"line":18,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":24},"end":{"line":14,"column":25}},"loc":{"start":{"line":14,"column":36},"end":{"line":17,"column":9}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":29},"end":{"line":24,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":24},"end":{"line":20,"column":25}},"loc":{"start":{"line":20,"column":36},"end":{"line":23,"column":9}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":41},"end":{"line":29,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":26,"column":34},"end":{"line":26,"column":35}},"loc":{"start":{"line":26,"column":62},"end":{"line":28,"column":9}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":30,"column":4},"end":{"line":30,"column":5}},"loc":{"start":{"line":30,"column":40},"end":{"line":34,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":31,"column":34},"end":{"line":31,"column":35}},"loc":{"start":{"line":31,"column":62},"end":{"line":33,"column":9}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":37},"end":{"line":39,"column":5}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":36,"column":30},"end":{"line":36,"column":31}},"loc":{"start":{"line":36,"column":54},"end":{"line":38,"column":9}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":36},"end":{"line":44,"column":5}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":41,"column":30},"end":{"line":41,"column":31}},"loc":{"start":{"line":41,"column":54},"end":{"line":43,"column":9}}}},"branchMap":{},"s":{"0":1,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":3,"10":3,"11":3,"12":3,"13":2,"14":3,"15":2,"16":3,"17":2,"18":3,"19":2,"20":1},"f":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":2,"8":3,"9":2,"10":3,"11":2,"12":3,"13":2},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"cad67f85b3134dd41915a0c4f950e479e2e5728b","contentHash":"4da806841e9482288f7902ddf534a22b_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\builder.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\builder.spec.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":2,"column":30}},"1":{"start":{"line":3,"column":18},"end":{"line":3,"column":54}},"2":{"start":{"line":4,"column":53},"end":{"line":4,"column":133}},"3":{"start":{"line":5,"column":0},"end":{"line":39,"column":3}},"4":{"start":{"line":7,"column":4},"end":{"line":9,"column":7}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":52}},"6":{"start":{"line":10,"column":4},"end":{"line":19,"column":7}},"7":{"start":{"line":11,"column":8},"end":{"line":14,"column":11}},"8":{"start":{"line":15,"column":8},"end":{"line":18,"column":16}},"9":{"start":{"line":20,"column":4},"end":{"line":35,"column":7}},"10":{"start":{"line":21,"column":8},"end":{"line":27,"column":11}},"11":{"start":{"line":28,"column":8},"end":{"line":34,"column":16}},"12":{"start":{"line":36,"column":4},"end":{"line":38,"column":7}},"13":{"start":{"line":37,"column":8},"end":{"line":37,"column":150}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":30},"end":{"line":5,"column":31}},"loc":{"start":{"line":5,"column":36},"end":{"line":39,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":15},"end":{"line":7,"column":16}},"loc":{"start":{"line":7,"column":21},"end":{"line":9,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":56},"end":{"line":10,"column":57}},"loc":{"start":{"line":10,"column":62},"end":{"line":19,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":50},"end":{"line":20,"column":51}},"loc":{"start":{"line":20,"column":56},"end":{"line":35,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":36,"column":81},"end":{"line":36,"column":82}},"loc":{"start":{"line":36,"column":87},"end":{"line":38,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":3,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"f":{"0":1,"1":3,"2":1,"3":1,"4":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"dbcc55da062efff294c94f34761fdb3165fb9512","contentHash":"a4bfc1e89a47558cab7131d7c6b94f0a_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\builder.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\builder.ts","statementMap":{"0":{"start":{"line":2,"column":53},"end":{"line":2,"column":130}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":45}},"2":{"start":{"line":8,"column":8},"end":{"line":11,"column":9}},"3":{"start":{"line":10,"column":12},"end":{"line":10,"column":109}},"4":{"start":{"line":12,"column":8},"end":{"line":12,"column":52}},"5":{"start":{"line":13,"column":8},"end":{"line":13,"column":20}},"6":{"start":{"line":16,"column":8},"end":{"line":16,"column":45}},"7":{"start":{"line":19,"column":0},"end":{"line":19,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":18},"end":{"line":6,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":23},"end":{"line":14,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":4},"end":{"line":15,"column":5}},"loc":{"start":{"line":15,"column":12},"end":{"line":17,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":8},"end":{"line":11,"column":9}},"type":"if","locations":[{"start":{"line":8,"column":8},"end":{"line":11,"column":9}},{"start":{"line":8,"column":8},"end":{"line":11,"column":9}}]},"1":{"loc":{"start":{"line":8,"column":12},"end":{"line":9,"column":58}},"type":"binary-expr","locations":[{"start":{"line":8,"column":12},"end":{"line":8,"column":60}},{"start":{"line":9,"column":12},"end":{"line":9,"column":58}}]}},"s":{"0":1,"1":5,"2":4,"3":1,"4":3,"5":3,"6":3,"7":1},"f":{"0":5,"1":4,"2":3},"b":{"0":[1,3],"1":[4,3]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"1226f8d973dc10961566c9ca233e33c46565f26b","contentHash":"05725efbd6ea10703bc6287c4a32993d_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\invalid-middleware-configuration.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\invalid-middleware-configuration.exception.ts","statementMap":{"0":{"start":{"line":2,"column":28},"end":{"line":2,"column":58}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":89}},"2":{"start":{"line":8,"column":0},"end":{"line":8,"column":90}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":18},"end":{"line":6,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"971b618027ff44abc48d1004bc80bc510c1e04df","contentHash":"8fab67a1c89a644e6a248c67e798d046_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\container.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\container.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":15},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":20},"end":{"line":12,"column":58}},"14":{"start":{"line":13,"column":30},"end":{"line":13,"column":82}},"15":{"start":{"line":14,"column":24},"end":{"line":14,"column":66}},"16":{"start":{"line":15,"column":31},"end":{"line":15,"column":84}},"17":{"start":{"line":16,"column":36},"end":{"line":16,"column":94}},"18":{"start":{"line":17,"column":30},"end":{"line":17,"column":82}},"19":{"start":{"line":18,"column":0},"end":{"line":75,"column":3}},"20":{"start":{"line":19,"column":20},"end":{"line":22,"column":5}},"21":{"start":{"line":23,"column":4},"end":{"line":28,"column":45}},"22":{"start":{"line":29,"column":4},"end":{"line":34,"column":48}},"23":{"start":{"line":35,"column":4},"end":{"line":38,"column":18}},"24":{"start":{"line":39,"column":25},"end":{"line":43,"column":5}},"25":{"start":{"line":41,"column":12},"end":{"line":41,"column":43}},"26":{"start":{"line":44,"column":4},"end":{"line":47,"column":23}},"27":{"start":{"line":49,"column":4},"end":{"line":51,"column":7}},"28":{"start":{"line":50,"column":8},"end":{"line":50,"column":93}},"29":{"start":{"line":52,"column":4},"end":{"line":63,"column":7}},"30":{"start":{"line":53,"column":23},"end":{"line":60,"column":9}},"31":{"start":{"line":61,"column":8},"end":{"line":61,"column":46}},"32":{"start":{"line":62,"column":8},"end":{"line":62,"column":87}},"33":{"start":{"line":64,"column":4},"end":{"line":74,"column":7}},"34":{"start":{"line":65,"column":23},"end":{"line":69,"column":9}},"35":{"start":{"line":70,"column":20},"end":{"line":70,"column":26}},"36":{"start":{"line":71,"column":8},"end":{"line":71,"column":41}},"37":{"start":{"line":72,"column":8},"end":{"line":72,"column":80}},"38":{"start":{"line":73,"column":8},"end":{"line":73,"column":86}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":33},"end":{"line":18,"column":34}},"loc":{"start":{"line":18,"column":39},"end":{"line":75,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":8},"end":{"line":20,"column":9}},"loc":{"start":{"line":20,"column":18},"end":{"line":20,"column":21}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":8},"end":{"line":21,"column":9}},"loc":{"start":{"line":21,"column":21},"end":{"line":21,"column":24}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":8},"end":{"line":40,"column":9}},"loc":{"start":{"line":40,"column":18},"end":{"line":42,"column":9}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":41,"column":19},"end":{"line":41,"column":20}},"loc":{"start":{"line":41,"column":39},"end":{"line":41,"column":42}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":49,"column":15},"end":{"line":49,"column":16}},"loc":{"start":{"line":49,"column":21},"end":{"line":51,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":64},"end":{"line":52,"column":65}},"loc":{"start":{"line":52,"column":70},"end":{"line":63,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":64,"column":61},"end":{"line":64,"column":62}},"loc":{"start":{"line":64,"column":67},"end":{"line":74,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":4,"2":4,"3":4,"4":4,"5":0,"6":0,"7":0,"8":4,"9":1,"10":8,"11":8,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":0,"26":1,"27":1,"28":2,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1},"f":{"0":4,"1":8,"2":1,"3":0,"4":0,"5":0,"6":0,"7":2,"8":1,"9":1},"b":{"0":[1,1,1],"1":[2,2],"2":[2,0],"3":[4,0],"4":[4,4],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[4,2,2],"10":[1,1,1],"11":[8,0],"12":[8,8]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"60abb30d6dd8c9a66932e4ca23a603316fe27e37","contentHash":"6b684cc81b75622b34da406cce4edfa9_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\container.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\container.ts","statementMap":{"0":{"start":{"line":4,"column":8},"end":{"line":4,"column":41}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":37}},"2":{"start":{"line":6,"column":8},"end":{"line":6,"column":33}},"3":{"start":{"line":9,"column":8},"end":{"line":9,"column":57}},"4":{"start":{"line":12,"column":8},"end":{"line":12,"column":28}},"5":{"start":{"line":15,"column":35},"end":{"line":15,"column":69}},"6":{"start":{"line":16,"column":30},"end":{"line":16,"column":59}},"7":{"start":{"line":17,"column":8},"end":{"line":23,"column":11}},"8":{"start":{"line":18,"column":12},"end":{"line":20,"column":15}},"9":{"start":{"line":19,"column":16},"end":{"line":19,"column":57}},"10":{"start":{"line":21,"column":12},"end":{"line":21,"column":74}},"11":{"start":{"line":22,"column":12},"end":{"line":22,"column":38}},"12":{"start":{"line":26,"column":8},"end":{"line":26,"column":119}},"13":{"start":{"line":26,"column":41},"end":{"line":26,"column":86}},"14":{"start":{"line":26,"column":106},"end":{"line":26,"column":117}},"15":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"16":{"start":{"line":30,"column":12},"end":{"line":30,"column":52}},"17":{"start":{"line":32,"column":8},"end":{"line":32,"column":44}},"18":{"start":{"line":35,"column":8},"end":{"line":37,"column":9}},"19":{"start":{"line":36,"column":12},"end":{"line":36,"column":48}},"20":{"start":{"line":38,"column":8},"end":{"line":38,"column":40}},"21":{"start":{"line":41,"column":0},"end":{"line":41,"column":52}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":4},"end":{"line":3,"column":5}},"loc":{"start":{"line":3,"column":30},"end":{"line":7,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":4},"end":{"line":8,"column":5}},"loc":{"start":{"line":8,"column":27},"end":{"line":10,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":17},"end":{"line":13,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":34},"end":{"line":24,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":17,"column":31},"end":{"line":17,"column":32}},"loc":{"start":{"line":17,"column":43},"end":{"line":23,"column":9}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":46},"end":{"line":18,"column":47}},"loc":{"start":{"line":18,"column":62},"end":{"line":20,"column":13}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":35},"end":{"line":27,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":26,"column":29},"end":{"line":26,"column":30}},"loc":{"start":{"line":26,"column":41},"end":{"line":26,"column":86}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":26,"column":96},"end":{"line":26,"column":97}},"loc":{"start":{"line":26,"column":106},"end":{"line":26,"column":117}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":34},"end":{"line":33,"column":5}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":34,"column":4},"end":{"line":34,"column":5}},"loc":{"start":{"line":34,"column":29},"end":{"line":39,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":15},"end":{"line":9,"column":56}},"type":"binary-expr","locations":[{"start":{"line":9,"column":15},"end":{"line":9,"column":43}},{"start":{"line":9,"column":47},"end":{"line":9,"column":56}}]},"1":{"loc":{"start":{"line":17,"column":9},"end":{"line":17,"column":25}},"type":"binary-expr","locations":[{"start":{"line":17,"column":9},"end":{"line":17,"column":19}},{"start":{"line":17,"column":23},"end":{"line":17,"column":25}}]},"2":{"loc":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},{"start":{"line":29,"column":8},"end":{"line":31,"column":9}}]},"3":{"loc":{"start":{"line":35,"column":8},"end":{"line":37,"column":9}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":37,"column":9}},{"start":{"line":35,"column":8},"end":{"line":37,"column":9}}]}},"s":{"0":4,"1":4,"2":4,"3":7,"4":1,"5":5,"6":5,"7":5,"8":4,"9":4,"10":4,"11":4,"12":4,"13":7,"14":3,"15":5,"16":3,"17":5,"18":5,"19":3,"20":5,"21":1},"f":{"0":4,"1":7,"2":1,"3":5,"4":4,"5":4,"6":4,"7":7,"8":3,"9":5,"10":5},"b":{"0":[7,0],"1":[5,0],"2":[3,2],"3":[3,2]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3b25042352d6aa0a1cdcdc9c167c2221c9890465","contentHash":"7d974f2f05a1b525a100bee187fd5f48_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\routes-mapper.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\routes-mapper.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"1":{"start":{"line":3,"column":25},"end":{"line":3,"column":60}},"2":{"start":{"line":4,"column":43},"end":{"line":4,"column":110}},"3":{"start":{"line":5,"column":30},"end":{"line":5,"column":79}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":66}},"5":{"start":{"line":11,"column":26},"end":{"line":11,"column":65}},"6":{"start":{"line":12,"column":8},"end":{"line":14,"column":9}},"7":{"start":{"line":13,"column":12},"end":{"line":13,"column":60}},"8":{"start":{"line":15,"column":22},"end":{"line":15,"column":115}},"9":{"start":{"line":16,"column":8},"end":{"line":19,"column":12}},"10":{"start":{"line":16,"column":42},"end":{"line":19,"column":9}},"11":{"start":{"line":22,"column":8},"end":{"line":24,"column":9}},"12":{"start":{"line":23,"column":12},"end":{"line":23,"column":89}},"13":{"start":{"line":25,"column":8},"end":{"line":28,"column":10}},"14":{"start":{"line":31,"column":8},"end":{"line":31,"column":75}},"15":{"start":{"line":34,"column":0},"end":{"line":34,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":18},"end":{"line":9,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":37},"end":{"line":20,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":25},"end":{"line":16,"column":26}},"loc":{"start":{"line":16,"column":42},"end":{"line":19,"column":9}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":33},"end":{"line":29,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":30,"column":4},"end":{"line":30,"column":5}},"loc":{"start":{"line":30,"column":33},"end":{"line":32,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":8},"end":{"line":14,"column":9}},"type":"if","locations":[{"start":{"line":12,"column":8},"end":{"line":14,"column":9}},{"start":{"line":12,"column":8},"end":{"line":14,"column":9}}]},"1":{"loc":{"start":{"line":22,"column":8},"end":{"line":24,"column":9}},"type":"if","locations":[{"start":{"line":22,"column":8},"end":{"line":24,"column":9}},{"start":{"line":22,"column":8},"end":{"line":24,"column":9}}]},"2":{"loc":{"start":{"line":27,"column":20},"end":{"line":27,"column":114}},"type":"cond-expr","locations":[{"start":{"line":27,"column":60},"end":{"line":27,"column":99}},{"start":{"line":27,"column":102},"end":{"line":27,"column":114}}]},"3":{"loc":{"start":{"line":31,"column":15},"end":{"line":31,"column":74}},"type":"cond-expr","locations":[{"start":{"line":31,"column":47},"end":{"line":31,"column":62}},{"start":{"line":31,"column":65},"end":{"line":31,"column":74}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":6,"5":10,"6":10,"7":4,"8":6,"9":6,"10":10,"11":4,"12":1,"13":3,"14":23,"15":1},"f":{"0":6,"1":10,"2":10,"3":4,"4":23},"b":{"0":[4,6],"1":[1,3],"2":[2,1],"3":[13,10]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"72be3ac4f3dc4129f72aeac37f792b86e7daf42a","contentHash":"b0f4ba8713af4b5dc4df998a016c976f_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\router\\router-builder.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\router\\router-builder.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"1":{"start":{"line":3,"column":30},"end":{"line":3,"column":79}},"2":{"start":{"line":4,"column":43},"end":{"line":4,"column":110}},"3":{"start":{"line":7,"column":8},"end":{"line":7,"column":39}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":45}},"5":{"start":{"line":11,"column":23},"end":{"line":11,"column":57}},"6":{"start":{"line":12,"column":21},"end":{"line":12,"column":57}},"7":{"start":{"line":13,"column":28},"end":{"line":13,"column":55}},"8":{"start":{"line":14,"column":8},"end":{"line":14,"column":58}},"9":{"start":{"line":15,"column":8},"end":{"line":15,"column":32}},"10":{"start":{"line":18,"column":34},"end":{"line":18,"column":65}},"11":{"start":{"line":19,"column":8},"end":{"line":19,"column":75}},"12":{"start":{"line":22,"column":8},"end":{"line":25,"column":45}},"13":{"start":{"line":23,"column":32},"end":{"line":23,"column":56}},"14":{"start":{"line":24,"column":33},"end":{"line":24,"column":100}},"15":{"start":{"line":25,"column":30},"end":{"line":25,"column":43}},"16":{"start":{"line":28,"column":31},"end":{"line":28,"column":60}},"17":{"start":{"line":29,"column":26},"end":{"line":29,"column":69}},"18":{"start":{"line":30,"column":8},"end":{"line":32,"column":9}},"19":{"start":{"line":31,"column":12},"end":{"line":31,"column":24}},"20":{"start":{"line":33,"column":30},"end":{"line":33,"column":75}},"21":{"start":{"line":34,"column":8},"end":{"line":38,"column":10}},"22":{"start":{"line":41,"column":8},"end":{"line":43,"column":11}},"23":{"start":{"line":42,"column":12},"end":{"line":42,"column":65}},"24":{"start":{"line":46,"column":56},"end":{"line":46,"column":70}},"25":{"start":{"line":47,"column":29},"end":{"line":47,"column":86}},"26":{"start":{"line":48,"column":22},"end":{"line":48,"column":66}},"27":{"start":{"line":49,"column":8},"end":{"line":49,"column":34}},"28":{"start":{"line":52,"column":8},"end":{"line":68,"column":9}},"29":{"start":{"line":54,"column":16},"end":{"line":54,"column":35}},"30":{"start":{"line":57,"column":16},"end":{"line":57,"column":34}},"31":{"start":{"line":60,"column":16},"end":{"line":60,"column":37}},"32":{"start":{"line":63,"column":16},"end":{"line":63,"column":34}},"33":{"start":{"line":66,"column":16},"end":{"line":66,"column":34}},"34":{"start":{"line":71,"column":21},"end":{"line":71,"column":64}},"35":{"start":{"line":72,"column":8},"end":{"line":72,"column":44}},"36":{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},"37":{"start":{"line":76,"column":12},"end":{"line":76,"column":89}},"38":{"start":{"line":78,"column":8},"end":{"line":78,"column":75}},"39":{"start":{"line":81,"column":0},"end":{"line":81,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":45},"end":{"line":9,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":36},"end":{"line":16,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":27},"end":{"line":20,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":59},"end":{"line":26,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":23,"column":20},"end":{"line":23,"column":21}},"loc":{"start":{"line":23,"column":32},"end":{"line":23,"column":56}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":17},"end":{"line":24,"column":18}},"loc":{"start":{"line":24,"column":33},"end":{"line":24,"column":100}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":20},"end":{"line":25,"column":21}},"loc":{"start":{"line":25,"column":30},"end":{"line":25,"column":43}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":27,"column":4},"end":{"line":27,"column":5}},"loc":{"start":{"line":27,"column":67},"end":{"line":39,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":48},"end":{"line":44,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":41,"column":31},"end":{"line":41,"column":32}},"loc":{"start":{"line":41,"column":51},"end":{"line":43,"column":9}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":52},"end":{"line":50,"column":5}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":51,"column":4},"end":{"line":51,"column":5}},"loc":{"start":{"line":51,"column":44},"end":{"line":69,"column":5}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":70,"column":4},"end":{"line":70,"column":5}},"loc":{"start":{"line":70,"column":36},"end":{"line":73,"column":5}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":74,"column":4},"end":{"line":74,"column":5}},"loc":{"start":{"line":74,"column":33},"end":{"line":79,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":8},"end":{"line":32,"column":9}},"type":"if","locations":[{"start":{"line":30,"column":8},"end":{"line":32,"column":9}},{"start":{"line":30,"column":8},"end":{"line":32,"column":9}}]},"1":{"loc":{"start":{"line":41,"column":9},"end":{"line":41,"column":25}},"type":"binary-expr","locations":[{"start":{"line":41,"column":9},"end":{"line":41,"column":19}},{"start":{"line":41,"column":23},"end":{"line":41,"column":25}}]},"2":{"loc":{"start":{"line":52,"column":8},"end":{"line":68,"column":9}},"type":"switch","locations":[{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},{"start":{"line":56,"column":12},"end":{"line":58,"column":13}},{"start":{"line":59,"column":12},"end":{"line":61,"column":13}},{"start":{"line":62,"column":12},"end":{"line":64,"column":13}},{"start":{"line":65,"column":12},"end":{"line":67,"column":13}}]},"3":{"loc":{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},{"start":{"line":75,"column":8},"end":{"line":77,"column":9}}]},"4":{"loc":{"start":{"line":78,"column":15},"end":{"line":78,"column":74}},"type":"cond-expr","locations":[{"start":{"line":78,"column":47},"end":{"line":78,"column":62}},{"start":{"line":78,"column":65},"end":{"line":78,"column":74}}]}},"s":{"0":1,"1":1,"2":1,"3":10,"4":10,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":8,"13":24,"14":16,"15":16,"16":17,"17":17,"18":17,"19":1,"20":16,"21":16,"22":2,"23":4,"24":2,"25":2,"26":2,"27":2,"28":2,"29":1,"30":0,"31":0,"32":0,"33":1,"34":1,"35":1,"36":17,"37":0,"38":17,"39":1},"f":{"0":10,"1":1,"2":1,"3":8,"4":24,"5":16,"6":16,"7":17,"8":2,"9":4,"10":2,"11":2,"12":1,"13":17},"b":{"0":[1,16],"1":[2,0],"2":[1,0,0,0,1],"3":[0,17],"4":[17,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"70c9b40beb2f9ea5970e63d5660c834b31f654b9","contentHash":"6cb8863398f0aa8c1e451dfdaa27a251_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\unkown-request-mapping.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\unkown-request-mapping.exception.ts","statementMap":{"0":{"start":{"line":2,"column":28},"end":{"line":2,"column":58}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":77}},"2":{"start":{"line":8,"column":0},"end":{"line":8,"column":70}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":18},"end":{"line":6,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"d8b27ccd0a9d54eaa3899c7e8ad30d7c59aac229","contentHash":"e106810163c4482bf0b0d25dd90b5f7a_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\middlewares-module.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\middlewares-module.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":15},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":14},"end":{"line":12,"column":30}},"14":{"start":{"line":13,"column":30},"end":{"line":13,"column":82}},"15":{"start":{"line":14,"column":18},"end":{"line":14,"column":54}},"16":{"start":{"line":15,"column":29},"end":{"line":15,"column":76}},"17":{"start":{"line":16,"column":38},"end":{"line":16,"column":103}},"18":{"start":{"line":17,"column":39},"end":{"line":17,"column":105}},"19":{"start":{"line":18,"column":30},"end":{"line":18,"column":82}},"20":{"start":{"line":19,"column":31},"end":{"line":19,"column":84}},"21":{"start":{"line":20,"column":36},"end":{"line":20,"column":94}},"22":{"start":{"line":21,"column":0},"end":{"line":119,"column":3}},"23":{"start":{"line":22,"column":23},"end":{"line":23,"column":5}},"24":{"start":{"line":24,"column":4},"end":{"line":27,"column":21}},"25":{"start":{"line":28,"column":20},"end":{"line":31,"column":5}},"26":{"start":{"line":32,"column":4},"end":{"line":37,"column":45}},"27":{"start":{"line":38,"column":4},"end":{"line":43,"column":48}},"28":{"start":{"line":44,"column":4},"end":{"line":47,"column":18}},"29":{"start":{"line":48,"column":25},"end":{"line":52,"column":5}},"30":{"start":{"line":50,"column":12},"end":{"line":50,"column":43}},"31":{"start":{"line":53,"column":4},"end":{"line":56,"column":23}},"32":{"start":{"line":57,"column":4},"end":{"line":67,"column":7}},"33":{"start":{"line":58,"column":8},"end":{"line":66,"column":11}},"34":{"start":{"line":59,"column":33},"end":{"line":59,"column":44}},"35":{"start":{"line":60,"column":31},"end":{"line":62,"column":13}},"36":{"start":{"line":63,"column":12},"end":{"line":63,"column":89}},"37":{"start":{"line":64,"column":12},"end":{"line":64,"column":62}},"38":{"start":{"line":65,"column":12},"end":{"line":65,"column":97}},"39":{"start":{"line":68,"column":4},"end":{"line":118,"column":7}},"40":{"start":{"line":69,"column":8},"end":{"line":78,"column":11}},"41":{"start":{"line":70,"column":26},"end":{"line":70,"column":42}},"42":{"start":{"line":71,"column":34},"end":{"line":74,"column":13}},"43":{"start":{"line":75,"column":27},"end":{"line":75,"column":38}},"44":{"start":{"line":76,"column":24},"end":{"line":76,"column":39}},"45":{"start":{"line":77,"column":12},"end":{"line":77,"column":231}},"46":{"start":{"line":79,"column":8},"end":{"line":99,"column":11}},"47":{"start":{"line":80,"column":36},"end":{"line":81,"column":13}},"48":{"start":{"line":82,"column":12},"end":{"line":85,"column":34}},"49":{"start":{"line":86,"column":26},"end":{"line":86,"column":42}},"50":{"start":{"line":87,"column":34},"end":{"line":90,"column":13}},"51":{"start":{"line":91,"column":27},"end":{"line":91,"column":38}},"52":{"start":{"line":92,"column":24},"end":{"line":92,"column":39}},"53":{"start":{"line":93,"column":30},"end":{"line":93,"column":83}},"54":{"start":{"line":94,"column":30},"end":{"line":94,"column":36}},"55":{"start":{"line":95,"column":12},"end":{"line":95,"column":60}},"56":{"start":{"line":96,"column":29},"end":{"line":96,"column":52}},"57":{"start":{"line":97,"column":12},"end":{"line":97,"column":81}},"58":{"start":{"line":98,"column":12},"end":{"line":98,"column":236}},"59":{"start":{"line":100,"column":8},"end":{"line":117,"column":11}},"60":{"start":{"line":101,"column":26},"end":{"line":101,"column":91}},"61":{"start":{"line":102,"column":34},"end":{"line":105,"column":13}},"62":{"start":{"line":106,"column":27},"end":{"line":106,"column":38}},"63":{"start":{"line":107,"column":24},"end":{"line":109,"column":13}},"64":{"start":{"line":110,"column":30},"end":{"line":110,"column":83}},"65":{"start":{"line":111,"column":30},"end":{"line":111,"column":36}},"66":{"start":{"line":112,"column":12},"end":{"line":112,"column":60}},"67":{"start":{"line":113,"column":29},"end":{"line":113,"column":49}},"68":{"start":{"line":114,"column":12},"end":{"line":114,"column":78}},"69":{"start":{"line":115,"column":12},"end":{"line":115,"column":110}},"70":{"start":{"line":116,"column":12},"end":{"line":116,"column":56}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":30},"end":{"line":21,"column":31}},"loc":{"start":{"line":21,"column":36},"end":{"line":119,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":8},"end":{"line":29,"column":9}},"loc":{"start":{"line":29,"column":18},"end":{"line":29,"column":21}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":30,"column":8},"end":{"line":30,"column":9}},"loc":{"start":{"line":30,"column":21},"end":{"line":30,"column":24}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":49,"column":8},"end":{"line":49,"column":9}},"loc":{"start":{"line":49,"column":18},"end":{"line":51,"column":9}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":50,"column":19},"end":{"line":50,"column":20}},"loc":{"start":{"line":50,"column":39},"end":{"line":50,"column":42}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":57,"column":34},"end":{"line":57,"column":35}},"loc":{"start":{"line":57,"column":40},"end":{"line":67,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":58,"column":70},"end":{"line":58,"column":71}},"loc":{"start":{"line":58,"column":76},"end":{"line":66,"column":9}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":68,"column":37},"end":{"line":68,"column":38}},"loc":{"start":{"line":68,"column":43},"end":{"line":118,"column":5}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":69,"column":109},"end":{"line":69,"column":110}},"loc":{"start":{"line":69,"column":115},"end":{"line":78,"column":9}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":79,"column":114},"end":{"line":79,"column":115}},"loc":{"start":{"line":79,"column":120},"end":{"line":99,"column":9}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":100,"column":78},"end":{"line":100,"column":79}},"loc":{"start":{"line":100,"column":84},"end":{"line":117,"column":9}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":6,"2":6,"3":6,"4":6,"5":0,"6":0,"7":0,"8":6,"9":1,"10":10,"11":10,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"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":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1},"f":{"0":6,"1":10,"2":1,"3":0,"4":0,"5":1,"6":0,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"b":{"0":[1,1,1],"1":[4,2],"2":[2,0],"3":[6,0],"4":[6,6],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[6,2,2],"10":[1,1,1],"11":[10,0],"12":[10,10]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6c4030a9dbcd614cf2846857e4f4bf8ac5059718","contentHash":"3c115259515131fc21c63603eebdd1e7_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\middlewares-module.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\middlewares-module.ts","statementMap":{"0":{"start":{"line":2,"column":18},"end":{"line":2,"column":38}},"1":{"start":{"line":3,"column":20},"end":{"line":3,"column":42}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":40}},"3":{"start":{"line":5,"column":38},"end":{"line":5,"column":100}},"4":{"start":{"line":6,"column":39},"end":{"line":6,"column":102}},"5":{"start":{"line":7,"column":30},"end":{"line":7,"column":79}},"6":{"start":{"line":8,"column":24},"end":{"line":8,"column":50}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":30}},"8":{"start":{"line":14,"column":8},"end":{"line":14,"column":75}},"9":{"start":{"line":15,"column":24},"end":{"line":15,"column":46}},"10":{"start":{"line":16,"column":8},"end":{"line":16,"column":41}},"11":{"start":{"line":19,"column":8},"end":{"line":23,"column":11}},"12":{"start":{"line":20,"column":29},"end":{"line":20,"column":44}},"13":{"start":{"line":21,"column":12},"end":{"line":21,"column":58}},"14":{"start":{"line":22,"column":12},"end":{"line":22,"column":64}},"15":{"start":{"line":26,"column":8},"end":{"line":28,"column":9}},"16":{"start":{"line":27,"column":12},"end":{"line":27,"column":19}},"17":{"start":{"line":29,"column":35},"end":{"line":29,"column":68}},"18":{"start":{"line":30,"column":8},"end":{"line":30,"column":47}},"19":{"start":{"line":31,"column":8},"end":{"line":34,"column":9}},"20":{"start":{"line":32,"column":27},"end":{"line":32,"column":53}},"21":{"start":{"line":33,"column":12},"end":{"line":33,"column":53}},"22":{"start":{"line":37,"column":24},"end":{"line":37,"column":51}},"23":{"start":{"line":38,"column":8},"end":{"line":44,"column":11}},"24":{"start":{"line":39,"column":12},"end":{"line":43,"column":15}},"25":{"start":{"line":40,"column":16},"end":{"line":42,"column":19}},"26":{"start":{"line":41,"column":20},"end":{"line":41,"column":74}},"27":{"start":{"line":47,"column":33},"end":{"line":47,"column":38}},"28":{"start":{"line":48,"column":8},"end":{"line":59,"column":11}},"29":{"start":{"line":49,"column":42},"end":{"line":49,"column":79}},"30":{"start":{"line":50,"column":31},"end":{"line":50,"column":72}},"31":{"start":{"line":51,"column":12},"end":{"line":53,"column":13}},"32":{"start":{"line":52,"column":16},"end":{"line":52,"column":84}},"33":{"start":{"line":54,"column":12},"end":{"line":56,"column":13}},"34":{"start":{"line":55,"column":16},"end":{"line":55,"column":86}},"35":{"start":{"line":57,"column":27},"end":{"line":57,"column":71}},"36":{"start":{"line":58,"column":12},"end":{"line":58,"column":47}},"37":{"start":{"line":62,"column":8},"end":{"line":78,"column":9}},"38":{"start":{"line":64,"column":16},"end":{"line":64,"column":32}},"39":{"start":{"line":67,"column":16},"end":{"line":67,"column":31}},"40":{"start":{"line":70,"column":16},"end":{"line":70,"column":34}},"41":{"start":{"line":73,"column":16},"end":{"line":73,"column":31}},"42":{"start":{"line":76,"column":16},"end":{"line":76,"column":31}},"43":{"start":{"line":81,"column":0},"end":{"line":81,"column":103}},"44":{"start":{"line":82,"column":0},"end":{"line":82,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":26},"end":{"line":12,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":28},"end":{"line":17,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":4},"end":{"line":18,"column":5}},"loc":{"start":{"line":18,"column":39},"end":{"line":24,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":24},"end":{"line":19,"column":25}},"loc":{"start":{"line":19,"column":49},"end":{"line":23,"column":9}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":47},"end":{"line":35,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":33},"end":{"line":45,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":38,"column":24},"end":{"line":38,"column":25}},"loc":{"start":{"line":38,"column":51},"end":{"line":44,"column":9}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":39,"column":35},"end":{"line":39,"column":36}},"loc":{"start":{"line":39,"column":47},"end":{"line":43,"column":13}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":40,"column":37},"end":{"line":40,"column":38}},"loc":{"start":{"line":40,"column":48},"end":{"line":42,"column":17}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":46,"column":4},"end":{"line":46,"column":5}},"loc":{"start":{"line":46,"column":60},"end":{"line":60,"column":5}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":48,"column":42},"end":{"line":48,"column":43}},"loc":{"start":{"line":48,"column":62},"end":{"line":59,"column":9}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":61,"column":4},"end":{"line":61,"column":5}},"loc":{"start":{"line":61,"column":48},"end":{"line":79,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":8},"end":{"line":28,"column":9}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":28,"column":9}},{"start":{"line":26,"column":8},"end":{"line":28,"column":9}}]},"1":{"loc":{"start":{"line":31,"column":8},"end":{"line":34,"column":9}},"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":34,"column":9}},{"start":{"line":31,"column":8},"end":{"line":34,"column":9}}]},"2":{"loc":{"start":{"line":51,"column":12},"end":{"line":53,"column":13}},"type":"if","locations":[{"start":{"line":51,"column":12},"end":{"line":53,"column":13}},{"start":{"line":51,"column":12},"end":{"line":53,"column":13}}]},"3":{"loc":{"start":{"line":54,"column":12},"end":{"line":56,"column":13}},"type":"if","locations":[{"start":{"line":54,"column":12},"end":{"line":56,"column":13}},{"start":{"line":54,"column":12},"end":{"line":56,"column":13}}]},"4":{"loc":{"start":{"line":62,"column":8},"end":{"line":78,"column":9}},"type":"switch","locations":[{"start":{"line":63,"column":12},"end":{"line":65,"column":13}},{"start":{"line":66,"column":12},"end":{"line":68,"column":13}},{"start":{"line":69,"column":12},"end":{"line":71,"column":13}},{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},{"start":{"line":75,"column":12},"end":{"line":77,"column":13}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":2,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":1,"16":0,"17":1,"18":1,"19":1,"20":1,"21":1,"22":0,"23":0,"24":0,"25":0,"26":0,"27":3,"28":3,"29":3,"30":3,"31":3,"32":1,"33":2,"34":1,"35":1,"36":1,"37":1,"38":0,"39":0,"40":0,"41":0,"42":1,"43":1,"44":1},"f":{"0":2,"1":0,"2":0,"3":0,"4":1,"5":0,"6":0,"7":0,"8":0,"9":3,"10":3,"11":1},"b":{"0":[0,1],"1":[1,0],"2":[1,2],"3":[1,1],"4":[0,0,0,0,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"a6f531546f5f26a09ccc765d09ccdd63aa0364ae","contentHash":"86a66d70555c50bc7978c1beede3b038_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\resolver.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\middlewares\\resolver.ts","statementMap":{"0":{"start":{"line":2,"column":19},"end":{"line":2,"column":50}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":57}},"2":{"start":{"line":6,"column":8},"end":{"line":6,"column":56}},"3":{"start":{"line":9,"column":28},"end":{"line":9,"column":81}},"4":{"start":{"line":10,"column":8},"end":{"line":12,"column":11}},"5":{"start":{"line":11,"column":12},"end":{"line":11,"column":94}},"6":{"start":{"line":15,"column":0},"end":{"line":15,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":38},"end":{"line":7,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":4},"end":{"line":8,"column":5}},"loc":{"start":{"line":8,"column":42},"end":{"line":13,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":28},"end":{"line":10,"column":29}},"loc":{"start":{"line":10,"column":53},"end":{"line":12,"column":9}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{"0":1,"1":1,"2":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"77cd85bc2d1e8487701da779de3fe033eaa4bc37","contentHash":"b7e078fe0fb96ce10f7d4a146a3bd24e_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\unkown-middleware.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\unkown-middleware.exception.ts","statementMap":{"0":{"start":{"line":2,"column":28},"end":{"line":2,"column":58}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":60}},"2":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":18},"end":{"line":6,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"19d5dd310bb8e71b2497bcd9a9ede5af4c9a7a61","contentHash":"6b549a8e717daef7788e3f4781ca0a3e_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\invalid-middleware.exception.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\errors\\exceptions\\invalid-middleware.exception.ts","statementMap":{"0":{"start":{"line":2,"column":28},"end":{"line":2,"column":58}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":78}},"2":{"start":{"line":8,"column":0},"end":{"line":8,"column":64}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":18},"end":{"line":6,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f21665f41a9f8b2b7f83cd6e7604b8c7e345cf39","contentHash":"d6771fcc965058ace13534287d8cea31_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\resolver.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\resolver.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":14},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":15},"end":{"line":12,"column":30}},"14":{"start":{"line":13,"column":19},"end":{"line":13,"column":56}},"15":{"start":{"line":14,"column":20},"end":{"line":14,"column":58}},"16":{"start":{"line":15,"column":30},"end":{"line":15,"column":82}},"17":{"start":{"line":16,"column":24},"end":{"line":16,"column":66}},"18":{"start":{"line":17,"column":0},"end":{"line":45,"column":3}},"19":{"start":{"line":18,"column":25},"end":{"line":22,"column":5}},"20":{"start":{"line":20,"column":12},"end":{"line":20,"column":43}},"21":{"start":{"line":23,"column":4},"end":{"line":26,"column":23}},"22":{"start":{"line":30,"column":4},"end":{"line":34,"column":7}},"23":{"start":{"line":31,"column":8},"end":{"line":31,"column":93}},"24":{"start":{"line":32,"column":8},"end":{"line":32,"column":65}},"25":{"start":{"line":33,"column":8},"end":{"line":33,"column":46}},"26":{"start":{"line":35,"column":4},"end":{"line":44,"column":7}},"27":{"start":{"line":36,"column":41},"end":{"line":36,"column":107}},"28":{"start":{"line":37,"column":28},"end":{"line":37,"column":37}},"29":{"start":{"line":38,"column":8},"end":{"line":38,"column":46}},"30":{"start":{"line":39,"column":8},"end":{"line":39,"column":69}},"31":{"start":{"line":40,"column":8},"end":{"line":40,"column":46}},"32":{"start":{"line":41,"column":8},"end":{"line":41,"column":88}},"33":{"start":{"line":42,"column":8},"end":{"line":42,"column":105}},"34":{"start":{"line":43,"column":8},"end":{"line":43,"column":43}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":32},"end":{"line":17,"column":33}},"loc":{"start":{"line":17,"column":38},"end":{"line":45,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":8},"end":{"line":19,"column":9}},"loc":{"start":{"line":19,"column":18},"end":{"line":21,"column":9}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":19},"end":{"line":20,"column":20}},"loc":{"start":{"line":20,"column":39},"end":{"line":20,"column":42}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":30,"column":15},"end":{"line":30,"column":16}},"loc":{"start":{"line":30,"column":21},"end":{"line":34,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":35,"column":61},"end":{"line":35,"column":62}},"loc":{"start":{"line":35,"column":67},"end":{"line":44,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1},"f":{"0":1,"1":1,"2":1,"3":0,"4":0,"5":1,"6":1},"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":[1,1,1],"11":[1,0],"12":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"a5a1a8deea3a2f1c080acc5a0bbcd035cca81435","contentHash":"e624d97cbcf153a622732cae3e4214ec_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\routes-mapper.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\middlewares\\routes-mapper.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":15},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":24},"end":{"line":12,"column":66}},"14":{"start":{"line":13,"column":31},"end":{"line":13,"column":84}},"15":{"start":{"line":14,"column":36},"end":{"line":14,"column":94}},"16":{"start":{"line":15,"column":30},"end":{"line":15,"column":82}},"17":{"start":{"line":16,"column":43},"end":{"line":16,"column":113}},"18":{"start":{"line":17,"column":0},"end":{"line":67,"column":3}},"19":{"start":{"line":18,"column":20},"end":{"line":21,"column":5}},"20":{"start":{"line":22,"column":4},"end":{"line":27,"column":45}},"21":{"start":{"line":28,"column":4},"end":{"line":33,"column":48}},"22":{"start":{"line":34,"column":4},"end":{"line":37,"column":18}},"23":{"start":{"line":39,"column":4},"end":{"line":41,"column":7}},"24":{"start":{"line":40,"column":8},"end":{"line":40,"column":52}},"25":{"start":{"line":42,"column":4},"end":{"line":57,"column":7}},"26":{"start":{"line":43,"column":23},"end":{"line":49,"column":9}},"27":{"start":{"line":50,"column":8},"end":{"line":52,"column":16}},"28":{"start":{"line":53,"column":8},"end":{"line":56,"column":11}},"29":{"start":{"line":58,"column":4},"end":{"line":66,"column":7}},"30":{"start":{"line":59,"column":23},"end":{"line":64,"column":9}},"31":{"start":{"line":65,"column":8},"end":{"line":65,"column":158}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":25},"end":{"line":17,"column":26}},"loc":{"start":{"line":17,"column":31},"end":{"line":67,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":8},"end":{"line":19,"column":9}},"loc":{"start":{"line":19,"column":18},"end":{"line":19,"column":21}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":8},"end":{"line":20,"column":9}},"loc":{"start":{"line":20,"column":21},"end":{"line":20,"column":24}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":39,"column":15},"end":{"line":39,"column":16}},"loc":{"start":{"line":39,"column":21},"end":{"line":41,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":42,"column":72},"end":{"line":42,"column":73}},"loc":{"start":{"line":42,"column":78},"end":{"line":57,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":58,"column":73},"end":{"line":58,"column":74}},"loc":{"start":{"line":58,"column":79},"end":{"line":66,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":3,"2":3,"3":3,"4":3,"5":0,"6":0,"7":0,"8":3,"9":1,"10":7,"11":7,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":2,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1},"f":{"0":3,"1":7,"2":1,"3":0,"4":0,"5":2,"6":1,"7":1},"b":{"0":[1,1,1],"1":[1,2],"2":[2,0],"3":[3,0],"4":[3,3],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[3,2,2],"10":[1,1,1],"11":[7,0],"12":[7,7]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"74bb0ff0c91ec6a40a9978c24b8f3c93ab644fbf","contentHash":"245d4c1450ccc34186e14c85434c7a97_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\router\\router-builder.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\router\\router-builder.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":14},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":15},"end":{"line":12,"column":30}},"14":{"start":{"line":13,"column":25},"end":{"line":13,"column":63}},"15":{"start":{"line":14,"column":31},"end":{"line":14,"column":84}},"16":{"start":{"line":15,"column":36},"end":{"line":15,"column":94}},"17":{"start":{"line":16,"column":30},"end":{"line":16,"column":82}},"18":{"start":{"line":17,"column":0},"end":{"line":80,"column":3}},"19":{"start":{"line":18,"column":20},"end":{"line":23,"column":5}},"20":{"start":{"line":24,"column":4},"end":{"line":29,"column":45}},"21":{"start":{"line":30,"column":4},"end":{"line":35,"column":46}},"22":{"start":{"line":36,"column":4},"end":{"line":41,"column":49}},"23":{"start":{"line":42,"column":4},"end":{"line":45,"column":18}},"24":{"start":{"line":47,"column":4},"end":{"line":49,"column":7}},"25":{"start":{"line":48,"column":8},"end":{"line":48,"column":71}},"26":{"start":{"line":50,"column":4},"end":{"line":61,"column":7}},"27":{"start":{"line":51,"column":8},"end":{"line":60,"column":11}},"28":{"start":{"line":52,"column":26},"end":{"line":52,"column":103}},"29":{"start":{"line":53,"column":12},"end":{"line":53,"column":51}},"30":{"start":{"line":54,"column":12},"end":{"line":54,"column":57}},"31":{"start":{"line":55,"column":12},"end":{"line":55,"column":57}},"32":{"start":{"line":56,"column":12},"end":{"line":56,"column":65}},"33":{"start":{"line":57,"column":12},"end":{"line":57,"column":98}},"34":{"start":{"line":58,"column":12},"end":{"line":58,"column":99}},"35":{"start":{"line":59,"column":12},"end":{"line":59,"column":98}},"36":{"start":{"line":62,"column":4},"end":{"line":70,"column":7}},"37":{"start":{"line":63,"column":8},"end":{"line":69,"column":11}},"38":{"start":{"line":64,"column":29},"end":{"line":64,"column":44}},"39":{"start":{"line":65,"column":34},"end":{"line":65,"column":65}},"40":{"start":{"line":66,"column":26},"end":{"line":66,"column":104}},"41":{"start":{"line":67,"column":12},"end":{"line":67,"column":54}},"42":{"start":{"line":68,"column":12},"end":{"line":68,"column":95}},"43":{"start":{"line":71,"column":4},"end":{"line":79,"column":7}},"44":{"start":{"line":72,"column":8},"end":{"line":78,"column":11}},"45":{"start":{"line":73,"column":29},"end":{"line":73,"column":81}},"46":{"start":{"line":74,"column":26},"end":{"line":74,"column":38}},"47":{"start":{"line":75,"column":12},"end":{"line":75,"column":63}},"48":{"start":{"line":76,"column":12},"end":{"line":76,"column":70}},"49":{"start":{"line":77,"column":12},"end":{"line":77,"column":70}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":26},"end":{"line":17,"column":27}},"loc":{"start":{"line":17,"column":32},"end":{"line":80,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":8},"end":{"line":19,"column":9}},"loc":{"start":{"line":19,"column":18},"end":{"line":19,"column":21}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":8},"end":{"line":20,"column":9}},"loc":{"start":{"line":20,"column":19},"end":{"line":20,"column":22}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":21,"column":8},"end":{"line":21,"column":9}},"loc":{"start":{"line":21,"column":22},"end":{"line":21,"column":25}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":22,"column":8},"end":{"line":22,"column":9}},"loc":{"start":{"line":22,"column":28},"end":{"line":22,"column":31}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":47,"column":15},"end":{"line":47,"column":16}},"loc":{"start":{"line":47,"column":21},"end":{"line":49,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":50,"column":42},"end":{"line":50,"column":43}},"loc":{"start":{"line":50,"column":48},"end":{"line":61,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":51,"column":64},"end":{"line":51,"column":65}},"loc":{"start":{"line":51,"column":70},"end":{"line":60,"column":9}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":62,"column":38},"end":{"line":62,"column":39}},"loc":{"start":{"line":62,"column":44},"end":{"line":70,"column":5}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":63,"column":80},"end":{"line":63,"column":81}},"loc":{"start":{"line":63,"column":86},"end":{"line":69,"column":9}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":71,"column":40},"end":{"line":71,"column":41}},"loc":{"start":{"line":71,"column":46},"end":{"line":79,"column":5}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":72,"column":80},"end":{"line":72,"column":81}},"loc":{"start":{"line":72,"column":86},"end":{"line":78,"column":9}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":4,"2":4,"3":4,"4":4,"5":0,"6":0,"7":0,"8":4,"9":1,"10":10,"11":10,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":3,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1},"f":{"0":4,"1":10,"2":1,"3":0,"4":0,"5":0,"6":0,"7":3,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1},"b":{"0":[1,1,1],"1":[1,3],"2":[3,0],"3":[4,0],"4":[4,4],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[4,3,3],"10":[1,1,1],"11":[10,0],"12":[10,10]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"65d076ff1e718073dad90efa8dbcca62f289efe1","contentHash":"47e62c5e3a44d77e0adc8ed032ae789e_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\router\\router-proxy.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\router\\router-proxy.spec.ts","statementMap":{"0":{"start":{"line":2,"column":16},"end":{"line":9,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":8,"column":7}},"2":{"start":{"line":4,"column":36},"end":{"line":4,"column":97}},"3":{"start":{"line":4,"column":42},"end":{"line":4,"column":70}},"4":{"start":{"line":4,"column":85},"end":{"line":4,"column":95}},"5":{"start":{"line":5,"column":35},"end":{"line":5,"column":100}},"6":{"start":{"line":5,"column":41},"end":{"line":5,"column":73}},"7":{"start":{"line":5,"column":88},"end":{"line":5,"column":98}},"8":{"start":{"line":6,"column":32},"end":{"line":6,"column":149}},"9":{"start":{"line":6,"column":97},"end":{"line":6,"column":119}},"10":{"start":{"line":7,"column":8},"end":{"line":7,"column":72}},"11":{"start":{"line":10,"column":14},"end":{"line":10,"column":30}},"12":{"start":{"line":11,"column":15},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":23},"end":{"line":12,"column":59}},"14":{"start":{"line":13,"column":29},"end":{"line":13,"column":75}},"15":{"start":{"line":14,"column":20},"end":{"line":14,"column":57}},"16":{"start":{"line":15,"column":0},"end":{"line":48,"column":3}},"17":{"start":{"line":18,"column":4},"end":{"line":22,"column":7}},"18":{"start":{"line":19,"column":24},"end":{"line":19,"column":68}},"19":{"start":{"line":20,"column":8},"end":{"line":20,"column":42}},"20":{"start":{"line":21,"column":8},"end":{"line":21,"column":62}},"21":{"start":{"line":23,"column":4},"end":{"line":47,"column":7}},"22":{"start":{"line":24,"column":8},"end":{"line":27,"column":11}},"23":{"start":{"line":25,"column":26},"end":{"line":25,"column":60}},"24":{"start":{"line":26,"column":12},"end":{"line":26,"column":66}},"25":{"start":{"line":28,"column":8},"end":{"line":35,"column":11}},"26":{"start":{"line":29,"column":32},"end":{"line":29,"column":66}},"27":{"start":{"line":30,"column":26},"end":{"line":32,"column":14}},"28":{"start":{"line":31,"column":16},"end":{"line":31,"column":61}},"29":{"start":{"line":33,"column":12},"end":{"line":33,"column":36}},"30":{"start":{"line":34,"column":12},"end":{"line":34,"column":33}},"31":{"start":{"line":36,"column":8},"end":{"line":46,"column":11}},"32":{"start":{"line":37,"column":32},"end":{"line":37,"column":66}},"33":{"start":{"line":38,"column":26},"end":{"line":40,"column":15}},"34":{"start":{"line":38,"column":70},"end":{"line":40,"column":14}},"35":{"start":{"line":39,"column":16},"end":{"line":39,"column":61}},"36":{"start":{"line":41,"column":12},"end":{"line":41,"column":36}},"37":{"start":{"line":42,"column":12},"end":{"line":45,"column":18}},"38":{"start":{"line":43,"column":16},"end":{"line":43,"column":37}},"39":{"start":{"line":44,"column":16},"end":{"line":44,"column":23}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":44},"end":{"line":2,"column":45}},"loc":{"start":{"line":2,"column":89},"end":{"line":9,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":36},"end":{"line":3,"column":37}},"loc":{"start":{"line":3,"column":63},"end":{"line":8,"column":5}}},"2":{"name":"fulfilled","decl":{"start":{"line":4,"column":17},"end":{"line":4,"column":26}},"loc":{"start":{"line":4,"column":34},"end":{"line":4,"column":99}}},"3":{"name":"rejected","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":33},"end":{"line":5,"column":102}}},"4":{"name":"step","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":21}},"loc":{"start":{"line":6,"column":30},"end":{"line":6,"column":151}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":6,"column":76},"end":{"line":6,"column":77}},"loc":{"start":{"line":6,"column":95},"end":{"line":6,"column":121}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":25}},"loc":{"start":{"line":15,"column":30},"end":{"line":48,"column":1}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":18,"column":15},"end":{"line":18,"column":16}},"loc":{"start":{"line":18,"column":21},"end":{"line":22,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":23,"column":28},"end":{"line":23,"column":29}},"loc":{"start":{"line":23,"column":34},"end":{"line":47,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":24,"column":41},"end":{"line":24,"column":42}},"loc":{"start":{"line":24,"column":47},"end":{"line":27,"column":9}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":25,"column":50},"end":{"line":25,"column":51}},"loc":{"start":{"line":25,"column":56},"end":{"line":25,"column":59}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":28,"column":68},"end":{"line":28,"column":69}},"loc":{"start":{"line":28,"column":74},"end":{"line":35,"column":9}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":30,"column":50},"end":{"line":30,"column":51}},"loc":{"start":{"line":30,"column":70},"end":{"line":32,"column":13}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":36,"column":74},"end":{"line":36,"column":75}},"loc":{"start":{"line":36,"column":84},"end":{"line":46,"column":9}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":38,"column":50},"end":{"line":38,"column":51}},"loc":{"start":{"line":38,"column":70},"end":{"line":40,"column":14}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":38,"column":102},"end":{"line":38,"column":103}},"loc":{"start":{"line":38,"column":115},"end":{"line":40,"column":13}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":42,"column":23},"end":{"line":42,"column":24}},"loc":{"start":{"line":42,"column":29},"end":{"line":45,"column":13}}}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":16},"end":{"line":9,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":17},"end":{"line":2,"column":21}},{"start":{"line":2,"column":25},"end":{"line":2,"column":39}},{"start":{"line":2,"column":44},"end":{"line":9,"column":1}}]},"1":{"loc":{"start":{"line":3,"column":16},"end":{"line":3,"column":34}},"type":"binary-expr","locations":[{"start":{"line":3,"column":16},"end":{"line":3,"column":17}},{"start":{"line":3,"column":22},"end":{"line":3,"column":33}}]},"2":{"loc":{"start":{"line":6,"column":32},"end":{"line":6,"column":148}},"type":"cond-expr","locations":[{"start":{"line":6,"column":46},"end":{"line":6,"column":67}},{"start":{"line":6,"column":70},"end":{"line":6,"column":148}}]}},"s":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":3,"19":3,"20":3,"21":1,"22":1,"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":1,"36":1,"37":1,"38":1,"39":1},"f":{"0":1,"1":1,"2":0,"3":0,"4":0,"5":0,"6":1,"7":3,"8":1,"9":1,"10":0,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1},"b":{"0":[1,1,1],"1":[1,1],"2":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"b4da7a1d6b9dded952cef3d3192e8c2f8a76e00a","contentHash":"1cab6ec07e72784e9dfbf2be0616e5c5_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\router\\router-proxy.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\router\\router-proxy.ts","statementMap":{"0":{"start":{"line":4,"column":8},"end":{"line":4,"column":51}},"1":{"start":{"line":7,"column":8},"end":{"line":16,"column":10}},"2":{"start":{"line":8,"column":12},"end":{"line":15,"column":13}},"3":{"start":{"line":9,"column":16},"end":{"line":11,"column":19}},"4":{"start":{"line":10,"column":20},"end":{"line":10,"column":56}},"5":{"start":{"line":14,"column":16},"end":{"line":14,"column":52}},"6":{"start":{"line":19,"column":0},"end":{"line":19,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":4},"end":{"line":3,"column":5}},"loc":{"start":{"line":3,"column":35},"end":{"line":5,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":32},"end":{"line":17,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":15},"end":{"line":7,"column":16}},"loc":{"start":{"line":7,"column":35},"end":{"line":16,"column":9}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":70},"end":{"line":9,"column":71}},"loc":{"start":{"line":9,"column":77},"end":{"line":11,"column":17}}}},"branchMap":{},"s":{"0":4,"1":5,"2":2,"3":2,"4":1,"5":1,"6":1},"f":{"0":4,"1":5,"2":2,"3":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"5aebbd4b03166688db8718e95271de70377e011d","contentHash":"41f89fb29c636ef71c891a5d32f9ac2f_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\router\\routes-resolver.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\router\\routes-resolver.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":14},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":15},"end":{"line":12,"column":30}},"14":{"start":{"line":13,"column":26},"end":{"line":13,"column":65}},"15":{"start":{"line":14,"column":31},"end":{"line":14,"column":84}},"16":{"start":{"line":15,"column":36},"end":{"line":15,"column":94}},"17":{"start":{"line":16,"column":30},"end":{"line":16,"column":82}},"18":{"start":{"line":17,"column":0},"end":{"line":62,"column":3}},"19":{"start":{"line":18,"column":20},"end":{"line":21,"column":5}},"20":{"start":{"line":22,"column":4},"end":{"line":27,"column":45}},"21":{"start":{"line":28,"column":4},"end":{"line":33,"column":49}},"22":{"start":{"line":34,"column":4},"end":{"line":37,"column":18}},"23":{"start":{"line":40,"column":4},"end":{"line":45,"column":7}},"24":{"start":{"line":41,"column":8},"end":{"line":44,"column":10}},"25":{"start":{"line":46,"column":4},"end":{"line":50,"column":7}},"26":{"start":{"line":47,"column":8},"end":{"line":49,"column":11}},"27":{"start":{"line":48,"column":32},"end":{"line":48,"column":38}},"28":{"start":{"line":51,"column":4},"end":{"line":61,"column":7}},"29":{"start":{"line":52,"column":8},"end":{"line":60,"column":11}},"30":{"start":{"line":53,"column":27},"end":{"line":53,"column":36}},"31":{"start":{"line":54,"column":12},"end":{"line":54,"column":65}},"32":{"start":{"line":55,"column":24},"end":{"line":55,"column":35}},"33":{"start":{"line":56,"column":36},"end":{"line":56,"column":43}},"34":{"start":{"line":57,"column":12},"end":{"line":57,"column":65}},"35":{"start":{"line":58,"column":12},"end":{"line":58,"column":53}},"36":{"start":{"line":59,"column":12},"end":{"line":59,"column":72}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":27},"end":{"line":17,"column":28}},"loc":{"start":{"line":17,"column":33},"end":{"line":62,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":19,"column":8},"end":{"line":19,"column":9}},"loc":{"start":{"line":19,"column":18},"end":{"line":19,"column":21}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":8},"end":{"line":20,"column":9}},"loc":{"start":{"line":20,"column":22},"end":{"line":20,"column":25}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":11},"end":{"line":40,"column":12}},"loc":{"start":{"line":40,"column":17},"end":{"line":45,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":46,"column":15},"end":{"line":46,"column":16}},"loc":{"start":{"line":46,"column":21},"end":{"line":50,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":48,"column":26},"end":{"line":48,"column":27}},"loc":{"start":{"line":48,"column":32},"end":{"line":48,"column":38}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":51,"column":29},"end":{"line":51,"column":30}},"loc":{"start":{"line":51,"column":35},"end":{"line":61,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":52,"column":78},"end":{"line":52,"column":79}},"loc":{"start":{"line":52,"column":84},"end":{"line":60,"column":9}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":3,"2":3,"3":3,"4":3,"5":0,"6":0,"7":0,"8":3,"9":1,"10":7,"11":7,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"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":1,"36":1},"f":{"0":3,"1":7,"2":1,"3":0,"4":0,"5":1,"6":1,"7":1,"8":1,"9":1},"b":{"0":[1,1,1],"1":[1,2],"2":[2,0],"3":[3,0],"4":[3,3],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[3,2,2],"10":[1,1,1],"11":[7,0],"12":[7,7]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"307887a3df41285792e03e0306d31693d6cacfe8","contentHash":"ddafda8627aa34259c3d8a4d5645b925_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\router\\routes-resolver.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\router\\routes-resolver.ts","statementMap":{"0":{"start":{"line":2,"column":25},"end":{"line":2,"column":52}},"1":{"start":{"line":3,"column":23},"end":{"line":3,"column":48}},"2":{"start":{"line":4,"column":29},"end":{"line":4,"column":72}},"3":{"start":{"line":7,"column":8},"end":{"line":7,"column":35}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":104}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":98}},"6":{"start":{"line":12,"column":24},"end":{"line":12,"column":51}},"7":{"start":{"line":13,"column":8},"end":{"line":13,"column":84}},"8":{"start":{"line":13,"column":40},"end":{"line":13,"column":82}},"9":{"start":{"line":16,"column":8},"end":{"line":19,"column":11}},"10":{"start":{"line":17,"column":37},"end":{"line":17,"column":87}},"11":{"start":{"line":18,"column":12},"end":{"line":18,"column":46}},"12":{"start":{"line":22,"column":0},"end":{"line":22,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":43},"end":{"line":10,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":29},"end":{"line":14,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":25}},"loc":{"start":{"line":13,"column":40},"end":{"line":13,"column":82}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":4},"end":{"line":15,"column":5}},"loc":{"start":{"line":15,"column":42},"end":{"line":20,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":16,"column":23},"end":{"line":16,"column":24}},"loc":{"start":{"line":16,"column":57},"end":{"line":19,"column":9}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":0,"7":0,"8":0,"9":1,"10":1,"11":1,"12":1},"f":{"0":1,"1":0,"2":0,"3":1,"4":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"ca8e659459614b2f49ecdc862bfe62eeb48163d5","contentHash":"30b4376dbd79bcee3ad35cc758c457cb_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\test\\scanner.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\test\\scanner.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":14},"end":{"line":11,"column":30}},"13":{"start":{"line":12,"column":18},"end":{"line":12,"column":41}},"14":{"start":{"line":13,"column":20},"end":{"line":13,"column":54}},"15":{"start":{"line":14,"column":27},"end":{"line":14,"column":73}},"16":{"start":{"line":15,"column":30},"end":{"line":15,"column":79}},"17":{"start":{"line":16,"column":31},"end":{"line":16,"column":81}},"18":{"start":{"line":17,"column":0},"end":{"line":85,"column":3}},"19":{"start":{"line":18,"column":24},"end":{"line":19,"column":5}},"20":{"start":{"line":20,"column":4},"end":{"line":23,"column":22}},"21":{"start":{"line":24,"column":20},"end":{"line":25,"column":5}},"22":{"start":{"line":26,"column":4},"end":{"line":29,"column":18}},"23":{"start":{"line":30,"column":28},"end":{"line":31,"column":5}},"24":{"start":{"line":32,"column":4},"end":{"line":39,"column":26}},"25":{"start":{"line":40,"column":21},"end":{"line":41,"column":5}},"26":{"start":{"line":42,"column":4},"end":{"line":49,"column":19}},"27":{"start":{"line":53,"column":4},"end":{"line":56,"column":7}},"28":{"start":{"line":54,"column":8},"end":{"line":54,"column":52}},"29":{"start":{"line":55,"column":8},"end":{"line":55,"column":46}},"30":{"start":{"line":57,"column":4},"end":{"line":59,"column":7}},"31":{"start":{"line":58,"column":8},"end":{"line":58,"column":63}},"32":{"start":{"line":60,"column":4},"end":{"line":62,"column":7}},"33":{"start":{"line":61,"column":8},"end":{"line":61,"column":32}},"34":{"start":{"line":63,"column":4},"end":{"line":67,"column":7}},"35":{"start":{"line":64,"column":28},"end":{"line":64,"column":70}},"36":{"start":{"line":65,"column":8},"end":{"line":65,"column":33}},"37":{"start":{"line":66,"column":8},"end":{"line":66,"column":29}},"38":{"start":{"line":68,"column":4},"end":{"line":74,"column":7}},"39":{"start":{"line":69,"column":28},"end":{"line":69,"column":73}},"40":{"start":{"line":70,"column":21},"end":{"line":70,"column":66}},"41":{"start":{"line":71,"column":8},"end":{"line":71,"column":33}},"42":{"start":{"line":72,"column":8},"end":{"line":72,"column":29}},"43":{"start":{"line":73,"column":8},"end":{"line":73,"column":23}},"44":{"start":{"line":75,"column":4},"end":{"line":79,"column":7}},"45":{"start":{"line":76,"column":28},"end":{"line":76,"column":69}},"46":{"start":{"line":77,"column":8},"end":{"line":77,"column":33}},"47":{"start":{"line":78,"column":8},"end":{"line":78,"column":29}},"48":{"start":{"line":80,"column":4},"end":{"line":84,"column":7}},"49":{"start":{"line":81,"column":28},"end":{"line":81,"column":80}},"50":{"start":{"line":82,"column":8},"end":{"line":82,"column":33}},"51":{"start":{"line":83,"column":8},"end":{"line":83,"column":29}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":32},"end":{"line":17,"column":33}},"loc":{"start":{"line":17,"column":38},"end":{"line":85,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":53,"column":11},"end":{"line":53,"column":12}},"loc":{"start":{"line":53,"column":17},"end":{"line":56,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":57,"column":15},"end":{"line":57,"column":16}},"loc":{"start":{"line":57,"column":21},"end":{"line":59,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":60,"column":14},"end":{"line":60,"column":15}},"loc":{"start":{"line":60,"column":20},"end":{"line":62,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":63,"column":83},"end":{"line":63,"column":84}},"loc":{"start":{"line":63,"column":89},"end":{"line":67,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":68,"column":92},"end":{"line":68,"column":93}},"loc":{"start":{"line":68,"column":98},"end":{"line":74,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":75,"column":84},"end":{"line":75,"column":85}},"loc":{"start":{"line":75,"column":90},"end":{"line":79,"column":5}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":80,"column":106},"end":{"line":80,"column":107}},"loc":{"start":{"line":80,"column":112},"end":{"line":84,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":4,"2":4,"3":4,"4":4,"5":0,"6":0,"7":0,"8":4,"9":1,"10":4,"11":4,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":4,"32":1,"33":4,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1},"f":{"0":4,"1":4,"2":1,"3":1,"4":4,"5":4,"6":1,"7":1,"8":1,"9":1},"b":{"0":[1,1,1],"1":[4,0],"2":[0,0],"3":[4,0],"4":[4,4],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[4,0,0],"10":[1,1,1],"11":[4,0],"12":[4,4]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"edfb2b9b30f7b40deeb132ff40955546758ecb62","contentHash":"2155857a1f866555767c2d5d68651cf3_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\core\\scanner.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\core\\scanner.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"1":{"start":{"line":5,"column":8},"end":{"line":5,"column":35}},"2":{"start":{"line":8,"column":8},"end":{"line":8,"column":36}},"3":{"start":{"line":9,"column":8},"end":{"line":9,"column":42}},"4":{"start":{"line":12,"column":8},"end":{"line":12,"column":33}},"5":{"start":{"line":13,"column":29},"end":{"line":13,"column":73}},"6":{"start":{"line":14,"column":8},"end":{"line":14,"column":66}},"7":{"start":{"line":14,"column":37},"end":{"line":14,"column":64}},"8":{"start":{"line":17,"column":8},"end":{"line":17,"column":41}},"9":{"start":{"line":20,"column":24},"end":{"line":20,"column":51}},"10":{"start":{"line":21,"column":8},"end":{"line":26,"column":11}},"11":{"start":{"line":22,"column":12},"end":{"line":22,"column":47}},"12":{"start":{"line":23,"column":12},"end":{"line":23,"column":43}},"13":{"start":{"line":24,"column":12},"end":{"line":24,"column":39}},"14":{"start":{"line":25,"column":12},"end":{"line":25,"column":40}},"15":{"start":{"line":29,"column":24},"end":{"line":29,"column":68}},"16":{"start":{"line":30,"column":8},"end":{"line":30,"column":75}},"17":{"start":{"line":30,"column":33},"end":{"line":30,"column":73}},"18":{"start":{"line":33,"column":27},"end":{"line":33,"column":74}},"19":{"start":{"line":34,"column":8},"end":{"line":34,"column":78}},"20":{"start":{"line":34,"column":38},"end":{"line":34,"column":76}},"21":{"start":{"line":37,"column":23},"end":{"line":37,"column":71}},"22":{"start":{"line":38,"column":8},"end":{"line":38,"column":62}},"23":{"start":{"line":38,"column":30},"end":{"line":38,"column":60}},"24":{"start":{"line":41,"column":24},"end":{"line":41,"column":68}},"25":{"start":{"line":42,"column":8},"end":{"line":42,"column":99}},"26":{"start":{"line":42,"column":43},"end":{"line":42,"column":97}},"27":{"start":{"line":45,"column":8},"end":{"line":45,"column":57}},"28":{"start":{"line":48,"column":8},"end":{"line":48,"column":55}},"29":{"start":{"line":51,"column":8},"end":{"line":51,"column":71}},"30":{"start":{"line":54,"column":8},"end":{"line":54,"column":47}},"31":{"start":{"line":57,"column":0},"end":{"line":57,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":4},"end":{"line":4,"column":5}},"loc":{"start":{"line":4,"column":27},"end":{"line":6,"column":5}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":17},"end":{"line":10,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":27},"end":{"line":15,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":25},"end":{"line":14,"column":26}},"loc":{"start":{"line":14,"column":37},"end":{"line":14,"column":64}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":24},"end":{"line":18,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":33},"end":{"line":27,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":21,"column":24},"end":{"line":21,"column":25}},"loc":{"start":{"line":21,"column":42},"end":{"line":26,"column":9}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":34},"end":{"line":31,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":30,"column":20},"end":{"line":30,"column":21}},"loc":{"start":{"line":30,"column":33},"end":{"line":30,"column":73}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":32,"column":4},"end":{"line":32,"column":5}},"loc":{"start":{"line":32,"column":30},"end":{"line":35,"column":5}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":34,"column":23},"end":{"line":34,"column":24}},"loc":{"start":{"line":34,"column":38},"end":{"line":34,"column":76}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":26},"end":{"line":39,"column":5}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":38,"column":19},"end":{"line":38,"column":20}},"loc":{"start":{"line":38,"column":30},"end":{"line":38,"column":60}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":27},"end":{"line":43,"column":5}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":42,"column":20},"end":{"line":42,"column":21}},"loc":{"start":{"line":42,"column":43},"end":{"line":42,"column":97}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":44,"column":4},"end":{"line":44,"column":5}},"loc":{"start":{"line":44,"column":40},"end":{"line":46,"column":5}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":47,"column":4},"end":{"line":47,"column":5}},"loc":{"start":{"line":47,"column":38},"end":{"line":49,"column":5}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":50,"column":4},"end":{"line":50,"column":5}},"loc":{"start":{"line":50,"column":54},"end":{"line":52,"column":5}}},"18":{"name":"(anonymous_18)","decl":{"start":{"line":53,"column":4},"end":{"line":53,"column":5}},"loc":{"start":{"line":53,"column":30},"end":{"line":55,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":29},"end":{"line":13,"column":73}},"type":"binary-expr","locations":[{"start":{"line":13,"column":29},"end":{"line":13,"column":67}},{"start":{"line":13,"column":71},"end":{"line":13,"column":73}}]},"1":{"loc":{"start":{"line":29,"column":24},"end":{"line":29,"column":68}},"type":"binary-expr","locations":[{"start":{"line":29,"column":24},"end":{"line":29,"column":62}},{"start":{"line":29,"column":66},"end":{"line":29,"column":68}}]},"2":{"loc":{"start":{"line":33,"column":27},"end":{"line":33,"column":74}},"type":"binary-expr","locations":[{"start":{"line":33,"column":27},"end":{"line":33,"column":68}},{"start":{"line":33,"column":72},"end":{"line":33,"column":74}}]},"3":{"loc":{"start":{"line":37,"column":23},"end":{"line":37,"column":71}},"type":"binary-expr","locations":[{"start":{"line":37,"column":23},"end":{"line":37,"column":65}},{"start":{"line":37,"column":69},"end":{"line":37,"column":71}}]},"4":{"loc":{"start":{"line":41,"column":24},"end":{"line":41,"column":68}},"type":"binary-expr","locations":[{"start":{"line":41,"column":24},"end":{"line":41,"column":62}},{"start":{"line":41,"column":66},"end":{"line":41,"column":68}}]}},"s":{"0":1,"1":4,"2":4,"3":4,"4":8,"5":8,"6":8,"7":4,"8":8,"9":4,"10":4,"11":6,"12":6,"13":6,"14":6,"15":6,"16":6,"17":3,"18":6,"19":6,"20":6,"21":6,"22":6,"23":6,"24":6,"25":6,"26":3,"27":3,"28":6,"29":2,"30":6,"31":1},"f":{"0":4,"1":4,"2":8,"3":4,"4":8,"5":4,"6":6,"7":6,"8":3,"9":6,"10":6,"11":6,"12":6,"13":6,"14":3,"15":3,"16":6,"17":2,"18":6},"b":{"0":[8,4],"1":[6,3],"2":[6,0],"3":[6,0],"4":[6,3]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"fd06be5664042cf090ad4ee721e6e62e94dd5d57","contentHash":"d0594eb7182158e852f3f2035de8878e_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\socket\\test\\utils\\socket-gateway.decorator.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\socket\\test\\utils\\socket-gateway.decorator.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":0},"end":{"line":11,"column":28}},"13":{"start":{"line":12,"column":15},"end":{"line":12,"column":30}},"14":{"start":{"line":13,"column":35},"end":{"line":13,"column":82}},"15":{"start":{"line":14,"column":0},"end":{"line":29,"column":3}},"16":{"start":{"line":15,"column":22},"end":{"line":16,"column":5}},"17":{"start":{"line":17,"column":4},"end":{"line":20,"column":20}},"18":{"start":{"line":21,"column":4},"end":{"line":28,"column":7}},"19":{"start":{"line":22,"column":26},"end":{"line":22,"column":73}},"20":{"start":{"line":23,"column":21},"end":{"line":23,"column":61}},"21":{"start":{"line":24,"column":26},"end":{"line":24,"column":71}},"22":{"start":{"line":25,"column":8},"end":{"line":25,"column":49}},"23":{"start":{"line":26,"column":8},"end":{"line":26,"column":42}},"24":{"start":{"line":27,"column":8},"end":{"line":27,"column":48}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":27},"end":{"line":14,"column":28}},"loc":{"start":{"line":14,"column":33},"end":{"line":29,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":21,"column":54},"end":{"line":21,"column":55}},"loc":{"start":{"line":21,"column":60},"end":{"line":28,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1},"f":{"0":1,"1":1,"2":1,"3":1},"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":[1,1,1],"11":[1,0],"12":[1,1]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"b366b91ea47b9dcb51d9266aca3d8da23eaf79f2","contentHash":"8267025eaedc55f7d8959ebad14011d2_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\socket\\utils\\socket-gateway.decorator.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\socket\\utils\\socket-gateway.decorator.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"1":{"start":{"line":3,"column":0},"end":{"line":10,"column":2}},"2":{"start":{"line":4,"column":4},"end":{"line":4,"column":30}},"3":{"start":{"line":5,"column":4},"end":{"line":9,"column":6}},"4":{"start":{"line":6,"column":8},"end":{"line":6,"column":60}},"5":{"start":{"line":7,"column":8},"end":{"line":7,"column":72}},"6":{"start":{"line":8,"column":8},"end":{"line":8,"column":62}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":24},"end":{"line":3,"column":25}},"loc":{"start":{"line":3,"column":38},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":11},"end":{"line":5,"column":12}},"loc":{"start":{"line":5,"column":23},"end":{"line":9,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":15},"end":{"line":4,"column":29}},"type":"binary-expr","locations":[{"start":{"line":4,"column":15},"end":{"line":4,"column":23}},{"start":{"line":4,"column":27},"end":{"line":4,"column":29}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{"0":1,"1":1},"b":{"0":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"a2252ffc07da10cd761a1e56b6d4799443c91925","contentHash":"f1df00ff3b2e9ed508e060ac735ada36_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\socket\\test\\utils\\subscribe-message.decorator.spec.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\socket\\test\\utils\\subscribe-message.decorator.spec.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":58},"end":{"line":5,"column":150}},"7":{"start":{"line":5,"column":81},"end":{"line":5,"column":150}},"8":{"start":{"line":6,"column":4},"end":{"line":6,"column":66}},"9":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"10":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"11":{"start":{"line":9,"column":79},"end":{"line":9,"column":109}},"12":{"start":{"line":11,"column":0},"end":{"line":11,"column":28}},"13":{"start":{"line":12,"column":15},"end":{"line":12,"column":30}},"14":{"start":{"line":13,"column":38},"end":{"line":13,"column":88}},"15":{"start":{"line":14,"column":0},"end":{"line":30,"column":3}},"16":{"start":{"line":18,"column":4},"end":{"line":23,"column":32}},"17":{"start":{"line":24,"column":4},"end":{"line":29,"column":7}},"18":{"start":{"line":25,"column":33},"end":{"line":25,"column":90}},"19":{"start":{"line":26,"column":24},"end":{"line":26,"column":70}},"20":{"start":{"line":27,"column":8},"end":{"line":27,"column":51}},"21":{"start":{"line":28,"column":8},"end":{"line":28,"column":51}}},"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}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":46},"end":{"line":8,"column":47}},"loc":{"start":{"line":8,"column":62},"end":{"line":10,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":30},"end":{"line":14,"column":31}},"loc":{"start":{"line":14,"column":36},"end":{"line":30,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":8},"end":{"line":16,"column":9}},"loc":{"start":{"line":16,"column":20},"end":{"line":16,"column":23}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":54},"end":{"line":24,"column":55}},"loc":{"start":{"line":24,"column":60},"end":{"line":29,"column":5}}}},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"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}}]},"10":{"loc":{"start":{"line":8,"column":17},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":8,"column":18},"end":{"line":8,"column":22}},{"start":{"line":8,"column":26},"end":{"line":8,"column":41}},{"start":{"line":8,"column":46},"end":{"line":10,"column":1}}]},"11":{"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":9,"column":109}},{"start":{"line":9,"column":4},"end":{"line":9,"column":109}}]},"12":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":77}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},{"start":{"line":9,"column":39},"end":{"line":9,"column":77}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":1,"9":1,"10":3,"11":3,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1},"f":{"0":1,"1":3,"2":1,"3":0,"4":1},"b":{"0":[1,1,1],"1":[0,1],"2":[1,0],"3":[1,0],"4":[1,1],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[1,1,1],"10":[1,1,1],"11":[3,0],"12":[3,3]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"d302739967883049d4f108a1a532a2289815ff77","contentHash":"c960bf675a2f7f615c196bf3078fe43a_10.1.2"},"C:\\wamp\\www\\tracker-server\\src\\socket\\utils\\subscribe-message.decorator.ts":{"path":"C:\\wamp\\www\\tracker-server\\src\\socket\\utils\\subscribe-message.decorator.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"1":{"start":{"line":3,"column":24},"end":{"line":3,"column":37}},"2":{"start":{"line":4,"column":0},"end":{"line":10,"column":2}},"3":{"start":{"line":5,"column":4},"end":{"line":9,"column":6}},"4":{"start":{"line":6,"column":8},"end":{"line":6,"column":77}},"5":{"start":{"line":7,"column":8},"end":{"line":7,"column":76}},"6":{"start":{"line":8,"column":8},"end":{"line":8,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":27},"end":{"line":4,"column":28}},"loc":{"start":{"line":4,"column":59},"end":{"line":10,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":11},"end":{"line":5,"column":12}},"loc":{"start":{"line":5,"column":40},"end":{"line":9,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":28},"end":{"line":4,"column":54}},"type":"default-arg","locations":[{"start":{"line":4,"column":39},"end":{"line":4,"column":54}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{"0":1,"1":1},"b":{"0":[0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"714100b96eecfc8efa905fadf9b564822dc01db5","contentHash":"2a87e8fc3a85ad38f4db7b430cf24363_10.1.2"}}
\ No newline at end of file
diff --git a/coverage/base.css b/coverage/base.css
new file mode 100644
index 000000000..417c7adc9
--- /dev/null
+++ b/coverage/base.css
@@ -0,0 +1,212 @@
+body, html {
+ margin:0; padding: 0;
+ height: 100%;
+}
+body {
+ font-family: Helvetica Neue, Helvetica, Arial;
+ font-size: 14px;
+ color:#333;
+}
+.small { font-size: 12px; }
+*, *:after, *:before {
+ -webkit-box-sizing:border-box;
+ -moz-box-sizing:border-box;
+ box-sizing:border-box;
+ }
+h1 { font-size: 20px; margin: 0;}
+h2 { font-size: 14px; }
+pre {
+ font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
+ margin: 0;
+ padding: 0;
+ -moz-tab-size: 2;
+ -o-tab-size: 2;
+ tab-size: 2;
+}
+a { color:#0074D9; text-decoration:none; }
+a:hover { text-decoration:underline; }
+.strong { font-weight: bold; }
+.space-top1 { padding: 10px 0 0 0; }
+.pad2y { padding: 20px 0; }
+.pad1y { padding: 10px 0; }
+.pad2x { padding: 0 20px; }
+.pad2 { padding: 20px; }
+.pad1 { padding: 10px; }
+.space-left2 { padding-left:55px; }
+.space-right2 { padding-right:20px; }
+.center { text-align:center; }
+.clearfix { display:block; }
+.clearfix:after {
+ content:'';
+ display:block;
+ height:0;
+ clear:both;
+ visibility:hidden;
+ }
+.fl { float: left; }
+@media only screen and (max-width:640px) {
+ .col3 { width:100%; max-width:100%; }
+ .hide-mobile { display:none!important; }
+}
+
+.quiet {
+ color: #7f7f7f;
+ color: rgba(0,0,0,0.5);
+}
+.quiet a { opacity: 0.7; }
+
+.fraction {
+ font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
+ font-size: 10px;
+ color: #555;
+ background: #E8E8E8;
+ padding: 4px 5px;
+ border-radius: 3px;
+ vertical-align: middle;
+}
+
+div.path a:link, div.path a:visited { color: #333; }
+table.coverage {
+ border-collapse: collapse;
+ margin: 10px 0 0 0;
+ padding: 0;
+}
+
+table.coverage td {
+ margin: 0;
+ padding: 0;
+ vertical-align: top;
+}
+table.coverage td.line-count {
+ text-align: right;
+ padding: 0 5px 0 20px;
+}
+table.coverage td.line-coverage {
+ text-align: right;
+ padding-right: 10px;
+ min-width:20px;
+}
+
+table.coverage td span.cline-any {
+ display: inline-block;
+ padding: 0 5px;
+ width: 100%;
+}
+.missing-if-branch {
+ display: inline-block;
+ margin-right: 5px;
+ border-radius: 3px;
+ position: relative;
+ padding: 0 4px;
+ background: #333;
+ color: yellow;
+}
+
+.skip-if-branch {
+ display: none;
+ margin-right: 10px;
+ position: relative;
+ padding: 0 4px;
+ background: #ccc;
+ color: white;
+}
+.missing-if-branch .typ, .skip-if-branch .typ {
+ color: inherit !important;
+}
+.coverage-summary {
+ border-collapse: collapse;
+ width: 100%;
+}
+.coverage-summary tr { border-bottom: 1px solid #bbb; }
+.keyline-all { border: 1px solid #ddd; }
+.coverage-summary td, .coverage-summary th { padding: 10px; }
+.coverage-summary tbody { border: 1px solid #bbb; }
+.coverage-summary td { border-right: 1px solid #bbb; }
+.coverage-summary td:last-child { border-right: none; }
+.coverage-summary th {
+ text-align: left;
+ font-weight: normal;
+ white-space: nowrap;
+}
+.coverage-summary th.file { border-right: none !important; }
+.coverage-summary th.pct { }
+.coverage-summary th.pic,
+.coverage-summary th.abs,
+.coverage-summary td.pct,
+.coverage-summary td.abs { text-align: right; }
+.coverage-summary td.file { white-space: nowrap; }
+.coverage-summary td.pic { min-width: 120px !important; }
+.coverage-summary tfoot td { }
+
+.coverage-summary .sorter {
+ height: 10px;
+ width: 7px;
+ display: inline-block;
+ margin-left: 0.5em;
+ background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
+}
+.coverage-summary .sorted .sorter {
+ background-position: 0 -20px;
+}
+.coverage-summary .sorted-desc .sorter {
+ background-position: 0 -10px;
+}
+.status-line { height: 10px; }
+/* dark red */
+.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
+.low .chart { border:1px solid #C21F39 }
+/* medium red */
+.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
+/* light red */
+.low, .cline-no { background:#FCE1E5 }
+/* light green */
+.high, .cline-yes { background:rgb(230,245,208) }
+/* medium green */
+.cstat-yes { background:rgb(161,215,106) }
+/* dark green */
+.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
+.high .chart { border:1px solid rgb(77,146,33) }
+
+
+.medium .chart { border:1px solid #666; }
+.medium .cover-fill { background: #666; }
+
+.cbranch-no { background: yellow !important; color: #111; }
+
+.cstat-skip { background: #ddd; color: #111; }
+.fstat-skip { background: #ddd; color: #111 !important; }
+.cbranch-skip { background: #ddd !important; color: #111; }
+
+span.cline-neutral { background: #eaeaea; }
+.medium { background: #eaeaea; }
+
+.cover-fill, .cover-empty {
+ display:inline-block;
+ height: 12px;
+}
+.chart {
+ line-height: 0;
+}
+.cover-empty {
+ background: white;
+}
+.cover-full {
+ border-right: none !important;
+}
+pre.prettyprint {
+ border: none !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.com { color: #999 !important; }
+.ignore-none { color: #999; font-weight: normal; }
+
+.wrapper {
+ min-height: 100%;
+ height: auto !important;
+ height: 100%;
+ margin: 0 auto -48px;
+}
+.footer, .push {
+ height: 48px;
+}
diff --git a/coverage/common/enums/index.html b/coverage/common/enums/index.html
new file mode 100644
index 000000000..3c3bdb620
--- /dev/null
+++ b/coverage/common/enums/index.html
@@ -0,0 +1,93 @@
+
+
+
+ Code coverage report for common/enums
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 6/6
+
+
+ 100%
+ Branches
+ 2/2
+
+
+ 100%
+ Functions
+ 1/1
+
+
+ 100%
+ Lines
+ 6/6
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ request-method.enum.ts
+
+ 100%
+ 6/6
+ 100%
+ 2/2
+ 100%
+ 1/1
+ 100%
+ 6/6
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/enums/request-method.enum.ts.html b/coverage/common/enums/request-method.enum.ts.html
new file mode 100644
index 000000000..fa15e655f
--- /dev/null
+++ b/coverage/common/enums/request-method.enum.ts.html
@@ -0,0 +1,83 @@
+
+
+
+ Code coverage report for common/enums/request-method.enum.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 6/6
+
+
+ 100%
+ Branches
+ 2/2
+
+
+ 100%
+ Functions
+ 1/1
+
+
+ 100%
+ Lines
+ 6/6
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7 1x
+1x
+1x
+1x
+1x
+1x
+ export enum RequestMethod {
+ GET = 0,
+ POST,
+ PUT,
+ DELETE,
+ ALL
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/test/utils/component.decorator.spec.ts.html b/coverage/common/test/utils/component.decorator.spec.ts.html
new file mode 100644
index 000000000..7beb7028f
--- /dev/null
+++ b/coverage/common/test/utils/component.decorator.spec.ts.html
@@ -0,0 +1,128 @@
+
+
+
+ Code coverage report for common/test/utils/component.decorator.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 11/11
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 66.67%
+ Functions
+ 2/3
+
+
+ 100%
+ Lines
+ 10/10
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22 1x
+1x
+1x
+1x
+
+1x
+
+
+1x
+
+
+
+
+
+1x
+1x
+
+1x
+1x
+
+
+ import "reflect-metadata";
+import 'mocha';
+import { expect } from "chai";
+import { Component } from "../../utils/component.decorator";
+
+describe('@Injectable', () => {
+
+ @Component()
+ class TestComponent {
+ constructor(
+ param: number,
+ test: string) {}
+ }
+
+ it('should decorate type with "design:paramtypes" metadata', () => {
+ const constructorParams = Reflect.getMetadata('design:paramtypes', TestComponent);
+
+ expect(constructorParams[0]).to.be.eql(Number);
+ expect(constructorParams[1]).to.be.eql(String);
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/test/utils/controller.decorator.spec.ts.html b/coverage/common/test/utils/controller.decorator.spec.ts.html
new file mode 100644
index 000000000..c6004acd9
--- /dev/null
+++ b/coverage/common/test/utils/controller.decorator.spec.ts.html
@@ -0,0 +1,155 @@
+
+
+
+ Code coverage report for common/test/utils/controller.decorator.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 18/18
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 4/4
+
+
+ 100%
+ Lines
+ 16/16
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31 1x
+1x
+1x
+
+1x
+1x
+
+
+
+
+1x
+
+
+1x
+
+1x
+1x
+1x
+
+
+1x
+1x
+1x
+
+
+1x
+1x
+1x
+
+
+ import "reflect-metadata";
+import { expect } from "chai";
+import { Controller } from "../../utils/controller.decorator";
+
+describe('@Controller', () => {
+ const props = {
+ path: "test",
+ };
+
+ @Controller(props)
+ class Test {}
+
+ @Controller()
+ class AnotherTest {}
+
+ it('should decorate type with expected path metadata', () => {
+ const path = Reflect.getMetadata('path', Test);
+ expect(path).to.be.eql(props.path);
+ });
+
+ it('should set default path when no object passed as param', () => {
+ const path = Reflect.getMetadata('path', AnotherTest);
+ expect(path).to.be.eql("/");
+ });
+
+ it('should set default path when empty passed as param', () => {
+ const path = Reflect.getMetadata('path', AnotherTest);
+ expect(path).to.be.eql("/");
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/test/utils/index.html b/coverage/common/test/utils/index.html
new file mode 100644
index 000000000..b2974c854
--- /dev/null
+++ b/coverage/common/test/utils/index.html
@@ -0,0 +1,132 @@
+
+
+
+ Code coverage report for common/test/utils
+
+
+
+
+
+
+
+
+
+
+ All files common/test/utils
+
+
+
+ 100%
+ Statements
+ 68/68
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 81.25%
+ Functions
+ 13/16
+
+
+ 100%
+ Lines
+ 64/64
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/test/utils/module.decorator.spec.ts.html b/coverage/common/test/utils/module.decorator.spec.ts.html
new file mode 100644
index 000000000..d4ebd159c
--- /dev/null
+++ b/coverage/common/test/utils/module.decorator.spec.ts.html
@@ -0,0 +1,176 @@
+
+
+
+ Code coverage report for common/test/utils/module.decorator.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 20/20
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 3/3
+
+
+ 100%
+ Lines
+ 19/19
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38 1x
+1x
+1x
+1x
+
+1x
+1x
+
+
+
+
+
+
+
+1x
+
+1x
+1x
+1x
+1x
+1x
+
+1x
+1x
+1x
+1x
+
+
+1x
+1x
+
+
+
+
+1x
+
+
+ import "reflect-metadata";
+import { expect } from "chai";
+import { Module } from "../../utils/module.decorator";
+import { InvalidModuleConfigException } from "../../../errors/exceptions/invalid-module-config.exception";
+
+describe('@Module', () => {
+ const moduleProps = {
+ components: [ "Test" ],
+ modules: [ "Test" ],
+ exports: [ "Test" ],
+ controllers: [ "Test" ]
+ };
+
+ @Module(moduleProps)
+ class TestModule {}
+
+ it('should decorate type with expected module metadata', () => {
+ const modules = Reflect.getMetadata('modules', TestModule);
+ const components = Reflect.getMetadata('components', TestModule);
+ const exports = Reflect.getMetadata('exports', TestModule);
+ const controllers = Reflect.getMetadata('controllers', TestModule);
+
+ expect(modules).to.be.eql(moduleProps.modules);
+ expect(components).to.be.eql(moduleProps.components);
+ expect(controllers).to.be.eql(moduleProps.controllers);
+ expect(exports).to.be.eql(moduleProps.exports);
+ });
+
+ it('should throw exception when module properties are invalid', () => {
+ const invalidProps = {
+ ...moduleProps,
+ test: []
+ };
+
+ expect(Module.bind(null, invalidProps)).to.throw(InvalidModuleConfigException);
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/test/utils/request-mapping.decorator.spec.ts.html b/coverage/common/test/utils/request-mapping.decorator.spec.ts.html
new file mode 100644
index 000000000..67cecee85
--- /dev/null
+++ b/coverage/common/test/utils/request-mapping.decorator.spec.ts.html
@@ -0,0 +1,182 @@
+
+
+
+ Code coverage report for common/test/utils/request-mapping.decorator.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 19/19
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 66.67%
+ Functions
+ 4/6
+
+
+ 100%
+ Lines
+ 19/19
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40 1x
+1x
+1x
+1x
+1x
+
+1x
+1x
+
+
+
+
+1x
+
+
+1x
+
+
+1x
+1x
+
+1x
+1x
+
+
+1x
+
+
+1x
+
+
+1x
+1x
+
+
+1x
+1x
+
+
+ import "reflect-metadata";
+import { expect } from "chai";
+import { RequestMapping } from "../../utils/request-mapping.decorator";
+import { RequestMethod } from "../../enums/request-method.enum";
+import { InvalidPathVariableException } from "../../../errors/exceptions/invalid-path-variable.exception";
+
+describe('@RequestMapping', () => {
+ const requestProps = {
+ path: "test",
+ method: RequestMethod.ALL
+ };
+
+ it('should decorate type with expected request metadata', () => {
+ class Test {
+ @RequestMapping(requestProps)
+ static test() {}
+ }
+
+ const path = Reflect.getMetadata('path', Test.test);
+ const method = Reflect.getMetadata('method', Test.test);
+
+ expect(method).to.be.eql(requestProps.method);
+ expect(path).to.be.eql(requestProps.path);
+ });
+
+ it('should set request method on GET by default', () => {
+ class Test {
+ @RequestMapping({ path: "" })
+ static test() {}
+ }
+
+ const method = Reflect.getMetadata('method', Test.test);
+ expect(method).to.be.eql(RequestMethod.GET);
+ });
+
+ it('should throw exception when path variable is not set', () => {
+ expect(RequestMapping.bind(null, {})).throw(InvalidPathVariableException);
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/utils/component.decorator.ts.html b/coverage/common/utils/component.decorator.ts.html
new file mode 100644
index 000000000..f03fd7532
--- /dev/null
+++ b/coverage/common/utils/component.decorator.ts.html
@@ -0,0 +1,71 @@
+
+
+
+ Code coverage report for common/utils/component.decorator.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 2/2
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 2/2
+
+
+ 100%
+ Lines
+ 2/2
+
+
+
+
+
+1
+2
+3 1x
+11x
+ export const Component = (): ClassDecorator => {
+ return (target: Object) => {}
+};
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/utils/controller.decorator.ts.html b/coverage/common/utils/controller.decorator.ts.html
new file mode 100644
index 000000000..b8d994796
--- /dev/null
+++ b/coverage/common/utils/controller.decorator.ts.html
@@ -0,0 +1,101 @@
+
+
+
+ Code coverage report for common/utils/controller.decorator.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 85.71%
+ Statements
+ 6/7
+
+
+ 66.67%
+ Branches
+ 2/3
+
+
+ 100%
+ Functions
+ 2/2
+
+
+ 85.71%
+ Lines
+ 6/7
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13 1x
+
+
+1x
+
+1x
+10x
+
+
+10x
+10x
+
+ import "reflect-metadata";
+import { ControllerMetadata } from "../interfaces/controller-metadata.interface";
+
+const defaultMetadata = { path: "/" };
+
+export const Controller = (metadata: ControllerMetadata = defaultMetadata): ClassDecorator => {
+ I if (typeof metadata.path === "undefined") {
+ metadata.path = "/";
+ }
+ return (target: Object) => {
+ Reflect.defineMetadata("path", metadata.path, target);
+ }
+};
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/utils/index.html b/coverage/common/utils/index.html
new file mode 100644
index 000000000..8635ab5aa
--- /dev/null
+++ b/coverage/common/utils/index.html
@@ -0,0 +1,132 @@
+
+
+
+ Code coverage report for common/utils
+
+
+
+
+
+
+
+
+
+
+
+
+ 96.97%
+ Statements
+ 32/33
+
+
+ 81.82%
+ Branches
+ 9/11
+
+
+ 100%
+ Functions
+ 10/10
+
+
+ 96.88%
+ Lines
+ 31/32
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/utils/module.decorator.ts.html b/coverage/common/utils/module.decorator.ts.html
new file mode 100644
index 000000000..5cff5c7db
--- /dev/null
+++ b/coverage/common/utils/module.decorator.ts.html
@@ -0,0 +1,125 @@
+
+
+
+ Code coverage report for common/utils/module.decorator.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 13/13
+
+
+ 75%
+ Branches
+ 3/4
+
+
+ 100%
+ Functions
+ 4/4
+
+
+ 100%
+ Lines
+ 12/12
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21 1x
+
+1x
+
+1x
+5x
+5x
+
+5x
+41x
+1x
+
+
+4x
+4x
+10x
+10x
+
+
+
+ import "reflect-metadata";
+import { ModuleMetadata } from "../interfaces/module-metadata.interface";
+import { InvalidModuleConfigException } from "../../errors/exceptions/invalid-module-config.exception";
+
+export const Module = (props: ModuleMetadata): ClassDecorator => {
+ const propsKeys = Object.keys(props);
+ const acceptableParams = [ "modules", "exports", "components", "controllers" ];
+
+ propsKeys.map((prop) => {
+ if (acceptableParams.findIndex((param) => param === prop) < 0) {
+ throw new InvalidModuleConfigException(prop);
+ }
+ });
+ return (target: Object) => {
+ for (let property in props) {
+ E if (props.hasOwnProperty(property)) {
+ Reflect.defineMetadata(property, props[property], target);
+ }
+ }
+ }
+};
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/common/utils/request-mapping.decorator.ts.html b/coverage/common/utils/request-mapping.decorator.ts.html
new file mode 100644
index 000000000..8ad1523f9
--- /dev/null
+++ b/coverage/common/utils/request-mapping.decorator.ts.html
@@ -0,0 +1,116 @@
+
+
+
+ Code coverage report for common/utils/request-mapping.decorator.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 11/11
+
+
+ 100%
+ Branches
+ 4/4
+
+
+ 100%
+ Functions
+ 2/2
+
+
+ 100%
+ Lines
+ 11/11
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 1x
+
+1x
+1x
+
+1x
+14x
+1x
+
+13x
+
+13x
+13x
+13x
+
+13x
+
+ import "reflect-metadata";
+import { RequestMappingMetadata } from "../interfaces/request-mapping-metadata.interface";
+import { RequestMethod } from "../enums/request-method.enum";
+import { InvalidPathVariableException } from "../../errors/exceptions/invalid-path-variable.exception";
+
+export const RequestMapping = (metadata: RequestMappingMetadata): MethodDecorator => {
+ if (typeof metadata.path === "undefined") {
+ throw new InvalidPathVariableException("RequestMapping")
+ }
+ const requestMethod = metadata.method || RequestMethod.GET;
+
+ return function(target, key, descriptor: PropertyDescriptor) {
+ Reflect.defineMetadata("path", metadata.path, descriptor.value);
+ Reflect.defineMetadata("method", requestMethod, descriptor.value);
+
+ return descriptor;
+ }
+};
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/exceptions/exception.ts.html b/coverage/core/exceptions/exception.ts.html
new file mode 100644
index 000000000..6bdd56ace
--- /dev/null
+++ b/coverage/core/exceptions/exception.ts.html
@@ -0,0 +1,107 @@
+
+
+
+ Code coverage report for core/exceptions/exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 5/5
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 3/3
+
+
+ 100%
+ Lines
+ 5/5
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15 1x
+
+
+3x
+3x
+
+
+1x
+
+
+
+1x
+
+
+ export class Exception {
+
+ constructor(
+ private readonly message: string,
+ private readonly status: number) {}
+
+ getMessage() {
+ return this.message;
+ }
+
+ getStatus() {
+ return this.status;
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/exceptions/exceptions-handler.ts.html b/coverage/core/exceptions/exceptions-handler.ts.html
new file mode 100644
index 000000000..ae407532b
--- /dev/null
+++ b/coverage/core/exceptions/exceptions-handler.ts.html
@@ -0,0 +1,116 @@
+
+
+
+ Code coverage report for core/exceptions/exceptions-handler.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 7/7
+
+
+ 100%
+ Branches
+ 2/2
+
+
+ 100%
+ Functions
+ 2/2
+
+
+ 100%
+ Lines
+ 7/7
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18 1x
+
+1x
+6x
+
+
+2x
+1x
+1x
+
+
+1x
+
+
+
+
+
+ import { Exception } from "./exception";
+
+export class ExceptionsHandler {
+ private UNKOWN_EXCEPTION_MSG = "Unkown exception";
+
+ next(exception: Error | Exception, response) {
+ if (!(exception instanceof Exception)) {
+ response.status(500).json({ message: this.UNKOWN_EXCEPTION_MSG });
+ return;
+ }
+
+ response.status(exception.getStatus()).json({
+ message: exception.getMessage()
+ });
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/exceptions/index.html b/coverage/core/exceptions/index.html
new file mode 100644
index 000000000..745ccffbe
--- /dev/null
+++ b/coverage/core/exceptions/index.html
@@ -0,0 +1,106 @@
+
+
+
+ Code coverage report for core/exceptions
+
+
+
+
+
+
+
+
+
+
+ All files core/exceptions
+
+
+
+ 100%
+ Statements
+ 12/12
+
+
+ 100%
+ Branches
+ 2/2
+
+
+ 100%
+ Functions
+ 5/5
+
+
+ 100%
+ Lines
+ 12/12
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ exception.ts
+
+ 100%
+ 5/5
+ 100%
+ 0/0
+ 100%
+ 3/3
+ 100%
+ 5/5
+
+
+
+ exceptions-handler.ts
+
+ 100%
+ 7/7
+ 100%
+ 2/2
+ 100%
+ 2/2
+ 100%
+ 7/7
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/index.html b/coverage/core/index.html
new file mode 100644
index 000000000..a59ccd58e
--- /dev/null
+++ b/coverage/core/index.html
@@ -0,0 +1,93 @@
+
+
+
+ Code coverage report for core
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 32/32
+
+
+ 80%
+ Branches
+ 8/10
+
+
+ 100%
+ Functions
+ 19/19
+
+
+ 100%
+ Lines
+ 27/27
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ scanner.ts
+
+ 100%
+ 32/32
+ 80%
+ 8/10
+ 100%
+ 19/19
+ 100%
+ 27/27
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/injector/container.ts.html b/coverage/core/injector/container.ts.html
new file mode 100644
index 000000000..c00ee9af7
--- /dev/null
+++ b/coverage/core/injector/container.ts.html
@@ -0,0 +1,290 @@
+
+
+
+ Code coverage report for core/injector/container.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 21/21
+
+
+ 66.67%
+ Branches
+ 8/12
+
+
+ 100%
+ Functions
+ 7/7
+
+
+ 100%
+ Lines
+ 21/21
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+1x
+
+1x
+6x
+
+
+8x
+4x
+
+
+
+
+
+
+
+
+
+
+4x
+
+
+
+3x
+3x
+3x
+
+3x
+
+
+
+
+4x
+4x
+4x
+
+
+
+
+
+
+
+2x
+2x
+2x
+1x
+
+1x
+
+
+
+
+
+4x
+4x
+4x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ import { Controller, Injectable, NestModule } from "../../common/interfaces/";
+import { UnkownExportException } from "../../errors/exceptions/unkown-export.exception";
+
+export class NestContainer {
+ private readonly modules = new Map<NestModule, ModuleDependencies>();
+
+ addModule(moduleClass) {
+ if(!this.modules.has(moduleClass)) {
+ this.modules.set(moduleClass, {
+ instance: new moduleClass(),
+ relatedModules: new Set<ModuleDependencies>(),
+ components: new Map<Injectable, InstanceWrapper<Injectable>>(),
+ routes: new Map<Controller, InstanceWrapper<Controller>>(),
+ exports: new Set<Injectable>(),
+ });
+ }
+ }
+
+ getModules(): Map<NestModule, ModuleDependencies> {
+ return this.modules;
+ }
+
+ addRelatedModule(relatedModule: NestModule, module: NestModule) {
+ E if(this.modules.has(module)) {
+ const storedModule = this.modules.get(module);
+ const related = this.modules.get(relatedModule);
+
+ storedModule.relatedModules.add(related);
+ }
+ }
+
+ addComponent(component: Injectable, module: NestModule) {
+ E if(this.modules.has(module)) {
+ const storedModule = this.modules.get(module);
+ storedModule.components.set(component, {
+ instance: null,
+ isResolved: false,
+ });
+ }
+ }
+
+ addExportedComponent(exportedComponent: Injectable, module: NestModule) {
+ E if(this.modules.has(module)) {
+ const storedModule = this.modules.get(module);
+ if (!storedModule.components.get(exportedComponent)) {
+ throw new UnkownExportException();
+ }
+ storedModule.exports.add(exportedComponent);
+ }
+
+ }
+
+ addRoute(route: Controller, module: NestModule) {
+ E if(this.modules.has(module)) {
+ const storedModule = this.modules.get(module);
+ storedModule.routes.set(route, {
+ instance: null,
+ isResolved: false,
+ });
+ }
+ }
+
+}
+
+export interface ModuleDependencies {
+ instance: NestModule;
+ relatedModules?: Set<ModuleDependencies>;
+ components?: Map<Injectable, InstanceWrapper<Injectable>>;
+ routes?: Map<Controller, InstanceWrapper<Controller>>;
+ exports?: Set<Injectable>;
+}
+
+export interface InstanceWrapper<T> {
+ instance: T;
+ isResolved: boolean;
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/injector/index.html b/coverage/core/injector/index.html
new file mode 100644
index 000000000..6fdc55734
--- /dev/null
+++ b/coverage/core/injector/index.html
@@ -0,0 +1,119 @@
+
+
+
+ Code coverage report for core/injector
+
+
+
+
+
+
+
+
+
+
+
+
+ 72.63%
+ Statements
+ 69/95
+
+
+ 44.74%
+ Branches
+ 17/38
+
+
+ 82.86%
+ Functions
+ 29/35
+
+
+ 73.4%
+ Lines
+ 69/94
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ container.ts
+
+ 100%
+ 21/21
+ 66.67%
+ 8/12
+ 100%
+ 7/7
+ 100%
+ 21/21
+
+
+
+ injector.ts
+
+ 50.94%
+ 27/53
+ 34.62%
+ 9/26
+ 57.14%
+ 8/14
+ 51.92%
+ 27/52
+
+
+
+ instance-loader.ts
+
+ 100%
+ 21/21
+ 100%
+ 0/0
+ 100%
+ 14/14
+ 100%
+ 21/21
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/injector/injector.ts.html b/coverage/core/injector/injector.ts.html
new file mode 100644
index 000000000..92bb5815b
--- /dev/null
+++ b/coverage/core/injector/injector.ts.html
@@ -0,0 +1,425 @@
+
+
+
+ Code coverage report for core/injector/injector.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 50.94%
+ Statements
+ 27/53
+
+
+ 34.62%
+ Branches
+ 9/26
+
+
+ 57.14%
+ Functions
+ 8/14
+
+
+ 51.92%
+ Lines
+ 27/52
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121 1x
+
+
+1x
+1x
+
+1x
+
+1x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+3x
+
+3x
+
+
+
+
+
+
+
+
+
+
+
+3x
+3x
+1x
+
+2x
+2x
+2x
+
+
+
+2x
+
+
+
+
+
+2x
+
+2x
+
+
+2x
+4x
+
+2x
+
+
+
+4x
+
+
+
+4x
+
+
+
+4x
+4x
+
+4x
+
+
+4x
+
+
+
+4x
+
+
+
+
+
+
+
+4x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ import "reflect-metadata";
+import { ModuleDependencies, InstanceWrapper } from "./container";
+import { Middleware } from "../middlewares/interfaces/middleware.interface";
+import { CircularDependencyException } from "../../errors/exceptions/circular-dependency.exception";
+import { UnkownDependenciesException } from "../../errors/exceptions/unkown-dependencies.exception";
+import { MiddlewareProto } from "../middlewares/interfaces/middleware-proto.interface";
+import { RuntimeException } from "../../errors/exceptions/runtime.exception";
+
+export class Injector {
+
+ loadInstanceOfMiddleware (
+ middlewareType,
+ collection: Map<MiddlewareProto, Middleware>,
+ module: ModuleDependencies) {
+
+ const currentFetchedMiddleware = collection.get(middlewareType);
+
+ if(currentFetchedMiddleware === null) {
+ this.resolveConstructorParams(middlewareType, module, (a rgsInstances) => {
+ collection.set(middlewareType, new middlewareType(...argsInstances))
+ });
+ }
+ }
+
+ loadInstanceOfRoute (routeType, module: ModuleDependencies) {
+ const routes = module.routes;
+ this.loadInstance(routeType, routes, module);
+ }
+
+ loadPrototypeOfInstance<T>(type, collection: Map<T, InstanceWrapper<T>>) {
+ I if (!collection) { return; }
+
+ collection.set(type, {
+ ...collection.get(type),
+ instance: Object.create(type.prototype),
+ });
+ }
+
+ loadInstanceOfComponent (componentType, module: ModuleDependencies) {
+ const components = module.components;
+ this.loadInstance(componentType, components, module);
+ }
+
+ loadInstance(type, collection, module: ModuleDependencies) {
+ const currentFetchedInstance = collection.get(type);
+ if (typeof currentFetchedInstance === 'undefined') {
+ throw new RuntimeException('');
+ }
+ E if (!currentFetchedInstance.isResolved) {
+ this.resolveConstructorParams(type, module, (argsInstances) => {
+ currentFetchedInstance.instance = Object.assign(
+ currentFetchedInstance.instance,
+ new type(...argsInstances),
+ );
+ currentFetchedInstance.isResolved = true;
+ });
+ }
+ }
+
+ private resolveConstructorParams(type, module, callback) {
+ let constructorParams = Reflect.getMetadata('design:paramtypes', type) || [];
+
+ I if ((<any>type).dependencies) {
+ constructorParams = (<any>type).dependencies;
+ }
+ const argsInstances = constructorParams.map((param) => (
+ this.resolveSingleParam(type, param, module)
+ ));
+ callback(argsInstances);
+ }
+
+ private resolveSingleParam(targetType, param, module: ModuleDependencies) {
+ I if (typeof param === 'undefined') {
+ throw new CircularDependencyException(targetType);
+ }
+
+ return this.resolveComponentInstance(module, param, targetType);
+ }
+
+ private resolveComponentInstance(module: ModuleDependencies, param, componentType) {
+ const components = module.components;
+ const instanceWrapper = this.scanForComponent(components, param, module, componentType);
+
+ I if (instanceWrapper.instance === null) {
+ this.loadInstanceOfComponent(param, module);
+ }
+ return instanceWrapper.instance;
+ }
+
+ private scanForComponent(components, param, module, componentType) {
+ I if (!components.has(param)) {
+ const instanceWrapper = this.scanForComponentInRelatedModules(module, param);
+
+ if (instanceWrapper === null) {
+ throw new UnkownDependenciesException(componentType);
+ }
+ return instanceWrapper;
+ }
+ return components.get(param);
+ }
+
+ private scanForComponentInRelatedModules (module: ModuleDependencies, componentType) {
+ const relatedModules = module.relatedModules;
+ let component = null;
+
+ relatedModules.forEach((r elatedModule) => {
+ const { components, exports } = relatedModule;
+
+ if (!exports.has(componentType) || !components.has(componentType)) {
+ return;
+ }
+
+ component = components.get(componentType);
+ if (!component.isResolved) {
+ this.loadInstanceOfComponent(componentType, relatedModule);
+ }
+ });
+ return component;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/injector/instance-loader.ts.html b/coverage/core/injector/instance-loader.ts.html
new file mode 100644
index 000000000..1d0df7b25
--- /dev/null
+++ b/coverage/core/injector/instance-loader.ts.html
@@ -0,0 +1,230 @@
+
+
+
+ Code coverage report for core/injector/instance-loader.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 21/21
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 14/14
+
+
+ 100%
+ Lines
+ 21/21
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+1x
+
+
+
+1x
+3x
+
+3x
+
+
+3x
+
+3x
+3x
+
+
+
+3x
+3x
+3x
+
+
+
+
+3x
+3x
+3x
+
+
+
+
+3x
+2x
+
+
+
+
+3x
+2x
+
+
+
+
+3x
+2x
+
+
+
+
+3x
+2x
+
+
+
+ import { NestContainer, ModuleDependencies } from "./container";
+import { Injector } from "./injector";
+import { Injectable } from "../../common/interfaces/injectable.interface";
+import { Controller } from "../../common/interfaces/controller.interface";
+
+export class InstanceLoader {
+ private injector = new Injector();
+
+ constructor(private container: NestContainer) {}
+
+ createInstancesOfDependencies() {
+ const modules = this.container.getModules();
+
+ this.createPrototypes(modules);
+ this.createInstances(modules);
+ }
+
+ private createPrototypes(modules) {
+ modules.forEach((module) => {
+ this.createPrototypesOfComponents(module);
+ this.createPrototypesOfRoutes(module);
+ });
+ }
+
+ private createInstances(modules) {
+ modules.forEach((module) => {
+ this.createInstancesOfComponents(module);
+ this.createInstancesOfRoutes(module);
+ })
+ }
+
+ private createPrototypesOfComponents(module: ModuleDependencies) {
+ module.components.forEach((wrapper, componentType) => {
+ this.injector.loadPrototypeOfInstance<Injectable>(componentType, module.components);
+ });
+ }
+
+ private createInstancesOfComponents(module: ModuleDependencies) {
+ module.components.forEach((wrapper, componentType) => {
+ this.injector.loadInstanceOfComponent(componentType, module);
+ });
+ }
+
+ private createPrototypesOfRoutes(module: ModuleDependencies) {
+ module.routes.forEach((wrapper, routeType) => {
+ this.injector.loadPrototypeOfInstance<Controller>(routeType, module.routes);
+ });
+ }
+
+ private createInstancesOfRoutes(module: ModuleDependencies) {
+ module.routes.forEach((wrapper, routeType) => {
+ this.injector.loadInstanceOfRoute(routeType, module);
+ });
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/middlewares/builder.ts.html b/coverage/core/middlewares/builder.ts.html
new file mode 100644
index 000000000..cb2afcd27
--- /dev/null
+++ b/coverage/core/middlewares/builder.ts.html
@@ -0,0 +1,128 @@
+
+
+
+ Code coverage report for core/middlewares/builder.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 8/8
+
+
+ 100%
+ Branches
+ 4/4
+
+
+ 100%
+ Functions
+ 3/3
+
+
+ 100%
+ Lines
+ 8/8
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+1x
+
+1x
+5x
+
+
+4x
+
+
+1x
+
+
+3x
+3x
+
+
+
+3x
+
+
+ import { MiddlewareConfiguration } from "./interfaces/middleware-configuration.interface";
+import { InvalidMiddlewareConfigurationException } from "../../errors/exceptions/invalid-middleware-configuration.exception";
+
+export class MiddlewareBuilder {
+ private storedConfiguration = new Set<MiddlewareConfiguration>();
+
+ use(configuration: MiddlewareConfiguration) {
+ if (typeof configuration.middlewares === "undefined" ||
+ typeof configuration.forRoutes === "undefined") {
+
+ throw new InvalidMiddlewareConfigurationException();
+ }
+
+ this.storedConfiguration.add(configuration);
+ return this;
+ }
+
+ build() {
+ return [ ...this.storedConfiguration ];
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/middlewares/container.ts.html b/coverage/core/middlewares/container.ts.html
new file mode 100644
index 000000000..ab9c4b2ec
--- /dev/null
+++ b/coverage/core/middlewares/container.ts.html
@@ -0,0 +1,233 @@
+
+
+
+ Code coverage report for core/middlewares/container.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 22/22
+
+
+ 75%
+ Branches
+ 6/8
+
+
+ 100%
+ Functions
+ 11/11
+
+
+ 100%
+ Lines
+ 22/22
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+
+
+
+
+
+1x
+4x
+4x
+
+4x
+
+
+7x
+
+
+
+1x
+
+
+
+5x
+5x
+
+5x
+4x
+
+4x
+
+
+
+4x
+4x
+
+
+
+
+4x
+7x
+3x
+
+
+
+5x
+3x
+
+5x
+
+
+
+5x
+3x
+
+5x
+
+
+ import { MiddlewareConfiguration } from "./interfaces/middleware-configuration.interface";
+import { Middleware } from "./interfaces/middleware.interface";
+import { MiddlewareProto } from "./interfaces/middleware-proto.interface";
+import { RoutesMapper } from "./routes-mapper";
+import { NestModule } from "../../common/interfaces/nest-module.interface";
+
+export class MiddlewaresContainer {
+ private readonly middlewares = new Map<NestModule, Map<MiddlewareProto, Middleware>>();
+ private readonly configs = new Map<NestModule, Set<MiddlewareConfiguration>>();
+
+ constructor(private routesMapper: RoutesMapper) {}
+
+ getMiddlewares(module: NestModule): Map<MiddlewareProto, Middleware> {
+ return this.middlewares.get(module) || new Map();
+ }
+
+ getConfigs(): Map<NestModule, Set<MiddlewareConfiguration>> {
+ return this.configs;
+ }
+
+ addConfig(configList: MiddlewareConfiguration[], module: NestModule) {
+ const currentMiddlewares = this.getCurrentMiddlewares(module);
+ const currentConfig = this.getCurrentConfig(module);
+
+ (configList || []) .map((config) => {
+ [].concat(config.middlewares).map(
+ (middleware) => {
+ currentMiddlewares.set(middleware, null);
+ }
+ );
+
+ config.forRoutes = this.mapRoutesToFlatList(config.forRoutes);
+ currentConfig.add(config);
+ });
+ }
+
+ private mapRoutesToFlatList(forRoutes) {
+ return forRoutes.map((route) => (
+ this.routesMapper.mapRouteToRouteProps(route)
+ )).reduce((a, b) => a.concat(b));
+ }
+
+ private getCurrentMiddlewares(module: NestModule) {
+ if (!this.middlewares.has(module)) {
+ this.middlewares.set(module, new Map<MiddlewareProto, Middleware>());
+ }
+ return this.middlewares.get(module);
+ }
+
+ private getCurrentConfig(module: NestModule) {
+ if (!this.configs.has(module)) {
+ this.configs.set(module, new Set<MiddlewareConfiguration>());
+ }
+ return this.configs.get(module);
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/middlewares/index.html b/coverage/core/middlewares/index.html
new file mode 100644
index 000000000..fb461e887
--- /dev/null
+++ b/coverage/core/middlewares/index.html
@@ -0,0 +1,145 @@
+
+
+
+ Code coverage report for core/middlewares
+
+
+
+
+
+
+
+
+
+
+ All files core/middlewares
+
+
+
+ 82.65%
+ Statements
+ 81/98
+
+
+ 75.76%
+ Branches
+ 25/33
+
+
+ 79.41%
+ Functions
+ 27/34
+
+
+ 82.47%
+ Lines
+ 80/97
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ builder.ts
+
+ 100%
+ 8/8
+ 100%
+ 4/4
+ 100%
+ 3/3
+ 100%
+ 8/8
+
+
+
+ container.ts
+
+ 100%
+ 22/22
+ 75%
+ 6/8
+ 100%
+ 11/11
+ 100%
+ 22/22
+
+
+
+ middlewares-module.ts
+
+ 62.22%
+ 28/45
+ 53.85%
+ 7/13
+ 41.67%
+ 5/12
+ 62.22%
+ 28/45
+
+
+
+ resolver.ts
+
+ 100%
+ 7/7
+ 100%
+ 0/0
+ 100%
+ 3/3
+ 100%
+ 7/7
+
+
+
+ routes-mapper.ts
+
+ 100%
+ 16/16
+ 100%
+ 8/8
+ 100%
+ 5/5
+ 100%
+ 15/15
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/middlewares/middlewares-module.ts.html b/coverage/core/middlewares/middlewares-module.ts.html
new file mode 100644
index 000000000..a5d85c3f8
--- /dev/null
+++ b/coverage/core/middlewares/middlewares-module.ts.html
@@ -0,0 +1,359 @@
+
+
+
+ Code coverage report for core/middlewares/middlewares-module.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 62.22%
+ Statements
+ 28/45
+
+
+ 53.85%
+ Branches
+ 7/13
+
+
+ 41.67%
+ Functions
+ 5/12
+
+
+ 62.22%
+ Lines
+ 28/45
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+
+1x
+1x
+1x
+
+
+
+1x
+1x
+1x
+1x
+
+1x
+1x
+
+
+
+2x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1x
+
+
+
+1x
+1x
+
+1x
+1x
+1x
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+3x
+
+3x
+3x
+3x
+
+3x
+1x
+
+2x
+1x
+
+1x
+1x
+
+
+
+
+1x
+
+
+
+
+
+1x
+
+
+
+ import { Application } from "express";
+import { NestContainer, ModuleDependencies } from "../injector/container";
+import { MiddlewareBuilder } from "./builder";
+import { MiddlewaresContainer } from "./container";
+import { MiddlewaresResolver } from "./resolver";
+import { ControllerMetadata } from "../../common/interfaces/controller-metadata.interface";
+import { NestModule } from "../../common/interfaces/nest-module.interface";
+import { MiddlewareConfiguration } from "./interfaces/middleware-configuration.interface";
+import { UnkownMiddlewareException } from "../../errors/exceptions/unkown-middleware.exception";
+import { InvalidMiddlewareException } from "../../errors/exceptions/invalid-middleware.exception";
+import { RequestMethod } from "../../common/enums/request-method.enum";
+import { RoutesMapper } from "./routes-mapper";
+
+export class MiddlewaresModule {
+ private static container = new MiddlewaresContainer(new RoutesMapper());
+ private static resolver: MiddlewaresResolver;
+
+ static getContainer(): MiddlewaresContainer {
+ return this.container;
+ }
+
+ static setup(container: NestContainer) {
+ this.resolver = new MiddlewaresResolver(this.container);
+
+ const modules = container.getModules();
+ this.resolveMiddlewares(modules);
+ }
+
+ static resolveMiddlewares(modules: Map<NestModule, ModuleDependencies>) {
+ modules.forEach((m odule, moduleProto) => {
+ const instance = module.instance;
+
+ this.loadConfiguration(instance, moduleProto);
+ this.resolver.resolveInstances(module, moduleProto);
+ });
+ }
+
+ static loadConfiguration(instance, module: NestModule) {
+ I if (!instance.configure) {
+ return;
+ }
+
+ const middlewaresBuilder = new MiddlewareBuilder();
+ instance.configure(middlewaresBuilder);
+
+ E if (middlewaresBuilder instanceof MiddlewareBuilder) {
+ const config = middlewaresBuilder.build();
+ this.container.addConfig(config, module);
+ }
+ }
+
+ static setupMiddlewares(app: Application) {
+ const configs = this.container.getConfigs();
+
+ configs.forEach((m oduleConfigs, module) => {
+ [ ...moduleConfigs ].map((c onfig: MiddlewareConfiguration) => {
+
+ config.forRoutes.map((r oute: ControllerMetadata & { method: RequestMethod }) => {
+ this.setupRouteMiddleware(route, config, module, app);
+ });
+ });
+ });
+ }
+
+ static setupRouteMiddleware(
+ route: ControllerMetadata & { method: RequestMethod },
+ config: MiddlewareConfiguration,
+ module: NestModule,
+ app: Application) {
+
+ const { path, method } = route;
+
+ [].concat(config.middlewares).map((middlewareType) => {
+ const middlewaresCollection = this.container.getMiddlewares(module);
+ const middleware = middlewaresCollection.get(middlewareType);
+
+ if (typeof middleware === "undefined") {
+ throw new UnkownMiddlewareException();
+ }
+ if (typeof middleware.resolve === "undefined") {
+ throw new InvalidMiddlewareException();
+ }
+ const router = this.findRouterMethod(app, method).bind(app);
+ router(path, middleware.resolve());
+ });
+ }
+
+ private static findRouterMethod(app, requestMethod: RequestMethod) {
+ switch(requestMethod) {
+ case RequestMethod.POST: { return app.post; }
+ case RequestMethod.ALL: { return app.all; }
+ case RequestMethod.DELETE: { return app.delete; }
+ case RequestMethod.PUT: { return app.put; }
+ default: {
+ return app.get;
+ }
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/middlewares/resolver.ts.html b/coverage/core/middlewares/resolver.ts.html
new file mode 100644
index 000000000..c0dc78e36
--- /dev/null
+++ b/coverage/core/middlewares/resolver.ts.html
@@ -0,0 +1,134 @@
+
+
+
+ Code coverage report for core/middlewares/resolver.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 7/7
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 3/3
+
+
+ 100%
+ Lines
+ 7/7
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+
+1x
+
+
+1x
+1x
+
+1x
+
+
+1x
+
+1x
+1x
+
+
+
+
+
+
+
+
+ import { ModuleDependencies } from "../injector/container";
+import { MiddlewaresContainer } from "./container";
+import { Injector } from "../injector/injector";
+import { NestModule } from "../../common/interfaces/nest-module.interface";
+
+export class MiddlewaresResolver {
+ private instanceLoader = new Injector();
+
+ constructor(private middlewaresContainer: MiddlewaresContainer) {}
+
+ resolveInstances(module: ModuleDependencies, moduleProto: NestModule) {
+ const middlewares = this.middlewaresContainer.getMiddlewares(moduleProto);
+
+ middlewares.forEach((val, middlewareType) => {
+ this.instanceLoader.loadInstanceOfMiddleware(
+ middlewareType,
+ middlewares,
+ module
+ );
+ });
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/middlewares/routes-mapper.ts.html b/coverage/core/middlewares/routes-mapper.ts.html
new file mode 100644
index 000000000..81ead6ca5
--- /dev/null
+++ b/coverage/core/middlewares/routes-mapper.ts.html
@@ -0,0 +1,191 @@
+
+
+
+ Code coverage report for core/middlewares/routes-mapper.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 16/16
+
+
+ 100%
+ Branches
+ 8/8
+
+
+ 100%
+ Functions
+ 5/5
+
+
+ 100%
+ Lines
+ 15/15
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43 1x
+1x
+1x
+1x
+
+1x
+6x
+
+
+10x
+
+10x
+4x
+
+
+6x
+
+
+
+
+10x
+
+
+
+
+
+
+4x
+1x
+
+
+3x
+
+
+
+
+
+
+23x
+
+
+
+ import "reflect-metadata";
+import { RouterBuilder } from "../router/router-builder";
+import { UnkownRequestMappingException } from "../../errors/exceptions/unkown-request-mapping.exception";
+import { RequestMethod } from "../../common/enums/request-method.enum";
+
+export class RoutesMapper {
+ private readonly routerBuilder = new RouterBuilder();
+
+ mapRouteToRouteProps(routeProto) {
+ const routePath: string = Reflect.getMetadata("path", routeProto);
+
+ if (typeof routePath === "undefined") {
+ return [ this.mapObjectToRouteProps(routeProto) ];
+ }
+
+ const paths = this.routerBuilder.scanForPathsFromPrototype(
+ Object.create(routeProto),
+ routeProto.prototype
+ );
+
+ return paths.map((singlePath) => ({
+ path: this.validateRoutePath(routePath) + this.validateRoutePath(singlePath.path),
+ method: singlePath.requestMethod
+ }));
+ }
+
+ private mapObjectToRouteProps(route) {
+ if (typeof route.path === "undefined") {
+ throw new UnkownRequestMappingException();
+ }
+
+ return {
+ path: this.validateRoutePath(route.path),
+ method: (typeof route.method === "undefined") ? RequestMethod.ALL : route.method
+ };
+ }
+
+ private validateRoutePath(routePath: string): string {
+ return (routePath.charAt(0) !== '/') ? '/' + routePath : routePath;
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/router/index.html b/coverage/core/router/index.html
new file mode 100644
index 000000000..cac8f1d89
--- /dev/null
+++ b/coverage/core/router/index.html
@@ -0,0 +1,119 @@
+
+
+
+ Code coverage report for core/router
+
+
+
+
+
+
+
+
+
+
+
+
+ 88.33%
+ Statements
+ 53/60
+
+
+ 53.85%
+ Branches
+ 7/13
+
+
+ 91.3%
+ Functions
+ 21/23
+
+
+ 89.83%
+ Lines
+ 53/59
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ router-builder.ts
+
+ 90%
+ 36/40
+ 53.85%
+ 7/13
+ 100%
+ 14/14
+ 90%
+ 36/40
+
+
+
+ router-proxy.ts
+
+ 100%
+ 7/7
+ 100%
+ 0/0
+ 100%
+ 4/4
+ 100%
+ 7/7
+
+
+
+ routes-resolver.ts
+
+ 76.92%
+ 10/13
+ 100%
+ 0/0
+ 60%
+ 3/5
+ 83.33%
+ 10/12
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/router/router-builder.ts.html b/coverage/core/router/router-builder.ts.html
new file mode 100644
index 000000000..a120d939f
--- /dev/null
+++ b/coverage/core/router/router-builder.ts.html
@@ -0,0 +1,353 @@
+
+
+
+ Code coverage report for core/router/router-builder.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 90%
+ Statements
+ 36/40
+
+
+ 53.85%
+ Branches
+ 7/13
+
+
+ 100%
+ Functions
+ 14/14
+
+
+ 90%
+ Lines
+ 36/40
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97 1x
+
+1x
+
+1x
+
+
+1x
+
+
+10x
+10x
+
+
+1x
+1x
+1x
+
+1x
+
+1x
+
+
+
+1x
+1x
+
+
+
+8x
+24x
+16x
+16x
+
+
+
+17x
+
+17x
+17x
+1x
+
+
+16x
+16x
+
+
+
+
+
+
+
+2x
+4x
+
+
+
+
+2x
+
+2x
+2x
+
+2x
+
+
+
+2x
+1x
+
+
+
+
+1x
+
+
+
+
+
+1x
+1x
+
+
+
+17x
+
+
+17x
+
+
+
+
+
+
+
+
+ import "reflect-metadata";
+import { Controller } from "../../common/interfaces/controller.interface";
+import { RequestMethod } from "../../common/enums/request-method.enum";
+import { RouterProxy, RouterProxyCallback } from "./router-proxy";
+import { UnkownRequestMappingException } from "../../errors/exceptions/unkown-request-mapping.exception";
+import { ExpressAdapter } from "../adapters/express-adapter";
+
+export class RouterBuilder {
+
+ constructor(
+ private routerProxy?: RouterProxy,
+ private expressAdapter?: ExpressAdapter) {}
+
+ public build(instance: Controller, routePrototype: Function) {
+ const router = (<any>this.expressAdapter).createRouter();
+ const path = this.fetchRouterPath(routePrototype);
+ const routerPaths = this.scanForPaths(instance);
+
+ this.applyPathsToRouterProxy(router, routerPaths);
+
+ return { path, router };
+ }
+
+ scanForPaths(instance: Controller): RoutePathProperties[] {
+ const instancePrototype = Object.getPrototypeOf(instance);
+ return this.scanForPathsFromPrototype(instance, instancePrototype);
+ }
+
+ scanForPathsFromPrototype(instance: Controller, instancePrototype) {
+ return Object.getOwnPropertyNames(instancePrototype)
+ .filter((method) => method !== "constructor")
+ .map((methodName) => this.exploreMethodMetadata(instance, instancePrototype, methodName))
+ .filter((path) => path !== null);
+ }
+
+ exploreMethodMetadata(instance, instancePrototype, methodName: string): RoutePathProperties {
+ const callbackMethod = instancePrototype[methodName];
+
+ const routePath = Reflect.getMetadata("path", callbackMethod);
+ if(typeof routePath === "undefined") {
+ return null;
+ }
+
+ const requestMethod: RequestMethod = Reflect.getMetadata("method", callbackMethod);
+ return {
+ targetCallback: (<Function>callbackMethod).bind(instance),
+ path: this.validateRoutePath(routePath),
+ requestMethod,
+ };
+ }
+
+ applyPathsToRouterProxy(router, routePaths: RoutePathProperties[]) {
+ (routePaths || []) .map((pathProperties) => {
+ this.bindMethodToRouterProxy(router, pathProperties);
+ });
+ }
+
+ private bindMethodToRouterProxy(router, pathProperties: RoutePathProperties) {
+ const { path, requestMethod, targetCallback } = pathProperties;
+
+ const routerMethod = this.findRouterMethod(router, requestMethod).bind(router);
+ const proxy = this.routerProxy.createProxy(targetCallback);
+
+ routerMethod(path, proxy);
+ }
+
+ private findRouterMethod(router, requestMethod: RequestMethod) {
+ switch(requestMethod) {
+ case RequestMethod.POST: { return router.post; }
+ case RequestMethod.ALL: { return router.all; }
+ case RequestMethod.DELETE: { return router.delete; }
+ case RequestMethod.PUT: { return router.put; }
+ default: {
+ return router.get;
+ }
+ }
+ }
+
+ private fetchRouterPath(routePrototype: Function) {
+ const path = Reflect.getMetadata("path", routePrototype);
+ return this.validateRoutePath(path);
+ }
+
+ private validateRoutePath(routePath: string): string {
+ I if(typeof routePath === "undefined") {
+ throw new UnkownRequestMappingException();
+ }
+ return (routePath.charAt(0) !== '/') ? '/' + routePath : routePath;
+ }
+
+}
+
+export interface RoutePathProperties {
+ path: string,
+ requestMethod: RequestMethod,
+ targetCallback: RouterProxyCallback,
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/router/router-proxy.ts.html b/coverage/core/router/router-proxy.ts.html
new file mode 100644
index 000000000..224deb70d
--- /dev/null
+++ b/coverage/core/router/router-proxy.ts.html
@@ -0,0 +1,137 @@
+
+
+
+ Code coverage report for core/router/router-proxy.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 7/7
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 4/4
+
+
+ 100%
+ Lines
+ 7/7
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+
+1x
+
+4x
+
+
+5x
+2x
+2x
+1x
+
+
+
+1x
+
+
+
+
+
+
+
+
+
+ import { ExceptionsHandler } from "../exceptions/exceptions-handler";
+
+export class RouterProxy {
+
+ constructor(private exceptionsHandler: ExceptionsHandler) {}
+
+ createProxy(targetCallback: RouterProxyCallback) {
+ return (req, res, next) => {
+ try {
+ Promise.resolve(targetCallback(req, res, next)).catch((e) => {
+ this.exceptionsHandler.next(e, res);
+ });
+ }
+ catch(e) {
+ this.exceptionsHandler.next(e, res);
+ }
+ }
+ }
+
+}
+
+export interface RouterProxyCallback {
+ (req?, res?, next?): void;
+}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/router/routes-resolver.ts.html b/coverage/core/router/routes-resolver.ts.html
new file mode 100644
index 000000000..e1968fb06
--- /dev/null
+++ b/coverage/core/router/routes-resolver.ts.html
@@ -0,0 +1,155 @@
+
+
+
+ Code coverage report for core/router/routes-resolver.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 76.92%
+ Statements
+ 10/13
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 60%
+ Functions
+ 3/5
+
+
+ 83.33%
+ Lines
+ 10/12
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+
+1x
+1x
+1x
+
+
+1x
+1x
+
+
+1x
+1x
+
+
+
+
+
+
+
+
+
+
+
+1x
+1x
+
+1x
+
+
+ import { Application } from "express";
+import { NestContainer, InstanceWrapper } from "../injector/container";
+import { RouterBuilder } from "./router-builder";
+import { RouterProxy } from "./router-proxy";
+import { ExceptionsHandler } from "../exceptions/exceptions-handler";
+import { Controller } from "../../common/interfaces/controller.interface";
+
+export class RoutesResolver {
+ private readonly routerProxy = new RouterProxy(new ExceptionsHandler());
+ private routerBuilder: RouterBuilder;
+
+ constructor(private container: NestContainer, expressAdapter) {
+ this.routerBuilder = new RouterBuilder(this.routerProxy, expressAdapter);
+ }
+
+ resolve (expressInstance: Application) {
+ const modules = this.container.getModules();
+ modules.forEach(({ routes }) => this.setupRouters(routes, expressInstance)) ;
+ }
+
+ setupRouters(
+ routes: Map<Controller, InstanceWrapper<Controller>>,
+ expressInstance: Application) {
+
+ routes.forEach(({ instance }, routePrototype: Function) => {
+ const { path, router } = this.routerBuilder.build(instance, routePrototype);
+
+ expressInstance.use(path, router);
+ });
+ }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/scanner.ts.html b/coverage/core/scanner.ts.html
new file mode 100644
index 000000000..da56f47a0
--- /dev/null
+++ b/coverage/core/scanner.ts.html
@@ -0,0 +1,287 @@
+
+
+
+ Code coverage report for core/scanner.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 32/32
+
+
+ 80%
+ Branches
+ 8/10
+
+
+ 100%
+ Functions
+ 19/19
+
+
+ 100%
+ Lines
+ 27/27
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75 1x
+
+
+
+
+
+1x
+
+4x
+
+
+4x
+4x
+
+
+
+8x
+
+8x
+8x
+
+
+
+8x
+
+
+
+4x
+
+4x
+6x
+6x
+6x
+6x
+
+
+
+
+
+6x
+6x
+
+
+
+6x
+6x
+
+
+
+6x
+6x
+
+
+
+6x
+6x
+
+
+
+3x
+
+
+
+6x
+
+
+
+2x
+
+
+
+6x
+
+
+ import "reflect-metadata";
+import { NestContainer } from "./injector/container";
+import { NestModule } from "../common/interfaces/nest-module.interface";
+import { Controller } from "../common/interfaces/controller.interface";
+import { Injectable } from "../common/interfaces/injectable.interface";
+
+export class DependenciesScanner {
+
+ constructor(private container: NestContainer) {}
+
+ scan(module: NestModule) {
+ this.scanForModules(module);
+ this.scanModulesForDependencies();
+ }
+
+ private scanForModules(module: NestModule) {
+ this.storeModule(module);
+
+ const innerModules = Reflect.getMetadata('modules', module) || [];
+ innerModules.map((module) => this.scanForModules(module));
+ }
+
+ private storeModule(module: NestModule) {
+ this.container.addModule(module);
+ }
+
+ private scanModulesForDependencies() {
+ const modules = this.container.getModules();
+
+ modules.forEach((deps, module) => {
+ this.reflectRelatedModules(module);
+ this.reflectComponents(module);
+ this.reflectRoutes(module);
+ this.reflectExports(module);
+ });
+ }
+
+
+ private reflectRelatedModules(module: NestModule) {
+ const modules = Reflect.getMetadata('modules', module) || [];
+ modules.map((related) => this.storeRelatedModule(related, module));
+ }
+
+ private reflectComponents(module: NestModule) {
+ const components = Reflect.getMetadata('components', module) || [];
+ components.map((component) => this.storeComponent(component, module));
+ }
+
+ private reflectRoutes(module: NestModule) {
+ const routes = Reflect.getMetadata('controllers', module) || [];
+ routes.map((route) => this.storeRoute(route, module));
+ }
+
+ private reflectExports(module: NestModule) {
+ const exports = Reflect.getMetadata('exports', module) || [];
+ exports.map((exportedComponent) => this.storeExportedComponent(exportedComponent, module));
+ }
+
+ private storeRelatedModule(related: NestModule, module: NestModule) {
+ this.container.addRelatedModule(related, module);
+ }
+
+ private storeComponent(component: Injectable, module: NestModule) {
+ this.container.addComponent(component, module);
+ }
+
+ private storeExportedComponent(exportedComponent: Injectable, module: NestModule) {
+ this.container.addExportedComponent(exportedComponent, module);
+ }
+
+ private storeRoute(route: Controller, module: NestModule) {
+ this.container.addRoute(route, module);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/exceptions/exceptions-handler.spec.ts.html b/coverage/core/test/exceptions/exceptions-handler.spec.ts.html
new file mode 100644
index 000000000..9c0356d91
--- /dev/null
+++ b/coverage/core/test/exceptions/exceptions-handler.spec.ts.html
@@ -0,0 +1,200 @@
+
+
+
+ Code coverage report for core/test/exceptions/exceptions-handler.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 23/23
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 5/5
+
+
+ 100%
+ Lines
+ 23/23
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46 1x
+1x
+1x
+1x
+
+1x
+
+
+
+
+
+1x
+2x
+2x
+2x
+
+2x
+
+
+
+2x
+2x
+
+
+1x
+
+1x
+1x
+
+1x
+1x
+
+
+1x
+1x
+1x
+
+1x
+
+1x
+1x
+
+
+
+
+ import * as sinon from "sinon";
+import { expect } from "chai";
+import { ExceptionsHandler } from "../../exceptions/exceptions-handler";
+import { Exception } from "../../exceptions/exception";
+
+describe('ExceptionsHandler', () => {
+ let handler: ExceptionsHandler;
+ let statusStub: sinon.SinonStub;
+ let jsonStub: sinon.SinonStub;
+ let response;
+
+ beforeEach(() => {
+ handler = new ExceptionsHandler();
+ statusStub = sinon.stub();
+ jsonStub = sinon.stub();
+
+ response = {
+ status: statusStub,
+ json: jsonStub
+ };
+ response.status.returns(response);
+ response.json.returns(response);
+ });
+
+ describe('next', () => {
+
+ it('should method send expected response status code and message when exception is unknown', () => {
+ handler.next(new Error(), response);
+
+ expect(statusStub.calledWith(500)).to.be.true;
+ expect(jsonStub.calledWith({ message: "Unkown exception" })).to.be.true;
+ });
+
+ it('should method send expected response status code and message when exception is instance of Exception', () => {
+ const status = 401;
+ const message = "Unauthorized";
+
+ handler.next(new Exception(message, status), response);
+
+ expect(statusStub.calledWith(status)).to.be.true;
+ expect(jsonStub.calledWith({ message })).to.be.true;
+ });
+
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/exceptions/index.html b/coverage/core/test/exceptions/index.html
new file mode 100644
index 000000000..9c64f9438
--- /dev/null
+++ b/coverage/core/test/exceptions/index.html
@@ -0,0 +1,93 @@
+
+
+
+ Code coverage report for core/test/exceptions
+
+
+
+
+
+
+
+
+
+
+ All files core/test/exceptions
+
+
+
+ 100%
+ Statements
+ 23/23
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 5/5
+
+
+ 100%
+ Lines
+ 23/23
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ exceptions-handler.spec.ts
+
+ 100%
+ 23/23
+ 100%
+ 0/0
+ 100%
+ 5/5
+ 100%
+ 23/23
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/index.html b/coverage/core/test/index.html
new file mode 100644
index 000000000..07d4d1f4a
--- /dev/null
+++ b/coverage/core/test/index.html
@@ -0,0 +1,93 @@
+
+
+
+ Code coverage report for core/test
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 40/40
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 8/8
+
+
+ 100%
+ Lines
+ 36/36
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ scanner.spec.ts
+
+ 100%
+ 40/40
+ 100%
+ 0/0
+ 100%
+ 8/8
+ 100%
+ 36/36
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/injector/container.spec.ts.html b/coverage/core/test/injector/container.spec.ts.html
new file mode 100644
index 000000000..47d7cedfb
--- /dev/null
+++ b/coverage/core/test/injector/container.spec.ts.html
@@ -0,0 +1,179 @@
+
+
+
+ Code coverage report for core/test/injector/container.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 15/15
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 4/4
+
+
+ 100%
+ Lines
+ 14/14
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39 1x
+1x
+1x
+
+
+1x
+
+1x
+
+
+
+1x
+
+1x
+2x
+
+
+1x
+1x
+
+1x
+
+
+
+
+
+
+
+
+
+1x
+1x
+
+1x
+
+
+
+
+ import { expect } from "chai";
+import { NestContainer, ModuleDependencies, InstanceWrapper } from "../../injector/container";
+import { Module } from "../../../common/utils/module.decorator";
+import { Injectable } from "../../../common/interfaces/injectable.interface";
+import { Controller } from "../../../common/interfaces/controller.interface";
+import { UnkownExportException } from "../../../errors/exceptions/unkown-export.exception";
+
+describe('NestContainer', () => {
+ let container: NestContainer;
+
+ @Module({})
+ class TestModule {}
+
+ beforeEach(() => {
+ container = new NestContainer();
+ });
+
+ it('should create module instance and collections for dependencies', () => {
+ container.addModule(TestModule);
+
+ expect(container["modules"].get(TestModule)).to.be.deep.equal({
+ instance: new TestModule(),
+ relatedModules: new Set<ModuleDependencies>(),
+ components: new Map<Injectable, InstanceWrapper<any>>(),
+ routes: new Map<Controller, InstanceWrapper<Controller>>(),
+ exports: new Set<Injectable>(),
+ })
+ });
+
+
+ it('should throw "UnkownExportException" when given exported component is not a part of components array', () => {
+ container.addModule(TestModule);
+
+ expect(
+ container.addExportedComponent.bind(container, <any>"Test", TestModule)
+ ).throws(UnkownExportException);
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/injector/index.html b/coverage/core/test/injector/index.html
new file mode 100644
index 000000000..858e99c52
--- /dev/null
+++ b/coverage/core/test/injector/index.html
@@ -0,0 +1,119 @@
+
+
+
+ Code coverage report for core/test/injector
+
+
+
+
+
+
+
+
+
+
+ All files core/test/injector
+
+
+
+ 100%
+ Statements
+ 113/113
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 20/20
+
+
+ 100%
+ Lines
+ 106/106
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ container.spec.ts
+
+ 100%
+ 15/15
+ 100%
+ 0/0
+ 100%
+ 4/4
+ 100%
+ 14/14
+
+
+
+ injector.spec.ts
+
+ 100%
+ 43/43
+ 100%
+ 0/0
+ 100%
+ 11/11
+ 100%
+ 39/39
+
+
+
+ instance-loader.spec.ts
+
+ 100%
+ 55/55
+ 100%
+ 0/0
+ 100%
+ 5/5
+ 100%
+ 53/53
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/injector/injector.spec.ts.html b/coverage/core/test/injector/injector.spec.ts.html
new file mode 100644
index 000000000..b6564f13f
--- /dev/null
+++ b/coverage/core/test/injector/injector.spec.ts.html
@@ -0,0 +1,365 @@
+
+
+
+ Code coverage report for core/test/injector/injector.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 43/43
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 11/11
+
+
+ 100%
+ Lines
+ 39/39
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101 1x
+
+1x
+1x
+1x
+
+1x
+
+
+1x
+4x
+
+
+1x
+
+
+1x
+
+
+1x
+
+
+1x
+
+2x
+2x
+
+
+
+
+1x
+3x
+
+
+
+3x
+
+
+
+3x
+
+
+
+3x
+
+
+
+
+
+1x
+1x
+1x
+
+1x
+1x
+1x
+
+
+1x
+1x
+1x
+1x
+
+
+1x
+1x
+
+
+
+
+
+
+1x
+
+
+1x
+
+
+
+1x
+1x
+
+
+
+1x
+
+
+
+
+
+1x
+1x
+
+
+
+1x
+1x
+
+
+
+ import { expect } from "chai";
+import { ModuleDependencies, InstanceWrapper } from "../../injector/container";
+import { Injector } from "../../injector/injector";
+import { Component } from "../../../common/utils/component.decorator";
+import { RuntimeException } from "../../../errors/exceptions/runtime.exception";
+
+describe('Injector', () => {
+ let injector: Injector;
+
+ beforeEach(() => {
+ injector = new Injector();
+ });
+
+ describe('loadInstance', () => {
+
+ @Component()
+ class DependencyOne {}
+
+ @Component()
+ class DependencyTwo {}
+
+ @Component()
+ class MainTest {
+ constructor(
+ public depOne: DependencyOne,
+ public depTwo: DependencyTwo) {}
+ }
+
+ let moduleDeps: ModuleDependencies;
+
+ beforeEach(() => {
+ moduleDeps = {
+ instance: null,
+ components: new Map<any, InstanceWrapper<any>>(),
+ };
+ moduleDeps.components.set(MainTest, {
+ instance: Object.create(MainTest.prototype),
+ isResolved: false
+ });
+ moduleDeps.components.set(DependencyOne, {
+ instance: Object.create(DependencyOne.prototype),
+ isResolved: false
+ });
+ moduleDeps.components.set(DependencyTwo, {
+ instance: Object.create(DependencyOne.prototype),
+ isResolved: false
+ });
+ });
+
+ it('should create an instance of component with proper dependencies', () => {
+ injector.loadInstance(MainTest, moduleDeps.components, moduleDeps);
+ const { instance } = <InstanceWrapper<MainTest>>(moduleDeps.components.get(MainTest));
+
+ expect(instance.depOne instanceof DependencyOne).to.be.true;
+ expect(instance.depTwo instanceof DependencyOne).to.be.true;
+ expect(instance instanceof MainTest).to.be.true;
+ });
+
+ it('should set "isResolved" property to true after instance initialization', () => {
+ injector.loadInstance(MainTest, moduleDeps.components, moduleDeps);
+ const { isResolved } = <InstanceWrapper<MainTest>>(moduleDeps.components.get(MainTest));
+ expect(isResolved).to.be.true;
+ });
+
+ it('should throw RuntimeException when type is not stored in collection', () => {
+ expect(
+ injector.loadInstance.bind(injector, "Test", moduleDeps.components, moduleDeps)
+ ).to.throw(RuntimeException);
+ });
+
+ });
+
+ describe('loadPrototypeOfInstance', () => {
+
+ @Component()
+ class Test {}
+
+ let moduleDeps: ModuleDependencies;
+
+ beforeEach(() => {
+ moduleDeps = {
+ instance: null,
+ components: new Map<any, InstanceWrapper<any>>(),
+ };
+ moduleDeps.components.set(Test, {
+ instance: Object.create(Test.prototype),
+ isResolved: false
+ });
+ });
+
+ it('should create prototype of instance', () => {
+ const expectedResult = {
+ instance: Object.create(Test.prototype),
+ isResolved: false
+ };
+ injector.loadPrototypeOfInstance(Test, moduleDeps.components);
+ expect(moduleDeps.components.get(Test)).to.deep.equal(expectedResult);
+ });
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/injector/instance-loader.spec.ts.html b/coverage/core/test/injector/instance-loader.spec.ts.html
new file mode 100644
index 000000000..4d4deb317
--- /dev/null
+++ b/coverage/core/test/injector/instance-loader.spec.ts.html
@@ -0,0 +1,341 @@
+
+
+
+ Code coverage report for core/test/injector/instance-loader.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 55/55
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 5/5
+
+
+ 100%
+ Lines
+ 53/53
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93 1x
+1x
+1x
+1x
+1x
+1x
+1x
+
+1x
+
+
+
+
+
+1x
+
+
+1x
+
+1x
+3x
+3x
+3x
+
+
+1x
+1x
+1x
+
+1x
+
+
+
+1x
+1x
+
+1x
+1x
+1x
+
+1x
+
+1x
+1x
+
+1x
+1x
+1x
+
+
+1x
+1x
+1x
+
+1x
+
+
+
+1x
+
+1x
+1x
+1x
+
+1x
+1x
+
+1x
+1x
+
+
+1x
+1x
+1x
+
+1x
+
+
+
+1x
+
+1x
+1x
+1x
+
+1x
+1x
+
+1x
+1x
+
+
+ import * as sinon from "sinon";
+import { expect } from "chai";
+import { InstanceLoader } from "../../injector/instance-loader";
+import { NestContainer } from "../../injector/container";
+import { Injector } from "../../injector/injector";
+import { Controller } from "../../../common/utils/controller.decorator";
+import { Component } from "../../../common/utils/component.decorator";
+
+describe('NestContainer', () => {
+ let loader: InstanceLoader;
+ let container: NestContainer;
+ let mockContainer: sinon.SinonMock;
+
+ @Controller({ path: "" })
+ class TestRoute {}
+
+ @Component()
+ class TestComponent {}
+
+ beforeEach(() => {
+ container = new NestContainer();
+ loader = new InstanceLoader(container);
+ mockContainer = sinon.mock(container);
+ });
+
+ it('should call "loadPrototypeOfInstance" for each component and route in each module', () => {
+ const injector = new Injector();
+ loader["injector"] = injector;
+
+ const module = {
+ components: new Map(),
+ routes: new Map(),
+ };
+ module.components.set(TestComponent, { instance: null });
+ module.routes.set(TestRoute, { instance: null });
+
+ const modules = new Map();
+ modules.set("Test", module);
+ mockContainer.expects("getModules").returns(modules);
+
+ const loadComponentPrototypeStub = sinon.stub(injector, "loadPrototypeOfInstance");
+
+ sinon.stub(injector, "loadInstanceOfRoute");
+ sinon.stub(injector, "loadInstanceOfComponent");
+
+ loader.createInstancesOfDependencies();
+ expect(loadComponentPrototypeStub.calledWith(TestComponent, module.components)).to.be.true;
+ expect(loadComponentPrototypeStub.calledWith(TestRoute, module.components)).to.be.true;
+ });
+
+ it('should call "loadInstanceOfComponent" for each component in each module', () => {
+ const injector = new Injector();
+ loader["injector"] = injector;
+
+ const module = {
+ components: new Map(),
+ routes: new Map(),
+ };
+ module.components.set(TestComponent, { instance: null });
+
+ const modules = new Map();
+ modules.set("Test", module);
+ mockContainer.expects("getModules").returns(modules);
+
+ const loadComponentStub = sinon.stub(injector, "loadInstanceOfComponent");
+ sinon.stub(injector, "loadInstanceOfRoute");
+
+ loader.createInstancesOfDependencies();
+ expect(loadComponentStub.calledWith(TestComponent, module)).to.be.true;
+ });
+
+ it('should call "loadInstanceOfRoute" for each route in each module', () => {
+ const injector = new Injector();
+ loader["injector"] = injector;
+
+ const module = {
+ components: new Map(),
+ routes: new Map(),
+ };
+ module.routes.set(TestRoute, { instance: null });
+
+ const modules = new Map();
+ modules.set("Test", module);
+ mockContainer.expects("getModules").returns(modules);
+
+ sinon.stub(injector, "loadInstanceOfComponent");
+ const loadRoutesStub = sinon.stub(injector, "loadInstanceOfRoute");
+
+ loader.createInstancesOfDependencies();
+ expect(loadRoutesStub.calledWith(TestRoute, module)).to.be.true;
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/middlewares/builder.spec.ts.html b/coverage/core/test/middlewares/builder.spec.ts.html
new file mode 100644
index 000000000..bb6002628
--- /dev/null
+++ b/coverage/core/test/middlewares/builder.spec.ts.html
@@ -0,0 +1,197 @@
+
+
+
+ Code coverage report for core/test/middlewares/builder.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 14/14
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 5/5
+
+
+ 100%
+ Lines
+ 14/14
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45 1x
+1x
+1x
+
+1x
+
+
+1x
+3x
+
+
+1x
+1x
+
+
+
+
+1x
+
+
+
+
+
+1x
+1x
+
+
+
+
+
+
+1x
+
+
+
+
+
+
+
+
+1x
+1x
+
+
+ import { expect } from "chai";
+import { MiddlewareBuilder } from "../../middlewares/builder";
+import { InvalidMiddlewareConfigurationException } from "../../../errors/exceptions/invalid-middleware-configuration.exception";
+
+describe('MiddlewareBuilder', () => {
+ let builder: MiddlewareBuilder;
+
+ beforeEach(() => {
+ builder = new MiddlewareBuilder();
+ });
+
+ it('should store configuration passed as argument', () => {
+ builder.use(<any>{
+ middlewares: "Test",
+ forRoutes: "Test"
+ });
+
+ expect(builder.build()).to.deep.equal([{
+ middlewares: "Test",
+ forRoutes: "Test"
+ }]);
+ });
+
+ it('should be possible to chain "use" calls', () => {
+ builder.use(<any>{
+ middlewares: "Test",
+ forRoutes: "Test"
+ }).use(<any>{
+ middlewares: "Test",
+ forRoutes: "Test"
+ });
+ expect(builder.build()).to.deep.equal([<any>{
+ middlewares: "Test",
+ forRoutes: "Test"
+ }, <any>{
+ middlewares: "Test",
+ forRoutes: "Test"
+ }]);
+ });
+
+ it('should throw exception when middleware configuration object is invalid', () => {
+ expect(builder.use.bind(builder, "test")).throws(InvalidMiddlewareConfigurationException);
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/middlewares/container.spec.ts.html b/coverage/core/test/middlewares/container.spec.ts.html
new file mode 100644
index 000000000..47307ec3b
--- /dev/null
+++ b/coverage/core/test/middlewares/container.spec.ts.html
@@ -0,0 +1,245 @@
+
+
+
+ Code coverage report for core/test/middlewares/container.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 96.3%
+ Statements
+ 26/27
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 50%
+ Functions
+ 4/8
+
+
+ 96%
+ Lines
+ 24/25
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61 1x
+1x
+
+
+1x
+1x
+1x
+1x
+1x
+
+1x
+
+1x
+
+
+1x
+
+
+1x
+
+
+
+1x
+
+
+
+
+
+
+
+1x
+2x
+
+
+1x
+1x
+
+
+
+
+
+
+
+1x
+1x
+
+
+1x
+1x
+
+
+
+
+
+1x
+1x
+1x
+1x
+
+
+ import { expect } from "chai";
+import { MiddlewaresContainer } from "../../middlewares/container";
+import { MiddlewareConfiguration } from "../../middlewares/interfaces/middleware-configuration.interface";
+import { Middleware } from "../../middlewares/interfaces/middleware.interface";
+import { Component } from "../../../common/utils/component.decorator";
+import { RoutesMapper } from "../../middlewares/routes-mapper";
+import { Controller } from "../../../common/utils/controller.decorator";
+import { RequestMapping } from "../../../common/utils/request-mapping.decorator";
+import { RequestMethod } from "../../../common/enums/request-method.enum";
+
+describe('MiddlewaresContainer', () => {
+ @Controller({ path: "test" })
+ class TestRoute {
+
+ @RequestMapping({ path: "test" })
+ getTest () {}
+
+ @RequestMapping({ path: "another", method: RequestMethod.DELETE })
+ getAnother () {}
+ }
+
+ @Component()
+ class TestMiddleware implements Middleware {
+ resolve () {
+ return (r eq, res, next) => {}
+ }
+ }
+
+ let container: MiddlewaresContainer;
+
+ beforeEach(() => {
+ container = new MiddlewaresContainer(new RoutesMapper());
+ });
+
+ it('should store expected configurations for given module', () => {
+ const config: MiddlewareConfiguration[] = [{
+ middlewares: [ TestMiddleware ],
+ forRoutes: [
+ TestRoute,
+ { path: "test" }
+ ]
+ }
+ ];
+ container.addConfig(config, <any>"Module");
+ expect([ ...container.getConfigs().get("Module") ]).to.deep.equal(config);
+ });
+
+ it('should store expected middlewares for given module', () => {
+ const config: MiddlewareConfiguration[] = [{
+ middlewares: TestMiddleware,
+ forRoutes: [ TestRoute ]
+ }
+ ];
+
+ const key = <any>"Test";
+ container.addConfig(config, key);
+ expect(container.getMiddlewares(key).size).to.eql(config.length);
+ expect(container.getMiddlewares(key).get(TestMiddleware)).to.eql(null);
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/middlewares/index.html b/coverage/core/test/middlewares/index.html
new file mode 100644
index 000000000..27e7fd118
--- /dev/null
+++ b/coverage/core/test/middlewares/index.html
@@ -0,0 +1,145 @@
+
+
+
+ Code coverage report for core/test/middlewares
+
+
+
+
+
+
+
+
+
+
+ All files core/test/middlewares
+
+
+
+ 98.6%
+ Statements
+ 141/143
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 68.57%
+ Functions
+ 24/35
+
+
+ 98.52%
+ Lines
+ 133/135
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ builder.spec.ts
+
+ 100%
+ 14/14
+ 100%
+ 0/0
+ 100%
+ 5/5
+ 100%
+ 14/14
+
+
+
+ container.spec.ts
+
+ 96.3%
+ 26/27
+ 100%
+ 0/0
+ 50%
+ 4/8
+ 96%
+ 24/25
+
+
+
+ middlewares-module.spec.ts
+
+ 100%
+ 59/59
+ 100%
+ 0/0
+ 72.73%
+ 8/11
+ 100%
+ 55/55
+
+
+
+ resolver.spec.ts
+
+ 95.65%
+ 22/23
+ 100%
+ 0/0
+ 60%
+ 3/5
+ 95.45%
+ 21/22
+
+
+
+ routes-mapper.spec.ts
+
+ 100%
+ 20/20
+ 100%
+ 0/0
+ 66.67%
+ 4/6
+ 100%
+ 19/19
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/middlewares/middlewares-module.spec.ts.html b/coverage/core/test/middlewares/middlewares-module.spec.ts.html
new file mode 100644
index 000000000..b5755beb7
--- /dev/null
+++ b/coverage/core/test/middlewares/middlewares-module.spec.ts.html
@@ -0,0 +1,410 @@
+
+
+
+ Code coverage report for core/test/middlewares/middlewares-module.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 59/59
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 72.73%
+ Functions
+ 8/11
+
+
+ 100%
+ Lines
+ 55/55
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116 1x
+1x
+
+1x
+1x
+1x
+1x
+1x
+1x
+1x
+1x
+
+1x
+
+1x
+
+
+1x
+
+
+1x
+
+
+1x
+
+
+
+1x
+
+1x
+
+
+
+1x
+
+1x
+1x
+1x
+
+
+
+1x
+
+1x
+1x
+
+
+
+1x
+
+1x
+1x
+1x
+
+
+
+
+1x
+1x
+
+1x
+
+
+
+
+1x
+
+1x
+
+1x
+1x
+
+
+
+
+1x
+1x
+
+1x
+1x
+1x
+
+1x
+1x
+
+1x
+
+
+
+
+1x
+1x
+1x
+
+
+
+
+1x
+1x
+
+
+
+1x
+1x
+1x
+
+1x
+1x
+
+1x
+1x
+
+
+
+
+ import { expect } from "chai";
+import * as sinon from "sinon";
+import { Middleware } from "../../middlewares/interfaces/middleware.interface";
+import { Component } from "../../../common/utils/component.decorator";
+import { MiddlewareBuilder } from "../../middlewares/builder";
+import { MiddlewaresModule } from "../../middlewares/middlewares-module";
+import { UnkownMiddlewareException } from "../../../errors/exceptions/unkown-middleware.exception";
+import { InvalidMiddlewareException } from "../../../errors/exceptions/invalid-middleware.exception";
+import { RequestMethod } from "../../../common/enums/request-method.enum";
+import { Controller } from "../../../common/utils/controller.decorator";
+import { RequestMapping } from "../../../common/utils/request-mapping.decorator";
+
+describe('MiddlewaresModule', () => {
+ @Controller({ path: "test" })
+ class AnotherRoute { }
+
+ @Controller({ path: "test" })
+ class TestRoute {
+
+ @RequestMapping({ path: "test" })
+ getTest () {}
+
+ @RequestMapping({ path: "another", method: RequestMethod.DELETE })
+ getAnother () {}
+ }
+
+ @Component()
+ class TestMiddleware implements Middleware {
+ resolve() {
+ return (r eq, res, next) => {}
+ }
+ }
+
+ describe('loadConfiguration', () => {
+
+ it('should call "configure" method if method is implemented', () => {
+ const configureSpy = sinon.spy();
+ const mockModule = {
+ configure: configureSpy
+ };
+
+ MiddlewaresModule.loadConfiguration(<any>mockModule, <any>"Test");
+
+ expect(configureSpy.calledOnce).to.be.true;
+ expect(configureSpy.calledWith(new MiddlewareBuilder())).to.be.true;
+ });
+ });
+
+ describe('setupRouteMiddleware', () => {
+
+ it('should throw "UnkownMiddlewareException" exception when middlewares is not stored in container', () => {
+ const route = { path: "Test" };
+ const configuration = {
+ middlewares: [ TestMiddleware ],
+ forRoutes: [ TestRoute ]
+ };
+
+ const useSpy = sinon.spy();
+ const app = { use: useSpy };
+
+ expect(MiddlewaresModule.setupRouteMiddleware.bind(
+ MiddlewaresModule, route, configuration, <any>"Test", <any>app
+ )).throws(UnkownMiddlewareException);
+ });
+
+ it('should throw "InvalidMiddlewareException" exception when middlewares does not have "resolve" method', () => {
+ @Component()
+ class InvalidMiddleware {}
+
+ const route = { path: "Test" };
+ const configuration = {
+ middlewares: [ InvalidMiddleware ],
+ forRoutes: [ TestRoute ]
+ };
+
+ const useSpy = sinon.spy();
+ const app = { use: useSpy };
+
+ const container = MiddlewaresModule.getContainer();
+ const moduleKey = <any>"Test";
+ container.addConfig([ <any>configuration ], moduleKey);
+
+ const instance = new InvalidMiddleware();
+ container.getMiddlewares(moduleKey).set(<any>InvalidMiddleware, <any>instance);
+
+ expect(MiddlewaresModule.setupRouteMiddleware.bind(
+ MiddlewaresModule, route, configuration, moduleKey, <any>app
+ )).throws(InvalidMiddlewareException);
+ });
+
+ it('should store middlewares when middleware is stored in container', () => {
+ const route = { path: "Test", method: RequestMethod.GET };
+ const configuration = {
+ middlewares: [ TestMiddleware ],
+ forRoutes: [ { path: "test" }, AnotherRoute, TestRoute ]
+ };
+
+ const useSpy = sinon.spy();
+ const app = {
+ get: useSpy
+ };
+
+ const container = MiddlewaresModule.getContainer();
+ const moduleKey = <any>"Test";
+ container.addConfig([ configuration ], moduleKey);
+
+ const instance = new TestMiddleware();
+ container.getMiddlewares(moduleKey).set(TestMiddleware, instance);
+
+ MiddlewaresModule.setupRouteMiddleware(route, configuration, moduleKey, <any>app);
+ expect(useSpy.calledOnce).to.be.true;
+ });
+
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/middlewares/resolver.spec.ts.html b/coverage/core/test/middlewares/resolver.spec.ts.html
new file mode 100644
index 000000000..f3fa2fd63
--- /dev/null
+++ b/coverage/core/test/middlewares/resolver.spec.ts.html
@@ -0,0 +1,194 @@
+
+
+
+ Code coverage report for core/test/middlewares/resolver.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 95.65%
+ Statements
+ 22/23
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 60%
+ Functions
+ 3/5
+
+
+ 95.45%
+ Lines
+ 21/22
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44 1x
+1x
+1x
+1x
+1x
+
+1x
+
+1x
+
+1x
+
+
+
+
+
+
+
+
+
+1x
+1x
+1x
+1x
+
+
+1x
+1x
+1x
+1x
+
+1x
+1x
+
+1x
+1x
+
+
+
+
+
+1x
+
+ import * as sinon from "sinon";
+import { expect } from "chai";
+import { MiddlewaresResolver } from "../../middlewares/resolver";
+import { MiddlewaresContainer } from "../../middlewares/container";
+import { Component } from "../../../common/utils/component.decorator";
+import { Middleware } from "../../middlewares/interfaces/middleware.interface";
+import { RoutesMapper } from "../../middlewares/routes-mapper";
+
+describe('MiddlewaresResolver', () => {
+ @Component()
+ class TestMiddleware implements Middleware {
+ resolve () {
+ return (r eq, res, next) => {}
+ }
+ }
+
+ let resolver: MiddlewaresResolver;
+ let container: MiddlewaresContainer;
+ let mockContainer: sinon.SinonMock;
+
+ beforeEach(() => {
+ container = new MiddlewaresContainer(new RoutesMapper());
+ resolver = new MiddlewaresResolver(container);
+ mockContainer = sinon.mock(container);
+ });
+
+ it('should resolve middleware instances from container', () => {
+ const loadInstanceOfMiddleware = sinon.stub(resolver["instanceLoader"], "loadInstanceOfMiddleware");
+ const middlewares = new Map();
+ middlewares.set(TestMiddleware, null);
+
+ mockContainer.expects("getMiddlewares").returns(middlewares);
+ resolver.resolveInstances(null, null);
+
+ expect(loadInstanceOfMiddleware.callCount).to.be.equal(middlewares.size);
+ expect(loadInstanceOfMiddleware.calledWith(
+ TestMiddleware,
+ middlewares,
+ null
+ )).to.be.true;
+
+ loadInstanceOfMiddleware.restore();
+ });
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/middlewares/routes-mapper.spec.ts.html b/coverage/core/test/middlewares/routes-mapper.spec.ts.html
new file mode 100644
index 000000000..5c4afcb8d
--- /dev/null
+++ b/coverage/core/test/middlewares/routes-mapper.spec.ts.html
@@ -0,0 +1,236 @@
+
+
+
+ Code coverage report for core/test/middlewares/routes-mapper.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 20/20
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 66.67%
+ Functions
+ 4/6
+
+
+ 100%
+ Lines
+ 19/19
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+1x
+1x
+1x
+1x
+1x
+1x
+
+1x
+
+1x
+
+
+1x
+
+
+1x
+
+
+
+
+1x
+2x
+
+
+1x
+1x
+
+
+
+
+
+
+
+1x
+
+
+
+1x
+
+
+
+
+
+1x
+1x
+
+
+
+
+
+
+1x
+
+
+
+
+ import * as sinon from "sinon";
+import { expect } from "chai";
+import { RoutesMapper } from "../../middlewares/routes-mapper";
+import { Controller } from "../../../common/utils/controller.decorator";
+import { RequestMapping } from "../../../common/utils/request-mapping.decorator";
+import { RequestMethod } from "../../../common/enums/request-method.enum";
+import { UnkownRequestMappingException } from "../../../errors/exceptions/unkown-request-mapping.exception";
+
+describe('RoutesMapper', () => {
+ @Controller({ path: "test" })
+ class TestRoute {
+
+ @RequestMapping({ path: "test" })
+ getTest () {}
+
+ @RequestMapping({ path: "another", method: RequestMethod.DELETE })
+ getAnother () {}
+ }
+
+ let mapper: RoutesMapper;
+
+ beforeEach(() => {
+ mapper = new RoutesMapper();
+ });
+
+ it('should map @Controller() to "ControllerMetadata" in forRoutes', () => {
+ const config = {
+ middlewares: "Test",
+ forRoutes: [
+ { path: "test", method: RequestMethod.GET },
+ TestRoute
+ ]
+ };
+
+ expect(mapper.mapRouteToRouteProps(config.forRoutes[0])).to.deep.equal([{
+ path: "/test", method: RequestMethod.GET
+ }]);
+
+ expect(mapper.mapRouteToRouteProps(config.forRoutes[1])).to.deep.equal([
+ { path: "/test/test", method: RequestMethod.GET },
+ { path: "/test/another", method: RequestMethod.DELETE },
+ ]);
+ });
+
+ it('should throw exception when invalid object was passed as route', () => {
+ const config = {
+ middlewares: "Test",
+ forRoutes: [
+ { method: RequestMethod.GET }
+ ]
+ };
+
+ expect(
+ mapper.mapRouteToRouteProps.bind(mapper, config.forRoutes[0])
+ ).throws(UnkownRequestMappingException);
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/router/index.html b/coverage/core/test/router/index.html
new file mode 100644
index 000000000..13d5ae00b
--- /dev/null
+++ b/coverage/core/test/router/index.html
@@ -0,0 +1,119 @@
+
+
+
+ Code coverage report for core/test/router
+
+
+
+
+
+
+
+
+
+
+ All files core/test/router
+
+
+
+ 100%
+ Statements
+ 92/92
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 77.42%
+ Functions
+ 24/31
+
+
+ 100%
+ Lines
+ 89/89
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ router-builder.spec.ts
+
+ 100%
+ 38/38
+ 100%
+ 0/0
+ 66.67%
+ 8/12
+ 100%
+ 37/37
+
+
+
+ router-proxy.spec.ts
+
+ 100%
+ 29/29
+ 100%
+ 0/0
+ 90.91%
+ 10/11
+ 100%
+ 28/28
+
+
+
+ routes-resolver.spec.ts
+
+ 100%
+ 25/25
+ 100%
+ 0/0
+ 75%
+ 6/8
+ 100%
+ 24/24
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/router/router-builder.spec.ts.html b/coverage/core/test/router/router-builder.spec.ts.html
new file mode 100644
index 000000000..beca6b468
--- /dev/null
+++ b/coverage/core/test/router/router-builder.spec.ts.html
@@ -0,0 +1,284 @@
+
+
+
+ Code coverage report for core/test/router/router-builder.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 38/38
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 66.67%
+ Functions
+ 8/12
+
+
+ 100%
+ Lines
+ 37/37
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74 1x
+1x
+1x
+1x
+1x
+1x
+
+1x
+
+1x
+
+1x
+
+
+1x
+
+
+1x
+
+
+
+
+
+1x
+3x
+
+
+1x
+
+1x
+1x
+
+1x
+
+1x
+1x
+1x
+
+1x
+1x
+1x
+
+
+
+
+1x
+
+1x
+1x
+1x
+
+1x
+
+1x
+1x
+
+
+
+
+1x
+
+1x
+1x
+1x
+
+1x
+
+1x
+1x
+
+
+
+
+ import * as sinon from "sinon";
+import { expect } from "chai";
+import { RouterBuilder } from "../../router/router-builder";
+import { Controller } from "../../../common/utils/controller.decorator";
+import { RequestMapping } from "../../../common/utils/request-mapping.decorator";
+import { RequestMethod } from "../../../common/enums/request-method.enum";
+
+describe('RouterBuilder', () => {
+ @Controller({ path: "global" })
+ class TestRoute {
+ @RequestMapping({ path: "test" })
+ getTest () {}
+
+ @RequestMapping({ path: "test", method: RequestMethod.POST })
+ postTest () {}
+
+ @RequestMapping({ path: "another-test", method: RequestMethod.ALL })
+ anotherTest () {}
+
+ private simplePlainMethod () {}
+ }
+
+ let routerBuilder: RouterBuilder;
+ beforeEach(() => {
+ routerBuilder = new RouterBuilder(null, null);
+ });
+
+ describe('scanForPathsFromPrototype', () => {
+
+ it('should method return expected list of route paths', () => {
+ const paths = routerBuilder.scanForPathsFromPrototype(new TestRoute(), TestRoute.prototype);
+
+ expect(paths).to.have.length(3);
+
+ expect(paths[0].path).to.eql("/test");
+ expect(paths[1].path).to.eql("/test");
+ expect(paths[2].path).to.eql("/another-test");
+
+ expect(paths[0].requestMethod).to.eql(RequestMethod.GET);
+ expect(paths[1].requestMethod).to.eql(RequestMethod.POST);
+ expect(paths[2].requestMethod).to.eql(RequestMethod.ALL);
+ });
+
+ });
+
+ describe('exploreMethodMetadata', () => {
+
+ it('should method return expected object which represent single route', () => {
+ const instance = new TestRoute();
+ const instanceProto = Object.getPrototypeOf(instance);
+
+ const route = routerBuilder.exploreMethodMetadata(new TestRoute(), instanceProto, "getTest");
+
+ expect(route.path).to.eql("/test");
+ expect(route.requestMethod).to.eql(RequestMethod.GET);
+ });
+
+ });
+
+ describe('applyPathsToRouterProxy', () => {
+
+ it('should method return expected object which represent single route', () => {
+ const bindStub = sinon.stub(routerBuilder, "bindMethodToRouterProxy");
+ const paths = [ null, null ];
+
+ routerBuilder.applyPathsToRouterProxy(null, paths);
+
+ expect(bindStub.calledWith(null, null)).to.be.true;
+ expect(bindStub.callCount).to.be.eql(paths.length);
+ });
+
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/router/router-proxy.spec.ts.html b/coverage/core/test/router/router-proxy.spec.ts.html
new file mode 100644
index 000000000..00a7102e4
--- /dev/null
+++ b/coverage/core/test/router/router-proxy.spec.ts.html
@@ -0,0 +1,203 @@
+
+
+
+ Code coverage report for core/test/router/router-proxy.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 29/29
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 90.91%
+ Functions
+ 10/11
+
+
+ 100%
+ Lines
+ 28/28
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47 1x
+1x
+1x
+1x
+1x
+
+1x
+
+
+
+1x
+3x
+3x
+3x
+
+
+1x
+
+1x
+1x
+1x
+
+
+1x
+1x
+1x
+1x
+
+1x
+1x
+
+
+1x
+1x
+1x
+1x
+
+1x
+
+1x
+1x
+1x
+
+
+
+
+ import * as sinon from "sinon";
+import { expect } from "chai";
+import { RouterProxy } from "../../router/router-proxy";
+import { ExceptionsHandler } from "../../exceptions/exceptions-handler";
+import { Exception } from "../../exceptions/exception";
+
+describe('RouterProxy', () => {
+ let routerProxy: RouterProxy;
+ let handlerMock: sinon.SinonMock;
+
+ beforeEach(() => {
+ const handler = new ExceptionsHandler();
+ handlerMock = sinon.mock(handler);
+ routerProxy = new RouterProxy(handler);
+ });
+
+ describe('createProxy', () => {
+
+ it('should method return thunk', () => {
+ const proxy = routerProxy.createProxy(() => { });
+ expect(typeof proxy === "function").to.be.true;
+ });
+
+ it('should method encapsulate callback passed as argument', () => {
+ const expectation = handlerMock.expects("next").once();
+ const proxy = routerProxy.createProxy((req, res, next) => {
+ throw new Exception("test", 500);
+ });
+ proxy(null, null, null);
+ expectation.verify();
+ });
+
+ it('should method encapsulate async callback passed as argument', (done) => {
+ const expectation = handlerMock.expects("next").once();
+ const proxy = routerProxy.createProxy(async (req, res, next) => {
+ throw new Exception("test", 500);
+ });
+ proxy(null, null, null);
+
+ setTimeout(() => {
+ expectation.verify();
+ done();
+ }, 0);
+ });
+
+ });
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/router/routes-resolver.spec.ts.html b/coverage/core/test/router/routes-resolver.spec.ts.html
new file mode 100644
index 000000000..39ee1731b
--- /dev/null
+++ b/coverage/core/test/router/routes-resolver.spec.ts.html
@@ -0,0 +1,209 @@
+
+
+
+ Code coverage report for core/test/router/routes-resolver.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 25/25
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 75%
+ Functions
+ 6/8
+
+
+ 100%
+ Lines
+ 24/24
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49 1x
+1x
+1x
+1x
+1x
+1x
+
+1x
+
+1x
+
+1x
+
+
+1x
+
+
+
+
+
+1x
+1x
+
+
+
+
+
+1x
+1x
+1x
+
+
+
+1x
+
+1x
+1x
+1x
+
+1x
+1x
+
+1x
+1x
+1x
+
+
+
+ import * as sinon from "sinon";
+import { expect } from "chai";
+import { RoutesResolver } from "../../router/routes-resolver";
+import { Controller } from "../../../common/utils/controller.decorator";
+import { RequestMapping } from "../../../common/utils/request-mapping.decorator";
+import { RequestMethod } from "../../../common/enums/request-method.enum";
+
+describe('RoutesResolver', () => {
+ @Controller({ path: "global" })
+ class TestRoute {
+ @RequestMapping({ path: "test" })
+ getTest () {}
+
+ @RequestMapping({ path: "another-test", method: RequestMethod.POST })
+ anotherTest () {}
+ }
+
+ let router;
+ let routesResolver: RoutesResolver;
+
+ before(() => {
+ router = {
+ get() {},
+ post() {}
+ };
+ });
+
+ beforeEach(() => {
+ routesResolver = new RoutesResolver(null, {
+ createRouter: () => router,
+ });
+ });
+
+ describe('setupRouters', () => {
+
+ it('should method setup controllers to express application instance', () => {
+ const routes = new Map();
+ routes.set(TestRoute, { instance: new TestRoute() });
+
+ const use = sinon.spy();
+ const applicationMock = { use };
+
+ routesResolver.setupRouters(routes, <any>applicationMock);
+ expect(use.calledOnce).to.be.true;
+ expect(use.calledWith('/global', router)).to.be.true;
+ });
+
+ });
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/core/test/scanner.spec.ts.html b/coverage/core/test/scanner.spec.ts.html
new file mode 100644
index 000000000..68b368827
--- /dev/null
+++ b/coverage/core/test/scanner.spec.ts.html
@@ -0,0 +1,278 @@
+
+
+
+ Code coverage report for core/test/scanner.spec.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 40/40
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 8/8
+
+
+ 100%
+ Lines
+ 36/36
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72 1x
+1x
+1x
+1x
+
+1x
+1x
+
+1x
+
+1x
+1x
+
+
+
+
+
+
+1x
+
+
+
+
+
+
+1x
+
+
+
+
+
+1x
+1x
+1x
+
+
+1x
+4x
+
+
+1x
+4x
+
+
+1x
+1x
+1x
+1x
+
+
+1x
+1x
+1x
+
+1x
+1x
+1x
+
+
+1x
+1x
+1x
+1x
+
+
+1x
+1x
+1x
+1x
+
+
+ import * as sinon from "sinon";
+import { DependenciesScanner } from "./../scanner";
+import { NestContainer } from "./../injector/container";
+import { Module } from "../../common/utils/module.decorator";
+import { NestModule } from "../../common/interfaces/nest-module.interface";
+import { Component } from "../../common/utils/component.decorator";
+import { Controller } from "../../common/utils/controller.decorator";
+
+describe('DependenciesScanner', () => {
+
+ @Component() class TestComponent {}
+ @Controller({ path: "" }) class TestRoute {}
+
+ @Module({
+ components: [ TestComponent ],
+ controllers: [ TestRoute ],
+ exports: [ TestComponent ]
+ })
+ class AnotherTestModule implements NestModule {}
+
+ @Module({
+ modules: [ AnotherTestModule ],
+ components: [ TestComponent ],
+ controllers: [ TestRoute ],
+ })
+ class TestModule implements NestModule {}
+
+ let scanner: DependenciesScanner;
+ let mockContainer: sinon.SinonMock;
+ let container: NestContainer;
+
+ before(() => {
+ container = new NestContainer();
+ mockContainer = sinon.mock(container);
+ });
+
+ beforeEach(() => {
+ scanner = new DependenciesScanner(container);
+ });
+
+ afterEach(() => {
+ mockContainer.restore();
+ });
+
+ it('should "storeModule" call twice (2 modules) container method "addModule"', () => {
+ const expectation = mockContainer.expects("addModule").twice();
+ scanner.scan(TestModule);
+ expectation.verify();
+ });
+
+ it('should "storeComponent" call twice (2 components) container method "addComponent"', () => {
+ const expectation = mockContainer.expects("addComponent").twice();
+ const stub = sinon.stub(scanner, "storeExportedComponent");
+
+ scanner.scan(TestModule);
+ expectation.verify();
+ stub.restore();
+ });
+
+ it('should "storeRoute" call twice (2 components) container method "addRoute"', () => {
+ const expectation = mockContainer.expects("addRoute").twice();
+ scanner.scan(TestModule);
+ expectation.verify();
+ });
+
+ it('should "storeExportedComponent" call once (1 component) container method "addExportedComponent"', () => {
+ const expectation = mockContainer.expects("addExportedComponent").once();
+ scanner.scan(TestModule);
+ expectation.verify();
+ });
+
+});
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/circular-dependency.exception.ts.html b/coverage/errors/exceptions/circular-dependency.exception.ts.html
new file mode 100644
index 000000000..2965ab0de
--- /dev/null
+++ b/coverage/errors/exceptions/circular-dependency.exception.ts.html
@@ -0,0 +1,92 @@
+
+
+
+ Code coverage report for errors/exceptions/circular-dependency.exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 66.67%
+ Statements
+ 2/3
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 0%
+ Functions
+ 0/1
+
+
+ 66.67%
+ Lines
+ 2/3
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10 1x
+
+1x
+
+
+
+
+
+
+ import { RuntimeException } from "./runtime.exception";
+
+export class CircularDependencyException extends RuntimeException {
+
+ constructor( type) {
+ super(`Can't create instance of ${type}. It is possible `
+ + `that you are trying to do circular-dependency A->B, B->A.`);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/index.html b/coverage/errors/exceptions/index.html
new file mode 100644
index 000000000..15f4ddbe3
--- /dev/null
+++ b/coverage/errors/exceptions/index.html
@@ -0,0 +1,210 @@
+
+
+
+ Code coverage report for errors/exceptions
+
+
+
+
+
+
+
+
+
+
+ All files errors/exceptions
+
+
+
+ 90.32%
+ Statements
+ 28/31
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 72.73%
+ Functions
+ 8/11
+
+
+ 90.32%
+ Lines
+ 28/31
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/invalid-middleware-configuration.exception.ts.html b/coverage/errors/exceptions/invalid-middleware-configuration.exception.ts.html
new file mode 100644
index 000000000..c6cd896b2
--- /dev/null
+++ b/coverage/errors/exceptions/invalid-middleware-configuration.exception.ts.html
@@ -0,0 +1,89 @@
+
+
+
+ Code coverage report for errors/exceptions/invalid-middleware-configuration.exception.ts
+
+
+
+
+
+
+
+
+
+
+ All files / errors/exceptions invalid-middleware-configuration.exception.ts
+
+
+
+ 100%
+ Statements
+ 3/3
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 1/1
+
+
+ 100%
+ Lines
+ 3/3
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9 1x
+
+1x
+
+
+1x
+
+
+ import { RuntimeException } from "./runtime.exception";
+
+export class InvalidMiddlewareConfigurationException extends RuntimeException {
+
+ constructor() {
+ super(`Invalid middleware configuration passed in module "configure()" method.`);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/invalid-middleware.exception.ts.html b/coverage/errors/exceptions/invalid-middleware.exception.ts.html
new file mode 100644
index 000000000..a1eaef420
--- /dev/null
+++ b/coverage/errors/exceptions/invalid-middleware.exception.ts.html
@@ -0,0 +1,89 @@
+
+
+
+ Code coverage report for errors/exceptions/invalid-middleware.exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 3/3
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 1/1
+
+
+ 100%
+ Lines
+ 3/3
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9 1x
+
+1x
+
+
+1x
+
+
+ import { RuntimeException } from "./runtime.exception";
+
+export class InvalidMiddlewareException extends RuntimeException {
+
+ constructor() {
+ super(`You are trying to setup middleware without "resolve" method.`);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/invalid-module-config.exception.ts.html b/coverage/errors/exceptions/invalid-module-config.exception.ts.html
new file mode 100644
index 000000000..4b9ab04b7
--- /dev/null
+++ b/coverage/errors/exceptions/invalid-module-config.exception.ts.html
@@ -0,0 +1,89 @@
+
+
+
+ Code coverage report for errors/exceptions/invalid-module-config.exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 3/3
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 1/1
+
+
+ 100%
+ Lines
+ 3/3
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9 1x
+
+1x
+
+
+1x
+
+
+ import { RuntimeException } from "./runtime.exception";
+
+export class InvalidModuleConfigException extends RuntimeException {
+
+ constructor(property: string) {
+ super(`Invalid property [${property}] in @Module({}) annotation.`);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/invalid-path-variable.exception.ts.html b/coverage/errors/exceptions/invalid-path-variable.exception.ts.html
new file mode 100644
index 000000000..42858a65b
--- /dev/null
+++ b/coverage/errors/exceptions/invalid-path-variable.exception.ts.html
@@ -0,0 +1,89 @@
+
+
+
+ Code coverage report for errors/exceptions/invalid-path-variable.exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 3/3
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 1/1
+
+
+ 100%
+ Lines
+ 3/3
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9 1x
+
+1x
+
+
+1x
+
+
+ import { RuntimeException } from "./runtime.exception";
+
+export class InvalidPathVariableException extends RuntimeException {
+
+ constructor(annotationName: string) {
+ super(`Invalid path in @${annotationName}!`);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/runtime.exception.ts.html b/coverage/errors/exceptions/runtime.exception.ts.html
new file mode 100644
index 000000000..bfb284fab
--- /dev/null
+++ b/coverage/errors/exceptions/runtime.exception.ts.html
@@ -0,0 +1,89 @@
+
+
+
+ Code coverage report for errors/exceptions/runtime.exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 75%
+ Statements
+ 3/4
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 50%
+ Functions
+ 1/2
+
+
+ 75%
+ Lines
+ 3/4
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9 1x
+8x
+8x
+
+
+
+
+
+ export class RuntimeException extends Error {
+ constructor(private msg: string) {
+ super();
+ }
+
+ what () {
+ return this.msg;
+ }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/unkown-dependencies.exception.ts.html b/coverage/errors/exceptions/unkown-dependencies.exception.ts.html
new file mode 100644
index 000000000..1e061aae2
--- /dev/null
+++ b/coverage/errors/exceptions/unkown-dependencies.exception.ts.html
@@ -0,0 +1,89 @@
+
+
+
+ Code coverage report for errors/exceptions/unkown-dependencies.exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 66.67%
+ Statements
+ 2/3
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 0%
+ Functions
+ 0/1
+
+
+ 66.67%
+ Lines
+ 2/3
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9 1x
+
+1x
+
+
+
+
+
+ import { RuntimeException } from "./runtime.exception";
+
+export class UnkownDependenciesException extends RuntimeException {
+
+ constructor( type) {
+ super(`Can't recognize dependencies of ${type}.`);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/unkown-export.exception.ts.html b/coverage/errors/exceptions/unkown-export.exception.ts.html
new file mode 100644
index 000000000..ef4a5d351
--- /dev/null
+++ b/coverage/errors/exceptions/unkown-export.exception.ts.html
@@ -0,0 +1,92 @@
+
+
+
+ Code coverage report for errors/exceptions/unkown-export.exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 3/3
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 1/1
+
+
+ 100%
+ Lines
+ 3/3
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10 1x
+
+1x
+
+
+1x
+
+
+
+ import { RuntimeException } from "./runtime.exception";
+
+export class UnkownExportException extends RuntimeException {
+
+ constructor() {
+ super(`You are trying to export unkown component. Maybe ` +
+ `you forgot to place this one to components list also.`);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/unkown-middleware.exception.ts.html b/coverage/errors/exceptions/unkown-middleware.exception.ts.html
new file mode 100644
index 000000000..314dbb748
--- /dev/null
+++ b/coverage/errors/exceptions/unkown-middleware.exception.ts.html
@@ -0,0 +1,89 @@
+
+
+
+ Code coverage report for errors/exceptions/unkown-middleware.exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 3/3
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 1/1
+
+
+ 100%
+ Lines
+ 3/3
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9 1x
+
+1x
+
+
+1x
+
+
+ import { RuntimeException } from "./runtime.exception";
+
+export class UnkownMiddlewareException extends RuntimeException {
+
+ constructor() {
+ super(`Not recognized middleware - runtime error!`);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/errors/exceptions/unkown-request-mapping.exception.ts.html b/coverage/errors/exceptions/unkown-request-mapping.exception.ts.html
new file mode 100644
index 000000000..b6d56a8a8
--- /dev/null
+++ b/coverage/errors/exceptions/unkown-request-mapping.exception.ts.html
@@ -0,0 +1,89 @@
+
+
+
+ Code coverage report for errors/exceptions/unkown-request-mapping.exception.ts
+
+
+
+
+
+
+
+
+
+
+
+
+ 100%
+ Statements
+ 3/3
+
+
+ 100%
+ Branches
+ 0/0
+
+
+ 100%
+ Functions
+ 1/1
+
+
+ 100%
+ Lines
+ 3/3
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9 1x
+
+1x
+
+
+1x
+
+
+ import { RuntimeException } from "./runtime.exception";
+
+export class UnkownRequestMappingException extends RuntimeException {
+
+ constructor() {
+ super(`RequestMapping not defined in @RequestMapping() annotation!`);
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/index.html b/coverage/index.html
new file mode 100644
index 000000000..f120473d0
--- /dev/null
+++ b/coverage/index.html
@@ -0,0 +1,288 @@
+
+
+
+ Code coverage report for All files
+
+
+
+
+
+
+
+
+
+
+ All files
+
+
+
+ 93.66%
+ Statements
+ 827/883
+
+
+ 63.39%
+ Branches
+ 71/112
+
+
+ 84.73%
+ Functions
+ 222/262
+
+
+ 93.62%
+ Lines
+ 793/847
+
+
+
+
+
+
+
+
+ File
+
+ Statements
+
+ Branches
+
+ Functions
+
+ Lines
+
+
+
+
+ common/enums
+
+ 100%
+ 6/6
+ 100%
+ 2/2
+ 100%
+ 1/1
+ 100%
+ 6/6
+
+
+
+ common/test/utils
+
+ 100%
+ 68/68
+ 100%
+ 0/0
+ 81.25%
+ 13/16
+ 100%
+ 64/64
+
+
+
+ common/utils
+
+ 96.97%
+ 32/33
+ 81.82%
+ 9/11
+ 100%
+ 10/10
+ 96.88%
+ 31/32
+
+
+
+ core
+
+ 100%
+ 32/32
+ 80%
+ 8/10
+ 100%
+ 19/19
+ 100%
+ 27/27
+
+
+
+ core/exceptions
+
+ 100%
+ 12/12
+ 100%
+ 2/2
+ 100%
+ 5/5
+ 100%
+ 12/12
+
+
+
+ core/injector
+
+ 72.63%
+ 69/95
+ 44.74%
+ 17/38
+ 82.86%
+ 29/35
+ 73.4%
+ 69/94
+
+
+
+ core/middlewares
+
+ 82.65%
+ 81/98
+ 75.76%
+ 25/33
+ 79.41%
+ 27/34
+ 82.47%
+ 80/97
+
+
+
+ core/router
+
+ 88.33%
+ 53/60
+ 53.85%
+ 7/13
+ 91.3%
+ 21/23
+ 89.83%
+ 53/59
+
+
+
+ core/test
+
+ 100%
+ 40/40
+ 100%
+ 0/0
+ 100%
+ 8/8
+ 100%
+ 36/36
+
+
+
+ core/test/exceptions
+
+ 100%
+ 23/23
+ 100%
+ 0/0
+ 100%
+ 5/5
+ 100%
+ 23/23
+
+
+
+ core/test/injector
+
+ 100%
+ 113/113
+ 100%
+ 0/0
+ 100%
+ 20/20
+ 100%
+ 106/106
+
+
+
+ core/test/middlewares
+
+ 98.6%
+ 141/143
+ 100%
+ 0/0
+ 68.57%
+ 24/35
+ 98.52%
+ 133/135
+
+
+
+ core/test/router
+
+ 100%
+ 92/92
+ 100%
+ 0/0
+ 77.42%
+ 24/31
+ 100%
+ 89/89
+
+
+
+ errors/exceptions
+
+ 90.32%
+ 28/31
+ 100%
+ 0/0
+ 72.73%
+ 8/11
+ 90.32%
+ 28/31
+
+
+
+ socket/test/utils
+
+ 100%
+ 23/23
+ 100%
+ 0/0
+ 80%
+ 4/5
+ 100%
+ 22/22
+
+
+
+ socket/utils
+
+ 100%
+ 14/14
+ 33.33%
+ 1/3
+ 100%
+ 4/4
+ 100%
+ 14/14
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/coverage/prettify.css b/coverage/prettify.css
new file mode 100644
index 000000000..b317a7cda
--- /dev/null
+++ b/coverage/prettify.css
@@ -0,0 +1 @@
+.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
diff --git a/coverage/prettify.js b/coverage/prettify.js
new file mode 100644
index 000000000..ef51e0386
--- /dev/null
+++ b/coverage/prettify.js
@@ -0,0 +1 @@
+window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
+
+
+