{"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/decorator_utils.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/decorator_utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":103}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":24,"column":19},"end":{"line":24,"column":70}},"25":{"start":{"line":25,"column":11},"end":{"line":25,"column":33}},"26":{"start":{"line":27,"column":4},"end":{"line":27,"column":42}},"27":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"28":{"start":{"line":31,"column":8},"end":{"line":31,"column":64}},"29":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"30":{"start":{"line":36,"column":4},"end":{"line":36,"column":104}},"31":{"start":{"line":38,"column":0},"end":{"line":38,"column":36}},"32":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"33":{"start":{"line":41,"column":8},"end":{"line":41,"column":64}},"34":{"start":{"line":43,"column":4},"end":{"line":43,"column":108}},"35":{"start":{"line":45,"column":0},"end":{"line":45,"column":34}},"36":{"start":{"line":47,"column":20},"end":{"line":47,"column":22}},"37":{"start":{"line":48,"column":4},"end":{"line":57,"column":5}},"38":{"start":{"line":49,"column":8},"end":{"line":49,"column":29}},"39":{"start":{"line":50,"column":24},"end":{"line":50,"column":105}},"40":{"start":{"line":50,"column":87},"end":{"line":50,"column":101}},"41":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"42":{"start":{"line":52,"column":12},"end":{"line":52,"column":89}},"43":{"start":{"line":56,"column":8},"end":{"line":56,"column":31}},"44":{"start":{"line":58,"column":4},"end":{"line":58,"column":21}},"45":{"start":{"line":61,"column":20},"end":{"line":61,"column":60}},"46":{"start":{"line":62,"column":37},"end":{"line":62,"column":39}},"47":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"48":{"start":{"line":64,"column":8},"end":{"line":64,"column":88}},"49":{"start":{"line":66,"column":34},"end":{"line":66,"column":65}},"50":{"start":{"line":67,"column":4},"end":{"line":80,"column":5}},"51":{"start":{"line":68,"column":8},"end":{"line":68,"column":37}},"52":{"start":{"line":71,"column":22},"end":{"line":75,"column":9}},"53":{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},"54":{"start":{"line":72,"column":47},"end":{"line":72,"column":71}},"55":{"start":{"line":73,"column":16},"end":{"line":73,"column":89}},"56":{"start":{"line":76,"column":8},"end":{"line":79,"column":9}},"57":{"start":{"line":76,"column":22},"end":{"line":76,"column":23}},"58":{"start":{"line":76,"column":53},"end":{"line":76,"column":76}},"59":{"start":{"line":77,"column":20},"end":{"line":77,"column":49}},"60":{"start":{"line":78,"column":12},"end":{"line":78,"column":23}},"61":{"start":{"line":81,"column":4},"end":{"line":81,"column":75}},"62":{"start":{"line":82,"column":4},"end":{"line":82,"column":62}},"63":{"start":{"line":83,"column":4},"end":{"line":83,"column":86}},"64":{"start":{"line":86,"column":4},"end":{"line":93,"column":6}},"65":{"start":{"line":87,"column":8},"end":{"line":92,"column":9}},"66":{"start":{"line":88,"column":12},"end":{"line":88,"column":81}},"67":{"start":{"line":91,"column":12},"end":{"line":91,"column":53}},"68":{"start":{"line":95,"column":0},"end":{"line":95,"column":54}},"69":{"start":{"line":97,"column":4},"end":{"line":97,"column":41}},"70":{"start":{"line":100,"column":4},"end":{"line":100,"column":74}},"71":{"start":{"line":100,"column":36},"end":{"line":100,"column":71}},"72":{"start":{"line":103,"column":4},"end":{"line":111,"column":5}},"73":{"start":{"line":104,"column":8},"end":{"line":104,"column":73}},"74":{"start":{"line":106,"column":9},"end":{"line":111,"column":5}},"75":{"start":{"line":107,"column":8},"end":{"line":107,"column":72}},"76":{"start":{"line":110,"column":8},"end":{"line":110,"column":39}},"77":{"start":{"line":113,"column":0},"end":{"line":113,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"targetIsConstructorFunction","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":36}},"loc":{"start":{"line":26,"column":45},"end":{"line":28,"column":1}},"line":26},"7":{"name":"_throwIfMethodParameter","decl":{"start":{"line":29,"column":9},"end":{"line":29,"column":32}},"loc":{"start":{"line":29,"column":48},"end":{"line":33,"column":1}},"line":29},"8":{"name":"tagParameter","decl":{"start":{"line":34,"column":9},"end":{"line":34,"column":21}},"loc":{"start":{"line":34,"column":81},"end":{"line":37,"column":1}},"line":34},"9":{"name":"tagProperty","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":20}},"loc":{"start":{"line":39,"column":63},"end":{"line":44,"column":1}},"line":39},"10":{"name":"_ensureNoMetadataKeyDuplicates","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":39}},"loc":{"start":{"line":46,"column":50},"end":{"line":59,"column":1}},"line":46},"11":{"name":"(anonymous_11)","decl":{"start":{"line":50,"column":71},"end":{"line":50,"column":72}},"loc":{"start":{"line":50,"column":85},"end":{"line":50,"column":103}},"line":50},"12":{"name":"_tagParameterOrProperty","decl":{"start":{"line":60,"column":9},"end":{"line":60,"column":32}},"loc":{"start":{"line":60,"column":79},"end":{"line":84,"column":1}},"line":60},"13":{"name":"(anonymous_13)","decl":{"start":{"line":71,"column":22},"end":{"line":71,"column":23}},"loc":{"start":{"line":71,"column":35},"end":{"line":75,"column":9}},"line":71},"14":{"name":"(anonymous_14)","decl":{"start":{"line":72,"column":31},"end":{"line":72,"column":32}},"loc":{"start":{"line":72,"column":45},"end":{"line":72,"column":73}},"line":72},"15":{"name":"createTaggedDecorator","decl":{"start":{"line":85,"column":9},"end":{"line":85,"column":30}},"loc":{"start":{"line":85,"column":41},"end":{"line":94,"column":1}},"line":85},"16":{"name":"(anonymous_16)","decl":{"start":{"line":86,"column":11},"end":{"line":86,"column":12}},"loc":{"start":{"line":86,"column":67},"end":{"line":93,"column":5}},"line":86},"17":{"name":"_decorate","decl":{"start":{"line":96,"column":9},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":39},"end":{"line":98,"column":1}},"line":96},"18":{"name":"_param","decl":{"start":{"line":99,"column":9},"end":{"line":99,"column":15}},"loc":{"start":{"line":99,"column":39},"end":{"line":101,"column":1}},"line":99},"19":{"name":"(anonymous_19)","decl":{"start":{"line":100,"column":11},"end":{"line":100,"column":12}},"loc":{"start":{"line":100,"column":34},"end":{"line":100,"column":73}},"line":100},"20":{"name":"decorate","decl":{"start":{"line":102,"column":9},"end":{"line":102,"column":17}},"loc":{"start":{"line":102,"column":63},"end":{"line":112,"column":1}},"line":102}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},{"start":{"line":30,"column":4},"end":{"line":32,"column":5}}],"line":30},"13":{"loc":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},{"start":{"line":40,"column":4},"end":{"line":42,"column":5}}],"line":40},"14":{"loc":{"start":{"line":48,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":57,"column":5}},{"start":{"line":48,"column":4},"end":{"line":57,"column":5}}],"line":48},"15":{"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}}],"line":51},"16":{"loc":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},{"start":{"line":63,"column":4},"end":{"line":65,"column":5}}],"line":63},"17":{"loc":{"start":{"line":67,"column":4},"end":{"line":80,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":80,"column":5}},{"start":{"line":67,"column":4},"end":{"line":80,"column":5}}],"line":67},"18":{"loc":{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},"type":"if","locations":[{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},{"start":{"line":72,"column":12},"end":{"line":74,"column":13}}],"line":72},"19":{"loc":{"start":{"line":87,"column":8},"end":{"line":92,"column":9}},"type":"if","locations":[{"start":{"line":87,"column":8},"end":{"line":92,"column":9}},{"start":{"line":87,"column":8},"end":{"line":92,"column":9}}],"line":87},"20":{"loc":{"start":{"line":103,"column":4},"end":{"line":111,"column":5}},"type":"if","locations":[{"start":{"line":103,"column":4},"end":{"line":111,"column":5}},{"start":{"line":103,"column":4},"end":{"line":111,"column":5}}],"line":103},"21":{"loc":{"start":{"line":106,"column":9},"end":{"line":111,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":9},"end":{"line":111,"column":5}},{"start":{"line":106,"column":9},"end":{"line":111,"column":5}}],"line":106}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":35,"27":263,"28":4,"29":263,"30":259,"31":1,"32":35,"33":1,"34":34,"35":1,"36":293,"37":293,"38":3,"39":3,"40":6,"41":3,"42":2,"43":290,"44":291,"45":293,"46":291,"47":291,"48":154,"49":291,"50":291,"51":201,"52":90,"53":96,"54":97,"55":4,"56":90,"57":90,"58":90,"59":96,"60":96,"61":287,"62":287,"63":287,"64":237,"65":237,"66":205,"67":32,"68":1,"69":12,"70":9,"71":9,"72":13,"73":9,"74":4,"75":1,"76":3,"77":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":35,"7":263,"8":263,"9":35,"10":293,"11":6,"12":293,"13":96,"14":97,"15":237,"16":237,"17":12,"18":9,"19":9,"20":13},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0],"12":[4,259],"13":[1,34],"14":[3,290],"15":[2,1],"16":[154,137],"17":[201,90],"18":[4,92],"19":[205,32],"20":[9,4],"21":[1,3]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/decorator_utils.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/decorator_utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAsD;AACtD,uEAA2D;AAE3D,kCAAqD;AAErD,SAAS,2BAA2B,CAAa,MAA0B;IACzE,OAAQ,MAAiC,CAAC,SAAS,KAAK,SAAS,CAAC;AACpE,CAAC;AAgBD,SAAS,uBAAuB,CAAC,aAA0C;IACzE,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;KACzD;AACH,CAAC;AAGD,SAAS,YAAY,CACnB,gBAAiC,EACjC,aAA0C,EAC1C,cAAsB,EACtB,QAA4C;IAE5C,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvC,uBAAuB,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAuC,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7H,CAAC;AA4GkB,oCAAY;AA1G/B,SAAS,WAAW,CAClB,gBAAiC,EACjC,YAA6B,EAC7B,QAA4C;IAE5C,IAAI,2BAA2B,CAAC,gBAAgB,CAAC,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;KACzD;IACD,uBAAuB,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC1G,CAAC;AAiGgC,kCAAW;AA/F5C,SAAS,8BAA8B,CAAC,QAA4C;IAClF,IAAI,SAAS,GAA0B,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,SAAS,GAAG,QAAQ,CAAC;QACrB,IAAM,SAAS,GAAG,IAAA,2BAAsB,EAAC,SAAS,CAAC,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,GAAG,EAAN,CAAM,CAAC,CAAC,CAAC;QACtE,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAI,UAAU,CAAC,mBAAmB,SAAI,SAAS,CAAC,QAAQ,EAAI,CAAC,CAAC;SAC9E;KACF;SAAM;QACL,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;KACxB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAC9B,WAAmB,EACnB,gBAAiC,EACjC,GAAoB,EACpB,QAA4C;IAE5C,IAAM,SAAS,GAA0B,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAElF,IAAI,0BAA0B,GAA+D,EAAE,CAAC;IAEhG,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE;QACzD,0BAA0B,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;KACjF;IAED,IAAI,uBAAuB,GAAsC,0BAA0B,CAAC,GAAa,CAAC,CAAC;IAE3G,IAAI,uBAAuB,KAAK,SAAS,EAAE;QACzC,uBAAuB,GAAG,EAAE,CAAC;KAC9B;SAAM;gCACM,CAAC;YACV,IAAI,SAAS,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,EAAhB,CAAgB,CAAC,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAI,UAAU,CAAC,mBAAmB,SAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAI,CAAC,CAAC;aAC1E;;QAHH,KAAgB,UAAuB,EAAvB,mDAAuB,EAAvB,qCAAuB,EAAvB,IAAuB;YAAlC,IAAM,CAAC,gCAAA;oBAAD,CAAC;SAIX;KACF;IAGD,uBAAuB,CAAC,IAAI,OAA5B,uBAAuB,EAAS,SAAS,EAAE;IAC3C,0BAA0B,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC;IAC1D,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AAEpF,CAAC;AAID,SAAS,qBAAqB,CAC5B,QAA4C;IAE5C,OAAO,UACL,MAAuB,EACvB,SAA2B,EAC3B,yBAA+D;QAE/D,IAAI,OAAO,yBAAyB,KAAK,QAAQ,EAAE;YACjD,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,yBAAyB,EAAE,QAAQ,CAAC,CAAC;SACtE;aAAM;YACL,WAAW,CAAC,MAAM,EAAE,SAA4B,EAAE,QAAQ,CAAC,CAAC;SAC7D;IACH,CAAC,CAAC;AACJ,CAAC;AAgC6C,sDAAqB;AA9BnE,SAAS,SAAS,CAChB,UAAsE,EACtE,MAAuB;IAEvB,OAAO,CAAC,QAAQ,CAAC,UAA8B,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,MAAM,CAAC,UAAkB,EAAE,SAA6B;IAC/D,OAAO,UAAU,MAAc,EAAE,GAAW,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC;AAOD,SAAS,QAAQ,CACf,SAAmE,EACnE,MAAW,EACX,wBAA0C;IAE1C,IAAI,OAAO,wBAAwB,KAAK,QAAQ,EAAE;QAChD,SAAS,CAAC,CAAC,MAAM,CAAC,wBAAwB,EAAE,SAA+B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;KACxF;SAAM,IAAI,OAAO,wBAAwB,KAAK,QAAQ,EAAE;QACvD,OAAO,CAAC,QAAQ,CAAC,CAAC,SAA4B,CAAC,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;KACpF;SAAM;QACL,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;KAChC;AACH,CAAC;AAEQ,4BAAQ","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { getFirstArrayDuplicate } from \"../utils/js\";\n\nfunction targetIsConstructorFunction(target: DecoratorTarget): target is ConstructorFunction {\n return (target as ConstructorFunction).prototype !== undefined;\n}\n\ntype Prototype = {\n [Property in keyof T]:\n T[Property] extends NewableFunction ?\n T[Property] :\n T[Property] | undefined\n} & { constructor: NewableFunction }\n\ninterface ConstructorFunction> {\n new(...args: unknown[]): T,\n prototype: Prototype\n}\n\nexport type DecoratorTarget = ConstructorFunction | Prototype\n\nfunction _throwIfMethodParameter(parameterName: string | symbol | undefined): void {\n if (parameterName !== undefined) {\n throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);\n }\n}\n\n\nfunction tagParameter(\n annotationTarget: DecoratorTarget,\n parameterName: string | symbol | undefined,\n parameterIndex: number,\n metadata: interfaces.MetadataOrMetadataArray\n) {\n _throwIfMethodParameter(parameterName);\n _tagParameterOrProperty(METADATA_KEY.TAGGED, annotationTarget as ConstructorFunction, parameterIndex.toString(), metadata);\n}\n\nfunction tagProperty(\n annotationTarget: DecoratorTarget,\n propertyName: string | symbol,\n metadata: interfaces.MetadataOrMetadataArray\n) {\n if (targetIsConstructorFunction(annotationTarget)) {\n throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);\n }\n _tagParameterOrProperty(METADATA_KEY.TAGGED_PROP, annotationTarget.constructor, propertyName, metadata);\n}\n\nfunction _ensureNoMetadataKeyDuplicates(metadata: interfaces.MetadataOrMetadataArray): interfaces.Metadata[] {\n let metadatas: interfaces.Metadata[] = [];\n if (Array.isArray(metadata)) {\n metadatas = metadata;\n const duplicate = getFirstArrayDuplicate(metadatas.map(md => md.key));\n if (duplicate !== undefined) {\n throw new Error(`${ERROR_MSGS.DUPLICATED_METADATA} ${duplicate.toString()}`);\n }\n } else {\n metadatas = [metadata];\n }\n return metadatas;\n}\n\nfunction _tagParameterOrProperty(\n metadataKey: string,\n annotationTarget: NewableFunction,\n key: string | symbol,\n metadata: interfaces.MetadataOrMetadataArray,\n) {\n const metadatas: interfaces.Metadata[] = _ensureNoMetadataKeyDuplicates(metadata);\n\n let paramsOrPropertiesMetadata: Record = {};\n // read metadata if available\n if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) {\n paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget);\n }\n\n let paramOrPropertyMetadata: interfaces.Metadata[] | undefined = paramsOrPropertiesMetadata[key as string];\n\n if (paramOrPropertyMetadata === undefined) {\n paramOrPropertyMetadata = [];\n } else {\n for (const m of paramOrPropertyMetadata) {\n if (metadatas.some(md => md.key === m.key)) {\n throw new Error(`${ERROR_MSGS.DUPLICATED_METADATA} ${m.key.toString()}`);\n }\n }\n }\n\n // set metadata\n paramOrPropertyMetadata.push(...metadatas);\n paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;\n Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);\n\n}\n\n\n\nfunction createTaggedDecorator(\n metadata: interfaces.MetadataOrMetadataArray,\n) {\n return (\n target: DecoratorTarget,\n targetKey?: string | symbol,\n indexOrPropertyDescriptor?: number | TypedPropertyDescriptor,\n ) => {\n if (typeof indexOrPropertyDescriptor === \"number\") {\n tagParameter(target, targetKey, indexOrPropertyDescriptor, metadata);\n } else {\n tagProperty(target, targetKey as string | symbol, metadata);\n }\n };\n}\n\nfunction _decorate(\n decorators: (DecoratorTarget | ParameterDecorator | MethodDecorator)[],\n target: NewableFunction,\n): void {\n Reflect.decorate(decorators as ClassDecorator[], target);\n}\n\nfunction _param(paramIndex: number, decorator: ParameterDecorator) {\n return function (target: string, key: string) { decorator(target, key, paramIndex); };\n}\n\n// Allows VanillaJS developers to use decorators:\n// decorate(injectable(), FooBar);\n// decorate(targetName(\"foo\", \"bar\"), FooBar);\n// decorate(named(\"foo\"), FooBar, 0);\n// decorate(tagged(\"bar\"), FooBar, 1);\nfunction decorate(\n decorator: (DecoratorTarget | ParameterDecorator | MethodDecorator),\n target: any,\n parameterIndexOrProperty?: number | string): void {\n\n if (typeof parameterIndexOrProperty === \"number\") {\n _decorate([_param(parameterIndexOrProperty, decorator as ParameterDecorator)], target);\n } else if (typeof parameterIndexOrProperty === \"string\") {\n Reflect.decorate([decorator as MethodDecorator], target, parameterIndexOrProperty);\n } else {\n _decorate([decorator], target);\n }\n}\n\nexport { decorate, tagParameter, tagProperty, createTaggedDecorator };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"380ae3f7aed76866ee848e8c9556bbbedcba9cd2","contentHash":"8bd1cef08ae1ee59fdbd8eae05ea978137e54996f266313480894d3cf1c5bed6"},"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/error_msgs.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/error_msgs.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":1116}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":95}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":85}},"4":{"start":{"line":6,"column":0},"end":{"line":6,"column":40}},"5":{"start":{"line":7,"column":0},"end":{"line":7,"column":40}},"6":{"start":{"line":8,"column":0},"end":{"line":8,"column":73}},"7":{"start":{"line":9,"column":0},"end":{"line":9,"column":62}},"8":{"start":{"line":10,"column":0},"end":{"line":10,"column":77}},"9":{"start":{"line":11,"column":0},"end":{"line":11,"column":86}},"10":{"start":{"line":12,"column":0},"end":{"line":12,"column":94}},"11":{"start":{"line":13,"column":34},"end":{"line":17,"column":1}},"12":{"start":{"line":14,"column":4},"end":{"line":16,"column":36}},"13":{"start":{"line":18,"column":0},"end":{"line":18,"column":66}},"14":{"start":{"line":19,"column":0},"end":{"line":19,"column":59}},"15":{"start":{"line":20,"column":0},"end":{"line":20,"column":78}},"16":{"start":{"line":21,"column":0},"end":{"line":21,"column":55}},"17":{"start":{"line":22,"column":0},"end":{"line":22,"column":74}},"18":{"start":{"line":23,"column":0},"end":{"line":23,"column":97}},"19":{"start":{"line":24,"column":0},"end":{"line":24,"column":92}},"20":{"start":{"line":25,"column":19},"end":{"line":25,"column":154}},"21":{"start":{"line":25,"column":36},"end":{"line":25,"column":152}},"22":{"start":{"line":26,"column":0},"end":{"line":26,"column":36}},"23":{"start":{"line":27,"column":0},"end":{"line":28,"column":33}},"24":{"start":{"line":29,"column":0},"end":{"line":30,"column":84}},"25":{"start":{"line":31,"column":32},"end":{"line":38,"column":1}},"26":{"start":{"line":32,"column":17},"end":{"line":32,"column":19}},"27":{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},"28":{"start":{"line":33,"column":18},"end":{"line":33,"column":19}},"29":{"start":{"line":34,"column":8},"end":{"line":34,"column":35}},"30":{"start":{"line":36,"column":4},"end":{"line":37,"column":96}},"31":{"start":{"line":39,"column":0},"end":{"line":39,"column":62}},"32":{"start":{"line":40,"column":0},"end":{"line":41,"column":25}},"33":{"start":{"line":42,"column":0},"end":{"line":43,"column":48}},"34":{"start":{"line":44,"column":0},"end":{"line":45,"column":19}},"35":{"start":{"line":46,"column":0},"end":{"line":47,"column":19}},"36":{"start":{"line":48,"column":0},"end":{"line":48,"column":109}},"37":{"start":{"line":49,"column":0},"end":{"line":49,"column":115}},"38":{"start":{"line":50,"column":0},"end":{"line":50,"column":128}},"39":{"start":{"line":51,"column":27},"end":{"line":51,"column":132}},"40":{"start":{"line":51,"column":60},"end":{"line":51,"column":130}},"41":{"start":{"line":52,"column":0},"end":{"line":52,"column":52}},"42":{"start":{"line":53,"column":24},"end":{"line":53,"column":126}},"43":{"start":{"line":53,"column":57},"end":{"line":53,"column":124}},"44":{"start":{"line":54,"column":0},"end":{"line":54,"column":46}},"45":{"start":{"line":55,"column":28},"end":{"line":55,"column":135}},"46":{"start":{"line":55,"column":61},"end":{"line":55,"column":133}},"47":{"start":{"line":56,"column":0},"end":{"line":56,"column":54}},"48":{"start":{"line":57,"column":37},"end":{"line":60,"column":1}},"49":{"start":{"line":58,"column":4},"end":{"line":59,"column":60}},"50":{"start":{"line":61,"column":0},"end":{"line":61,"column":72}},"51":{"start":{"line":62,"column":0},"end":{"line":62,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":34},"end":{"line":13,"column":35}},"loc":{"start":{"line":13,"column":50},"end":{"line":17,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":19},"end":{"line":25,"column":20}},"loc":{"start":{"line":25,"column":34},"end":{"line":25,"column":154}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":32},"end":{"line":31,"column":33}},"loc":{"start":{"line":31,"column":44},"end":{"line":38,"column":1}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":27},"end":{"line":51,"column":28}},"loc":{"start":{"line":51,"column":58},"end":{"line":51,"column":132}},"line":51},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":24},"end":{"line":53,"column":25}},"loc":{"start":{"line":53,"column":55},"end":{"line":53,"column":126}},"line":53},"5":{"name":"(anonymous_5)","decl":{"start":{"line":55,"column":28},"end":{"line":55,"column":29}},"loc":{"start":{"line":55,"column":59},"end":{"line":55,"column":135}},"line":55},"6":{"name":"(anonymous_6)","decl":{"start":{"line":57,"column":37},"end":{"line":57,"column":38}},"loc":{"start":{"line":57,"column":79},"end":{"line":60,"column":1}},"line":57}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":6,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":5,"22":1,"23":1,"24":1,"25":1,"26":2,"27":2,"28":2,"29":2,"30":2,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":2,"41":1,"42":1,"43":2,"44":1,"45":1,"46":6,"47":1,"48":1,"49":5,"50":1,"51":1},"f":{"0":6,"1":5,"2":2,"3":2,"4":2,"5":6,"6":5},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/error_msgs.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/constants/error_msgs.ts"],"names":[],"mappings":";;;AAAa,QAAA,+BAA+B,GAAG,oDAAoD,CAAC;AACvF,QAAA,mBAAmB,GAAG,sDAAsD,CAAC;AAC7E,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,eAAe,GAAG,8CAA8C,CAAC;AACjE,QAAA,aAAa,GAAG,qCAAqC,CAAC;AACtD,QAAA,cAAc,GAAG,mDAAmD,CAAC;AACrE,QAAA,6BAA6B,GAAG,6CAA6C,CAAC;AAC9E,QAAA,yBAAyB,GAAG,yDAAyD,CAAC;AAC5F,IAAM,2BAA2B,GAAG,UAAC,IAAY;IACtD,OAAA,kEAAgE,IAAI,UAAO;QAC3E,wEAAwE;QACxE,2BAA2B;AAF3B,CAE2B,CAAC;AAHjB,QAAA,2BAA2B,+BAGV;AACjB,QAAA,mBAAmB,GAAG,4BAA4B,CAAC;AACnD,QAAA,eAAe,GAAG,mDAAmD,CAAC;AACtE,QAAA,oBAAoB,GAAG,uBAAuB,CAAC;AAC/C,QAAA,2BAA2B,GAAG,mCAAmC,CAAC;AAClE,QAAA,yBAAyB,GAAG,4DAA4D,CAAC;AACzF,QAAA,wBAAwB,GAAG,wDAAwD,CAAC;AAC1F,IAAM,YAAY,GAAG,UAAC,GAAY,IAAK,OAAA,sCAAoC,GAAG,mEAC9C,EADO,CACP,CAAC;AAD3B,QAAA,YAAY,gBACe;AAE3B,QAAA,qBAAqB,GAAG,gEAAgE;IACnG,4BAA4B,CAAC;AAElB,QAAA,2BAA2B,GAAG,yDAAyD;IAClG,+EAA+E,CAAC;AAE3E,IAAM,yBAAyB,GAAG;IAAC,gBAAoB;SAApB,UAAoB,EAApB,qBAAoB,EAApB,IAAoB;QAApB,2BAAoB;;IAAK,OAAA,2DAA2D;SACzH,MAAM,CAAC,CAAC,CAAC,4EAAyE,CAAA;AADpB,CACoB,CAAC;AAD3E,QAAA,yBAAyB,6BACkD;AAE3E,QAAA,mCAAmC,GAAG,4DAA4D;IAC7G,oBAAoB,CAAC;AAEV,QAAA,uCAAuC,GAAG,+CAA+C;IACpG,2CAA2C,CAAC;AAEjC,QAAA,8CAA8C,GAAG,sDAAsD;IAClH,cAAc,CAAC;AAEJ,QAAA,yCAAyC,GAAG,iDAAiD;IACxG,cAAc,CAAC;AAEJ,QAAA,4BAA4B,GAAG,qEAAqE,CAAC;AACrG,QAAA,+BAA+B,GAAG,wEAAwE,CAAC;AAC3G,QAAA,qBAAqB,GAAG,+FAA+F,CAAC;AAC9H,IAAM,oBAAoB,GAAG,UAAC,KAAa,EAAE,YAAoB,IAAK,OAAA,mCAAiC,KAAK,UAAK,YAAc,EAAzD,CAAyD,CAAC;AAA1H,QAAA,oBAAoB,wBAAsG;AAChI,IAAM,iBAAiB,GAAG,UAAC,KAAa,EAAE,YAAoB,IAAK,OAAA,gCAA8B,KAAK,UAAK,YAAc,EAAtD,CAAsD,CAAC;AAApH,QAAA,iBAAiB,qBAAmG;AAC1H,IAAM,qBAAqB,GAAG,UAAC,KAAa,EAAE,YAAoB,IAAK,OAAA,qCAAmC,KAAK,UAAK,YAAc,EAA3D,CAA2D,CAAC;AAA7H,QAAA,qBAAqB,yBAAwG;AAEnI,IAAM,8BAA8B,GAAG,UAAC,WAAmB,EAAE,iBAAyB;IAC3F,OAAA,iEAA+D,WAAW,iDAA8C;SACxH,yBAAuB,iBAAiB,OAAI,CAAA;AAD5C,CAC4C,CAAC;AAFlC,QAAA,8BAA8B,kCAEI;AAElC,QAAA,cAAc,GAAG,kCAAkC,CAAC","sourcesContent":["export const DUPLICATED_INJECTABLE_DECORATOR = \"Cannot apply @injectable decorator multiple times.\";\nexport const DUPLICATED_METADATA = \"Metadata key was used more than once in a parameter:\";\nexport const NULL_ARGUMENT = \"NULL argument\";\nexport const KEY_NOT_FOUND = \"Key Not Found\";\nexport const AMBIGUOUS_MATCH = \"Ambiguous match found for serviceIdentifier:\";\nexport const CANNOT_UNBIND = \"Could not unbind serviceIdentifier:\";\nexport const NOT_REGISTERED = \"No matching bindings found for serviceIdentifier:\";\nexport const MISSING_INJECTABLE_ANNOTATION = \"Missing required @injectable annotation in:\";\nexport const MISSING_INJECT_ANNOTATION = \"Missing required @inject or @multiInject annotation in:\";\nexport const UNDEFINED_INJECT_ANNOTATION = (name: string) =>\n `@inject called with undefined this could mean that the class ${name} has ` +\n \"a circular dependency problem. You can use a LazyServiceIdentifer to \" +\n \"overcome this limitation.\";\nexport const CIRCULAR_DEPENDENCY = \"Circular dependency found:\";\nexport const NOT_IMPLEMENTED = \"Sorry, this feature is not fully implemented yet.\";\nexport const INVALID_BINDING_TYPE = \"Invalid binding type:\";\nexport const NO_MORE_SNAPSHOTS_AVAILABLE = \"No snapshot available to restore.\";\nexport const INVALID_MIDDLEWARE_RETURN = \"Invalid return type in middleware. Middleware must return!\";\nexport const INVALID_FUNCTION_BINDING = \"Value provided to function binding must be a function!\";\nexport const LAZY_IN_SYNC = (key: unknown) => `You are attempting to construct '${key}' in a synchronous way\n but it has asynchronous dependencies.`;\n\nexport const INVALID_TO_SELF_VALUE = \"The toSelf function can only be applied when a constructor is \" +\n \"used as service identifier\";\n\nexport const INVALID_DECORATOR_OPERATION = \"The @inject @multiInject @tagged and @named decorators \" +\n \"must be applied to the parameters of a class constructor or a class property.\";\n\nexport const ARGUMENTS_LENGTH_MISMATCH = (...values: unknown[]) => \"The number of constructor arguments in the derived class \" +\n `${values[0]} must be >= than the number of constructor arguments of its base class.`;\n\nexport const CONTAINER_OPTIONS_MUST_BE_AN_OBJECT = \"Invalid Container constructor argument. Container options \" +\n \"must be an object.\";\n\nexport const CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE = \"Invalid Container option. Default scope must \" +\n \"be a string ('singleton' or 'transient').\";\n\nexport const CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE = \"Invalid Container option. Auto bind injectable must \" +\n \"be a boolean\";\n\nexport const CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK = \"Invalid Container option. Skip base check must \" +\n \"be a boolean\";\n\nexport const MULTIPLE_PRE_DESTROY_METHODS = \"Cannot apply @preDestroy decorator multiple times in the same class\";\nexport const MULTIPLE_POST_CONSTRUCT_METHODS = \"Cannot apply @postConstruct decorator multiple times in the same class\";\nexport const ASYNC_UNBIND_REQUIRED = \"Attempting to unbind dependency with asynchronous destruction (@preDestroy or onDeactivation)\";\nexport const POST_CONSTRUCT_ERROR = (clazz: string, errorMessage: string) => `@postConstruct error in class ${clazz}: ${errorMessage}`;\nexport const PRE_DESTROY_ERROR = (clazz: string, errorMessage: string) => `@preDestroy error in class ${clazz}: ${errorMessage}`;\nexport const ON_DEACTIVATION_ERROR = (clazz: string, errorMessage: string) => `onDeactivation() error in class ${clazz}: ${errorMessage}`;\n\nexport const CIRCULAR_DEPENDENCY_IN_FACTORY = (factoryType: string, serviceIdentifier: string) =>\n `It looks like there is a circular dependency in one of the '${factoryType}' bindings. Please investigate bindings with` +\n `service identifier '${serviceIdentifier}'.`;\n\nexport const STACK_OVERFLOW = \"Maximum call stack size exceeded\";\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"baa5f550144b01b5bb6efe44ae96b2f562935491","contentHash":"9a20776f47b7a3c929f0c38233efb4cee5f42b8457c974f2f50bd672e5d8f31d"},"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/metadata_keys.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/metadata_keys.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":308}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":28}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":26}},"4":{"start":{"line":6,"column":0},"end":{"line":6,"column":36}},"5":{"start":{"line":7,"column":0},"end":{"line":7,"column":34}},"6":{"start":{"line":8,"column":0},"end":{"line":8,"column":30}},"7":{"start":{"line":9,"column":0},"end":{"line":9,"column":42}},"8":{"start":{"line":10,"column":0},"end":{"line":10,"column":36}},"9":{"start":{"line":11,"column":0},"end":{"line":11,"column":47}},"10":{"start":{"line":12,"column":0},"end":{"line":12,"column":45}},"11":{"start":{"line":13,"column":0},"end":{"line":13,"column":49}},"12":{"start":{"line":14,"column":0},"end":{"line":14,"column":42}},"13":{"start":{"line":15,"column":0},"end":{"line":15,"column":36}},"14":{"start":{"line":17,"column":4},"end":{"line":24,"column":6}},"15":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}}},"fnMap":{"0":{"name":"getNonCustomTagKeys","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":28}},"loc":{"start":{"line":16,"column":31},"end":{"line":25,"column":1}},"line":16}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1},"f":{"0":1},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/metadata_keys.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/constants/metadata_keys.ts"],"names":[],"mappings":";;;AACa,QAAA,SAAS,GAAG,OAAO,CAAC;AAGpB,QAAA,QAAQ,GAAG,MAAM,CAAC;AAGlB,QAAA,aAAa,GAAG,WAAW,CAAC;AAG5B,QAAA,YAAY,GAAG,UAAU,CAAC;AAG1B,QAAA,UAAU,GAAG,QAAQ,CAAC;AAGtB,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAGlC,QAAA,MAAM,GAAG,kBAAkB,CAAC;AAG5B,QAAA,WAAW,GAAG,wBAAwB,CAAC;AAGvC,QAAA,WAAW,GAAG,sBAAsB,CAAC;AAGrC,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AAGzC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAGlC,QAAA,WAAW,GAAG,aAAa,CAAC;AAEzC,SAAS,mBAAmB;IAC1B,OAAO;QACL,kBAAU;QACV,wBAAgB;QAChB,gBAAQ;QACR,qBAAa;QACb,iBAAS;QACT,oBAAY;KACb,CAAC;AACJ,CAAC;AAEY,QAAA,mBAAmB,GAAa,mBAAmB,EAAE,CAAC","sourcesContent":["// Used for named bindings\nexport const NAMED_TAG = \"named\";\n\n// The name of the target at design time\nexport const NAME_TAG = \"name\";\n\n// The for unmanaged injections (in base classes when using inheritance)\nexport const UNMANAGED_TAG = \"unmanaged\";\n\n// The for optional injections\nexport const OPTIONAL_TAG = \"optional\";\n\n// The type of the binding at design time\nexport const INJECT_TAG = \"inject\";\n\n// The type of the binding at design type for multi-injections\nexport const MULTI_INJECT_TAG = \"multi_inject\";\n\n// used to store constructor arguments tags\nexport const TAGGED = \"inversify:tagged\";\n\n// used to store class properties tags\nexport const TAGGED_PROP = \"inversify:tagged_props\";\n\n// used to store types to be injected\nexport const PARAM_TYPES = \"inversify:paramtypes\";\n\n// used to access design time types\nexport const DESIGN_PARAM_TYPES = \"design:paramtypes\";\n\n// used to identify postConstruct functions\nexport const POST_CONSTRUCT = \"post_construct\";\n\n// used to identify preDestroy functions\nexport const PRE_DESTROY = \"pre_destroy\";\n\nfunction getNonCustomTagKeys(): string[] {\n return [\n INJECT_TAG,\n MULTI_INJECT_TAG,\n NAME_TAG,\n UNMANAGED_TAG,\n NAMED_TAG,\n OPTIONAL_TAG,\n ];\n}\n\nexport const NON_CUSTOM_TAG_KEYS: string[] = getNonCustomTagKeys();\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"2106fa753df2c658da18f2811bdf9446d36fe6c4","contentHash":"7595c2dda9a9890ede6c1cc0507aadced1e5cfa446d26a4759de948008ecebfc"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/js.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/js.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"2":{"start":{"line":5,"column":21},"end":{"line":5,"column":30}},"3":{"start":{"line":6,"column":4},"end":{"line":14,"column":5}},"4":{"start":{"line":6,"column":18},"end":{"line":6,"column":19}},"5":{"start":{"line":6,"column":31},"end":{"line":6,"column":36}},"6":{"start":{"line":7,"column":20},"end":{"line":7,"column":31}},"7":{"start":{"line":8,"column":8},"end":{"line":13,"column":9}},"8":{"start":{"line":9,"column":12},"end":{"line":9,"column":25}},"9":{"start":{"line":12,"column":12},"end":{"line":12,"column":34}},"10":{"start":{"line":15,"column":4},"end":{"line":15,"column":21}},"11":{"start":{"line":17,"column":0},"end":{"line":17,"column":56}}},"fnMap":{"0":{"name":"getFirstArrayDuplicate","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":31}},"loc":{"start":{"line":4,"column":39},"end":{"line":16,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":8},"end":{"line":13,"column":9}},"type":"if","locations":[{"start":{"line":8,"column":8},"end":{"line":13,"column":9}},{"start":{"line":8,"column":8},"end":{"line":13,"column":9}}],"line":8}},"s":{"0":1,"1":1,"2":3,"3":3,"4":3,"5":3,"6":6,"7":6,"8":2,"9":4,"10":1,"11":1},"f":{"0":3},"b":{"0":[2,4]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/js.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/utils/js.ts"],"names":[],"mappings":";;;AAAA,SAAgB,sBAAsB,CAAI,KAAU;IAClD,IAAM,UAAU,GAAG,IAAI,GAAG,EAAK,CAAA;IAE/B,KAAoB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;QAAtB,IAAM,KAAK,cAAA;QACd,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACvB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,wDAWC","sourcesContent":["export function getFirstArrayDuplicate(array: T[]): T | undefined {\n const seenValues = new Set()\n\n for (const entry of array) {\n if (seenValues.has(entry)) {\n return entry;\n } else {\n seenValues.add(entry);\n }\n }\n return undefined;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7b60f08a57f875e82c6a28fd0900d34ed0093a3b","contentHash":"ffa50f171b985c5a9ffeaa718eb94f465f8f95641cccbcceffe6a90d0a59905a"},"/Users/dan/jsProjects/inversify/InversifyJS/src/inversify.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/inversify.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":699}},"23":{"start":{"line":23,"column":11},"end":{"line":23,"column":61}},"24":{"start":{"line":24,"column":0},"end":{"line":24,"column":28}},"25":{"start":{"line":25,"column":18},"end":{"line":25,"column":50}},"26":{"start":{"line":26,"column":0},"end":{"line":26,"column":118}},"27":{"start":{"line":26,"column":83},"end":{"line":26,"column":112}},"28":{"start":{"line":27,"column":22},"end":{"line":27,"column":58}},"29":{"start":{"line":28,"column":0},"end":{"line":28,"column":136}},"30":{"start":{"line":28,"column":90},"end":{"line":28,"column":130}},"31":{"start":{"line":29,"column":0},"end":{"line":29,"column":134}},"32":{"start":{"line":29,"column":89},"end":{"line":29,"column":128}},"33":{"start":{"line":30,"column":0},"end":{"line":30,"column":132}},"34":{"start":{"line":30,"column":88},"end":{"line":30,"column":126}},"35":{"start":{"line":31,"column":25},"end":{"line":31,"column":64}},"36":{"start":{"line":32,"column":0},"end":{"line":32,"column":147}},"37":{"start":{"line":32,"column":94},"end":{"line":32,"column":141}},"38":{"start":{"line":33,"column":0},"end":{"line":33,"column":137}},"39":{"start":{"line":33,"column":89},"end":{"line":33,"column":131}},"40":{"start":{"line":34,"column":24},"end":{"line":34,"column":63}},"41":{"start":{"line":35,"column":0},"end":{"line":35,"column":148}},"42":{"start":{"line":35,"column":95},"end":{"line":35,"column":142}},"43":{"start":{"line":36,"column":19},"end":{"line":36,"column":53}},"44":{"start":{"line":37,"column":0},"end":{"line":37,"column":121}},"45":{"start":{"line":37,"column":84},"end":{"line":37,"column":115}},"46":{"start":{"line":38,"column":15},"end":{"line":38,"column":45}},"47":{"start":{"line":39,"column":0},"end":{"line":39,"column":109}},"48":{"start":{"line":39,"column":80},"end":{"line":39,"column":103}},"49":{"start":{"line":40,"column":14},"end":{"line":40,"column":43}},"50":{"start":{"line":41,"column":0},"end":{"line":41,"column":106}},"51":{"start":{"line":41,"column":79},"end":{"line":41,"column":100}},"52":{"start":{"line":42,"column":15},"end":{"line":42,"column":45}},"53":{"start":{"line":43,"column":0},"end":{"line":43,"column":109}},"54":{"start":{"line":43,"column":80},"end":{"line":43,"column":103}},"55":{"start":{"line":44,"column":32},"end":{"line":44,"column":79}},"56":{"start":{"line":45,"column":0},"end":{"line":45,"column":154}},"57":{"start":{"line":45,"column":94},"end":{"line":45,"column":148}},"58":{"start":{"line":46,"column":17},"end":{"line":46,"column":49}},"59":{"start":{"line":47,"column":0},"end":{"line":47,"column":115}},"60":{"start":{"line":47,"column":82},"end":{"line":47,"column":109}},"61":{"start":{"line":48,"column":18},"end":{"line":48,"column":51}},"62":{"start":{"line":49,"column":0},"end":{"line":49,"column":118}},"63":{"start":{"line":49,"column":83},"end":{"line":49,"column":112}},"64":{"start":{"line":50,"column":21},"end":{"line":50,"column":57}},"65":{"start":{"line":51,"column":0},"end":{"line":51,"column":125}},"66":{"start":{"line":51,"column":85},"end":{"line":51,"column":119}},"67":{"start":{"line":52,"column":20},"end":{"line":52,"column":55}},"68":{"start":{"line":53,"column":0},"end":{"line":53,"column":122}},"69":{"start":{"line":53,"column":84},"end":{"line":53,"column":116}},"70":{"start":{"line":54,"column":23},"end":{"line":54,"column":61}},"71":{"start":{"line":55,"column":0},"end":{"line":55,"column":131}},"72":{"start":{"line":55,"column":87},"end":{"line":55,"column":125}},"73":{"start":{"line":56,"column":20},"end":{"line":56,"column":55}},"74":{"start":{"line":57,"column":0},"end":{"line":57,"column":122}},"75":{"start":{"line":57,"column":84},"end":{"line":57,"column":116}},"76":{"start":{"line":58,"column":24},"end":{"line":58,"column":61}},"77":{"start":{"line":59,"column":0},"end":{"line":59,"column":134}},"78":{"start":{"line":59,"column":88},"end":{"line":59,"column":128}},"79":{"start":{"line":60,"column":11},"end":{"line":60,"column":32}},"80":{"start":{"line":61,"column":0},"end":{"line":61,"column":97}},"81":{"start":{"line":61,"column":76},"end":{"line":61,"column":91}},"82":{"start":{"line":62,"column":19},"end":{"line":62,"column":53}},"83":{"start":{"line":63,"column":0},"end":{"line":63,"column":121}},"84":{"start":{"line":63,"column":84},"end":{"line":63,"column":115}},"85":{"start":{"line":64,"column":24},"end":{"line":64,"column":63}},"86":{"start":{"line":65,"column":0},"end":{"line":65,"column":122}},"87":{"start":{"line":65,"column":82},"end":{"line":65,"column":116}},"88":{"start":{"line":66,"column":27},"end":{"line":66,"column":65}},"89":{"start":{"line":67,"column":0},"end":{"line":67,"column":145}},"90":{"start":{"line":67,"column":92},"end":{"line":67,"column":139}},"91":{"start":{"line":68,"column":0},"end":{"line":68,"column":141}},"92":{"start":{"line":68,"column":90},"end":{"line":68,"column":135}},"93":{"start":{"line":69,"column":0},"end":{"line":69,"column":139}},"94":{"start":{"line":69,"column":89},"end":{"line":69,"column":133}},"95":{"start":{"line":70,"column":0},"end":{"line":70,"column":137}},"96":{"start":{"line":70,"column":88},"end":{"line":70,"column":131}},"97":{"start":{"line":71,"column":22},"end":{"line":71,"column":54}},"98":{"start":{"line":72,"column":0},"end":{"line":72,"column":160}},"99":{"start":{"line":72,"column":102},"end":{"line":72,"column":154}},"100":{"start":{"line":73,"column":22},"end":{"line":73,"column":54}},"101":{"start":{"line":74,"column":0},"end":{"line":74,"column":140}},"102":{"start":{"line":74,"column":92},"end":{"line":74,"column":134}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":26,"column":69},"end":{"line":26,"column":70}},"loc":{"start":{"line":26,"column":81},"end":{"line":26,"column":114}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":28,"column":76},"end":{"line":28,"column":77}},"loc":{"start":{"line":28,"column":88},"end":{"line":28,"column":132}},"line":28},"8":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":75},"end":{"line":29,"column":76}},"loc":{"start":{"line":29,"column":87},"end":{"line":29,"column":130}},"line":29},"9":{"name":"(anonymous_9)","decl":{"start":{"line":30,"column":74},"end":{"line":30,"column":75}},"loc":{"start":{"line":30,"column":86},"end":{"line":30,"column":128}},"line":30},"10":{"name":"(anonymous_10)","decl":{"start":{"line":32,"column":80},"end":{"line":32,"column":81}},"loc":{"start":{"line":32,"column":92},"end":{"line":32,"column":143}},"line":32},"11":{"name":"(anonymous_11)","decl":{"start":{"line":33,"column":75},"end":{"line":33,"column":76}},"loc":{"start":{"line":33,"column":87},"end":{"line":33,"column":133}},"line":33},"12":{"name":"(anonymous_12)","decl":{"start":{"line":35,"column":81},"end":{"line":35,"column":82}},"loc":{"start":{"line":35,"column":93},"end":{"line":35,"column":144}},"line":35},"13":{"name":"(anonymous_13)","decl":{"start":{"line":37,"column":70},"end":{"line":37,"column":71}},"loc":{"start":{"line":37,"column":82},"end":{"line":37,"column":117}},"line":37},"14":{"name":"(anonymous_14)","decl":{"start":{"line":39,"column":66},"end":{"line":39,"column":67}},"loc":{"start":{"line":39,"column":78},"end":{"line":39,"column":105}},"line":39},"15":{"name":"(anonymous_15)","decl":{"start":{"line":41,"column":65},"end":{"line":41,"column":66}},"loc":{"start":{"line":41,"column":77},"end":{"line":41,"column":102}},"line":41},"16":{"name":"(anonymous_16)","decl":{"start":{"line":43,"column":66},"end":{"line":43,"column":67}},"loc":{"start":{"line":43,"column":78},"end":{"line":43,"column":105}},"line":43},"17":{"name":"(anonymous_17)","decl":{"start":{"line":45,"column":80},"end":{"line":45,"column":81}},"loc":{"start":{"line":45,"column":92},"end":{"line":45,"column":150}},"line":45},"18":{"name":"(anonymous_18)","decl":{"start":{"line":47,"column":68},"end":{"line":47,"column":69}},"loc":{"start":{"line":47,"column":80},"end":{"line":47,"column":111}},"line":47},"19":{"name":"(anonymous_19)","decl":{"start":{"line":49,"column":69},"end":{"line":49,"column":70}},"loc":{"start":{"line":49,"column":81},"end":{"line":49,"column":114}},"line":49},"20":{"name":"(anonymous_20)","decl":{"start":{"line":51,"column":71},"end":{"line":51,"column":72}},"loc":{"start":{"line":51,"column":83},"end":{"line":51,"column":121}},"line":51},"21":{"name":"(anonymous_21)","decl":{"start":{"line":53,"column":70},"end":{"line":53,"column":71}},"loc":{"start":{"line":53,"column":82},"end":{"line":53,"column":118}},"line":53},"22":{"name":"(anonymous_22)","decl":{"start":{"line":55,"column":73},"end":{"line":55,"column":74}},"loc":{"start":{"line":55,"column":85},"end":{"line":55,"column":127}},"line":55},"23":{"name":"(anonymous_23)","decl":{"start":{"line":57,"column":70},"end":{"line":57,"column":71}},"loc":{"start":{"line":57,"column":82},"end":{"line":57,"column":118}},"line":57},"24":{"name":"(anonymous_24)","decl":{"start":{"line":59,"column":74},"end":{"line":59,"column":75}},"loc":{"start":{"line":59,"column":86},"end":{"line":59,"column":130}},"line":59},"25":{"name":"(anonymous_25)","decl":{"start":{"line":61,"column":62},"end":{"line":61,"column":63}},"loc":{"start":{"line":61,"column":74},"end":{"line":61,"column":93}},"line":61},"26":{"name":"(anonymous_26)","decl":{"start":{"line":63,"column":70},"end":{"line":63,"column":71}},"loc":{"start":{"line":63,"column":82},"end":{"line":63,"column":117}},"line":63},"27":{"name":"(anonymous_27)","decl":{"start":{"line":65,"column":68},"end":{"line":65,"column":69}},"loc":{"start":{"line":65,"column":80},"end":{"line":65,"column":118}},"line":65},"28":{"name":"(anonymous_28)","decl":{"start":{"line":67,"column":78},"end":{"line":67,"column":79}},"loc":{"start":{"line":67,"column":90},"end":{"line":67,"column":141}},"line":67},"29":{"name":"(anonymous_29)","decl":{"start":{"line":68,"column":76},"end":{"line":68,"column":77}},"loc":{"start":{"line":68,"column":88},"end":{"line":68,"column":137}},"line":68},"30":{"name":"(anonymous_30)","decl":{"start":{"line":69,"column":75},"end":{"line":69,"column":76}},"loc":{"start":{"line":69,"column":87},"end":{"line":69,"column":135}},"line":69},"31":{"name":"(anonymous_31)","decl":{"start":{"line":70,"column":74},"end":{"line":70,"column":75}},"loc":{"start":{"line":70,"column":86},"end":{"line":70,"column":133}},"line":70},"32":{"name":"(anonymous_32)","decl":{"start":{"line":72,"column":88},"end":{"line":72,"column":89}},"loc":{"start":{"line":72,"column":100},"end":{"line":72,"column":156}},"line":72},"33":{"name":"(anonymous_33)","decl":{"start":{"line":74,"column":78},"end":{"line":74,"column":79}},"loc":{"start":{"line":74,"column":90},"end":{"line":74,"column":136}},"line":74}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":78,"28":1,"29":1,"30":4661,"31":1,"32":0,"33":1,"34":0,"35":1,"36":1,"37":0,"38":1,"39":0,"40":1,"41":1,"42":0,"43":1,"44":1,"45":144,"46":1,"47":1,"48":9,"49":1,"50":1,"51":16,"52":1,"53":1,"54":68,"55":1,"56":1,"57":0,"58":1,"59":1,"60":6,"61":1,"62":1,"63":6,"64":1,"65":1,"66":4,"67":1,"68":1,"69":1,"70":1,"71":1,"72":0,"73":1,"74":1,"75":0,"76":1,"77":1,"78":1,"79":1,"80":1,"81":0,"82":1,"83":1,"84":0,"85":1,"86":1,"87":4,"88":1,"89":1,"90":0,"91":1,"92":0,"93":1,"94":0,"95":1,"96":0,"97":1,"98":1,"99":2,"100":1,"101":1,"102":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":78,"7":4661,"8":0,"9":0,"10":0,"11":0,"12":0,"13":144,"14":9,"15":16,"16":68,"17":0,"18":6,"19":6,"20":4,"21":1,"22":0,"23":0,"24":1,"25":0,"26":0,"27":4,"28":0,"29":0,"30":0,"31":0,"32":2,"33":1},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/inversify.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/inversify.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAkD;AACrC,QAAA,YAAY,GAAG,IAAI,CAAC;AACjC,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAClB,2DAA8F;AAArF,iHAAA,gBAAgB,OAAA;AAAE,gHAAA,eAAe,OAAA;AAAE,+GAAA,cAAc,OAAA;AAC1D,iEAAqF;AAA5E,wHAAA,oBAAoB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAC9C,gEAAoE;AAA3D,wHAAA,qBAAqB,OAAA;AAC9B,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,4CAA2C;AAAlC,8FAAA,KAAK,OAAA;AACd,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,gFAA2E;AAAlE,+HAAA,oBAAoB,OAAA;AAC7B,kDAAiD;AAAxC,oGAAA,QAAQ,OAAA;AACjB,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,0DAAwD;AAA/C,2GAAA,WAAW,OAAA;AACpB,wDAAsD;AAA7C,yGAAA,UAAU,OAAA;AACnB,8DAA4D;AAAnD,+GAAA,aAAa,OAAA;AACtB,wDAAsD;AAA7C,yGAAA,UAAU,OAAA;AACnB,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,iCAAgC;AAAvB,wFAAA,EAAE,OAAA;AACX,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,gEAAwD;AAA/C,2GAAA,QAAQ,OAAA;AACjB,kEAAoH;AAA3G,wHAAA,kBAAkB,OAAA;AAAE,sHAAA,gBAAgB,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,oHAAA,cAAc,OAAA;AAC9E,uDAAqE;AAA5D,6HAAA,4BAA4B,OAAA;AACrC,uDAA2D;AAAlD,mHAAA,kBAAkB,OAAA","sourcesContent":["import * as keys from \"./constants/metadata_keys\";\nexport const METADATA_KEY = keys;\nexport { Container } from \"./container/container\";\nexport { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum } from \"./constants/literal_types\";\nexport { AsyncContainerModule, ContainerModule } from \"./container/container_module\";\nexport { createTaggedDecorator } from \"./annotation/decorator_utils\"\nexport { injectable } from \"./annotation/injectable\";\nexport { tagged } from \"./annotation/tagged\";\nexport { named } from \"./annotation/named\";\nexport { inject } from \"./annotation/inject\";\nexport { LazyServiceIdentifer } from \"./annotation/lazy_service_identifier\"\nexport { optional } from \"./annotation/optional\";\nexport { unmanaged } from \"./annotation/unmanaged\";\nexport { multiInject } from \"./annotation/multi_inject\";\nexport { targetName } from \"./annotation/target_name\";\nexport { postConstruct } from \"./annotation/post_construct\";\nexport { preDestroy } from \"./annotation/pre_destroy\";\nexport { MetadataReader } from \"./planning/metadata_reader\";\nexport { id } from \"./utils/id\";\nexport { interfaces } from \"./interfaces/interfaces\";\nexport { decorate } from \"./annotation/decorator_utils\";\nexport { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint } from \"./syntax/constraint_helpers\";\nexport { getServiceIdentifierAsString } from \"./utils/serialization\";\nexport { multiBindToService } from \"./utils/binding_utils\";\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"012d9aeb3a0b7d2840837ce105edb6fa38b5b4f8","contentHash":"64fb5523d772236bc296d4a58fa101d12a0a7ba39898de9123963ca310071264"},"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":12,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":10,"column":6}},"2":{"start":{"line":4,"column":8},"end":{"line":8,"column":9}},"3":{"start":{"line":4,"column":24},"end":{"line":4,"column":25}},"4":{"start":{"line":4,"column":31},"end":{"line":4,"column":47}},"5":{"start":{"line":5,"column":12},"end":{"line":5,"column":29}},"6":{"start":{"line":6,"column":12},"end":{"line":7,"column":28}},"7":{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},"8":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"9":{"start":{"line":9,"column":8},"end":{"line":9,"column":17}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":43}},"11":{"start":{"line":13,"column":22},"end":{"line":19,"column":3}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},"13":{"start":{"line":14,"column":26},"end":{"line":14,"column":33}},"14":{"start":{"line":15,"column":4},"end":{"line":15,"column":89}},"15":{"start":{"line":15,"column":71},"end":{"line":15,"column":83}},"16":{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},"17":{"start":{"line":17,"column":26},"end":{"line":17,"column":33}},"18":{"start":{"line":18,"column":4},"end":{"line":18,"column":17}},"19":{"start":{"line":20,"column":25},"end":{"line":24,"column":2}},"20":{"start":{"line":21,"column":4},"end":{"line":21,"column":72}},"21":{"start":{"line":23,"column":4},"end":{"line":23,"column":21}},"22":{"start":{"line":25,"column":19},"end":{"line":31,"column":1}},"23":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"24":{"start":{"line":26,"column":31},"end":{"line":26,"column":42}},"25":{"start":{"line":27,"column":17},"end":{"line":27,"column":19}},"26":{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},"27":{"start":{"line":28,"column":21},"end":{"line":28,"column":141}},"28":{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},"29":{"start":{"line":28,"column":109},"end":{"line":28,"column":141}},"30":{"start":{"line":29,"column":4},"end":{"line":29,"column":36}},"31":{"start":{"line":30,"column":4},"end":{"line":30,"column":18}},"32":{"start":{"line":32,"column":16},"end":{"line":40,"column":1}},"33":{"start":{"line":33,"column":28},"end":{"line":33,"column":110}},"34":{"start":{"line":33,"column":91},"end":{"line":33,"column":106}},"35":{"start":{"line":34,"column":4},"end":{"line":39,"column":7}},"36":{"start":{"line":35,"column":36},"end":{"line":35,"column":97}},"37":{"start":{"line":35,"column":42},"end":{"line":35,"column":70}},"38":{"start":{"line":35,"column":85},"end":{"line":35,"column":95}},"39":{"start":{"line":36,"column":35},"end":{"line":36,"column":100}},"40":{"start":{"line":36,"column":41},"end":{"line":36,"column":73}},"41":{"start":{"line":36,"column":88},"end":{"line":36,"column":98}},"42":{"start":{"line":37,"column":32},"end":{"line":37,"column":116}},"43":{"start":{"line":38,"column":8},"end":{"line":38,"column":78}},"44":{"start":{"line":41,"column":18},"end":{"line":67,"column":1}},"45":{"start":{"line":42,"column":12},"end":{"line":42,"column":104}},"46":{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},"47":{"start":{"line":42,"column":57},"end":{"line":42,"column":68}},"48":{"start":{"line":42,"column":69},"end":{"line":42,"column":81}},"49":{"start":{"line":43,"column":4},"end":{"line":43,"column":157}},"50":{"start":{"line":43,"column":138},"end":{"line":43,"column":150}},"51":{"start":{"line":44,"column":23},"end":{"line":44,"column":68}},"52":{"start":{"line":44,"column":45},"end":{"line":44,"column":65}},"53":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"54":{"start":{"line":46,"column":15},"end":{"line":46,"column":70}},"55":{"start":{"line":47,"column":8},"end":{"line":64,"column":66}},"56":{"start":{"line":47,"column":18},"end":{"line":64,"column":66}},"57":{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},"58":{"start":{"line":48,"column":160},"end":{"line":48,"column":169}},"59":{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},"60":{"start":{"line":49,"column":26},"end":{"line":49,"column":52}},"61":{"start":{"line":50,"column":12},"end":{"line":62,"column":13}},"62":{"start":{"line":51,"column":32},"end":{"line":51,"column":39}},"63":{"start":{"line":51,"column":40},"end":{"line":51,"column":46}},"64":{"start":{"line":52,"column":24},"end":{"line":52,"column":34}},"65":{"start":{"line":52,"column":35},"end":{"line":52,"column":72}},"66":{"start":{"line":53,"column":24},"end":{"line":53,"column":34}},"67":{"start":{"line":53,"column":35},"end":{"line":53,"column":45}},"68":{"start":{"line":53,"column":46},"end":{"line":53,"column":55}},"69":{"start":{"line":53,"column":56},"end":{"line":53,"column":65}},"70":{"start":{"line":54,"column":24},"end":{"line":54,"column":41}},"71":{"start":{"line":54,"column":42},"end":{"line":54,"column":55}},"72":{"start":{"line":54,"column":56},"end":{"line":54,"column":65}},"73":{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},"74":{"start":{"line":56,"column":110},"end":{"line":56,"column":116}},"75":{"start":{"line":56,"column":117},"end":{"line":56,"column":126}},"76":{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},"77":{"start":{"line":57,"column":81},"end":{"line":57,"column":97}},"78":{"start":{"line":57,"column":98},"end":{"line":57,"column":104}},"79":{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},"80":{"start":{"line":58,"column":57},"end":{"line":58,"column":72}},"81":{"start":{"line":58,"column":73},"end":{"line":58,"column":80}},"82":{"start":{"line":58,"column":81},"end":{"line":58,"column":87}},"83":{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},"84":{"start":{"line":59,"column":47},"end":{"line":59,"column":62}},"85":{"start":{"line":59,"column":63},"end":{"line":59,"column":78}},"86":{"start":{"line":59,"column":79},"end":{"line":59,"column":85}},"87":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"88":{"start":{"line":60,"column":30},"end":{"line":60,"column":42}},"89":{"start":{"line":61,"column":20},"end":{"line":61,"column":33}},"90":{"start":{"line":61,"column":34},"end":{"line":61,"column":43}},"91":{"start":{"line":63,"column":12},"end":{"line":63,"column":39}},"92":{"start":{"line":64,"column":22},"end":{"line":64,"column":34}},"93":{"start":{"line":64,"column":35},"end":{"line":64,"column":41}},"94":{"start":{"line":64,"column":54},"end":{"line":64,"column":64}},"95":{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},"96":{"start":{"line":65,"column":23},"end":{"line":65,"column":35}},"97":{"start":{"line":65,"column":36},"end":{"line":65,"column":89}},"98":{"start":{"line":68,"column":20},"end":{"line":76,"column":1}},"99":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"100":{"start":{"line":69,"column":40},"end":{"line":74,"column":5}},"101":{"start":{"line":69,"column":53},"end":{"line":69,"column":54}},"102":{"start":{"line":69,"column":60},"end":{"line":69,"column":71}},"103":{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},"104":{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},"105":{"start":{"line":71,"column":21},"end":{"line":71,"column":65}},"106":{"start":{"line":72,"column":12},"end":{"line":72,"column":28}},"107":{"start":{"line":75,"column":4},"end":{"line":75,"column":61}},"108":{"start":{"line":77,"column":0},"end":{"line":77,"column":62}},"109":{"start":{"line":78,"column":0},"end":{"line":78,"column":27}},"110":{"start":{"line":79,"column":16},"end":{"line":79,"column":46}},"111":{"start":{"line":80,"column":17},"end":{"line":80,"column":65}},"112":{"start":{"line":81,"column":22},"end":{"line":81,"column":59}},"113":{"start":{"line":82,"column":19},"end":{"line":82,"column":70}},"114":{"start":{"line":83,"column":24},"end":{"line":83,"column":62}},"115":{"start":{"line":84,"column":16},"end":{"line":84,"column":46}},"116":{"start":{"line":85,"column":17},"end":{"line":85,"column":50}},"117":{"start":{"line":86,"column":26},"end":{"line":86,"column":64}},"118":{"start":{"line":87,"column":14},"end":{"line":87,"column":39}},"119":{"start":{"line":88,"column":11},"end":{"line":88,"column":33}},"120":{"start":{"line":89,"column":22},"end":{"line":89,"column":55}},"121":{"start":{"line":90,"column":27},"end":{"line":90,"column":58}},"122":{"start":{"line":91,"column":15},"end":{"line":91,"column":34}},"123":{"start":{"line":92,"column":32},"end":{"line":92,"column":68}},"124":{"start":{"line":93,"column":17},"end":{"line":722,"column":3}},"125":{"start":{"line":95,"column":22},"end":{"line":95,"column":44}},"126":{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},"127":{"start":{"line":97,"column":12},"end":{"line":97,"column":81}},"128":{"start":{"line":99,"column":8},"end":{"line":106,"column":9}},"129":{"start":{"line":100,"column":12},"end":{"line":100,"column":78}},"130":{"start":{"line":102,"column":13},"end":{"line":106,"column":9}},"131":{"start":{"line":105,"column":12},"end":{"line":105,"column":85}},"132":{"start":{"line":107,"column":8},"end":{"line":112,"column":9}},"133":{"start":{"line":108,"column":12},"end":{"line":108,"column":47}},"134":{"start":{"line":110,"column":13},"end":{"line":112,"column":9}},"135":{"start":{"line":111,"column":12},"end":{"line":111,"column":92}},"136":{"start":{"line":113,"column":8},"end":{"line":118,"column":9}},"137":{"start":{"line":114,"column":12},"end":{"line":114,"column":48}},"138":{"start":{"line":116,"column":13},"end":{"line":118,"column":9}},"139":{"start":{"line":117,"column":12},"end":{"line":117,"column":87}},"140":{"start":{"line":119,"column":8},"end":{"line":123,"column":10}},"141":{"start":{"line":124,"column":8},"end":{"line":124,"column":33}},"142":{"start":{"line":125,"column":8},"end":{"line":125,"column":56}},"143":{"start":{"line":126,"column":8},"end":{"line":126,"column":29}},"144":{"start":{"line":127,"column":8},"end":{"line":127,"column":32}},"145":{"start":{"line":128,"column":8},"end":{"line":128,"column":50}},"146":{"start":{"line":129,"column":8},"end":{"line":129,"column":52}},"147":{"start":{"line":130,"column":8},"end":{"line":130,"column":27}},"148":{"start":{"line":131,"column":8},"end":{"line":131,"column":70}},"149":{"start":{"line":132,"column":8},"end":{"line":132,"column":92}},"150":{"start":{"line":134,"column":4},"end":{"line":153,"column":6}},"151":{"start":{"line":135,"column":25},"end":{"line":135,"column":27}},"152":{"start":{"line":136,"column":8},"end":{"line":138,"column":9}},"153":{"start":{"line":136,"column":22},"end":{"line":136,"column":23}},"154":{"start":{"line":137,"column":12},"end":{"line":137,"column":47}},"155":{"start":{"line":139,"column":24},"end":{"line":139,"column":39}},"156":{"start":{"line":140,"column":31},"end":{"line":140,"column":185}},"157":{"start":{"line":140,"column":122},"end":{"line":140,"column":182}},"158":{"start":{"line":141,"column":32},"end":{"line":141,"column":78}},"159":{"start":{"line":143,"column":12},"end":{"line":147,"column":15}},"160":{"start":{"line":144,"column":16},"end":{"line":146,"column":19}},"161":{"start":{"line":145,"column":20},"end":{"line":145,"column":80}},"162":{"start":{"line":149,"column":8},"end":{"line":151,"column":11}},"163":{"start":{"line":150,"column":12},"end":{"line":150,"column":71}},"164":{"start":{"line":152,"column":8},"end":{"line":152,"column":25}},"165":{"start":{"line":154,"column":4},"end":{"line":165,"column":6}},"166":{"start":{"line":155,"column":22},"end":{"line":155,"column":24}},"167":{"start":{"line":156,"column":8},"end":{"line":158,"column":9}},"168":{"start":{"line":156,"column":22},"end":{"line":156,"column":23}},"169":{"start":{"line":157,"column":12},"end":{"line":157,"column":40}},"170":{"start":{"line":159,"column":25},"end":{"line":159,"column":65}},"171":{"start":{"line":160,"column":8},"end":{"line":164,"column":9}},"172":{"start":{"line":160,"column":22},"end":{"line":160,"column":23}},"173":{"start":{"line":160,"column":37},"end":{"line":160,"column":44}},"174":{"start":{"line":161,"column":32},"end":{"line":161,"column":45}},"175":{"start":{"line":162,"column":41},"end":{"line":162,"column":69}},"176":{"start":{"line":163,"column":12},"end":{"line":163,"column":326}},"177":{"start":{"line":166,"column":4},"end":{"line":194,"column":6}},"178":{"start":{"line":167,"column":22},"end":{"line":167,"column":24}},"179":{"start":{"line":168,"column":8},"end":{"line":170,"column":9}},"180":{"start":{"line":168,"column":22},"end":{"line":168,"column":23}},"181":{"start":{"line":169,"column":12},"end":{"line":169,"column":40}},"182":{"start":{"line":171,"column":8},"end":{"line":193,"column":11}},"183":{"start":{"line":173,"column":12},"end":{"line":192,"column":15}},"184":{"start":{"line":174,"column":16},"end":{"line":191,"column":17}},"185":{"start":{"line":176,"column":24},"end":{"line":176,"column":78}},"186":{"start":{"line":177,"column":24},"end":{"line":177,"column":52}},"187":{"start":{"line":178,"column":24},"end":{"line":178,"column":37}},"188":{"start":{"line":180,"column":24},"end":{"line":180,"column":68}},"189":{"start":{"line":180,"column":54},"end":{"line":180,"column":68}},"190":{"start":{"line":181,"column":24},"end":{"line":181,"column":54}},"191":{"start":{"line":182,"column":24},"end":{"line":182,"column":78}},"192":{"start":{"line":183,"column":24},"end":{"line":183,"column":350}},"193":{"start":{"line":185,"column":24},"end":{"line":185,"column":34}},"194":{"start":{"line":186,"column":24},"end":{"line":186,"column":37}},"195":{"start":{"line":188,"column":24},"end":{"line":188,"column":29}},"196":{"start":{"line":189,"column":24},"end":{"line":189,"column":38}},"197":{"start":{"line":190,"column":28},"end":{"line":190,"column":39}},"198":{"start":{"line":195,"column":4},"end":{"line":206,"column":6}},"199":{"start":{"line":196,"column":20},"end":{"line":196,"column":24}},"200":{"start":{"line":197,"column":22},"end":{"line":197,"column":24}},"201":{"start":{"line":198,"column":8},"end":{"line":200,"column":9}},"202":{"start":{"line":198,"column":22},"end":{"line":198,"column":23}},"203":{"start":{"line":199,"column":12},"end":{"line":199,"column":40}},"204":{"start":{"line":201,"column":8},"end":{"line":205,"column":11}},"205":{"start":{"line":202,"column":32},"end":{"line":202,"column":70}},"206":{"start":{"line":203,"column":12},"end":{"line":203,"column":55}},"207":{"start":{"line":204,"column":12},"end":{"line":204,"column":51}},"208":{"start":{"line":207,"column":4},"end":{"line":235,"column":6}},"209":{"start":{"line":208,"column":22},"end":{"line":208,"column":24}},"210":{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},"211":{"start":{"line":209,"column":22},"end":{"line":209,"column":23}},"212":{"start":{"line":210,"column":12},"end":{"line":210,"column":40}},"213":{"start":{"line":212,"column":8},"end":{"line":234,"column":11}},"214":{"start":{"line":214,"column":12},"end":{"line":233,"column":15}},"215":{"start":{"line":215,"column":16},"end":{"line":232,"column":17}},"216":{"start":{"line":217,"column":24},"end":{"line":217,"column":52}},"217":{"start":{"line":218,"column":24},"end":{"line":218,"column":37}},"218":{"start":{"line":220,"column":24},"end":{"line":220,"column":68}},"219":{"start":{"line":220,"column":54},"end":{"line":220,"column":68}},"220":{"start":{"line":221,"column":24},"end":{"line":221,"column":49}},"221":{"start":{"line":222,"column":24},"end":{"line":222,"column":80}},"222":{"start":{"line":223,"column":24},"end":{"line":223,"column":83}},"223":{"start":{"line":225,"column":24},"end":{"line":225,"column":34}},"224":{"start":{"line":226,"column":24},"end":{"line":226,"column":64}},"225":{"start":{"line":227,"column":24},"end":{"line":227,"column":37}},"226":{"start":{"line":229,"column":24},"end":{"line":229,"column":29}},"227":{"start":{"line":230,"column":24},"end":{"line":230,"column":38}},"228":{"start":{"line":231,"column":28},"end":{"line":231,"column":39}},"229":{"start":{"line":236,"column":4},"end":{"line":241,"column":6}},"230":{"start":{"line":237,"column":20},"end":{"line":237,"column":91}},"231":{"start":{"line":238,"column":22},"end":{"line":238,"column":69}},"232":{"start":{"line":239,"column":8},"end":{"line":239,"column":64}},"233":{"start":{"line":240,"column":8},"end":{"line":240,"column":64}},"234":{"start":{"line":242,"column":4},"end":{"line":245,"column":6}},"235":{"start":{"line":243,"column":8},"end":{"line":243,"column":39}},"236":{"start":{"line":244,"column":8},"end":{"line":244,"column":44}},"237":{"start":{"line":246,"column":4},"end":{"line":257,"column":6}},"238":{"start":{"line":247,"column":8},"end":{"line":256,"column":11}},"239":{"start":{"line":248,"column":12},"end":{"line":255,"column":15}},"240":{"start":{"line":249,"column":16},"end":{"line":254,"column":17}},"241":{"start":{"line":250,"column":28},"end":{"line":250,"column":76}},"242":{"start":{"line":252,"column":24},"end":{"line":252,"column":34}},"243":{"start":{"line":253,"column":24},"end":{"line":253,"column":65}},"244":{"start":{"line":258,"column":4},"end":{"line":264,"column":6}},"245":{"start":{"line":259,"column":8},"end":{"line":262,"column":9}},"246":{"start":{"line":260,"column":27},"end":{"line":260,"column":73}},"247":{"start":{"line":261,"column":12},"end":{"line":261,"column":49}},"248":{"start":{"line":263,"column":8},"end":{"line":263,"column":61}},"249":{"start":{"line":265,"column":4},"end":{"line":283,"column":6}},"250":{"start":{"line":266,"column":8},"end":{"line":282,"column":11}},"251":{"start":{"line":268,"column":12},"end":{"line":281,"column":15}},"252":{"start":{"line":269,"column":16},"end":{"line":280,"column":17}},"253":{"start":{"line":271,"column":24},"end":{"line":271,"column":94}},"254":{"start":{"line":271,"column":80},"end":{"line":271,"column":94}},"255":{"start":{"line":272,"column":24},"end":{"line":272,"column":82}},"256":{"start":{"line":273,"column":24},"end":{"line":273,"column":78}},"257":{"start":{"line":275,"column":24},"end":{"line":275,"column":34}},"258":{"start":{"line":276,"column":24},"end":{"line":276,"column":37}},"259":{"start":{"line":278,"column":24},"end":{"line":278,"column":77}},"260":{"start":{"line":279,"column":24},"end":{"line":279,"column":35}},"261":{"start":{"line":284,"column":4},"end":{"line":290,"column":6}},"262":{"start":{"line":285,"column":20},"end":{"line":285,"column":24}},"263":{"start":{"line":286,"column":8},"end":{"line":288,"column":11}},"264":{"start":{"line":287,"column":12},"end":{"line":287,"column":47}},"265":{"start":{"line":289,"column":8},"end":{"line":289,"column":56}},"266":{"start":{"line":291,"column":4},"end":{"line":310,"column":6}},"267":{"start":{"line":292,"column":8},"end":{"line":309,"column":11}},"268":{"start":{"line":294,"column":24},"end":{"line":294,"column":28}},"269":{"start":{"line":295,"column":12},"end":{"line":308,"column":15}},"270":{"start":{"line":296,"column":16},"end":{"line":307,"column":17}},"271":{"start":{"line":298,"column":24},"end":{"line":298,"column":38}},"272":{"start":{"line":299,"column":24},"end":{"line":301,"column":27}},"273":{"start":{"line":300,"column":28},"end":{"line":300,"column":83}},"274":{"start":{"line":302,"column":24},"end":{"line":302,"column":58}},"275":{"start":{"line":304,"column":24},"end":{"line":304,"column":34}},"276":{"start":{"line":305,"column":24},"end":{"line":305,"column":72}},"277":{"start":{"line":306,"column":24},"end":{"line":306,"column":35}},"278":{"start":{"line":311,"column":4},"end":{"line":313,"column":6}},"279":{"start":{"line":312,"column":8},"end":{"line":312,"column":63}},"280":{"start":{"line":314,"column":4},"end":{"line":316,"column":6}},"281":{"start":{"line":315,"column":8},"end":{"line":315,"column":67}},"282":{"start":{"line":317,"column":4},"end":{"line":323,"column":6}},"283":{"start":{"line":318,"column":20},"end":{"line":318,"column":69}},"284":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"285":{"start":{"line":320,"column":12},"end":{"line":320,"column":59}},"286":{"start":{"line":322,"column":8},"end":{"line":322,"column":21}},"287":{"start":{"line":324,"column":4},"end":{"line":326,"column":6}},"288":{"start":{"line":325,"column":8},"end":{"line":325,"column":65}},"289":{"start":{"line":327,"column":4},"end":{"line":329,"column":6}},"290":{"start":{"line":328,"column":8},"end":{"line":328,"column":84}},"291":{"start":{"line":330,"column":4},"end":{"line":341,"column":6}},"292":{"start":{"line":331,"column":20},"end":{"line":331,"column":25}},"293":{"start":{"line":332,"column":8},"end":{"line":336,"column":9}},"294":{"start":{"line":333,"column":27},"end":{"line":333,"column":73}},"295":{"start":{"line":334,"column":28},"end":{"line":334,"column":97}},"296":{"start":{"line":335,"column":12},"end":{"line":335,"column":84}},"297":{"start":{"line":335,"column":49},"end":{"line":335,"column":80}},"298":{"start":{"line":337,"column":8},"end":{"line":339,"column":9}},"299":{"start":{"line":338,"column":12},"end":{"line":338,"column":77}},"300":{"start":{"line":340,"column":8},"end":{"line":340,"column":21}},"301":{"start":{"line":342,"column":4},"end":{"line":344,"column":6}},"302":{"start":{"line":343,"column":8},"end":{"line":343,"column":216}},"303":{"start":{"line":345,"column":4},"end":{"line":355,"column":6}},"304":{"start":{"line":346,"column":23},"end":{"line":346,"column":44}},"305":{"start":{"line":347,"column":8},"end":{"line":349,"column":9}},"306":{"start":{"line":348,"column":12},"end":{"line":348,"column":68}},"307":{"start":{"line":350,"column":8},"end":{"line":350,"column":52}},"308":{"start":{"line":351,"column":8},"end":{"line":351,"column":49}},"309":{"start":{"line":352,"column":8},"end":{"line":352,"column":53}},"310":{"start":{"line":353,"column":8},"end":{"line":353,"column":47}},"311":{"start":{"line":354,"column":8},"end":{"line":354,"column":69}},"312":{"start":{"line":356,"column":4},"end":{"line":360,"column":6}},"313":{"start":{"line":357,"column":20},"end":{"line":357,"column":67}},"314":{"start":{"line":358,"column":8},"end":{"line":358,"column":28}},"315":{"start":{"line":359,"column":8},"end":{"line":359,"column":21}},"316":{"start":{"line":361,"column":4},"end":{"line":368,"column":6}},"317":{"start":{"line":362,"column":26},"end":{"line":362,"column":28}},"318":{"start":{"line":363,"column":8},"end":{"line":365,"column":9}},"319":{"start":{"line":363,"column":22},"end":{"line":363,"column":23}},"320":{"start":{"line":364,"column":12},"end":{"line":364,"column":44}},"321":{"start":{"line":366,"column":22},"end":{"line":366,"column":84}},"322":{"start":{"line":367,"column":8},"end":{"line":367,"column":101}},"323":{"start":{"line":367,"column":70},"end":{"line":367,"column":88}},"324":{"start":{"line":369,"column":4},"end":{"line":371,"column":6}},"325":{"start":{"line":370,"column":8},"end":{"line":370,"column":46}},"326":{"start":{"line":372,"column":4},"end":{"line":375,"column":6}},"327":{"start":{"line":373,"column":22},"end":{"line":373,"column":67}},"328":{"start":{"line":374,"column":8},"end":{"line":374,"column":49}},"329":{"start":{"line":376,"column":4},"end":{"line":384,"column":6}},"330":{"start":{"line":377,"column":8},"end":{"line":383,"column":11}},"331":{"start":{"line":379,"column":12},"end":{"line":382,"column":15}},"332":{"start":{"line":380,"column":16},"end":{"line":380,"column":72}},"333":{"start":{"line":381,"column":16},"end":{"line":381,"column":47}},"334":{"start":{"line":385,"column":4},"end":{"line":388,"column":6}},"335":{"start":{"line":386,"column":22},"end":{"line":386,"column":79}},"336":{"start":{"line":387,"column":8},"end":{"line":387,"column":49}},"337":{"start":{"line":389,"column":4},"end":{"line":397,"column":6}},"338":{"start":{"line":390,"column":8},"end":{"line":396,"column":11}},"339":{"start":{"line":392,"column":12},"end":{"line":395,"column":15}},"340":{"start":{"line":393,"column":16},"end":{"line":393,"column":84}},"341":{"start":{"line":394,"column":16},"end":{"line":394,"column":47}},"342":{"start":{"line":398,"column":4},"end":{"line":400,"column":6}},"343":{"start":{"line":399,"column":8},"end":{"line":399,"column":80}},"344":{"start":{"line":401,"column":4},"end":{"line":403,"column":6}},"345":{"start":{"line":402,"column":8},"end":{"line":402,"column":85}},"346":{"start":{"line":404,"column":4},"end":{"line":407,"column":6}},"347":{"start":{"line":405,"column":22},"end":{"line":405,"column":57}},"348":{"start":{"line":406,"column":8},"end":{"line":406,"column":49}},"349":{"start":{"line":408,"column":4},"end":{"line":411,"column":6}},"350":{"start":{"line":409,"column":22},"end":{"line":409,"column":57}},"351":{"start":{"line":410,"column":8},"end":{"line":410,"column":37}},"352":{"start":{"line":412,"column":4},"end":{"line":415,"column":6}},"353":{"start":{"line":413,"column":22},"end":{"line":413,"column":78}},"354":{"start":{"line":414,"column":8},"end":{"line":414,"column":49}},"355":{"start":{"line":416,"column":4},"end":{"line":419,"column":6}},"356":{"start":{"line":417,"column":22},"end":{"line":417,"column":78}},"357":{"start":{"line":418,"column":8},"end":{"line":418,"column":37}},"358":{"start":{"line":420,"column":4},"end":{"line":422,"column":6}},"359":{"start":{"line":421,"column":8},"end":{"line":421,"column":83}},"360":{"start":{"line":423,"column":4},"end":{"line":425,"column":6}},"361":{"start":{"line":424,"column":8},"end":{"line":424,"column":88}},"362":{"start":{"line":426,"column":4},"end":{"line":436,"column":6}},"363":{"start":{"line":427,"column":22},"end":{"line":427,"column":55}},"364":{"start":{"line":428,"column":8},"end":{"line":430,"column":9}},"365":{"start":{"line":429,"column":12},"end":{"line":429,"column":52}},"366":{"start":{"line":431,"column":23},"end":{"line":431,"column":52}},"367":{"start":{"line":432,"column":8},"end":{"line":434,"column":9}},"368":{"start":{"line":433,"column":12},"end":{"line":433,"column":45}},"369":{"start":{"line":435,"column":8},"end":{"line":435,"column":24}},"370":{"start":{"line":437,"column":4},"end":{"line":442,"column":6}},"371":{"start":{"line":438,"column":8},"end":{"line":441,"column":9}},"372":{"start":{"line":439,"column":23},"end":{"line":439,"column":81}},"373":{"start":{"line":440,"column":12},"end":{"line":440,"column":42}},"374":{"start":{"line":443,"column":4},"end":{"line":447,"column":6}},"375":{"start":{"line":444,"column":40},"end":{"line":444,"column":84}},"376":{"start":{"line":445,"column":8},"end":{"line":445,"column":86}},"377":{"start":{"line":446,"column":8},"end":{"line":446,"column":90}},"378":{"start":{"line":448,"column":4},"end":{"line":450,"column":6}},"379":{"start":{"line":449,"column":8},"end":{"line":449,"column":119}},"380":{"start":{"line":449,"column":78},"end":{"line":449,"column":115}},"381":{"start":{"line":451,"column":4},"end":{"line":469,"column":6}},"382":{"start":{"line":452,"column":20},"end":{"line":452,"column":24}},"383":{"start":{"line":453,"column":26},"end":{"line":453,"column":69}},"384":{"start":{"line":454,"column":8},"end":{"line":468,"column":9}},"385":{"start":{"line":455,"column":12},"end":{"line":460,"column":13}},"386":{"start":{"line":456,"column":29},"end":{"line":456,"column":125}},"387":{"start":{"line":457,"column":16},"end":{"line":459,"column":17}},"388":{"start":{"line":458,"column":20},"end":{"line":458,"column":207}},"389":{"start":{"line":458,"column":83},"end":{"line":458,"column":189}},"390":{"start":{"line":461,"column":46},"end":{"line":461,"column":138}},"391":{"start":{"line":462,"column":12},"end":{"line":464,"column":13}},"392":{"start":{"line":463,"column":16},"end":{"line":463,"column":95}},"393":{"start":{"line":467,"column":12},"end":{"line":467,"column":92}},"394":{"start":{"line":470,"column":4},"end":{"line":488,"column":6}},"395":{"start":{"line":471,"column":8},"end":{"line":487,"column":11}},"396":{"start":{"line":473,"column":12},"end":{"line":486,"column":15}},"397":{"start":{"line":474,"column":16},"end":{"line":485,"column":17}},"398":{"start":{"line":476,"column":24},"end":{"line":476,"column":50}},"399":{"start":{"line":477,"column":24},"end":{"line":477,"column":48}},"400":{"start":{"line":479,"column":24},"end":{"line":479,"column":34}},"401":{"start":{"line":480,"column":24},"end":{"line":480,"column":38}},"402":{"start":{"line":482,"column":24},"end":{"line":482,"column":41}},"403":{"start":{"line":483,"column":24},"end":{"line":483,"column":106}},"404":{"start":{"line":484,"column":28},"end":{"line":484,"column":39}},"405":{"start":{"line":489,"column":4},"end":{"line":501,"column":6}},"406":{"start":{"line":490,"column":20},"end":{"line":490,"column":24}},"407":{"start":{"line":491,"column":27},"end":{"line":491,"column":55}},"408":{"start":{"line":492,"column":8},"end":{"line":500,"column":9}},"409":{"start":{"line":493,"column":25},"end":{"line":493,"column":53}},"410":{"start":{"line":494,"column":12},"end":{"line":498,"column":13}},"411":{"start":{"line":495,"column":16},"end":{"line":497,"column":19}},"412":{"start":{"line":496,"column":20},"end":{"line":496,"column":92}},"413":{"start":{"line":499,"column":12},"end":{"line":499,"column":56}},"414":{"start":{"line":502,"column":4},"end":{"line":521,"column":6}},"415":{"start":{"line":503,"column":8},"end":{"line":520,"column":11}},"416":{"start":{"line":505,"column":12},"end":{"line":519,"column":15}},"417":{"start":{"line":506,"column":16},"end":{"line":518,"column":17}},"418":{"start":{"line":508,"column":24},"end":{"line":508,"column":68}},"419":{"start":{"line":509,"column":24},"end":{"line":509,"column":37}},"420":{"start":{"line":511,"column":24},"end":{"line":511,"column":63}},"421":{"start":{"line":511,"column":49},"end":{"line":511,"column":63}},"422":{"start":{"line":512,"column":24},"end":{"line":512,"column":65}},"423":{"start":{"line":514,"column":24},"end":{"line":514,"column":34}},"424":{"start":{"line":515,"column":24},"end":{"line":515,"column":68}},"425":{"start":{"line":516,"column":24},"end":{"line":516,"column":38}},"426":{"start":{"line":517,"column":28},"end":{"line":517,"column":39}},"427":{"start":{"line":522,"column":4},"end":{"line":577,"column":6}},"428":{"start":{"line":523,"column":20},"end":{"line":523,"column":24}},"429":{"start":{"line":524,"column":26},"end":{"line":526,"column":9}},"430":{"start":{"line":525,"column":12},"end":{"line":525,"column":57}},"431":{"start":{"line":527,"column":30},"end":{"line":533,"column":9}},"432":{"start":{"line":528,"column":12},"end":{"line":532,"column":14}},"433":{"start":{"line":529,"column":38},"end":{"line":529,"column":67}},"434":{"start":{"line":530,"column":16},"end":{"line":530,"column":55}},"435":{"start":{"line":531,"column":16},"end":{"line":531,"column":39}},"436":{"start":{"line":534,"column":32},"end":{"line":538,"column":9}},"437":{"start":{"line":535,"column":12},"end":{"line":537,"column":14}},"438":{"start":{"line":536,"column":16},"end":{"line":536,"column":55}},"439":{"start":{"line":539,"column":37},"end":{"line":543,"column":9}},"440":{"start":{"line":540,"column":12},"end":{"line":542,"column":14}},"441":{"start":{"line":541,"column":16},"end":{"line":541,"column":60}},"442":{"start":{"line":544,"column":33},"end":{"line":548,"column":9}},"443":{"start":{"line":545,"column":12},"end":{"line":547,"column":14}},"444":{"start":{"line":546,"column":16},"end":{"line":546,"column":56}},"445":{"start":{"line":549,"column":32},"end":{"line":555,"column":9}},"446":{"start":{"line":550,"column":12},"end":{"line":554,"column":14}},"447":{"start":{"line":551,"column":38},"end":{"line":551,"column":69}},"448":{"start":{"line":552,"column":16},"end":{"line":552,"column":55}},"449":{"start":{"line":553,"column":16},"end":{"line":553,"column":39}},"450":{"start":{"line":556,"column":38},"end":{"line":561,"column":9}},"451":{"start":{"line":557,"column":12},"end":{"line":560,"column":14}},"452":{"start":{"line":558,"column":16},"end":{"line":558,"column":102}},"453":{"start":{"line":559,"column":16},"end":{"line":559,"column":68}},"454":{"start":{"line":562,"column":40},"end":{"line":567,"column":9}},"455":{"start":{"line":563,"column":12},"end":{"line":566,"column":14}},"456":{"start":{"line":564,"column":16},"end":{"line":564,"column":106}},"457":{"start":{"line":565,"column":16},"end":{"line":565,"column":72}},"458":{"start":{"line":568,"column":8},"end":{"line":576,"column":14}},"459":{"start":{"line":568,"column":32},"end":{"line":576,"column":11}},"460":{"start":{"line":578,"column":4},"end":{"line":580,"column":6}},"461":{"start":{"line":579,"column":8},"end":{"line":579,"column":47}},"462":{"start":{"line":581,"column":4},"end":{"line":591,"column":6}},"463":{"start":{"line":582,"column":33},"end":{"line":582,"column":181}},"464":{"start":{"line":582,"column":108},"end":{"line":582,"column":123}},"465":{"start":{"line":583,"column":8},"end":{"line":589,"column":9}},"466":{"start":{"line":584,"column":35},"end":{"line":584,"column":71}},"467":{"start":{"line":585,"column":12},"end":{"line":587,"column":13}},"468":{"start":{"line":586,"column":16},"end":{"line":586,"column":70}},"469":{"start":{"line":588,"column":12},"end":{"line":588,"column":36}},"470":{"start":{"line":590,"column":8},"end":{"line":590,"column":58}},"471":{"start":{"line":592,"column":4},"end":{"line":598,"column":6}},"472":{"start":{"line":593,"column":21},"end":{"line":593,"column":39}},"473":{"start":{"line":594,"column":8},"end":{"line":596,"column":9}},"474":{"start":{"line":595,"column":12},"end":{"line":595,"column":80}},"475":{"start":{"line":597,"column":8},"end":{"line":597,"column":22}},"476":{"start":{"line":599,"column":4},"end":{"line":606,"column":6}},"477":{"start":{"line":600,"column":25},"end":{"line":604,"column":9}},"478":{"start":{"line":605,"column":8},"end":{"line":605,"column":26}},"479":{"start":{"line":607,"column":4},"end":{"line":616,"column":6}},"480":{"start":{"line":608,"column":28},"end":{"line":614,"column":9}},"481":{"start":{"line":615,"column":8},"end":{"line":615,"column":29}},"482":{"start":{"line":617,"column":4},"end":{"line":625,"column":6}},"483":{"start":{"line":618,"column":20},"end":{"line":618,"column":24}},"484":{"start":{"line":619,"column":8},"end":{"line":624,"column":10}},"485":{"start":{"line":620,"column":26},"end":{"line":620,"column":181}},"486":{"start":{"line":621,"column":12},"end":{"line":621,"column":55}},"487":{"start":{"line":622,"column":25},"end":{"line":622,"column":57}},"488":{"start":{"line":623,"column":12},"end":{"line":623,"column":26}},"489":{"start":{"line":626,"column":4},"end":{"line":635,"column":6}},"490":{"start":{"line":627,"column":20},"end":{"line":627,"column":24}},"491":{"start":{"line":628,"column":8},"end":{"line":630,"column":9}},"492":{"start":{"line":629,"column":12},"end":{"line":629,"column":19}},"493":{"start":{"line":631,"column":8},"end":{"line":633,"column":9}},"494":{"start":{"line":632,"column":12},"end":{"line":632,"column":108}},"495":{"start":{"line":632,"column":60},"end":{"line":632,"column":104}},"496":{"start":{"line":634,"column":8},"end":{"line":634,"column":56}},"497":{"start":{"line":636,"column":4},"end":{"line":644,"column":6}},"498":{"start":{"line":637,"column":8},"end":{"line":643,"column":9}},"499":{"start":{"line":637,"column":22},"end":{"line":637,"column":23}},"500":{"start":{"line":637,"column":38},"end":{"line":637,"column":46}},"501":{"start":{"line":638,"column":26},"end":{"line":638,"column":40}},"502":{"start":{"line":639,"column":25},"end":{"line":639,"column":61}},"503":{"start":{"line":640,"column":12},"end":{"line":642,"column":13}},"504":{"start":{"line":641,"column":16},"end":{"line":641,"column":66}},"505":{"start":{"line":645,"column":4},"end":{"line":657,"column":6}},"506":{"start":{"line":646,"column":8},"end":{"line":656,"column":11}},"507":{"start":{"line":647,"column":24},"end":{"line":647,"column":28}},"508":{"start":{"line":648,"column":12},"end":{"line":655,"column":15}},"509":{"start":{"line":649,"column":16},"end":{"line":654,"column":17}},"510":{"start":{"line":650,"column":28},"end":{"line":650,"column":124}},"511":{"start":{"line":650,"column":79},"end":{"line":650,"column":118}},"512":{"start":{"line":652,"column":24},"end":{"line":652,"column":34}},"513":{"start":{"line":653,"column":24},"end":{"line":653,"column":35}},"514":{"start":{"line":658,"column":4},"end":{"line":665,"column":6}},"515":{"start":{"line":659,"column":8},"end":{"line":664,"column":9}},"516":{"start":{"line":660,"column":12},"end":{"line":660,"column":73}},"517":{"start":{"line":663,"column":12},"end":{"line":663,"column":90}},"518":{"start":{"line":666,"column":4},"end":{"line":684,"column":6}},"519":{"start":{"line":667,"column":8},"end":{"line":683,"column":11}},"520":{"start":{"line":668,"column":12},"end":{"line":682,"column":15}},"521":{"start":{"line":669,"column":16},"end":{"line":681,"column":17}},"522":{"start":{"line":671,"column":24},"end":{"line":671,"column":56}},"523":{"start":{"line":671,"column":42},"end":{"line":671,"column":56}},"524":{"start":{"line":672,"column":24},"end":{"line":672,"column":90}},"525":{"start":{"line":674,"column":24},"end":{"line":674,"column":34}},"526":{"start":{"line":675,"column":24},"end":{"line":675,"column":38}},"527":{"start":{"line":676,"column":28},"end":{"line":676,"column":116}},"528":{"start":{"line":678,"column":24},"end":{"line":678,"column":34}},"529":{"start":{"line":679,"column":24},"end":{"line":679,"column":37}},"530":{"start":{"line":680,"column":28},"end":{"line":680,"column":39}},"531":{"start":{"line":685,"column":4},"end":{"line":692,"column":6}},"532":{"start":{"line":686,"column":8},"end":{"line":691,"column":9}},"533":{"start":{"line":687,"column":12},"end":{"line":687,"column":62}},"534":{"start":{"line":690,"column":12},"end":{"line":690,"column":131}},"535":{"start":{"line":693,"column":4},"end":{"line":702,"column":6}},"536":{"start":{"line":694,"column":20},"end":{"line":694,"column":24}},"537":{"start":{"line":695,"column":8},"end":{"line":700,"column":9}},"538":{"start":{"line":696,"column":25},"end":{"line":696,"column":57}},"539":{"start":{"line":697,"column":12},"end":{"line":699,"column":13}},"540":{"start":{"line":698,"column":16},"end":{"line":698,"column":101}},"541":{"start":{"line":698,"column":49},"end":{"line":698,"column":97}},"542":{"start":{"line":701,"column":8},"end":{"line":701,"column":55}},"543":{"start":{"line":703,"column":4},"end":{"line":720,"column":6}},"544":{"start":{"line":704,"column":8},"end":{"line":719,"column":11}},"545":{"start":{"line":705,"column":12},"end":{"line":718,"column":15}},"546":{"start":{"line":706,"column":16},"end":{"line":717,"column":17}},"547":{"start":{"line":708,"column":24},"end":{"line":708,"column":91}},"548":{"start":{"line":708,"column":77},"end":{"line":708,"column":91}},"549":{"start":{"line":709,"column":24},"end":{"line":709,"column":69}},"550":{"start":{"line":711,"column":24},"end":{"line":711,"column":34}},"551":{"start":{"line":712,"column":24},"end":{"line":712,"column":37}},"552":{"start":{"line":713,"column":28},"end":{"line":713,"column":80}},"553":{"start":{"line":715,"column":24},"end":{"line":715,"column":34}},"554":{"start":{"line":716,"column":24},"end":{"line":716,"column":35}},"555":{"start":{"line":721,"column":4},"end":{"line":721,"column":21}},"556":{"start":{"line":723,"column":0},"end":{"line":723,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":42},"end":{"line":2,"column":43}},"loc":{"start":{"line":2,"column":54},"end":{"line":12,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":32},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":44},"end":{"line":10,"column":5}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":74},"end":{"line":13,"column":75}},"loc":{"start":{"line":13,"column":96},"end":{"line":16,"column":1}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":58},"end":{"line":15,"column":59}},"loc":{"start":{"line":15,"column":69},"end":{"line":15,"column":85}},"line":15},"4":{"name":"(anonymous_4)","decl":{"start":{"line":16,"column":6},"end":{"line":16,"column":7}},"loc":{"start":{"line":16,"column":28},"end":{"line":19,"column":1}},"line":16},"5":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":80},"end":{"line":20,"column":81}},"loc":{"start":{"line":20,"column":95},"end":{"line":22,"column":1}},"line":20},"6":{"name":"(anonymous_6)","decl":{"start":{"line":22,"column":5},"end":{"line":22,"column":6}},"loc":{"start":{"line":22,"column":20},"end":{"line":24,"column":1}},"line":22},"7":{"name":"(anonymous_7)","decl":{"start":{"line":25,"column":50},"end":{"line":25,"column":51}},"loc":{"start":{"line":25,"column":65},"end":{"line":31,"column":1}},"line":25},"8":{"name":"(anonymous_8)","decl":{"start":{"line":32,"column":44},"end":{"line":32,"column":45}},"loc":{"start":{"line":32,"column":89},"end":{"line":40,"column":1}},"line":32},"9":{"name":"adopt","decl":{"start":{"line":33,"column":13},"end":{"line":33,"column":18}},"loc":{"start":{"line":33,"column":26},"end":{"line":33,"column":112}},"line":33},"10":{"name":"(anonymous_10)","decl":{"start":{"line":33,"column":70},"end":{"line":33,"column":71}},"loc":{"start":{"line":33,"column":89},"end":{"line":33,"column":108}},"line":33},"11":{"name":"(anonymous_11)","decl":{"start":{"line":34,"column":36},"end":{"line":34,"column":37}},"loc":{"start":{"line":34,"column":63},"end":{"line":39,"column":5}},"line":34},"12":{"name":"fulfilled","decl":{"start":{"line":35,"column":17},"end":{"line":35,"column":26}},"loc":{"start":{"line":35,"column":34},"end":{"line":35,"column":99}},"line":35},"13":{"name":"rejected","decl":{"start":{"line":36,"column":17},"end":{"line":36,"column":25}},"loc":{"start":{"line":36,"column":33},"end":{"line":36,"column":102}},"line":36},"14":{"name":"step","decl":{"start":{"line":37,"column":17},"end":{"line":37,"column":21}},"loc":{"start":{"line":37,"column":30},"end":{"line":37,"column":118}},"line":37},"15":{"name":"(anonymous_15)","decl":{"start":{"line":41,"column":48},"end":{"line":41,"column":49}},"loc":{"start":{"line":41,"column":73},"end":{"line":67,"column":1}},"line":41},"16":{"name":"(anonymous_16)","decl":{"start":{"line":42,"column":30},"end":{"line":42,"column":31}},"loc":{"start":{"line":42,"column":41},"end":{"line":42,"column":83}},"line":42},"17":{"name":"(anonymous_17)","decl":{"start":{"line":43,"column":125},"end":{"line":43,"column":126}},"loc":{"start":{"line":43,"column":136},"end":{"line":43,"column":152}},"line":43},"18":{"name":"verb","decl":{"start":{"line":44,"column":13},"end":{"line":44,"column":17}},"loc":{"start":{"line":44,"column":21},"end":{"line":44,"column":70}},"line":44},"19":{"name":"(anonymous_19)","decl":{"start":{"line":44,"column":30},"end":{"line":44,"column":31}},"loc":{"start":{"line":44,"column":43},"end":{"line":44,"column":67}},"line":44},"20":{"name":"step","decl":{"start":{"line":45,"column":13},"end":{"line":45,"column":17}},"loc":{"start":{"line":45,"column":22},"end":{"line":66,"column":5}},"line":45},"21":{"name":"(anonymous_21)","decl":{"start":{"line":68,"column":52},"end":{"line":68,"column":53}},"loc":{"start":{"line":68,"column":78},"end":{"line":76,"column":1}},"line":68},"22":{"name":"(anonymous_22)","decl":{"start":{"line":93,"column":17},"end":{"line":93,"column":18}},"loc":{"start":{"line":93,"column":29},"end":{"line":722,"column":1}},"line":93},"23":{"name":"Container","decl":{"start":{"line":94,"column":13},"end":{"line":94,"column":22}},"loc":{"start":{"line":94,"column":41},"end":{"line":133,"column":5}},"line":94},"24":{"name":"(anonymous_24)","decl":{"start":{"line":134,"column":22},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":56},"end":{"line":153,"column":5}},"line":134},"25":{"name":"(anonymous_25)","decl":{"start":{"line":140,"column":93},"end":{"line":140,"column":94}},"loc":{"start":{"line":140,"column":120},"end":{"line":140,"column":184}},"line":140},"26":{"name":"copyDictionary","decl":{"start":{"line":142,"column":17},"end":{"line":142,"column":31}},"loc":{"start":{"line":142,"column":53},"end":{"line":148,"column":9}},"line":142},"27":{"name":"(anonymous_27)","decl":{"start":{"line":143,"column":28},"end":{"line":143,"column":29}},"loc":{"start":{"line":143,"column":51},"end":{"line":147,"column":13}},"line":143},"28":{"name":"(anonymous_28)","decl":{"start":{"line":144,"column":30},"end":{"line":144,"column":31}},"loc":{"start":{"line":144,"column":49},"end":{"line":146,"column":17}},"line":144},"29":{"name":"(anonymous_29)","decl":{"start":{"line":149,"column":33},"end":{"line":149,"column":34}},"loc":{"start":{"line":149,"column":68},"end":{"line":151,"column":9}},"line":149},"30":{"name":"(anonymous_30)","decl":{"start":{"line":154,"column":31},"end":{"line":154,"column":32}},"loc":{"start":{"line":154,"column":43},"end":{"line":165,"column":5}},"line":154},"31":{"name":"(anonymous_31)","decl":{"start":{"line":166,"column":36},"end":{"line":166,"column":37}},"loc":{"start":{"line":166,"column":48},"end":{"line":194,"column":5}},"line":166},"32":{"name":"(anonymous_32)","decl":{"start":{"line":171,"column":47},"end":{"line":171,"column":48}},"loc":{"start":{"line":171,"column":59},"end":{"line":193,"column":9}},"line":171},"33":{"name":"(anonymous_33)","decl":{"start":{"line":173,"column":37},"end":{"line":173,"column":38}},"loc":{"start":{"line":173,"column":51},"end":{"line":192,"column":13}},"line":173},"34":{"name":"(anonymous_34)","decl":{"start":{"line":195,"column":33},"end":{"line":195,"column":34}},"loc":{"start":{"line":195,"column":45},"end":{"line":206,"column":5}},"line":195},"35":{"name":"(anonymous_35)","decl":{"start":{"line":201,"column":24},"end":{"line":201,"column":25}},"loc":{"start":{"line":201,"column":42},"end":{"line":205,"column":9}},"line":201},"36":{"name":"(anonymous_36)","decl":{"start":{"line":207,"column":38},"end":{"line":207,"column":39}},"loc":{"start":{"line":207,"column":50},"end":{"line":235,"column":5}},"line":207},"37":{"name":"(anonymous_37)","decl":{"start":{"line":212,"column":47},"end":{"line":212,"column":48}},"loc":{"start":{"line":212,"column":59},"end":{"line":234,"column":9}},"line":212},"38":{"name":"(anonymous_38)","decl":{"start":{"line":214,"column":37},"end":{"line":214,"column":38}},"loc":{"start":{"line":214,"column":51},"end":{"line":233,"column":13}},"line":214},"39":{"name":"(anonymous_39)","decl":{"start":{"line":236,"column":31},"end":{"line":236,"column":32}},"loc":{"start":{"line":236,"column":60},"end":{"line":241,"column":5}},"line":236},"40":{"name":"(anonymous_40)","decl":{"start":{"line":242,"column":33},"end":{"line":242,"column":34}},"loc":{"start":{"line":242,"column":62},"end":{"line":245,"column":5}},"line":242},"41":{"name":"(anonymous_41)","decl":{"start":{"line":246,"column":38},"end":{"line":246,"column":39}},"loc":{"start":{"line":246,"column":67},"end":{"line":257,"column":5}},"line":246},"42":{"name":"(anonymous_42)","decl":{"start":{"line":247,"column":47},"end":{"line":247,"column":48}},"loc":{"start":{"line":247,"column":59},"end":{"line":256,"column":9}},"line":247},"43":{"name":"(anonymous_43)","decl":{"start":{"line":248,"column":37},"end":{"line":248,"column":38}},"loc":{"start":{"line":248,"column":51},"end":{"line":255,"column":13}},"line":248},"44":{"name":"(anonymous_44)","decl":{"start":{"line":258,"column":33},"end":{"line":258,"column":34}},"loc":{"start":{"line":258,"column":62},"end":{"line":264,"column":5}},"line":258},"45":{"name":"(anonymous_45)","decl":{"start":{"line":265,"column":38},"end":{"line":265,"column":39}},"loc":{"start":{"line":265,"column":67},"end":{"line":283,"column":5}},"line":265},"46":{"name":"(anonymous_46)","decl":{"start":{"line":266,"column":47},"end":{"line":266,"column":48}},"loc":{"start":{"line":266,"column":59},"end":{"line":282,"column":9}},"line":266},"47":{"name":"(anonymous_47)","decl":{"start":{"line":268,"column":37},"end":{"line":268,"column":38}},"loc":{"start":{"line":268,"column":51},"end":{"line":281,"column":13}},"line":268},"48":{"name":"(anonymous_48)","decl":{"start":{"line":284,"column":36},"end":{"line":284,"column":37}},"loc":{"start":{"line":284,"column":48},"end":{"line":290,"column":5}},"line":284},"49":{"name":"(anonymous_49)","decl":{"start":{"line":286,"column":41},"end":{"line":286,"column":42}},"loc":{"start":{"line":286,"column":64},"end":{"line":288,"column":9}},"line":286},"50":{"name":"(anonymous_50)","decl":{"start":{"line":291,"column":41},"end":{"line":291,"column":42}},"loc":{"start":{"line":291,"column":53},"end":{"line":310,"column":5}},"line":291},"51":{"name":"(anonymous_51)","decl":{"start":{"line":292,"column":47},"end":{"line":292,"column":48}},"loc":{"start":{"line":292,"column":59},"end":{"line":309,"column":9}},"line":292},"52":{"name":"(anonymous_52)","decl":{"start":{"line":295,"column":37},"end":{"line":295,"column":38}},"loc":{"start":{"line":295,"column":51},"end":{"line":308,"column":13}},"line":295},"53":{"name":"(anonymous_53)","decl":{"start":{"line":299,"column":57},"end":{"line":299,"column":58}},"loc":{"start":{"line":299,"column":80},"end":{"line":301,"column":25}},"line":299},"54":{"name":"(anonymous_54)","decl":{"start":{"line":311,"column":39},"end":{"line":311,"column":40}},"loc":{"start":{"line":311,"column":82},"end":{"line":313,"column":5}},"line":311},"55":{"name":"(anonymous_55)","decl":{"start":{"line":314,"column":41},"end":{"line":314,"column":42}},"loc":{"start":{"line":314,"column":86},"end":{"line":316,"column":5}},"line":314},"56":{"name":"(anonymous_56)","decl":{"start":{"line":317,"column":34},"end":{"line":317,"column":35}},"loc":{"start":{"line":317,"column":63},"end":{"line":323,"column":5}},"line":317},"57":{"name":"(anonymous_57)","decl":{"start":{"line":324,"column":41},"end":{"line":324,"column":42}},"loc":{"start":{"line":324,"column":70},"end":{"line":326,"column":5}},"line":324},"58":{"name":"(anonymous_58)","decl":{"start":{"line":327,"column":39},"end":{"line":327,"column":40}},"loc":{"start":{"line":327,"column":75},"end":{"line":329,"column":5}},"line":327},"59":{"name":"(anonymous_59)","decl":{"start":{"line":330,"column":40},"end":{"line":330,"column":41}},"loc":{"start":{"line":330,"column":81},"end":{"line":341,"column":5}},"line":330},"60":{"name":"(anonymous_60)","decl":{"start":{"line":335,"column":34},"end":{"line":335,"column":35}},"loc":{"start":{"line":335,"column":47},"end":{"line":335,"column":82}},"line":335},"61":{"name":"(anonymous_61)","decl":{"start":{"line":342,"column":35},"end":{"line":342,"column":36}},"loc":{"start":{"line":342,"column":47},"end":{"line":344,"column":5}},"line":342},"62":{"name":"(anonymous_62)","decl":{"start":{"line":345,"column":34},"end":{"line":345,"column":35}},"loc":{"start":{"line":345,"column":46},"end":{"line":355,"column":5}},"line":345},"63":{"name":"(anonymous_63)","decl":{"start":{"line":356,"column":38},"end":{"line":356,"column":39}},"loc":{"start":{"line":356,"column":66},"end":{"line":360,"column":5}},"line":356},"64":{"name":"(anonymous_64)","decl":{"start":{"line":361,"column":42},"end":{"line":361,"column":43}},"loc":{"start":{"line":361,"column":54},"end":{"line":368,"column":5}},"line":361},"65":{"name":"(anonymous_65)","decl":{"start":{"line":367,"column":46},"end":{"line":367,"column":47}},"loc":{"start":{"line":367,"column":68},"end":{"line":367,"column":90}},"line":367},"66":{"name":"(anonymous_66)","decl":{"start":{"line":369,"column":52},"end":{"line":369,"column":53}},"loc":{"start":{"line":369,"column":78},"end":{"line":371,"column":5}},"line":369},"67":{"name":"(anonymous_67)","decl":{"start":{"line":372,"column":30},"end":{"line":372,"column":31}},"loc":{"start":{"line":372,"column":59},"end":{"line":375,"column":5}},"line":372},"68":{"name":"(anonymous_68)","decl":{"start":{"line":376,"column":35},"end":{"line":376,"column":36}},"loc":{"start":{"line":376,"column":64},"end":{"line":384,"column":5}},"line":376},"69":{"name":"(anonymous_69)","decl":{"start":{"line":377,"column":47},"end":{"line":377,"column":48}},"loc":{"start":{"line":377,"column":59},"end":{"line":383,"column":9}},"line":377},"70":{"name":"(anonymous_70)","decl":{"start":{"line":379,"column":37},"end":{"line":379,"column":38}},"loc":{"start":{"line":379,"column":51},"end":{"line":382,"column":13}},"line":379},"71":{"name":"(anonymous_71)","decl":{"start":{"line":385,"column":36},"end":{"line":385,"column":37}},"loc":{"start":{"line":385,"column":77},"end":{"line":388,"column":5}},"line":385},"72":{"name":"(anonymous_72)","decl":{"start":{"line":389,"column":41},"end":{"line":389,"column":42}},"loc":{"start":{"line":389,"column":82},"end":{"line":397,"column":5}},"line":389},"73":{"name":"(anonymous_73)","decl":{"start":{"line":390,"column":47},"end":{"line":390,"column":48}},"loc":{"start":{"line":390,"column":59},"end":{"line":396,"column":9}},"line":390},"74":{"name":"(anonymous_74)","decl":{"start":{"line":392,"column":37},"end":{"line":392,"column":38}},"loc":{"start":{"line":392,"column":51},"end":{"line":395,"column":13}},"line":392},"75":{"name":"(anonymous_75)","decl":{"start":{"line":398,"column":35},"end":{"line":398,"column":36}},"loc":{"start":{"line":398,"column":71},"end":{"line":400,"column":5}},"line":398},"76":{"name":"(anonymous_76)","decl":{"start":{"line":401,"column":40},"end":{"line":401,"column":41}},"loc":{"start":{"line":401,"column":76},"end":{"line":403,"column":5}},"line":401},"77":{"name":"(anonymous_77)","decl":{"start":{"line":404,"column":33},"end":{"line":404,"column":34}},"loc":{"start":{"line":404,"column":62},"end":{"line":407,"column":5}},"line":404},"78":{"name":"(anonymous_78)","decl":{"start":{"line":408,"column":38},"end":{"line":408,"column":39}},"loc":{"start":{"line":408,"column":67},"end":{"line":411,"column":5}},"line":408},"79":{"name":"(anonymous_79)","decl":{"start":{"line":412,"column":39},"end":{"line":412,"column":40}},"loc":{"start":{"line":412,"column":80},"end":{"line":415,"column":5}},"line":412},"80":{"name":"(anonymous_80)","decl":{"start":{"line":416,"column":44},"end":{"line":416,"column":45}},"loc":{"start":{"line":416,"column":85},"end":{"line":419,"column":5}},"line":416},"81":{"name":"(anonymous_81)","decl":{"start":{"line":420,"column":38},"end":{"line":420,"column":39}},"loc":{"start":{"line":420,"column":74},"end":{"line":422,"column":5}},"line":420},"82":{"name":"(anonymous_82)","decl":{"start":{"line":423,"column":43},"end":{"line":423,"column":44}},"loc":{"start":{"line":423,"column":79},"end":{"line":425,"column":5}},"line":423},"83":{"name":"(anonymous_83)","decl":{"start":{"line":426,"column":34},"end":{"line":426,"column":35}},"loc":{"start":{"line":426,"column":65},"end":{"line":436,"column":5}},"line":426},"84":{"name":"(anonymous_84)","decl":{"start":{"line":437,"column":38},"end":{"line":437,"column":39}},"loc":{"start":{"line":437,"column":71},"end":{"line":442,"column":5}},"line":437},"85":{"name":"(anonymous_85)","decl":{"start":{"line":443,"column":48},"end":{"line":443,"column":49}},"loc":{"start":{"line":443,"column":68},"end":{"line":447,"column":5}},"line":443},"86":{"name":"(anonymous_86)","decl":{"start":{"line":448,"column":48},"end":{"line":448,"column":49}},"loc":{"start":{"line":448,"column":68},"end":{"line":450,"column":5}},"line":448},"87":{"name":"(anonymous_87)","decl":{"start":{"line":449,"column":57},"end":{"line":449,"column":58}},"loc":{"start":{"line":449,"column":76},"end":{"line":449,"column":117}},"line":449},"88":{"name":"(anonymous_88)","decl":{"start":{"line":451,"column":38},"end":{"line":451,"column":39}},"loc":{"start":{"line":451,"column":67},"end":{"line":469,"column":5}},"line":451},"89":{"name":"(anonymous_89)","decl":{"start":{"line":458,"column":69},"end":{"line":458,"column":70}},"loc":{"start":{"line":458,"column":81},"end":{"line":458,"column":191}},"line":458},"90":{"name":"(anonymous_90)","decl":{"start":{"line":470,"column":51},"end":{"line":470,"column":52}},"loc":{"start":{"line":470,"column":87},"end":{"line":488,"column":5}},"line":470},"91":{"name":"(anonymous_91)","decl":{"start":{"line":471,"column":47},"end":{"line":471,"column":48}},"loc":{"start":{"line":471,"column":59},"end":{"line":487,"column":9}},"line":471},"92":{"name":"(anonymous_92)","decl":{"start":{"line":473,"column":37},"end":{"line":473,"column":38}},"loc":{"start":{"line":473,"column":51},"end":{"line":486,"column":13}},"line":473},"93":{"name":"(anonymous_93)","decl":{"start":{"line":489,"column":47},"end":{"line":489,"column":48}},"loc":{"start":{"line":489,"column":90},"end":{"line":501,"column":5}},"line":489},"94":{"name":"(anonymous_94)","decl":{"start":{"line":495,"column":35},"end":{"line":495,"column":36}},"loc":{"start":{"line":495,"column":47},"end":{"line":497,"column":17}},"line":495},"95":{"name":"(anonymous_95)","decl":{"start":{"line":502,"column":52},"end":{"line":502,"column":53}},"loc":{"start":{"line":502,"column":95},"end":{"line":521,"column":5}},"line":502},"96":{"name":"(anonymous_96)","decl":{"start":{"line":503,"column":47},"end":{"line":503,"column":48}},"loc":{"start":{"line":503,"column":59},"end":{"line":520,"column":9}},"line":503},"97":{"name":"(anonymous_97)","decl":{"start":{"line":505,"column":37},"end":{"line":505,"column":38}},"loc":{"start":{"line":505,"column":51},"end":{"line":519,"column":13}},"line":505},"98":{"name":"(anonymous_98)","decl":{"start":{"line":522,"column":60},"end":{"line":522,"column":61}},"loc":{"start":{"line":522,"column":72},"end":{"line":577,"column":5}},"line":522},"99":{"name":"(anonymous_99)","decl":{"start":{"line":524,"column":26},"end":{"line":524,"column":27}},"loc":{"start":{"line":524,"column":63},"end":{"line":526,"column":9}},"line":524},"100":{"name":"(anonymous_100)","decl":{"start":{"line":527,"column":30},"end":{"line":527,"column":31}},"loc":{"start":{"line":527,"column":50},"end":{"line":533,"column":9}},"line":527},"101":{"name":"(anonymous_101)","decl":{"start":{"line":528,"column":19},"end":{"line":528,"column":20}},"loc":{"start":{"line":528,"column":48},"end":{"line":532,"column":13}},"line":528},"102":{"name":"(anonymous_102)","decl":{"start":{"line":534,"column":32},"end":{"line":534,"column":33}},"loc":{"start":{"line":534,"column":44},"end":{"line":538,"column":9}},"line":534},"103":{"name":"(anonymous_103)","decl":{"start":{"line":535,"column":19},"end":{"line":535,"column":20}},"loc":{"start":{"line":535,"column":48},"end":{"line":537,"column":13}},"line":535},"104":{"name":"(anonymous_104)","decl":{"start":{"line":539,"column":37},"end":{"line":539,"column":38}},"loc":{"start":{"line":539,"column":49},"end":{"line":543,"column":9}},"line":539},"105":{"name":"(anonymous_105)","decl":{"start":{"line":540,"column":19},"end":{"line":540,"column":20}},"loc":{"start":{"line":540,"column":48},"end":{"line":542,"column":13}},"line":540},"106":{"name":"(anonymous_106)","decl":{"start":{"line":544,"column":33},"end":{"line":544,"column":34}},"loc":{"start":{"line":544,"column":45},"end":{"line":548,"column":9}},"line":544},"107":{"name":"(anonymous_107)","decl":{"start":{"line":545,"column":19},"end":{"line":545,"column":20}},"loc":{"start":{"line":545,"column":48},"end":{"line":547,"column":13}},"line":545},"108":{"name":"(anonymous_108)","decl":{"start":{"line":549,"column":32},"end":{"line":549,"column":33}},"loc":{"start":{"line":549,"column":52},"end":{"line":555,"column":9}},"line":549},"109":{"name":"(anonymous_109)","decl":{"start":{"line":550,"column":19},"end":{"line":550,"column":20}},"loc":{"start":{"line":550,"column":48},"end":{"line":554,"column":13}},"line":550},"110":{"name":"(anonymous_110)","decl":{"start":{"line":556,"column":38},"end":{"line":556,"column":39}},"loc":{"start":{"line":556,"column":58},"end":{"line":561,"column":9}},"line":556},"111":{"name":"(anonymous_111)","decl":{"start":{"line":557,"column":19},"end":{"line":557,"column":20}},"loc":{"start":{"line":557,"column":62},"end":{"line":560,"column":13}},"line":557},"112":{"name":"(anonymous_112)","decl":{"start":{"line":562,"column":40},"end":{"line":562,"column":41}},"loc":{"start":{"line":562,"column":60},"end":{"line":567,"column":9}},"line":562},"113":{"name":"(anonymous_113)","decl":{"start":{"line":563,"column":19},"end":{"line":563,"column":20}},"loc":{"start":{"line":563,"column":64},"end":{"line":566,"column":13}},"line":563},"114":{"name":"(anonymous_114)","decl":{"start":{"line":568,"column":15},"end":{"line":568,"column":16}},"loc":{"start":{"line":568,"column":30},"end":{"line":576,"column":13}},"line":568},"115":{"name":"(anonymous_115)","decl":{"start":{"line":578,"column":34},"end":{"line":578,"column":35}},"loc":{"start":{"line":578,"column":53},"end":{"line":580,"column":5}},"line":578},"116":{"name":"(anonymous_116)","decl":{"start":{"line":581,"column":31},"end":{"line":581,"column":32}},"loc":{"start":{"line":581,"column":50},"end":{"line":591,"column":5}},"line":581},"117":{"name":"(anonymous_117)","decl":{"start":{"line":582,"column":87},"end":{"line":582,"column":88}},"loc":{"start":{"line":582,"column":106},"end":{"line":582,"column":125}},"line":582},"118":{"name":"(anonymous_118)","decl":{"start":{"line":592,"column":46},"end":{"line":592,"column":47}},"loc":{"start":{"line":592,"column":65},"end":{"line":598,"column":5}},"line":592},"119":{"name":"(anonymous_119)","decl":{"start":{"line":599,"column":38},"end":{"line":599,"column":39}},"loc":{"start":{"line":599,"column":67},"end":{"line":606,"column":5}},"line":599},"120":{"name":"(anonymous_120)","decl":{"start":{"line":607,"column":41},"end":{"line":607,"column":42}},"loc":{"start":{"line":607,"column":97},"end":{"line":616,"column":5}},"line":607},"121":{"name":"(anonymous_121)","decl":{"start":{"line":617,"column":42},"end":{"line":617,"column":43}},"loc":{"start":{"line":617,"column":54},"end":{"line":625,"column":5}},"line":617},"122":{"name":"(anonymous_122)","decl":{"start":{"line":619,"column":15},"end":{"line":619,"column":16}},"loc":{"start":{"line":619,"column":31},"end":{"line":624,"column":9}},"line":619},"123":{"name":"(anonymous_123)","decl":{"start":{"line":626,"column":49},"end":{"line":626,"column":50}},"loc":{"start":{"line":626,"column":68},"end":{"line":635,"column":5}},"line":626},"124":{"name":"(anonymous_124)","decl":{"start":{"line":632,"column":38},"end":{"line":632,"column":39}},"loc":{"start":{"line":632,"column":58},"end":{"line":632,"column":106}},"line":632},"125":{"name":"(anonymous_125)","decl":{"start":{"line":636,"column":48},"end":{"line":636,"column":49}},"loc":{"start":{"line":636,"column":68},"end":{"line":644,"column":5}},"line":636},"126":{"name":"(anonymous_126)","decl":{"start":{"line":645,"column":53},"end":{"line":645,"column":54}},"loc":{"start":{"line":645,"column":73},"end":{"line":657,"column":5}},"line":645},"127":{"name":"(anonymous_127)","decl":{"start":{"line":646,"column":47},"end":{"line":646,"column":48}},"loc":{"start":{"line":646,"column":59},"end":{"line":656,"column":9}},"line":646},"128":{"name":"(anonymous_128)","decl":{"start":{"line":648,"column":37},"end":{"line":648,"column":38}},"loc":{"start":{"line":648,"column":51},"end":{"line":655,"column":13}},"line":648},"129":{"name":"(anonymous_129)","decl":{"start":{"line":650,"column":64},"end":{"line":650,"column":65}},"loc":{"start":{"line":650,"column":77},"end":{"line":650,"column":120}},"line":650},"130":{"name":"(anonymous_130)","decl":{"start":{"line":658,"column":82},"end":{"line":658,"column":83}},"loc":{"start":{"line":658,"column":124},"end":{"line":665,"column":5}},"line":658},"131":{"name":"(anonymous_131)","decl":{"start":{"line":666,"column":87},"end":{"line":666,"column":88}},"loc":{"start":{"line":666,"column":129},"end":{"line":684,"column":5}},"line":666},"132":{"name":"(anonymous_132)","decl":{"start":{"line":667,"column":47},"end":{"line":667,"column":48}},"loc":{"start":{"line":667,"column":59},"end":{"line":683,"column":9}},"line":667},"133":{"name":"(anonymous_133)","decl":{"start":{"line":668,"column":37},"end":{"line":668,"column":38}},"loc":{"start":{"line":668,"column":51},"end":{"line":682,"column":13}},"line":668},"134":{"name":"(anonymous_134)","decl":{"start":{"line":685,"column":55},"end":{"line":685,"column":56}},"loc":{"start":{"line":685,"column":84},"end":{"line":692,"column":5}},"line":685},"135":{"name":"(anonymous_135)","decl":{"start":{"line":693,"column":60},"end":{"line":693,"column":61}},"loc":{"start":{"line":693,"column":102},"end":{"line":702,"column":5}},"line":693},"136":{"name":"(anonymous_136)","decl":{"start":{"line":698,"column":35},"end":{"line":698,"column":36}},"loc":{"start":{"line":698,"column":47},"end":{"line":698,"column":99}},"line":698},"137":{"name":"(anonymous_137)","decl":{"start":{"line":703,"column":65},"end":{"line":703,"column":66}},"loc":{"start":{"line":703,"column":107},"end":{"line":720,"column":5}},"line":703},"138":{"name":"(anonymous_138)","decl":{"start":{"line":704,"column":47},"end":{"line":704,"column":48}},"loc":{"start":{"line":704,"column":59},"end":{"line":719,"column":9}},"line":704},"139":{"name":"(anonymous_139)","decl":{"start":{"line":705,"column":37},"end":{"line":705,"column":38}},"loc":{"start":{"line":705,"column":51},"end":{"line":718,"column":13}},"line":705}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":15},"end":{"line":12,"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":12,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":15},"end":{"line":10,"column":5}},"type":"binary-expr","locations":[{"start":{"line":3,"column":15},"end":{"line":3,"column":28}},{"start":{"line":3,"column":32},"end":{"line":10,"column":5}}],"line":3},"2":{"loc":{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},"type":"if","locations":[{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},{"start":{"line":6,"column":29},"end":{"line":7,"column":28}}],"line":6},"3":{"loc":{"start":{"line":13,"column":22},"end":{"line":19,"column":3}},"type":"binary-expr","locations":[{"start":{"line":13,"column":23},"end":{"line":13,"column":27}},{"start":{"line":13,"column":31},"end":{"line":13,"column":51}},{"start":{"line":13,"column":57},"end":{"line":19,"column":2}}],"line":13},"4":{"loc":{"start":{"line":13,"column":57},"end":{"line":19,"column":2}},"type":"cond-expr","locations":[{"start":{"line":13,"column":74},"end":{"line":16,"column":1}},{"start":{"line":16,"column":6},"end":{"line":19,"column":1}}],"line":13},"5":{"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},{"start":{"line":14,"column":4},"end":{"line":14,"column":33}}],"line":14},"6":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},{"start":{"line":17,"column":4},"end":{"line":17,"column":33}}],"line":17},"7":{"loc":{"start":{"line":20,"column":25},"end":{"line":24,"column":2}},"type":"binary-expr","locations":[{"start":{"line":20,"column":26},"end":{"line":20,"column":30}},{"start":{"line":20,"column":34},"end":{"line":20,"column":57}},{"start":{"line":20,"column":63},"end":{"line":24,"column":1}}],"line":20},"8":{"loc":{"start":{"line":20,"column":63},"end":{"line":24,"column":1}},"type":"cond-expr","locations":[{"start":{"line":20,"column":80},"end":{"line":22,"column":1}},{"start":{"line":22,"column":5},"end":{"line":24,"column":1}}],"line":20},"9":{"loc":{"start":{"line":25,"column":19},"end":{"line":31,"column":1}},"type":"binary-expr","locations":[{"start":{"line":25,"column":20},"end":{"line":25,"column":24}},{"start":{"line":25,"column":28},"end":{"line":25,"column":45}},{"start":{"line":25,"column":50},"end":{"line":31,"column":1}}],"line":25},"10":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},{"start":{"line":26,"column":4},"end":{"line":26,"column":42}}],"line":26},"11":{"loc":{"start":{"line":26,"column":8},"end":{"line":26,"column":29}},"type":"binary-expr","locations":[{"start":{"line":26,"column":8},"end":{"line":26,"column":11}},{"start":{"line":26,"column":15},"end":{"line":26,"column":29}}],"line":26},"12":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},{"start":{"line":28,"column":4},"end":{"line":28,"column":141}}],"line":28},"13":{"loc":{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},"type":"if","locations":[{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},{"start":{"line":28,"column":40},"end":{"line":28,"column":141}}],"line":28},"14":{"loc":{"start":{"line":28,"column":44},"end":{"line":28,"column":107}},"type":"binary-expr","locations":[{"start":{"line":28,"column":44},"end":{"line":28,"column":59}},{"start":{"line":28,"column":63},"end":{"line":28,"column":107}}],"line":28},"15":{"loc":{"start":{"line":32,"column":16},"end":{"line":40,"column":1}},"type":"binary-expr","locations":[{"start":{"line":32,"column":17},"end":{"line":32,"column":21}},{"start":{"line":32,"column":25},"end":{"line":32,"column":39}},{"start":{"line":32,"column":44},"end":{"line":40,"column":1}}],"line":32},"16":{"loc":{"start":{"line":33,"column":35},"end":{"line":33,"column":109}},"type":"cond-expr","locations":[{"start":{"line":33,"column":56},"end":{"line":33,"column":61}},{"start":{"line":33,"column":64},"end":{"line":33,"column":109}}],"line":33},"17":{"loc":{"start":{"line":34,"column":16},"end":{"line":34,"column":34}},"type":"binary-expr","locations":[{"start":{"line":34,"column":16},"end":{"line":34,"column":17}},{"start":{"line":34,"column":22},"end":{"line":34,"column":33}}],"line":34},"18":{"loc":{"start":{"line":37,"column":32},"end":{"line":37,"column":115}},"type":"cond-expr","locations":[{"start":{"line":37,"column":46},"end":{"line":37,"column":67}},{"start":{"line":37,"column":70},"end":{"line":37,"column":115}}],"line":37},"19":{"loc":{"start":{"line":38,"column":51},"end":{"line":38,"column":67}},"type":"binary-expr","locations":[{"start":{"line":38,"column":51},"end":{"line":38,"column":61}},{"start":{"line":38,"column":65},"end":{"line":38,"column":67}}],"line":38},"20":{"loc":{"start":{"line":41,"column":18},"end":{"line":67,"column":1}},"type":"binary-expr","locations":[{"start":{"line":41,"column":19},"end":{"line":41,"column":23}},{"start":{"line":41,"column":27},"end":{"line":41,"column":43}},{"start":{"line":41,"column":48},"end":{"line":67,"column":1}}],"line":41},"21":{"loc":{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},"type":"if","locations":[{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},{"start":{"line":42,"column":43},"end":{"line":42,"column":68}}],"line":42},"22":{"loc":{"start":{"line":43,"column":71},"end":{"line":43,"column":153}},"type":"binary-expr","locations":[{"start":{"line":43,"column":71},"end":{"line":43,"column":99}},{"start":{"line":43,"column":104},"end":{"line":43,"column":152}}],"line":43},"23":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},{"start":{"line":46,"column":8},"end":{"line":46,"column":70}}],"line":46},"24":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},"type":"if","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},{"start":{"line":48,"column":12},"end":{"line":48,"column":169}}],"line":48},"25":{"loc":{"start":{"line":48,"column":23},"end":{"line":48,"column":158}},"type":"binary-expr","locations":[{"start":{"line":48,"column":23},"end":{"line":48,"column":24}},{"start":{"line":48,"column":29},"end":{"line":48,"column":125}},{"start":{"line":48,"column":130},"end":{"line":48,"column":158}}],"line":48},"26":{"loc":{"start":{"line":48,"column":33},"end":{"line":48,"column":125}},"type":"cond-expr","locations":[{"start":{"line":48,"column":45},"end":{"line":48,"column":56}},{"start":{"line":48,"column":59},"end":{"line":48,"column":125}}],"line":48},"27":{"loc":{"start":{"line":48,"column":59},"end":{"line":48,"column":125}},"type":"cond-expr","locations":[{"start":{"line":48,"column":67},"end":{"line":48,"column":116}},{"start":{"line":48,"column":119},"end":{"line":48,"column":125}}],"line":48},"28":{"loc":{"start":{"line":48,"column":67},"end":{"line":48,"column":116}},"type":"binary-expr","locations":[{"start":{"line":48,"column":67},"end":{"line":48,"column":77}},{"start":{"line":48,"column":82},"end":{"line":48,"column":115}}],"line":48},"29":{"loc":{"start":{"line":48,"column":82},"end":{"line":48,"column":112}},"type":"binary-expr","locations":[{"start":{"line":48,"column":83},"end":{"line":48,"column":98}},{"start":{"line":48,"column":103},"end":{"line":48,"column":112}}],"line":48},"30":{"loc":{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},{"start":{"line":49,"column":12},"end":{"line":49,"column":52}}],"line":49},"31":{"loc":{"start":{"line":50,"column":12},"end":{"line":62,"column":13}},"type":"switch","locations":[{"start":{"line":51,"column":16},"end":{"line":51,"column":23}},{"start":{"line":51,"column":24},"end":{"line":51,"column":46}},{"start":{"line":52,"column":16},"end":{"line":52,"column":72}},{"start":{"line":53,"column":16},"end":{"line":53,"column":65}},{"start":{"line":54,"column":16},"end":{"line":54,"column":65}},{"start":{"line":55,"column":16},"end":{"line":61,"column":43}}],"line":50},"32":{"loc":{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},"type":"if","locations":[{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},{"start":{"line":56,"column":20},"end":{"line":56,"column":128}}],"line":56},"33":{"loc":{"start":{"line":56,"column":24},"end":{"line":56,"column":106}},"type":"binary-expr","locations":[{"start":{"line":56,"column":24},"end":{"line":56,"column":74}},{"start":{"line":56,"column":79},"end":{"line":56,"column":90}},{"start":{"line":56,"column":94},"end":{"line":56,"column":105}}],"line":56},"34":{"loc":{"start":{"line":56,"column":42},"end":{"line":56,"column":73}},"type":"binary-expr","locations":[{"start":{"line":56,"column":42},"end":{"line":56,"column":54}},{"start":{"line":56,"column":58},"end":{"line":56,"column":73}}],"line":56},"35":{"loc":{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},"type":"if","locations":[{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},{"start":{"line":57,"column":20},"end":{"line":57,"column":106}}],"line":57},"36":{"loc":{"start":{"line":57,"column":24},"end":{"line":57,"column":77}},"type":"binary-expr","locations":[{"start":{"line":57,"column":24},"end":{"line":57,"column":35}},{"start":{"line":57,"column":40},"end":{"line":57,"column":42}},{"start":{"line":57,"column":47},"end":{"line":57,"column":59}},{"start":{"line":57,"column":63},"end":{"line":57,"column":75}}],"line":57},"37":{"loc":{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},"type":"if","locations":[{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},{"start":{"line":58,"column":20},"end":{"line":58,"column":89}}],"line":58},"38":{"loc":{"start":{"line":58,"column":24},"end":{"line":58,"column":53}},"type":"binary-expr","locations":[{"start":{"line":58,"column":24},"end":{"line":58,"column":35}},{"start":{"line":58,"column":39},"end":{"line":58,"column":53}}],"line":58},"39":{"loc":{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},"type":"if","locations":[{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},{"start":{"line":59,"column":20},"end":{"line":59,"column":87}}],"line":59},"40":{"loc":{"start":{"line":59,"column":24},"end":{"line":59,"column":43}},"type":"binary-expr","locations":[{"start":{"line":59,"column":24},"end":{"line":59,"column":25}},{"start":{"line":59,"column":29},"end":{"line":59,"column":43}}],"line":59},"41":{"loc":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"type":"if","locations":[{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},{"start":{"line":60,"column":20},"end":{"line":60,"column":42}}],"line":60},"42":{"loc":{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},"type":"if","locations":[{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},{"start":{"line":65,"column":8},"end":{"line":65,"column":35}}],"line":65},"43":{"loc":{"start":{"line":65,"column":52},"end":{"line":65,"column":74}},"type":"cond-expr","locations":[{"start":{"line":65,"column":60},"end":{"line":65,"column":65}},{"start":{"line":65,"column":68},"end":{"line":65,"column":74}}],"line":65},"44":{"loc":{"start":{"line":68,"column":20},"end":{"line":76,"column":1}},"type":"binary-expr","locations":[{"start":{"line":68,"column":21},"end":{"line":68,"column":25}},{"start":{"line":68,"column":29},"end":{"line":68,"column":47}},{"start":{"line":68,"column":52},"end":{"line":76,"column":1}}],"line":68},"45":{"loc":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},{"start":{"line":69,"column":4},"end":{"line":74,"column":5}}],"line":69},"46":{"loc":{"start":{"line":69,"column":8},"end":{"line":69,"column":38}},"type":"binary-expr","locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":12}},{"start":{"line":69,"column":16},"end":{"line":69,"column":38}}],"line":69},"47":{"loc":{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},{"start":{"line":70,"column":8},"end":{"line":73,"column":9}}],"line":70},"48":{"loc":{"start":{"line":70,"column":12},"end":{"line":70,"column":30}},"type":"binary-expr","locations":[{"start":{"line":70,"column":12},"end":{"line":70,"column":14}},{"start":{"line":70,"column":18},"end":{"line":70,"column":30}}],"line":70},"49":{"loc":{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},{"start":{"line":71,"column":12},"end":{"line":71,"column":65}}],"line":71},"50":{"loc":{"start":{"line":75,"column":21},"end":{"line":75,"column":59}},"type":"binary-expr","locations":[{"start":{"line":75,"column":21},"end":{"line":75,"column":23}},{"start":{"line":75,"column":27},"end":{"line":75,"column":59}}],"line":75},"51":{"loc":{"start":{"line":95,"column":22},"end":{"line":95,"column":44}},"type":"binary-expr","locations":[{"start":{"line":95,"column":22},"end":{"line":95,"column":38}},{"start":{"line":95,"column":42},"end":{"line":95,"column":44}}],"line":95},"52":{"loc":{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},{"start":{"line":96,"column":8},"end":{"line":98,"column":9}}],"line":96},"53":{"loc":{"start":{"line":99,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":99,"column":8},"end":{"line":106,"column":9}},{"start":{"line":99,"column":8},"end":{"line":106,"column":9}}],"line":99},"54":{"loc":{"start":{"line":102,"column":13},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":102,"column":13},"end":{"line":106,"column":9}},{"start":{"line":102,"column":13},"end":{"line":106,"column":9}}],"line":102},"55":{"loc":{"start":{"line":102,"column":17},"end":{"line":104,"column":77}},"type":"binary-expr","locations":[{"start":{"line":102,"column":17},"end":{"line":102,"column":84}},{"start":{"line":103,"column":12},"end":{"line":103,"column":79}},{"start":{"line":104,"column":12},"end":{"line":104,"column":77}}],"line":102},"56":{"loc":{"start":{"line":107,"column":8},"end":{"line":112,"column":9}},"type":"if","locations":[{"start":{"line":107,"column":8},"end":{"line":112,"column":9}},{"start":{"line":107,"column":8},"end":{"line":112,"column":9}}],"line":107},"57":{"loc":{"start":{"line":110,"column":13},"end":{"line":112,"column":9}},"type":"if","locations":[{"start":{"line":110,"column":13},"end":{"line":112,"column":9}},{"start":{"line":110,"column":13},"end":{"line":112,"column":9}}],"line":110},"58":{"loc":{"start":{"line":113,"column":8},"end":{"line":118,"column":9}},"type":"if","locations":[{"start":{"line":113,"column":8},"end":{"line":118,"column":9}},{"start":{"line":113,"column":8},"end":{"line":118,"column":9}}],"line":113},"59":{"loc":{"start":{"line":116,"column":13},"end":{"line":118,"column":9}},"type":"if","locations":[{"start":{"line":116,"column":13},"end":{"line":118,"column":9}},{"start":{"line":116,"column":13},"end":{"line":118,"column":9}}],"line":116},"60":{"loc":{"start":{"line":174,"column":16},"end":{"line":191,"column":17}},"type":"switch","locations":[{"start":{"line":175,"column":20},"end":{"line":178,"column":37}},{"start":{"line":179,"column":20},"end":{"line":183,"column":350}},{"start":{"line":184,"column":20},"end":{"line":186,"column":37}},{"start":{"line":187,"column":20},"end":{"line":189,"column":38}},{"start":{"line":190,"column":20},"end":{"line":190,"column":39}}],"line":174},"61":{"loc":{"start":{"line":180,"column":24},"end":{"line":180,"column":68}},"type":"if","locations":[{"start":{"line":180,"column":24},"end":{"line":180,"column":68}},{"start":{"line":180,"column":24},"end":{"line":180,"column":68}}],"line":180},"62":{"loc":{"start":{"line":215,"column":16},"end":{"line":232,"column":17}},"type":"switch","locations":[{"start":{"line":216,"column":20},"end":{"line":218,"column":37}},{"start":{"line":219,"column":20},"end":{"line":223,"column":83}},{"start":{"line":224,"column":20},"end":{"line":227,"column":37}},{"start":{"line":228,"column":20},"end":{"line":230,"column":38}},{"start":{"line":231,"column":20},"end":{"line":231,"column":39}}],"line":215},"63":{"loc":{"start":{"line":220,"column":24},"end":{"line":220,"column":68}},"type":"if","locations":[{"start":{"line":220,"column":24},"end":{"line":220,"column":68}},{"start":{"line":220,"column":24},"end":{"line":220,"column":68}}],"line":220},"64":{"loc":{"start":{"line":237,"column":20},"end":{"line":237,"column":91}},"type":"binary-expr","locations":[{"start":{"line":237,"column":20},"end":{"line":237,"column":45}},{"start":{"line":237,"column":49},"end":{"line":237,"column":91}}],"line":237},"65":{"loc":{"start":{"line":249,"column":16},"end":{"line":254,"column":17}},"type":"switch","locations":[{"start":{"line":250,"column":20},"end":{"line":250,"column":76}},{"start":{"line":251,"column":20},"end":{"line":253,"column":65}}],"line":249},"66":{"loc":{"start":{"line":259,"column":8},"end":{"line":262,"column":9}},"type":"if","locations":[{"start":{"line":259,"column":8},"end":{"line":262,"column":9}},{"start":{"line":259,"column":8},"end":{"line":262,"column":9}}],"line":259},"67":{"loc":{"start":{"line":269,"column":16},"end":{"line":280,"column":17}},"type":"switch","locations":[{"start":{"line":270,"column":20},"end":{"line":273,"column":78}},{"start":{"line":274,"column":20},"end":{"line":276,"column":37}},{"start":{"line":277,"column":20},"end":{"line":279,"column":35}}],"line":269},"68":{"loc":{"start":{"line":271,"column":24},"end":{"line":271,"column":94}},"type":"if","locations":[{"start":{"line":271,"column":24},"end":{"line":271,"column":94}},{"start":{"line":271,"column":24},"end":{"line":271,"column":94}}],"line":271},"69":{"loc":{"start":{"line":296,"column":16},"end":{"line":307,"column":17}},"type":"switch","locations":[{"start":{"line":297,"column":20},"end":{"line":302,"column":58}},{"start":{"line":303,"column":20},"end":{"line":306,"column":35}}],"line":296},"70":{"loc":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"type":"if","locations":[{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},{"start":{"line":319,"column":8},"end":{"line":321,"column":9}}],"line":319},"71":{"loc":{"start":{"line":319,"column":12},"end":{"line":319,"column":33}},"type":"binary-expr","locations":[{"start":{"line":319,"column":12},"end":{"line":319,"column":18}},{"start":{"line":319,"column":22},"end":{"line":319,"column":33}}],"line":319},"72":{"loc":{"start":{"line":332,"column":8},"end":{"line":336,"column":9}},"type":"if","locations":[{"start":{"line":332,"column":8},"end":{"line":336,"column":9}},{"start":{"line":332,"column":8},"end":{"line":336,"column":9}}],"line":332},"73":{"loc":{"start":{"line":337,"column":8},"end":{"line":339,"column":9}},"type":"if","locations":[{"start":{"line":337,"column":8},"end":{"line":339,"column":9}},{"start":{"line":337,"column":8},"end":{"line":339,"column":9}}],"line":337},"74":{"loc":{"start":{"line":337,"column":12},"end":{"line":337,"column":33}},"type":"binary-expr","locations":[{"start":{"line":337,"column":12},"end":{"line":337,"column":18}},{"start":{"line":337,"column":22},"end":{"line":337,"column":33}}],"line":337},"75":{"loc":{"start":{"line":347,"column":8},"end":{"line":349,"column":9}},"type":"if","locations":[{"start":{"line":347,"column":8},"end":{"line":349,"column":9}},{"start":{"line":347,"column":8},"end":{"line":349,"column":9}}],"line":347},"76":{"loc":{"start":{"line":357,"column":34},"end":{"line":357,"column":66}},"type":"binary-expr","locations":[{"start":{"line":357,"column":34},"end":{"line":357,"column":50}},{"start":{"line":357,"column":54},"end":{"line":357,"column":66}}],"line":357},"77":{"loc":{"start":{"line":366,"column":22},"end":{"line":366,"column":84}},"type":"cond-expr","locations":[{"start":{"line":366,"column":43},"end":{"line":366,"column":59}},{"start":{"line":366,"column":62},"end":{"line":366,"column":84}}],"line":366},"78":{"loc":{"start":{"line":428,"column":8},"end":{"line":430,"column":9}},"type":"if","locations":[{"start":{"line":428,"column":8},"end":{"line":430,"column":9}},{"start":{"line":428,"column":8},"end":{"line":430,"column":9}}],"line":428},"79":{"loc":{"start":{"line":432,"column":8},"end":{"line":434,"column":9}},"type":"if","locations":[{"start":{"line":432,"column":8},"end":{"line":434,"column":9}},{"start":{"line":432,"column":8},"end":{"line":434,"column":9}}],"line":432},"80":{"loc":{"start":{"line":438,"column":8},"end":{"line":441,"column":9}},"type":"if","locations":[{"start":{"line":438,"column":8},"end":{"line":441,"column":9}},{"start":{"line":438,"column":8},"end":{"line":441,"column":9}}],"line":438},"81":{"loc":{"start":{"line":455,"column":12},"end":{"line":460,"column":13}},"type":"if","locations":[{"start":{"line":455,"column":12},"end":{"line":460,"column":13}},{"start":{"line":455,"column":12},"end":{"line":460,"column":13}}],"line":455},"82":{"loc":{"start":{"line":457,"column":16},"end":{"line":459,"column":17}},"type":"if","locations":[{"start":{"line":457,"column":16},"end":{"line":459,"column":17}},{"start":{"line":457,"column":16},"end":{"line":459,"column":17}}],"line":457},"83":{"loc":{"start":{"line":462,"column":12},"end":{"line":464,"column":13}},"type":"if","locations":[{"start":{"line":462,"column":12},"end":{"line":464,"column":13}},{"start":{"line":462,"column":12},"end":{"line":464,"column":13}}],"line":462},"84":{"loc":{"start":{"line":474,"column":16},"end":{"line":485,"column":17}},"type":"switch","locations":[{"start":{"line":475,"column":20},"end":{"line":477,"column":48}},{"start":{"line":478,"column":20},"end":{"line":480,"column":38}},{"start":{"line":481,"column":20},"end":{"line":483,"column":106}},{"start":{"line":484,"column":20},"end":{"line":484,"column":39}}],"line":474},"85":{"loc":{"start":{"line":494,"column":12},"end":{"line":498,"column":13}},"type":"if","locations":[{"start":{"line":494,"column":12},"end":{"line":498,"column":13}},{"start":{"line":494,"column":12},"end":{"line":498,"column":13}}],"line":494},"86":{"loc":{"start":{"line":506,"column":16},"end":{"line":518,"column":17}},"type":"switch","locations":[{"start":{"line":507,"column":20},"end":{"line":509,"column":37}},{"start":{"line":510,"column":20},"end":{"line":512,"column":65}},{"start":{"line":513,"column":20},"end":{"line":516,"column":38}},{"start":{"line":517,"column":20},"end":{"line":517,"column":39}}],"line":506},"87":{"loc":{"start":{"line":511,"column":24},"end":{"line":511,"column":63}},"type":"if","locations":[{"start":{"line":511,"column":24},"end":{"line":511,"column":63}},{"start":{"line":511,"column":24},"end":{"line":511,"column":63}}],"line":511},"88":{"loc":{"start":{"line":583,"column":8},"end":{"line":589,"column":9}},"type":"if","locations":[{"start":{"line":583,"column":8},"end":{"line":589,"column":9}},{"start":{"line":583,"column":8},"end":{"line":589,"column":9}}],"line":583},"89":{"loc":{"start":{"line":585,"column":12},"end":{"line":587,"column":13}},"type":"if","locations":[{"start":{"line":585,"column":12},"end":{"line":587,"column":13}},{"start":{"line":585,"column":12},"end":{"line":587,"column":13}}],"line":585},"90":{"loc":{"start":{"line":585,"column":16},"end":{"line":585,"column":75}},"type":"binary-expr","locations":[{"start":{"line":585,"column":16},"end":{"line":585,"column":46}},{"start":{"line":585,"column":50},"end":{"line":585,"column":75}}],"line":585},"91":{"loc":{"start":{"line":594,"column":8},"end":{"line":596,"column":9}},"type":"if","locations":[{"start":{"line":594,"column":8},"end":{"line":596,"column":9}},{"start":{"line":594,"column":8},"end":{"line":596,"column":9}}],"line":594},"92":{"loc":{"start":{"line":628,"column":8},"end":{"line":630,"column":9}},"type":"if","locations":[{"start":{"line":628,"column":8},"end":{"line":630,"column":9}},{"start":{"line":628,"column":8},"end":{"line":630,"column":9}}],"line":628},"93":{"loc":{"start":{"line":631,"column":8},"end":{"line":633,"column":9}},"type":"if","locations":[{"start":{"line":631,"column":8},"end":{"line":633,"column":9}},{"start":{"line":631,"column":8},"end":{"line":633,"column":9}}],"line":631},"94":{"loc":{"start":{"line":640,"column":12},"end":{"line":642,"column":13}},"type":"if","locations":[{"start":{"line":640,"column":12},"end":{"line":642,"column":13}},{"start":{"line":640,"column":12},"end":{"line":642,"column":13}}],"line":640},"95":{"loc":{"start":{"line":649,"column":16},"end":{"line":654,"column":17}},"type":"switch","locations":[{"start":{"line":650,"column":20},"end":{"line":650,"column":124}},{"start":{"line":651,"column":20},"end":{"line":653,"column":35}}],"line":649},"96":{"loc":{"start":{"line":659,"column":8},"end":{"line":664,"column":9}},"type":"if","locations":[{"start":{"line":659,"column":8},"end":{"line":664,"column":9}},{"start":{"line":659,"column":8},"end":{"line":664,"column":9}}],"line":659},"97":{"loc":{"start":{"line":669,"column":16},"end":{"line":681,"column":17}},"type":"switch","locations":[{"start":{"line":670,"column":20},"end":{"line":672,"column":90}},{"start":{"line":673,"column":20},"end":{"line":675,"column":38}},{"start":{"line":676,"column":20},"end":{"line":676,"column":116}},{"start":{"line":677,"column":20},"end":{"line":679,"column":37}},{"start":{"line":680,"column":20},"end":{"line":680,"column":39}}],"line":669},"98":{"loc":{"start":{"line":671,"column":24},"end":{"line":671,"column":56}},"type":"if","locations":[{"start":{"line":671,"column":24},"end":{"line":671,"column":56}},{"start":{"line":671,"column":24},"end":{"line":671,"column":56}}],"line":671},"99":{"loc":{"start":{"line":695,"column":8},"end":{"line":700,"column":9}},"type":"if","locations":[{"start":{"line":695,"column":8},"end":{"line":700,"column":9}},{"start":{"line":695,"column":8},"end":{"line":700,"column":9}}],"line":695},"100":{"loc":{"start":{"line":697,"column":12},"end":{"line":699,"column":13}},"type":"if","locations":[{"start":{"line":697,"column":12},"end":{"line":699,"column":13}},{"start":{"line":697,"column":12},"end":{"line":699,"column":13}}],"line":697},"101":{"loc":{"start":{"line":706,"column":16},"end":{"line":717,"column":17}},"type":"switch","locations":[{"start":{"line":707,"column":20},"end":{"line":709,"column":69}},{"start":{"line":710,"column":20},"end":{"line":712,"column":37}},{"start":{"line":713,"column":20},"end":{"line":713,"column":80}},{"start":{"line":714,"column":20},"end":{"line":716,"column":35}}],"line":706},"102":{"loc":{"start":{"line":708,"column":24},"end":{"line":708,"column":91}},"type":"if","locations":[{"start":{"line":708,"column":24},"end":{"line":708,"column":91}},{"start":{"line":708,"column":24},"end":{"line":708,"column":91}}],"line":708}},"s":{"0":1,"1":2,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":2,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":1,"20":0,"21":0,"22":1,"23":2,"24":2,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":1,"33":88,"34":10,"35":151,"36":85,"37":85,"38":0,"39":3,"40":3,"41":3,"42":235,"43":151,"44":1,"45":151,"46":89,"47":3,"48":86,"49":151,"50":0,"51":453,"52":239,"53":239,"54":0,"55":239,"56":570,"57":570,"58":0,"59":570,"60":0,"61":570,"62":239,"63":239,"64":88,"65":88,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":243,"74":151,"75":151,"76":92,"77":66,"78":66,"79":26,"80":1,"81":1,"82":1,"83":25,"84":0,"85":0,"86":0,"87":25,"88":0,"89":25,"90":25,"91":306,"92":5,"93":5,"94":570,"95":151,"96":4,"97":147,"98":1,"99":2,"100":2,"101":2,"102":2,"103":1,"104":0,"105":0,"106":0,"107":2,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":301,"126":301,"127":1,"128":300,"129":265,"130":35,"131":1,"132":299,"133":258,"134":41,"135":1,"136":298,"137":276,"138":22,"139":1,"140":297,"141":297,"142":297,"143":297,"144":297,"145":297,"146":297,"147":297,"148":297,"149":297,"150":1,"151":2,"152":2,"153":2,"154":1,"155":2,"156":2,"157":5,"158":2,"159":5,"160":10,"161":10,"162":2,"163":5,"164":2,"165":1,"166":16,"167":16,"168":16,"169":17,"170":16,"171":16,"172":16,"173":16,"174":17,"175":17,"176":17,"177":1,"178":1,"179":1,"180":1,"181":2,"182":1,"183":1,"184":6,"185":1,"186":1,"187":1,"188":3,"189":1,"190":2,"191":2,"192":2,"193":2,"194":2,"195":2,"196":2,"197":1,"198":1,"199":5,"200":5,"201":5,"202":5,"203":5,"204":5,"205":5,"206":5,"207":5,"208":1,"209":3,"210":3,"211":3,"212":3,"213":3,"214":3,"215":12,"216":3,"217":3,"218":6,"219":3,"220":3,"221":3,"222":3,"223":3,"224":3,"225":3,"226":3,"227":3,"228":3,"229":1,"230":24492,"231":24492,"232":24492,"233":24492,"234":1,"235":2,"236":2,"237":1,"238":1,"239":1,"240":2,"241":1,"242":1,"243":1,"244":1,"245":26,"246":25,"247":25,"248":23,"249":1,"250":12,"251":12,"252":24,"253":12,"254":1,"255":11,"256":11,"257":11,"258":10,"259":11,"260":10,"261":1,"262":5,"263":5,"264":6,"265":3,"266":1,"267":3,"268":3,"269":3,"270":6,"271":3,"272":3,"273":3,"274":3,"275":3,"276":3,"277":3,"278":1,"279":32,"280":1,"281":22,"282":1,"283":31,"284":31,"285":3,"286":31,"287":1,"288":2,"289":1,"290":8,"291":1,"292":32,"293":32,"294":16,"295":16,"296":16,"297":20,"298":32,"299":16,"300":32,"301":1,"302":5,"303":1,"304":6,"305":6,"306":1,"307":5,"308":5,"309":5,"310":5,"311":5,"312":1,"313":20,"314":20,"315":20,"316":1,"317":18,"318":18,"319":18,"320":31,"321":18,"322":18,"323":31,"324":1,"325":3,"326":1,"327":951,"328":951,"329":1,"330":50,"331":50,"332":50,"333":50,"334":1,"335":22,"336":22,"337":1,"338":5,"339":5,"340":5,"341":5,"342":1,"343":13,"344":1,"345":2,"346":1,"347":14,"348":14,"349":1,"350":1,"351":1,"352":1,"353":8,"354":8,"355":1,"356":4,"357":4,"358":1,"359":4,"360":1,"361":2,"362":1,"363":9,"364":9,"365":8,"366":9,"367":9,"368":8,"369":9,"370":1,"371":34,"372":8,"373":8,"374":1,"375":8,"376":8,"377":8,"378":1,"379":8,"380":13,"381":1,"382":40,"383":40,"384":40,"385":40,"386":20,"387":20,"388":12,"389":12,"390":28,"391":27,"392":13,"393":1,"394":1,"395":25,"396":25,"397":75,"398":25,"399":25,"400":25,"401":24,"402":1,"403":1,"404":24,"405":1,"406":20,"407":20,"408":20,"409":20,"410":20,"411":12,"412":12,"413":8,"414":1,"415":12,"416":12,"417":26,"418":12,"419":12,"420":13,"421":12,"422":1,"423":1,"424":1,"425":1,"426":12,"427":1,"428":17,"429":17,"430":15,"431":17,"432":19,"433":14,"434":14,"435":14,"436":17,"437":19,"438":2,"439":17,"440":19,"441":1,"442":17,"443":19,"444":2,"445":17,"446":19,"447":1,"448":1,"449":1,"450":17,"451":19,"452":3,"453":3,"454":17,"455":19,"456":8,"457":8,"458":17,"459":19,"460":1,"461":5,"462":1,"463":1055,"464":1018,"465":1055,"466":14,"467":14,"468":1,"469":13,"470":1041,"471":1,"472":995,"473":255,"474":5,"475":250,"476":1,"477":15,"478":15,"479":1,"480":1040,"481":1040,"482":1,"483":1056,"484":1056,"485":1055,"486":1018,"487":1018,"488":312,"489":1,"490":56,"491":56,"492":20,"493":36,"494":0,"495":0,"496":36,"497":1,"498":36,"499":36,"500":36,"501":38,"502":38,"503":37,"504":4,"505":1,"506":17,"507":17,"508":17,"509":34,"510":17,"511":18,"512":17,"513":16,"514":1,"515":28,"516":2,"517":26,"518":1,"519":12,"520":12,"521":36,"522":12,"523":10,"524":2,"525":2,"526":2,"527":10,"528":10,"529":10,"530":12,"531":1,"532":34,"533":34,"534":2,"535":1,"536":26,"537":26,"538":11,"539":10,"540":7,"541":6,"542":18,"543":1,"544":10,"545":10,"546":30,"547":10,"548":7,"549":3,"550":3,"551":3,"552":10,"553":10,"554":10,"555":1,"556":1},"f":{"0":2,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":2,"8":151,"9":88,"10":10,"11":151,"12":85,"13":3,"14":235,"15":151,"16":89,"17":0,"18":453,"19":239,"20":239,"21":2,"22":1,"23":301,"24":2,"25":5,"26":5,"27":10,"28":10,"29":5,"30":16,"31":1,"32":1,"33":6,"34":5,"35":5,"36":3,"37":3,"38":12,"39":24492,"40":2,"41":1,"42":1,"43":2,"44":26,"45":12,"46":12,"47":24,"48":5,"49":6,"50":3,"51":3,"52":6,"53":3,"54":32,"55":22,"56":31,"57":2,"58":8,"59":32,"60":20,"61":5,"62":6,"63":20,"64":18,"65":31,"66":3,"67":951,"68":50,"69":50,"70":50,"71":22,"72":5,"73":5,"74":5,"75":13,"76":2,"77":14,"78":1,"79":8,"80":4,"81":4,"82":2,"83":9,"84":34,"85":8,"86":8,"87":13,"88":40,"89":12,"90":25,"91":25,"92":75,"93":20,"94":12,"95":12,"96":12,"97":26,"98":17,"99":15,"100":19,"101":14,"102":19,"103":2,"104":19,"105":1,"106":19,"107":2,"108":19,"109":1,"110":19,"111":3,"112":19,"113":8,"114":19,"115":5,"116":1055,"117":1018,"118":995,"119":15,"120":1040,"121":1056,"122":1055,"123":56,"124":0,"125":36,"126":17,"127":17,"128":34,"129":18,"130":28,"131":12,"132":12,"133":36,"134":34,"135":26,"136":6,"137":10,"138":10,"139":30},"b":{"0":[1,1,1],"1":[2,0],"2":[0,0],"3":[1,1,1],"4":[1,0],"5":[0,0],"6":[0,0],"7":[1,1,1],"8":[1,0],"9":[1,1,1],"10":[2,0],"11":[2,2],"12":[0,0],"13":[0,0],"14":[0,0],"15":[1,1,1],"16":[78,10],"17":[151,151],"18":[147,88],"19":[151,151],"20":[1,1,1],"21":[3,86],"22":[151,151],"23":[0,239],"24":[0,570],"25":[570,0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,570],"31":[236,239,88,0,0,243],"32":[151,92],"33":[243,217,213],"34":[243,26],"35":[66,26],"36":[92,90,24,24],"37":[1,25],"38":[26,2],"39":[0,25],"40":[25,25],"41":[0,25],"42":[4,147],"43":[147,0],"44":[1,1,1],"45":[2,0],"46":[2,0],"47":[0,1],"48":[1,1],"49":[0,0],"50":[2,2],"51":[301,245],"52":[1,300],"53":[265,35],"54":[1,34],"55":[35,20,2],"56":[258,41],"57":[1,40],"58":[276,22],"59":[1,21],"60":[1,3,2,2,1],"61":[1,2],"62":[3,6,3,3,3],"63":[3,3],"64":[24492,1],"65":[1,1],"66":[25,1],"67":[12,11,11],"68":[1,11],"69":[3,3],"70":[3,28],"71":[31,20],"72":[16,16],"73":[16,16],"74":[32,20],"75":[1,5],"76":[20,19],"77":[3,15],"78":[8,1],"79":[8,1],"80":[8,26],"81":[20,20],"82":[12,8],"83":[13,14],"84":[25,25,1,24],"85":[12,8],"86":[12,13,1,12],"87":[12,1],"88":[14,1041],"89":[1,13],"90":[14,13],"91":[5,250],"92":[20,36],"93":[0,36],"94":[4,33],"95":[17,17],"96":[2,26],"97":[12,2,10,10,12],"98":[10,2],"99":[11,15],"100":[7,3],"101":[10,3,10,10],"102":[7,3]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/container/container.ts"],"names":[],"mappings":"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","sourcesContent":["import { Binding } from \"../bindings/binding\";\nimport * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { BindingScopeEnum, TargetTypeEnum } from \"../constants/literal_types\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { MetadataReader } from \"../planning/metadata_reader\";\nimport { createMockRequest, getBindingDictionary, plan } from \"../planning/planner\";\nimport { resolve } from \"../resolution/resolver\";\nimport { BindingToSyntax } from \"../syntax/binding_to_syntax\";\nimport { isPromise, isPromiseOrContainsPromise } from \"../utils/async\";\nimport { id } from \"../utils/id\";\nimport { getServiceIdentifierAsString } from \"../utils/serialization\";\nimport { ContainerSnapshot } from \"./container_snapshot\";\nimport { Lookup } from \"./lookup\";\nimport { ModuleActivationStore } from \"./module_activation_store\";\n\ntype GetArgs = Omit, 'contextInterceptor' | 'targetType'>\n\nclass Container implements interfaces.Container {\n\n public id: number;\n public parent: interfaces.Container | null;\n public readonly options: interfaces.ContainerOptions;\n private _middleware: interfaces.Next | null;\n private _bindingDictionary: interfaces.Lookup>;\n private _activations: interfaces.Lookup>;\n private _deactivations: interfaces.Lookup>;\n private _snapshots: interfaces.ContainerSnapshot[];\n private _metadataReader: interfaces.MetadataReader;\n private _moduleActivationStore: interfaces.ModuleActivationStore\n\n public static merge(\n container1: interfaces.Container,\n container2: interfaces.Container,\n ...containers: interfaces.Container[]\n ): interfaces.Container {\n const container = new Container();\n const targetContainers: interfaces.Lookup>[] = [container1, container2, ...containers]\n .map((targetContainer) => getBindingDictionary(targetContainer));\n const bindingDictionary: interfaces.Lookup> = getBindingDictionary(container);\n\n function copyDictionary(\n origin: interfaces.Lookup>,\n destination: interfaces.Lookup>\n ) {\n\n origin.traverse((_key, value) => {\n value.forEach((binding) => {\n destination.add(binding.serviceIdentifier, binding.clone());\n });\n });\n\n }\n\n targetContainers.forEach((targetBindingDictionary) => {\n copyDictionary(targetBindingDictionary, bindingDictionary);\n });\n\n return container;\n }\n\n public constructor(containerOptions?: interfaces.ContainerOptions) {\n const options = containerOptions || {};\n if (typeof options !== \"object\") {\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT}`);\n }\n\n if (options.defaultScope === undefined) {\n options.defaultScope = BindingScopeEnum.Transient;\n } else if (\n options.defaultScope !== BindingScopeEnum.Singleton &&\n options.defaultScope !== BindingScopeEnum.Transient &&\n options.defaultScope !== BindingScopeEnum.Request\n ) {\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE}`);\n }\n\n if (options.autoBindInjectable === undefined) {\n options.autoBindInjectable = false;\n } else if (\n typeof options.autoBindInjectable !== \"boolean\"\n ) {\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE}`);\n }\n\n if (options.skipBaseClassChecks === undefined) {\n options.skipBaseClassChecks = false;\n } else if (\n typeof options.skipBaseClassChecks !== \"boolean\"\n ) {\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK}`);\n }\n\n this.options = {\n autoBindInjectable: options.autoBindInjectable,\n defaultScope: options.defaultScope,\n skipBaseClassChecks: options.skipBaseClassChecks\n };\n\n this.id = id();\n this._bindingDictionary = new Lookup>();\n this._snapshots = [];\n this._middleware = null;\n this._activations = new Lookup>();\n this._deactivations = new Lookup>();\n this.parent = null;\n this._metadataReader = new MetadataReader();\n this._moduleActivationStore = new ModuleActivationStore()\n }\n\n public load(...modules: interfaces.ContainerModule[]) {\n\n const getHelpers = this._getContainerModuleHelpersFactory();\n\n for (const currentModule of modules) {\n\n const containerModuleHelpers = getHelpers(currentModule.id);\n\n currentModule.registry(\n containerModuleHelpers.bindFunction,\n containerModuleHelpers.unbindFunction,\n containerModuleHelpers.isboundFunction,\n containerModuleHelpers.rebindFunction,\n containerModuleHelpers.unbindAsyncFunction,\n containerModuleHelpers.onActivationFunction,\n containerModuleHelpers.onDeactivationFunction\n );\n\n }\n\n }\n\n public async loadAsync(...modules: interfaces.AsyncContainerModule[]) {\n\n const getHelpers = this._getContainerModuleHelpersFactory();\n\n for (const currentModule of modules) {\n\n const containerModuleHelpers = getHelpers(currentModule.id);\n\n await currentModule.registry(\n containerModuleHelpers.bindFunction,\n containerModuleHelpers.unbindFunction,\n containerModuleHelpers.isboundFunction,\n containerModuleHelpers.rebindFunction,\n containerModuleHelpers.unbindAsyncFunction,\n containerModuleHelpers.onActivationFunction,\n containerModuleHelpers.onDeactivationFunction\n );\n\n }\n\n }\n\n public unload(...modules: interfaces.ContainerModuleBase[]): void {\n modules.forEach((module) => {\n const deactivations = this._removeModuleBindings(module.id)\n this._deactivateSingletons(deactivations);\n\n this._removeModuleHandlers(module.id);\n });\n\n }\n\n public async unloadAsync(...modules: interfaces.ContainerModuleBase[]): Promise {\n for (const module of modules) {\n const deactivations = this._removeModuleBindings(module.id)\n await this._deactivateSingletonsAsync(deactivations)\n\n this._removeModuleHandlers(module.id);\n }\n\n }\n\n // Registers a type binding\n public bind(serviceIdentifier: interfaces.ServiceIdentifier): interfaces.BindingToSyntax {\n const scope = this.options.defaultScope || BindingScopeEnum.Transient;\n const binding = new Binding(serviceIdentifier, scope);\n this._bindingDictionary.add(serviceIdentifier, binding as Binding);\n return new BindingToSyntax(binding);\n }\n\n public rebind(serviceIdentifier: interfaces.ServiceIdentifier): interfaces.BindingToSyntax {\n this.unbind(serviceIdentifier);\n return this.bind(serviceIdentifier);\n }\n\n public async rebindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise> {\n await this.unbindAsync(serviceIdentifier);\n return this.bind(serviceIdentifier);\n }\n\n // Removes a type binding from the registry by its key\n public unbind(serviceIdentifier: interfaces.ServiceIdentifier): void {\n if (this._bindingDictionary.hasKey(serviceIdentifier)) {\n const bindings = this._bindingDictionary.get(serviceIdentifier);\n\n this._deactivateSingletons(bindings);\n }\n\n this._removeServiceFromDictionary(serviceIdentifier);\n }\n\n public async unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise {\n if (this._bindingDictionary.hasKey(serviceIdentifier)) {\n const bindings = this._bindingDictionary.get(serviceIdentifier);\n\n await this._deactivateSingletonsAsync(bindings);\n }\n\n this._removeServiceFromDictionary(serviceIdentifier);\n }\n\n // Removes all the type bindings from the registry\n public unbindAll(): void {\n this._bindingDictionary.traverse((_key, value) => {\n this._deactivateSingletons(value);\n });\n\n this._bindingDictionary = new Lookup>();\n }\n\n public async unbindAllAsync(): Promise {\n const promises: Promise[] = [];\n\n this._bindingDictionary.traverse((_key, value) => {\n promises.push(this._deactivateSingletonsAsync(value));\n });\n\n await Promise.all(promises);\n\n this._bindingDictionary = new Lookup>();\n }\n\n public onActivation(serviceIdentifier: interfaces.ServiceIdentifier, onActivation: interfaces.BindingActivation) {\n this._activations.add(serviceIdentifier, onActivation as interfaces.BindingActivation);\n }\n\n public onDeactivation(serviceIdentifier: interfaces.ServiceIdentifier, onDeactivation: interfaces.BindingDeactivation) {\n this._deactivations.add(serviceIdentifier, onDeactivation as interfaces.BindingDeactivation);\n }\n\n // Allows to check if there are bindings available for serviceIdentifier\n public isBound(serviceIdentifier: interfaces.ServiceIdentifier): boolean {\n let bound = this._bindingDictionary.hasKey(serviceIdentifier);\n if (!bound && this.parent) {\n bound = this.parent.isBound(serviceIdentifier);\n }\n return bound;\n }\n\n // check binding dependency only in current container\n public isCurrentBound(serviceIdentifier: interfaces.ServiceIdentifier): boolean {\n return this._bindingDictionary.hasKey(serviceIdentifier);\n }\n\n public isBoundNamed(serviceIdentifier: interfaces.ServiceIdentifier, named: string | number | symbol): boolean {\n return this.isBoundTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n // Check if a binding with a complex constraint is available without throwing a error. Ancestors are also verified.\n public isBoundTagged(serviceIdentifier: interfaces.ServiceIdentifier, key: string | number | symbol, value: unknown): boolean {\n let bound = false;\n\n // verify if there are bindings available for serviceIdentifier on current binding dictionary\n if (this._bindingDictionary.hasKey(serviceIdentifier)) {\n const bindings = this._bindingDictionary.get(serviceIdentifier);\n const request = createMockRequest(this, serviceIdentifier, key, value);\n bound = bindings.some((b) => b.constraint(request));\n }\n\n // verify if there is a parent container that could solve the request\n if (!bound && this.parent) {\n bound = this.parent.isBoundTagged(serviceIdentifier, key, value);\n }\n\n return bound;\n }\n\n public snapshot(): void {\n this._snapshots.push(ContainerSnapshot.of(\n this._bindingDictionary.clone(),\n this._middleware,\n this._activations.clone(),\n this._deactivations.clone(),\n this._moduleActivationStore.clone()\n ));\n }\n\n public restore(): void {\n const snapshot = this._snapshots.pop();\n if (snapshot === undefined) {\n throw new Error(ERROR_MSGS.NO_MORE_SNAPSHOTS_AVAILABLE);\n }\n this._bindingDictionary = snapshot.bindings;\n this._activations = snapshot.activations;\n this._deactivations = snapshot.deactivations;\n this._middleware = snapshot.middleware;\n this._moduleActivationStore = snapshot.moduleActivationStore\n }\n\n public createChild(containerOptions?: interfaces.ContainerOptions): Container {\n const child = new Container(containerOptions || this.options);\n child.parent = this;\n return child;\n }\n\n public applyMiddleware(...middlewares: interfaces.Middleware[]): void {\n const initial: interfaces.Next = (this._middleware) ? this._middleware : this._planAndResolve();\n this._middleware = middlewares.reduce(\n (prev, curr) => curr(prev),\n initial);\n }\n\n public applyCustomMetadataReader(metadataReader: interfaces.MetadataReader) {\n this._metadataReader = metadataReader;\n }\n\n // Resolves a dependency by its runtime identifier\n // The runtime identifier must be associated with only one binding\n // use getAll when the runtime identifier is associated with multiple bindings\n public get(serviceIdentifier: interfaces.ServiceIdentifier): T {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false);\n\n return this._getButThrowIfAsync(getArgs) as T;\n }\n\n public async getAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false);\n\n return this._get(getArgs) as Promise | T;\n }\n\n public getTagged(serviceIdentifier: interfaces.ServiceIdentifier, key: string | number | symbol, value: unknown): T {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);\n\n return this._getButThrowIfAsync(getArgs) as T;\n }\n\n public async getTaggedAsync(\n serviceIdentifier: interfaces.ServiceIdentifier,\n key: string | number | symbol,\n value: unknown\n ): Promise {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);\n\n return this._get(getArgs) as Promise | T;\n }\n\n public getNamed(serviceIdentifier: interfaces.ServiceIdentifier, named: string | number | symbol): T {\n return this.getTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n public getNamedAsync(serviceIdentifier: interfaces.ServiceIdentifier, named: string | number | symbol): Promise {\n return this.getTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n // Resolves a dependency by its runtime identifier\n // The runtime identifier can be associated with one or multiple bindings\n public getAll(serviceIdentifier: interfaces.ServiceIdentifier): T[] {\n const getArgs = this._getAllArgs(serviceIdentifier);\n\n return this._getButThrowIfAsync(getArgs) as T[];\n }\n\n public getAllAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise {\n const getArgs = this._getAllArgs(serviceIdentifier);\n\n return this._getAll(getArgs);\n }\n\n public getAllTagged(serviceIdentifier: interfaces.ServiceIdentifier, key: string | number | symbol, value: unknown): T[] {\n const getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);\n\n return this._getButThrowIfAsync(getArgs) as T[];\n }\n\n public getAllTaggedAsync(\n serviceIdentifier: interfaces.ServiceIdentifier,\n key: string | number | symbol,\n value: unknown\n ): Promise {\n const getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);\n\n return this._getAll(getArgs);\n }\n\n public getAllNamed(serviceIdentifier: interfaces.ServiceIdentifier, named: string | number | symbol): T[] {\n return this.getAllTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n public getAllNamedAsync(serviceIdentifier: interfaces.ServiceIdentifier, named: string | number | symbol): Promise {\n return this.getAllTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n public resolve(constructorFunction: interfaces.Newable) {\n const isBound = this.isBound(constructorFunction);\n if (!isBound) {\n this.bind(constructorFunction).toSelf();\n }\n const resolved = this.get(constructorFunction);\n if (!isBound) {\n this.unbind(constructorFunction);\n }\n return resolved;\n }\n\n private _preDestroy(constructor: NewableFunction, instance: any): Promise | void {\n if (Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constructor)) {\n const data: interfaces.Metadata = Reflect.getMetadata(METADATA_KEY.PRE_DESTROY, constructor);\n\n return instance[data.value as string]();\n }\n }\n private _removeModuleHandlers(moduleId: number): void {\n const moduleActivationsHandlers = this._moduleActivationStore.remove(moduleId);\n\n this._activations.removeIntersection(moduleActivationsHandlers.onActivations);\n this._deactivations.removeIntersection(moduleActivationsHandlers.onDeactivations);\n }\n\n private _removeModuleBindings(moduleId: number): interfaces.Binding[] {\n return this._bindingDictionary.removeByCondition(binding => binding.moduleId === moduleId);\n }\n\n private _deactivate(binding: Binding, instance: T): void | Promise {\n const constructor: NewableFunction = Object.getPrototypeOf(instance).constructor;\n\n try {\n if (this._deactivations.hasKey(binding.serviceIdentifier)) {\n const result = this._deactivateContainer(\n instance,\n this._deactivations.get(binding.serviceIdentifier).values(),\n );\n\n if (isPromise(result)) {\n return this._handleDeactivationError(\n result.then(() => this._propagateContainerDeactivationThenBindingAndPreDestroyAsync(\n binding, instance, constructor)),\n constructor\n );\n }\n }\n\n const propagateDeactivationResult = this._propagateContainerDeactivationThenBindingAndPreDestroy(\n binding, instance, constructor);\n\n if (isPromise(propagateDeactivationResult)) {\n return this._handleDeactivationError(propagateDeactivationResult, constructor);\n }\n } catch (ex) {\n throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR(constructor.name, ex.message));\n }\n }\n\n private async _handleDeactivationError(asyncResult: Promise, constructor: NewableFunction): Promise {\n try {\n await asyncResult\n } catch (ex) {\n throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR(constructor.name, ex.message));\n }\n }\n\n\n private _deactivateContainer(\n instance: T,\n deactivationsIterator: IterableIterator>,\n ): void | Promise {\n let deactivation = deactivationsIterator.next();\n\n while (deactivation.value) {\n const result = deactivation.value(instance);\n\n if (isPromise(result)) {\n return result.then(() =>\n this._deactivateContainerAsync(instance, deactivationsIterator),\n );\n }\n\n deactivation = deactivationsIterator.next();\n }\n }\n\n private async _deactivateContainerAsync(\n instance: T,\n deactivationsIterator: IterableIterator>,\n ): Promise {\n let deactivation = deactivationsIterator.next();\n\n while (deactivation.value) {\n await deactivation.value(instance);\n deactivation = deactivationsIterator.next();\n }\n }\n\n private _getContainerModuleHelpersFactory() {\n\n const setModuleId = (bindingToSyntax: any, moduleId: interfaces.ContainerModuleBase[\"id\"]) => {\n bindingToSyntax._binding.moduleId = moduleId;\n };\n\n const getBindFunction = (moduleId: interfaces.ContainerModuleBase[\"id\"]) =>\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\n const bindingToSyntax = this.bind(serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax;\n };\n\n const getUnbindFunction = () =>\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\n return this.unbind(serviceIdentifier);\n };\n\n const getUnbindAsyncFunction = () =>\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\n return this.unbindAsync(serviceIdentifier);\n };\n\n const getIsboundFunction = () =>\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\n return this.isBound(serviceIdentifier)\n };\n\n const getRebindFunction = (moduleId: interfaces.ContainerModuleBase[\"id\"]) =>\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\n const bindingToSyntax = this.rebind(serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax;\n };\n\n const getOnActivationFunction = (moduleId: interfaces.ContainerModuleBase[\"id\"]) =>\n (serviceIdentifier: interfaces.ServiceIdentifier, onActivation: interfaces.BindingActivation) => {\n this._moduleActivationStore.addActivation(moduleId, serviceIdentifier, onActivation);\n this.onActivation(serviceIdentifier, onActivation);\n }\n\n const getOnDeactivationFunction = (moduleId: interfaces.ContainerModuleBase[\"id\"]) =>\n (serviceIdentifier: interfaces.ServiceIdentifier, onDeactivation: interfaces.BindingDeactivation) => {\n this._moduleActivationStore.addDeactivation(moduleId, serviceIdentifier, onDeactivation);\n this.onDeactivation(serviceIdentifier, onDeactivation);\n }\n\n return (mId: interfaces.ContainerModuleBase[\"id\"]) => ({\n bindFunction: getBindFunction(mId),\n isboundFunction: getIsboundFunction(),\n onActivationFunction: getOnActivationFunction(mId),\n onDeactivationFunction: getOnDeactivationFunction(mId),\n rebindFunction: getRebindFunction(mId),\n unbindFunction: getUnbindFunction(),\n unbindAsyncFunction: getUnbindAsyncFunction()\n });\n\n }\n private _getAll(getArgs: GetArgs): Promise {\n return Promise.all(this._get(getArgs) as (Promise | T)[]);\n }\n // Prepares arguments required for resolution and\n // delegates resolution to _middleware if available\n // otherwise it delegates resolution to _planAndResolve\n private _get(getArgs: GetArgs): interfaces.ContainerResolution {\n const planAndResolveArgs: interfaces.NextArgs = {\n ...getArgs,\n contextInterceptor: (context) => context,\n targetType: TargetTypeEnum.Variable\n }\n if (this._middleware) {\n const middlewareResult = this._middleware(planAndResolveArgs);\n if (middlewareResult === undefined || middlewareResult === null) {\n throw new Error(ERROR_MSGS.INVALID_MIDDLEWARE_RETURN);\n }\n return middlewareResult;\n }\n\n return this._planAndResolve()(planAndResolveArgs);\n }\n\n private _getButThrowIfAsync(\n getArgs: GetArgs,\n ): (T | T[]) {\n const result = this._get(getArgs);\n\n if (isPromiseOrContainsPromise(result)) {\n throw new Error(ERROR_MSGS.LAZY_IN_SYNC(getArgs.serviceIdentifier));\n }\n\n return result as (T | T[]);\n }\n\n private _getAllArgs(serviceIdentifier: interfaces.ServiceIdentifier): GetArgs {\n const getAllArgs: GetArgs = {\n avoidConstraints: true,\n isMultiInject: true,\n serviceIdentifier,\n };\n\n return getAllArgs;\n }\n\n private _getNotAllArgs(\n serviceIdentifier: interfaces.ServiceIdentifier,\n isMultiInject: boolean,\n key?: string | number | symbol,\n value?: unknown,\n ): GetArgs {\n const getNotAllArgs: GetArgs = {\n avoidConstraints: false,\n isMultiInject,\n serviceIdentifier,\n key,\n value,\n };\n\n return getNotAllArgs;\n }\n\n // Planner creates a plan and Resolver resolves a plan\n // one of the jobs of the Container is to links the Planner\n // with the Resolver and that is what this function is about\n private _planAndResolve(): (args: interfaces.NextArgs) => interfaces.ContainerResolution {\n return (args: interfaces.NextArgs) => {\n\n // create a plan\n let context = plan(\n this._metadataReader,\n this,\n args.isMultiInject,\n args.targetType,\n args.serviceIdentifier,\n args.key,\n args.value,\n args.avoidConstraints\n );\n\n // apply context interceptor\n context = args.contextInterceptor(context);\n\n // resolve plan\n const result = resolve(context);\n\n return result;\n\n };\n }\n\n private _deactivateIfSingleton(binding: Binding): Promise | void {\n if (!binding.activated) {\n return;\n }\n\n if (isPromise(binding.cache)) {\n return binding.cache.then((resolved) => this._deactivate(binding, resolved));\n }\n\n return this._deactivate(binding, binding.cache);\n }\n\n private _deactivateSingletons(bindings: Binding[]): void {\n for (const binding of bindings) {\n const result = this._deactivateIfSingleton(binding);\n\n if (isPromise(result)) {\n throw new Error(ERROR_MSGS.ASYNC_UNBIND_REQUIRED);\n }\n }\n }\n\n private async _deactivateSingletonsAsync(bindings: Binding[]): Promise {\n await Promise.all(bindings.map(b => this._deactivateIfSingleton(b)))\n }\n\n private _propagateContainerDeactivationThenBindingAndPreDestroy(\n binding: Binding,\n instance: T,\n constructor: NewableFunction\n ): void | Promise {\n if (this.parent) {\n return this._deactivate.bind(this.parent)(binding, instance);\n } else {\n return this._bindingDeactivationAndPreDestroy(binding, instance, constructor);\n }\n }\n\n private async _propagateContainerDeactivationThenBindingAndPreDestroyAsync(\n binding: Binding,\n instance: T,\n constructor: NewableFunction\n ): Promise {\n if (this.parent) {\n await this._deactivate.bind(this.parent)(binding, instance);\n } else {\n await this._bindingDeactivationAndPreDestroyAsync(binding, instance, constructor);\n }\n }\n\n private _removeServiceFromDictionary(serviceIdentifier: interfaces.ServiceIdentifier): void {\n try {\n this._bindingDictionary.remove(serviceIdentifier);\n } catch (e) {\n throw new Error(`${ERROR_MSGS.CANNOT_UNBIND} ${getServiceIdentifierAsString(serviceIdentifier)}`);\n }\n }\n\n private _bindingDeactivationAndPreDestroy(\n binding: Binding,\n instance: T,\n constructor: NewableFunction\n ): void | Promise {\n if (typeof binding.onDeactivation === \"function\") {\n const result = binding.onDeactivation(instance);\n\n if (isPromise(result)) {\n return result.then(() => this._preDestroy(constructor, instance));\n }\n }\n\n return this._preDestroy(constructor, instance);\n }\n\n private async _bindingDeactivationAndPreDestroyAsync(\n binding: Binding,\n instance: T,\n constructor: NewableFunction\n ): Promise {\n if (typeof binding.onDeactivation === \"function\") {\n await binding.onDeactivation(instance);\n }\n\n await this._preDestroy(constructor, instance);\n }\n\n}\n\nexport { Container };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ac77568dc69cd430bcd1d5fa9d4b5eae531578cd","contentHash":"31a3962d404b0d07f9311db7cd2837a64faf0d411921ac2c608c54dd18c81b69"},"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":59}},"3":{"start":{"line":5,"column":11},"end":{"line":5,"column":33}},"4":{"start":{"line":6,"column":15},"end":{"line":38,"column":3}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":33}},"6":{"start":{"line":9,"column":8},"end":{"line":9,"column":31}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":51}},"8":{"start":{"line":11,"column":8},"end":{"line":11,"column":27}},"9":{"start":{"line":12,"column":8},"end":{"line":12,"column":60}},"10":{"start":{"line":13,"column":8},"end":{"line":13,"column":62}},"11":{"start":{"line":13,"column":47},"end":{"line":13,"column":59}},"12":{"start":{"line":14,"column":8},"end":{"line":14,"column":39}},"13":{"start":{"line":15,"column":8},"end":{"line":15,"column":26}},"14":{"start":{"line":16,"column":8},"end":{"line":16,"column":28}},"15":{"start":{"line":17,"column":8},"end":{"line":17,"column":29}},"16":{"start":{"line":18,"column":8},"end":{"line":18,"column":33}},"17":{"start":{"line":19,"column":8},"end":{"line":19,"column":35}},"18":{"start":{"line":20,"column":8},"end":{"line":20,"column":33}},"19":{"start":{"line":22,"column":4},"end":{"line":36,"column":6}},"20":{"start":{"line":23,"column":20},"end":{"line":23,"column":67}},"21":{"start":{"line":24,"column":8},"end":{"line":24,"column":112}},"22":{"start":{"line":25,"column":8},"end":{"line":25,"column":59}},"23":{"start":{"line":26,"column":8},"end":{"line":26,"column":47}},"24":{"start":{"line":27,"column":8},"end":{"line":27,"column":33}},"25":{"start":{"line":28,"column":8},"end":{"line":28,"column":31}},"26":{"start":{"line":29,"column":8},"end":{"line":29,"column":37}},"27":{"start":{"line":30,"column":8},"end":{"line":30,"column":39}},"28":{"start":{"line":31,"column":8},"end":{"line":31,"column":43}},"29":{"start":{"line":32,"column":8},"end":{"line":32,"column":47}},"30":{"start":{"line":33,"column":8},"end":{"line":33,"column":51}},"31":{"start":{"line":34,"column":8},"end":{"line":34,"column":33}},"32":{"start":{"line":35,"column":8},"end":{"line":35,"column":21}},"33":{"start":{"line":37,"column":4},"end":{"line":37,"column":19}},"34":{"start":{"line":39,"column":0},"end":{"line":39,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":15},"end":{"line":6,"column":16}},"loc":{"start":{"line":6,"column":27},"end":{"line":38,"column":1}},"line":6},"1":{"name":"Binding","decl":{"start":{"line":7,"column":13},"end":{"line":7,"column":20}},"loc":{"start":{"line":7,"column":47},"end":{"line":21,"column":5}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":26},"end":{"line":13,"column":27}},"loc":{"start":{"line":13,"column":45},"end":{"line":13,"column":61}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":22,"column":30},"end":{"line":22,"column":31}},"loc":{"start":{"line":22,"column":42},"end":{"line":36,"column":5}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":26},"end":{"line":24,"column":111}},"type":"cond-expr","locations":[{"start":{"line":24,"column":89},"end":{"line":24,"column":103}},{"start":{"line":24,"column":106},"end":{"line":24,"column":111}}],"line":24}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":24553,"6":24553,"7":24553,"8":24553,"9":24553,"10":24553,"11":8935,"12":24553,"13":24553,"14":24553,"15":24553,"16":24553,"17":24553,"18":24553,"19":1,"20":15,"21":15,"22":15,"23":15,"24":15,"25":15,"26":15,"27":15,"28":15,"29":15,"30":15,"31":15,"32":15,"33":1,"34":1},"f":{"0":1,"1":24553,"2":8935,"3":15},"b":{"0":[2,13]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding.ts"],"names":[],"mappings":";;;AAAA,4DAA+E;AAE/E,kCAAiC;AAEjC;IA2CE,iBAAmB,iBAA2D,EAAE,KAA8B;QAC5G,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,+BAAe,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAC,OAAkC,IAAK,OAAA,IAAI,EAAJ,CAAI,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEM,uBAAK,GAAZ;QACE,IAAM,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QACxF,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAEH,cAAC;AAAD,CAAC,AA3ED,IA2EC;AAEQ,0BAAO","sourcesContent":["import { BindingScopeEnum, BindingTypeEnum } from \"../constants/literal_types\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { id } from \"../utils/id\";\n\nclass Binding implements interfaces.Binding {\n\n public id: number;\n public moduleId!: interfaces.ContainerModuleBase[\"id\"];\n\n // Determines weather the bindings has been already activated\n // The activation action takes place when an instance is resolved\n // If the scope is singleton it only happens once\n public activated: boolean;\n\n // A runtime identifier because at runtime we don't have interfaces\n public serviceIdentifier: interfaces.ServiceIdentifier;\n\n // constructor from binding to or toConstructor\n public implementationType: interfaces.Newable | TActivated | null;\n\n // Cache used to allow singleton scope and BindingType.ConstantValue bindings\n public cache: TActivated | Promise | null;\n\n // Cache used to allow BindingType.DynamicValue bindings\n public dynamicValue: interfaces.DynamicValue | null;\n\n // The scope mode to be used\n public scope: interfaces.BindingScope;\n\n // The kind of binding\n public type: interfaces.BindingType;\n\n // A factory method used in BindingType.Factory bindings\n public factory: interfaces.FactoryCreator | null;\n\n // An async factory method used in BindingType.Provider bindings\n public provider: interfaces.ProviderCreator | null;\n\n // A constraint used to limit the contexts in which this binding is applicable\n public constraint: interfaces.ConstraintFunction;\n\n // On activation handler (invoked just before an instance is added to cache and injected)\n public onActivation: interfaces.BindingActivation | null;\n\n // On deactivation handler (invoked just before an instance is unbinded and removed from container)\n public onDeactivation: interfaces.BindingDeactivation | null;\n\n public constructor(serviceIdentifier: interfaces.ServiceIdentifier, scope: interfaces.BindingScope) {\n this.id = id();\n this.activated = false;\n this.serviceIdentifier = serviceIdentifier;\n this.scope = scope;\n this.type = BindingTypeEnum.Invalid;\n this.constraint = (request: interfaces.Request | null) => true;\n this.implementationType = null;\n this.cache = null;\n this.factory = null;\n this.provider = null;\n this.onActivation = null;\n this.onDeactivation = null;\n this.dynamicValue = null;\n }\n\n public clone(): interfaces.Binding {\n const clone = new Binding(this.serviceIdentifier, this.scope);\n clone.activated = (clone.scope === BindingScopeEnum.Singleton) ? this.activated : false;\n clone.implementationType = this.implementationType;\n clone.dynamicValue = this.dynamicValue;\n clone.scope = this.scope;\n clone.type = this.type;\n clone.factory = this.factory;\n clone.provider = this.provider;\n clone.constraint = this.constraint;\n clone.onActivation = this.onActivation;\n clone.onDeactivation = this.onDeactivation;\n clone.cache = this.cache;\n return clone;\n }\n\n}\n\nexport { Binding };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4eb712fffb55ce6ab81f186a82dc4e1582c181e5","contentHash":"faf52e2dfa07562a79e07338a3fdc631287c3c7736577a44855fbd4824d550dc"},"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/literal_types.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/literal_types.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":85}},"2":{"start":{"line":4,"column":23},"end":{"line":8,"column":1}},"3":{"start":{"line":9,"column":0},"end":{"line":9,"column":44}},"4":{"start":{"line":10,"column":22},"end":{"line":19,"column":1}},"5":{"start":{"line":20,"column":0},"end":{"line":20,"column":42}},"6":{"start":{"line":21,"column":21},"end":{"line":25,"column":1}},"7":{"start":{"line":26,"column":0},"end":{"line":26,"column":40}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/literal_types.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/constants/literal_types.ts"],"names":[],"mappings":";;;AAEA,IAAM,gBAAgB,GAAgC;IACpD,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACvB,CAAC;AAmBO,4CAAgB;AAjBzB,IAAM,eAAe,GAA+B;IAClD,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAQyB,0CAAe;AAN1C,IAAM,cAAc,GAA8B;IAChD,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,QAAQ,EAAE,UAAU;CACrB,CAAC;AAE0C,wCAAc","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nconst BindingScopeEnum: interfaces.BindingScopeEnum = {\n Request: \"Request\",\n Singleton: \"Singleton\",\n Transient: \"Transient\"\n};\n\nconst BindingTypeEnum: interfaces.BindingTypeEnum = {\n ConstantValue: \"ConstantValue\",\n Constructor: \"Constructor\",\n DynamicValue: \"DynamicValue\",\n Factory: \"Factory\",\n Function: \"Function\",\n Instance: \"Instance\",\n Invalid: \"Invalid\",\n Provider: \"Provider\"\n};\n\nconst TargetTypeEnum: interfaces.TargetTypeEnum = {\n ClassProperty: \"ClassProperty\",\n ConstructorArgument: \"ConstructorArgument\",\n Variable: \"Variable\"\n};\n\nexport { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b243ce1e01c931e01c9d9c751eece8180448bbf1","contentHash":"6cc996618fd350bd6ac5b2ac5ef75ff4aafce21aaeb3b3c8aefba85d4a4677eb"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/id.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/id.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":20}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":23}},"4":{"start":{"line":8,"column":0},"end":{"line":8,"column":16}}},"fnMap":{"0":{"name":"id","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":11}},"loc":{"start":{"line":5,"column":14},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":53296,"4":1},"f":{"0":53296},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/id.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/utils/id.ts"],"names":[],"mappings":";;;AAAA,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,SAAS,EAAE;IACT,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAEQ,gBAAE","sourcesContent":["let idCounter = 0;\r\n\r\nfunction id(): number {\r\n return idCounter++;\r\n}\r\n\r\nexport { id };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8ba4c68240233d847cc7506ed5856c6d1e1ce490","contentHash":"0e01e63af959a8da52da4626172d52c034bccc5257e66d4099ee51a487ebc2f2"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata_reader.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata_reader.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":32}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":22},"end":{"line":40,"column":3}},"25":{"start":{"line":27,"column":4},"end":{"line":34,"column":6}},"26":{"start":{"line":28,"column":40},"end":{"line":28,"column":102}},"27":{"start":{"line":29,"column":36},"end":{"line":29,"column":93}},"28":{"start":{"line":30,"column":8},"end":{"line":33,"column":10}},"29":{"start":{"line":35,"column":4},"end":{"line":38,"column":6}},"30":{"start":{"line":36,"column":36},"end":{"line":36,"column":104}},"31":{"start":{"line":37,"column":8},"end":{"line":37,"column":37}},"32":{"start":{"line":39,"column":4},"end":{"line":39,"column":26}},"33":{"start":{"line":41,"column":0},"end":{"line":41,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":24,"column":22},"end":{"line":24,"column":23}},"loc":{"start":{"line":24,"column":34},"end":{"line":40,"column":1}},"line":24},"7":{"name":"MetadataReader","decl":{"start":{"line":25,"column":13},"end":{"line":25,"column":27}},"loc":{"start":{"line":25,"column":30},"end":{"line":26,"column":5}},"line":25},"8":{"name":"(anonymous_8)","decl":{"start":{"line":27,"column":54},"end":{"line":27,"column":55}},"loc":{"start":{"line":27,"column":81},"end":{"line":34,"column":5}},"line":27},"9":{"name":"(anonymous_9)","decl":{"start":{"line":35,"column":53},"end":{"line":35,"column":54}},"loc":{"start":{"line":35,"column":80},"end":{"line":38,"column":5}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":32,"column":35},"end":{"line":32,"column":62}},"type":"binary-expr","locations":[{"start":{"line":32,"column":35},"end":{"line":32,"column":56}},{"start":{"line":32,"column":60},"end":{"line":32,"column":62}}],"line":32},"13":{"loc":{"start":{"line":36,"column":36},"end":{"line":36,"column":104}},"type":"binary-expr","locations":[{"start":{"line":36,"column":36},"end":{"line":36,"column":98}},{"start":{"line":36,"column":102},"end":{"line":36,"column":104}}],"line":36}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":8135,"27":8135,"28":8135,"29":1,"30":8123,"31":8123,"32":1,"33":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":329,"8":8135,"9":8123},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[8135,2346],"13":[8123,8105]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata_reader.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata_reader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAG3D;IAAA;IAuBA,CAAC;IArBQ,+CAAsB,GAA7B,UAA8B,eAAgC;QAG5D,IAAM,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAGjG,IAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAExF,OAAO;YACL,yBAAyB,2BAAA;YACzB,qBAAqB,EAAE,qBAAqB,IAAI,EAAE;SACnD,CAAC;IAEJ,CAAC;IAEM,8CAAqB,GAA5B,UAA6B,eAAgC;QAE3D,IAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QACnG,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAEH,qBAAC;AAAD,CAAC,AAvBD,IAuBC;AAEQ,wCAAc","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\n\nclass MetadataReader implements interfaces.MetadataReader {\n\n public getConstructorMetadata(constructorFunc: NewableFunction): interfaces.ConstructorMetadata {\n\n // TypeScript compiler generated annotations\n const compilerGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.PARAM_TYPES, constructorFunc);\n\n // User generated constructor annotations\n const userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED, constructorFunc);\n\n return {\n compilerGeneratedMetadata,\n userGeneratedMetadata: userGeneratedMetadata || {}\n };\n\n }\n\n public getPropertiesMetadata(constructorFunc: NewableFunction): interfaces.MetadataMap {\n // User generated properties annotations\n const userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc) || [];\n return userGeneratedMetadata;\n }\n\n}\n\nexport { MetadataReader };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ecab1e338c83c2d8796284e1bf2cf73fa745cd2c","contentHash":"c0c2c0c4c4100caa3ccb75e132f79826601f995ca77d39bdc04b9d110de1caf7"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/planner.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/planner.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":81}},"23":{"start":{"line":23,"column":22},"end":{"line":23,"column":58}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":65}},"25":{"start":{"line":25,"column":22},"end":{"line":25,"column":59}},"26":{"start":{"line":26,"column":19},"end":{"line":26,"column":70}},"27":{"start":{"line":27,"column":19},"end":{"line":27,"column":49}},"28":{"start":{"line":28,"column":22},"end":{"line":28,"column":55}},"29":{"start":{"line":29,"column":16},"end":{"line":29,"column":36}},"30":{"start":{"line":30,"column":17},"end":{"line":30,"column":38}},"31":{"start":{"line":31,"column":13},"end":{"line":31,"column":30}},"32":{"start":{"line":32,"column":25},"end":{"line":32,"column":54}},"33":{"start":{"line":33,"column":16},"end":{"line":33,"column":36}},"34":{"start":{"line":34,"column":15},"end":{"line":34,"column":34}},"35":{"start":{"line":36,"column":4},"end":{"line":36,"column":36}},"36":{"start":{"line":38,"column":0},"end":{"line":38,"column":52}},"37":{"start":{"line":40,"column":22},"end":{"line":40,"column":93}},"38":{"start":{"line":41,"column":25},"end":{"line":41,"column":80}},"39":{"start":{"line":42,"column":17},"end":{"line":42,"column":89}},"40":{"start":{"line":43,"column":4},"end":{"line":46,"column":5}},"41":{"start":{"line":44,"column":26},"end":{"line":44,"column":61}},"42":{"start":{"line":45,"column":8},"end":{"line":45,"column":42}},"43":{"start":{"line":47,"column":4},"end":{"line":47,"column":18}},"44":{"start":{"line":50,"column":19},"end":{"line":50,"column":75}},"45":{"start":{"line":51,"column":25},"end":{"line":51,"column":27}},"46":{"start":{"line":52,"column":4},"end":{"line":58,"column":5}},"47":{"start":{"line":56,"column":8},"end":{"line":56,"column":66}},"48":{"start":{"line":57,"column":8},"end":{"line":57,"column":76}},"49":{"start":{"line":59,"column":4},"end":{"line":67,"column":5}},"50":{"start":{"line":60,"column":8},"end":{"line":63,"column":11}},"51":{"start":{"line":61,"column":26},"end":{"line":61,"column":115}},"52":{"start":{"line":62,"column":12},"end":{"line":62,"column":47}},"53":{"start":{"line":66,"column":8},"end":{"line":66,"column":34}},"54":{"start":{"line":68,"column":4},"end":{"line":68,"column":101}},"55":{"start":{"line":69,"column":4},"end":{"line":69,"column":26}},"56":{"start":{"line":72,"column":4},"end":{"line":97,"column":5}},"57":{"start":{"line":74,"column":12},"end":{"line":83,"column":13}},"58":{"start":{"line":75,"column":16},"end":{"line":75,"column":32}},"59":{"start":{"line":78,"column":46},"end":{"line":78,"column":114}},"60":{"start":{"line":79,"column":26},"end":{"line":79,"column":51}},"61":{"start":{"line":80,"column":16},"end":{"line":80,"column":99}},"62":{"start":{"line":81,"column":16},"end":{"line":81,"column":136}},"63":{"start":{"line":82,"column":16},"end":{"line":82,"column":37}},"64":{"start":{"line":85,"column":12},"end":{"line":85,"column":28}},"65":{"start":{"line":88,"column":12},"end":{"line":96,"column":13}},"66":{"start":{"line":89,"column":46},"end":{"line":89,"column":114}},"67":{"start":{"line":90,"column":26},"end":{"line":90,"column":84}},"68":{"start":{"line":91,"column":16},"end":{"line":91,"column":136}},"69":{"start":{"line":92,"column":16},"end":{"line":92,"column":37}},"70":{"start":{"line":95,"column":16},"end":{"line":95,"column":32}},"71":{"start":{"line":102,"column":4},"end":{"line":111,"column":5}},"72":{"start":{"line":103,"column":8},"end":{"line":103,"column":101}},"73":{"start":{"line":104,"column":8},"end":{"line":104,"column":103}},"74":{"start":{"line":105,"column":22},"end":{"line":105,"column":60}},"75":{"start":{"line":106,"column":8},"end":{"line":106,"column":33}},"76":{"start":{"line":109,"column":8},"end":{"line":109,"column":110}},"77":{"start":{"line":110,"column":8},"end":{"line":110,"column":103}},"78":{"start":{"line":112,"column":4},"end":{"line":136,"column":7}},"79":{"start":{"line":113,"column":30},"end":{"line":113,"column":34}},"80":{"start":{"line":114,"column":8},"end":{"line":122,"column":9}},"81":{"start":{"line":115,"column":12},"end":{"line":115,"column":103}},"82":{"start":{"line":118,"column":12},"end":{"line":120,"column":13}},"83":{"start":{"line":119,"column":16},"end":{"line":119,"column":23}},"84":{"start":{"line":121,"column":12},"end":{"line":121,"column":43}},"85":{"start":{"line":123,"column":8},"end":{"line":135,"column":9}},"86":{"start":{"line":124,"column":31},"end":{"line":124,"column":114}},"87":{"start":{"line":125,"column":12},"end":{"line":131,"column":13}},"88":{"start":{"line":126,"column":47},"end":{"line":126,"column":142}},"89":{"start":{"line":127,"column":16},"end":{"line":130,"column":17}},"90":{"start":{"line":128,"column":32},"end":{"line":128,"column":137}},"91":{"start":{"line":129,"column":20},"end":{"line":129,"column":43}},"92":{"start":{"line":132,"column":12},"end":{"line":134,"column":15}},"93":{"start":{"line":133,"column":16},"end":{"line":133,"column":126}},"94":{"start":{"line":139,"column":19},"end":{"line":139,"column":21}},"95":{"start":{"line":140,"column":28},"end":{"line":140,"column":59}},"96":{"start":{"line":141,"column":4},"end":{"line":146,"column":5}},"97":{"start":{"line":142,"column":8},"end":{"line":142,"column":60}},"98":{"start":{"line":144,"column":9},"end":{"line":146,"column":5}},"99":{"start":{"line":145,"column":8},"end":{"line":145,"column":68}},"100":{"start":{"line":147,"column":4},"end":{"line":147,"column":20}},"101":{"start":{"line":150,"column":4},"end":{"line":150,"column":66}},"102":{"start":{"line":150,"column":39},"end":{"line":150,"column":64}},"103":{"start":{"line":151,"column":18},"end":{"line":151,"column":50}},"104":{"start":{"line":152,"column":17},"end":{"line":152,"column":92}},"105":{"start":{"line":153,"column":4},"end":{"line":162,"column":5}},"106":{"start":{"line":154,"column":8},"end":{"line":154,"column":103}},"107":{"start":{"line":155,"column":8},"end":{"line":155,"column":23}},"108":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"109":{"start":{"line":159,"column":12},"end":{"line":159,"column":89}},"110":{"start":{"line":161,"column":8},"end":{"line":161,"column":20}},"111":{"start":{"line":164,"column":0},"end":{"line":164,"column":20}},"112":{"start":{"line":166,"column":17},"end":{"line":166,"column":137}},"113":{"start":{"line":167,"column":18},"end":{"line":167,"column":50}},"114":{"start":{"line":168,"column":18},"end":{"line":168,"column":85}},"115":{"start":{"line":169,"column":4},"end":{"line":169,"column":19}},"116":{"start":{"line":171,"column":0},"end":{"line":171,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"getBindingDictionary","decl":{"start":{"line":35,"column":9},"end":{"line":35,"column":29}},"loc":{"start":{"line":35,"column":37},"end":{"line":37,"column":1}},"line":35},"7":{"name":"_createTarget","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":22}},"loc":{"start":{"line":39,"column":87},"end":{"line":48,"column":1}},"line":39},"8":{"name":"_getActiveBindings","decl":{"start":{"line":49,"column":9},"end":{"line":49,"column":27}},"loc":{"start":{"line":49,"column":94},"end":{"line":70,"column":1}},"line":49},"9":{"name":"(anonymous_9)","decl":{"start":{"line":60,"column":41},"end":{"line":60,"column":42}},"loc":{"start":{"line":60,"column":60},"end":{"line":63,"column":9}},"line":60},"10":{"name":"_validateActiveBindingCount","decl":{"start":{"line":71,"column":9},"end":{"line":71,"column":36}},"loc":{"start":{"line":71,"column":85},"end":{"line":98,"column":1}},"line":71},"11":{"name":"_createSubRequests","decl":{"start":{"line":99,"column":9},"end":{"line":99,"column":27}},"loc":{"start":{"line":99,"column":113},"end":{"line":137,"column":1}},"line":99},"12":{"name":"(anonymous_12)","decl":{"start":{"line":112,"column":27},"end":{"line":112,"column":28}},"loc":{"start":{"line":112,"column":46},"end":{"line":136,"column":5}},"line":112},"13":{"name":"(anonymous_13)","decl":{"start":{"line":132,"column":33},"end":{"line":132,"column":34}},"loc":{"start":{"line":132,"column":55},"end":{"line":134,"column":13}},"line":132},"14":{"name":"getBindings","decl":{"start":{"line":138,"column":9},"end":{"line":138,"column":20}},"loc":{"start":{"line":138,"column":51},"end":{"line":148,"column":1}},"line":138},"15":{"name":"plan","decl":{"start":{"line":149,"column":9},"end":{"line":149,"column":13}},"loc":{"start":{"line":149,"column":117},"end":{"line":163,"column":1}},"line":149},"16":{"name":"createMockRequest","decl":{"start":{"line":165,"column":9},"end":{"line":165,"column":26}},"loc":{"start":{"line":165,"column":69},"end":{"line":170,"column":1}},"line":165}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":40,"column":22},"end":{"line":40,"column":93}},"type":"cond-expr","locations":[{"start":{"line":40,"column":38},"end":{"line":40,"column":67}},{"start":{"line":40,"column":70},"end":{"line":40,"column":93}}],"line":40},"13":{"loc":{"start":{"line":43,"column":4},"end":{"line":46,"column":5}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":46,"column":5}},{"start":{"line":43,"column":4},"end":{"line":46,"column":5}}],"line":43},"14":{"loc":{"start":{"line":52,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":58,"column":5}},{"start":{"line":52,"column":4},"end":{"line":58,"column":5}}],"line":52},"15":{"loc":{"start":{"line":52,"column":8},"end":{"line":55,"column":97}},"type":"binary-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":76}},{"start":{"line":53,"column":8},"end":{"line":53,"column":52}},{"start":{"line":54,"column":8},"end":{"line":54,"column":54}},{"start":{"line":55,"column":8},"end":{"line":55,"column":97}}],"line":52},"16":{"loc":{"start":{"line":59,"column":4},"end":{"line":67,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":67,"column":5}},{"start":{"line":59,"column":4},"end":{"line":67,"column":5}}],"line":59},"17":{"loc":{"start":{"line":72,"column":4},"end":{"line":97,"column":5}},"type":"switch","locations":[{"start":{"line":73,"column":8},"end":{"line":83,"column":13}},{"start":{"line":84,"column":8},"end":{"line":85,"column":28}},{"start":{"line":86,"column":8},"end":{"line":86,"column":68}},{"start":{"line":87,"column":8},"end":{"line":96,"column":13}}],"line":72},"18":{"loc":{"start":{"line":74,"column":12},"end":{"line":83,"column":13}},"type":"if","locations":[{"start":{"line":74,"column":12},"end":{"line":83,"column":13}},{"start":{"line":74,"column":12},"end":{"line":83,"column":13}}],"line":74},"19":{"loc":{"start":{"line":88,"column":12},"end":{"line":96,"column":13}},"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":96,"column":13}},{"start":{"line":88,"column":12},"end":{"line":96,"column":13}}],"line":88},"20":{"loc":{"start":{"line":102,"column":4},"end":{"line":111,"column":5}},"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":111,"column":5}},{"start":{"line":102,"column":4},"end":{"line":111,"column":5}}],"line":102},"21":{"loc":{"start":{"line":114,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":122,"column":9}},{"start":{"line":114,"column":8},"end":{"line":122,"column":9}}],"line":114},"22":{"loc":{"start":{"line":118,"column":12},"end":{"line":120,"column":13}},"type":"if","locations":[{"start":{"line":118,"column":12},"end":{"line":120,"column":13}},{"start":{"line":118,"column":12},"end":{"line":120,"column":13}}],"line":118},"23":{"loc":{"start":{"line":123,"column":8},"end":{"line":135,"column":9}},"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":135,"column":9}},{"start":{"line":123,"column":8},"end":{"line":135,"column":9}}],"line":123},"24":{"loc":{"start":{"line":123,"column":12},"end":{"line":123,"column":108}},"type":"binary-expr","locations":[{"start":{"line":123,"column":12},"end":{"line":123,"column":69}},{"start":{"line":123,"column":73},"end":{"line":123,"column":108}}],"line":123},"25":{"loc":{"start":{"line":125,"column":12},"end":{"line":131,"column":13}},"type":"if","locations":[{"start":{"line":125,"column":12},"end":{"line":131,"column":13}},{"start":{"line":125,"column":12},"end":{"line":131,"column":13}}],"line":125},"26":{"loc":{"start":{"line":127,"column":16},"end":{"line":130,"column":17}},"type":"if","locations":[{"start":{"line":127,"column":16},"end":{"line":130,"column":17}},{"start":{"line":127,"column":16},"end":{"line":130,"column":17}}],"line":127},"27":{"loc":{"start":{"line":141,"column":4},"end":{"line":146,"column":5}},"type":"if","locations":[{"start":{"line":141,"column":4},"end":{"line":146,"column":5}},{"start":{"line":141,"column":4},"end":{"line":146,"column":5}}],"line":141},"28":{"loc":{"start":{"line":144,"column":9},"end":{"line":146,"column":5}},"type":"if","locations":[{"start":{"line":144,"column":9},"end":{"line":146,"column":5}},{"start":{"line":144,"column":9},"end":{"line":146,"column":5}}],"line":144},"29":{"loc":{"start":{"line":150,"column":4},"end":{"line":150,"column":66}},"type":"if","locations":[{"start":{"line":150,"column":4},"end":{"line":150,"column":66}},{"start":{"line":150,"column":4},"end":{"line":150,"column":66}}],"line":150},"30":{"loc":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"type":"if","locations":[{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},{"start":{"line":158,"column":8},"end":{"line":160,"column":9}}],"line":158}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"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,"35":9152,"36":1,"37":1085,"38":1085,"39":1085,"40":1085,"41":39,"42":39,"43":1085,"44":9037,"45":9037,"46":9037,"47":25,"48":25,"49":9037,"50":9022,"51":9089,"52":9089,"53":15,"54":9036,"55":9003,"56":9036,"57":32,"58":3,"59":29,"60":29,"61":29,"62":29,"63":29,"64":8979,"65":25,"66":4,"67":4,"68":4,"69":4,"70":21,"71":9037,"72":1085,"73":1053,"74":1053,"75":1053,"76":7952,"77":7950,"78":9003,"79":9022,"80":9022,"81":53,"82":8969,"83":102,"84":8867,"85":8920,"86":8100,"87":8094,"88":8092,"89":8090,"90":1,"91":1,"92":8091,"93":7952,"94":9111,"95":9111,"96":9111,"97":9019,"98":92,"99":16,"100":9111,"101":1085,"102":30,"103":1085,"104":1085,"105":1085,"106":1085,"107":1042,"108":43,"109":4,"110":39,"111":1,"112":16,"113":16,"114":16,"115":16,"116":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":9152,"7":1085,"8":9037,"9":9089,"10":9036,"11":9037,"12":9022,"13":7952,"14":9111,"15":1085,"16":16},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0],"12":[27,1058],"13":[39,1046],"14":[25,9012],"15":[9037,52,26,26],"16":[9022,15],"17":[32,8979,24,25],"18":[3,29],"19":[4,21],"20":[1085,7952],"21":[53,8969],"22":[102,8867],"23":[8100,820],"24":[8920,8100],"25":[8092,2],"26":[1,8089],"27":[9019,92],"28":[16,76],"29":[30,1055],"30":[4,39]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/planner.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/planning/planner.ts"],"names":[],"mappings":"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","sourcesContent":["import { BindingCount } from \"../bindings/binding_count\";\nimport * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { BindingTypeEnum, TargetTypeEnum } from \"../constants/literal_types\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { isStackOverflowExeption } from \"../utils/exceptions\";\nimport {\n circularDependencyToException,\n getServiceIdentifierAsString,\n listMetadataForTarget,\n listRegisteredBindingsForServiceIdentifier\n} from \"../utils/serialization\";\nimport { Context } from \"./context\";\nimport { Metadata } from \"./metadata\";\nimport { Plan } from \"./plan\";\nimport { getBaseClassDependencyCount, getDependencies, getFunctionName } from \"./reflection_utils\";\nimport { Request } from \"./request\";\nimport { Target } from \"./target\";\n\nfunction getBindingDictionary(cntnr: interfaces.Container): interfaces.Lookup> {\n return (cntnr as unknown as { _bindingDictionary: interfaces.Lookup> })._bindingDictionary;\n}\n\nfunction _createTarget(\n isMultiInject: boolean,\n targetType: interfaces.TargetType,\n serviceIdentifier: interfaces.ServiceIdentifier,\n name: string,\n key?: string | number | symbol,\n value?: unknown\n): interfaces.Target {\n\n const metadataKey = isMultiInject ? METADATA_KEY.MULTI_INJECT_TAG : METADATA_KEY.INJECT_TAG;\n const injectMetadata = new Metadata(metadataKey, serviceIdentifier);\n const target = new Target(targetType, name, serviceIdentifier, injectMetadata);\n\n if (key !== undefined) {\n const tagMetadata = new Metadata(key, value);\n target.metadata.push(tagMetadata);\n }\n\n return target;\n\n}\n\nfunction _getActiveBindings(\n metadataReader: interfaces.MetadataReader,\n avoidConstraints: boolean,\n context: interfaces.Context,\n parentRequest: interfaces.Request | null,\n target: interfaces.Target\n): interfaces.Binding[] {\n\n let bindings = getBindings(context.container, target.serviceIdentifier);\n let activeBindings: interfaces.Binding[] = [];\n\n // automatic binding\n if (bindings.length === BindingCount.NoBindingsAvailable &&\n context.container.options.autoBindInjectable &&\n typeof target.serviceIdentifier === \"function\" &&\n metadataReader.getConstructorMetadata(target.serviceIdentifier).compilerGeneratedMetadata\n ) {\n context.container.bind(target.serviceIdentifier).toSelf();\n bindings = getBindings(context.container, target.serviceIdentifier);\n }\n\n // multiple bindings available\n if (!avoidConstraints) {\n\n // apply constraints if available to reduce the number of active bindings\n activeBindings = bindings.filter((binding) => {\n\n const request = new Request(\n binding.serviceIdentifier,\n context,\n parentRequest,\n binding,\n target\n );\n\n return binding.constraint(request);\n\n });\n\n } else {\n // simple injection or multi-injection without constraints\n activeBindings = bindings;\n }\n\n // validate active bindings\n _validateActiveBindingCount(target.serviceIdentifier, activeBindings, target, context.container);\n\n return activeBindings;\n}\n\nfunction _validateActiveBindingCount(\n serviceIdentifier: interfaces.ServiceIdentifier,\n bindings: interfaces.Binding[],\n target: interfaces.Target,\n container: interfaces.Container\n): interfaces.Binding[] {\n\n switch (bindings.length) {\n\n case BindingCount.NoBindingsAvailable:\n if (target.isOptional()) {\n return bindings;\n } else {\n const serviceIdentifierString = getServiceIdentifierAsString(serviceIdentifier);\n let msg = ERROR_MSGS.NOT_REGISTERED;\n msg += listMetadataForTarget(serviceIdentifierString, target);\n msg += listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\n throw new Error(msg);\n }\n\n case BindingCount.OnlyOneBindingAvailable:\n return bindings;\n case BindingCount.MultipleBindingsAvailable:\n default:\n if (!target.isArray()) {\n const serviceIdentifierString = getServiceIdentifierAsString(serviceIdentifier);\n let msg = `${ERROR_MSGS.AMBIGUOUS_MATCH} ${serviceIdentifierString}`;\n msg += listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\n throw new Error(msg);\n } else {\n return bindings;\n }\n }\n\n}\n\nfunction _createSubRequests(\n metadataReader: interfaces.MetadataReader,\n avoidConstraints: boolean,\n serviceIdentifier: interfaces.ServiceIdentifier,\n context: interfaces.Context,\n parentRequest: interfaces.Request | null,\n target: interfaces.Target\n) {\n\n let activeBindings: interfaces.Binding[];\n let childRequest: interfaces.Request;\n\n if (parentRequest === null) {\n\n activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, null, target);\n\n childRequest = new Request(\n serviceIdentifier,\n context,\n null,\n activeBindings,\n target\n );\n\n const thePlan = new Plan(context, childRequest);\n context.addPlan(thePlan);\n\n } else {\n activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target);\n childRequest = parentRequest.addChildRequest(target.serviceIdentifier, activeBindings, target);\n }\n\n activeBindings.forEach((binding) => {\n\n let subChildRequest: interfaces.Request | null = null;\n\n if (target.isArray()) {\n subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target);\n } else {\n if (binding.cache) {\n return;\n }\n subChildRequest = childRequest;\n }\n\n if (binding.type === BindingTypeEnum.Instance && binding.implementationType !== null) {\n\n const dependencies = getDependencies(metadataReader, binding.implementationType);\n\n if (!context.container.options.skipBaseClassChecks) {\n // Throw if a derived class does not implement its constructor explicitly\n // We do this to prevent errors when a base class (parent) has dependencies\n // and one of the derived classes (children) has no dependencies\n const baseClassDependencyCount = getBaseClassDependencyCount(metadataReader, binding.implementationType);\n\n if (dependencies.length < baseClassDependencyCount) {\n const error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH(getFunctionName(binding.implementationType));\n throw new Error(error);\n }\n }\n\n dependencies.forEach((dependency: interfaces.Target) => {\n _createSubRequests(metadataReader, false, dependency.serviceIdentifier, context, subChildRequest, dependency);\n });\n\n }\n\n });\n\n}\n\nfunction getBindings(\n container: interfaces.Container,\n serviceIdentifier: interfaces.ServiceIdentifier\n): interfaces.Binding[] {\n\n let bindings: interfaces.Binding[] = [];\n const bindingDictionary = getBindingDictionary(container);\n\n if (bindingDictionary.hasKey(serviceIdentifier)) {\n\n bindings = bindingDictionary.get(serviceIdentifier) as interfaces.Binding[];\n\n } else if (container.parent !== null) {\n\n // recursively try to get bindings from parent container\n bindings = getBindings(container.parent, serviceIdentifier);\n\n }\n\n return bindings;\n}\n\nfunction plan(\n metadataReader: interfaces.MetadataReader,\n container: interfaces.Container,\n isMultiInject: boolean,\n targetType: interfaces.TargetType,\n serviceIdentifier: interfaces.ServiceIdentifier,\n key?: string | number | symbol,\n value?: unknown,\n avoidConstraints = false\n): interfaces.Context {\n\n const context = new Context(container);\n const target = _createTarget(isMultiInject, targetType, serviceIdentifier, \"\", key, value);\n\n try {\n _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, null, target);\n return context;\n } catch (error) {\n if (\n isStackOverflowExeption(error)\n ) {\n circularDependencyToException(context.plan.rootRequest);\n }\n throw error;\n }\n\n}\n\nfunction createMockRequest(\n container: interfaces.Container,\n serviceIdentifier: interfaces.ServiceIdentifier,\n key: string | number | symbol,\n value: unknown\n): interfaces.Request {\n\n const target = new Target(TargetTypeEnum.Variable, \"\", serviceIdentifier, new Metadata(key, value));\n const context = new Context(container);\n const request = new Request(serviceIdentifier, context, null, [], target);\n return request;\n}\n\nexport { plan, createMockRequest, getBindingDictionary };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"553904524937d373b7887af42d64da6e93ee76a9","contentHash":"c86b9b4fe843cffeaea83b6c188b5967de83a249bcad256ec143dafc29da5e40"},"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding_count.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding_count.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":30}},"2":{"start":{"line":4,"column":19},"end":{"line":8,"column":1}},"3":{"start":{"line":9,"column":0},"end":{"line":9,"column":36}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding_count.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding_count.ts"],"names":[],"mappings":";;;AAAA,IAAM,YAAY,GAAG;IACnB,yBAAyB,EAAE,CAAC;IAC5B,mBAAmB,EAAE,CAAC;IACtB,uBAAuB,EAAE,CAAC;CAC3B,CAAC;AAEO,oCAAY","sourcesContent":["const BindingCount = {\n MultipleBindingsAvailable: 2,\n NoBindingsAvailable: 0,\n OnlyOneBindingAvailable: 1\n};\n\nexport { BindingCount };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d3f7491bb4fd1d4b6ca59b204aafa8d0b1cebedb","contentHash":"ba8e7abfe62f66a7488232201046bb4f195c312ccb67176366c5fb46e8aa9306"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/exceptions.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/exceptions.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":83}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":25,"column":4},"end":{"line":26,"column":53}},"25":{"start":{"line":28,"column":0},"end":{"line":28,"column":58}},"26":{"start":{"line":29,"column":38},"end":{"line":39,"column":1}},"27":{"start":{"line":30,"column":4},"end":{"line":38,"column":5}},"28":{"start":{"line":31,"column":8},"end":{"line":31,"column":20}},"29":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"30":{"start":{"line":35,"column":12},"end":{"line":35,"column":36}},"31":{"start":{"line":37,"column":8},"end":{"line":37,"column":20}},"32":{"start":{"line":40,"column":0},"end":{"line":40,"column":74}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"isStackOverflowExeption","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":32}},"loc":{"start":{"line":24,"column":40},"end":{"line":27,"column":1}},"line":24},"7":{"name":"(anonymous_7)","decl":{"start":{"line":29,"column":38},"end":{"line":29,"column":39}},"loc":{"start":{"line":29,"column":67},"end":{"line":39,"column":1}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":25,"column":12},"end":{"line":26,"column":51}},"type":"binary-expr","locations":[{"start":{"line":25,"column":12},"end":{"line":25,"column":39}},{"start":{"line":26,"column":8},"end":{"line":26,"column":51}}],"line":25},"13":{"loc":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"type":"if","locations":[{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},{"start":{"line":34,"column":8},"end":{"line":36,"column":9}}],"line":34}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":743,"25":1,"26":1,"27":780,"28":780,"29":700,"30":15,"31":686,"32":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":743,"7":780},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[743,724],"13":[15,685]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/exceptions.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/utils/exceptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAsD;AAEtD,SAAgB,uBAAuB,CAAC,KAAY;IAClD,OAAO,CACL,KAAK,YAAY,UAAU;QAC3B,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc,CAC5C,CAAC;AACJ,CAAC;AALD,0DAKC;AAEM,IAAM,+BAA+B,GAAG,UAAI,EAAW,EAAE,aAA0B;IACxF,IAAI;QACF,OAAO,EAAE,EAAE,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE;YAClC,KAAK,GAAG,aAAa,EAAE,CAAC;SACzB;QACD,MAAM,KAAK,CAAC;KACb;AACH,CAAC,CAAA;AATY,QAAA,+BAA+B,mCAS3C","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\n\nexport function isStackOverflowExeption(error: Error) {\n return (\n error instanceof RangeError ||\n error.message === ERROR_MSGS.STACK_OVERFLOW\n );\n}\n\nexport const tryAndThrowErrorIfStackOverflow = (fn: () => T, errorCallback: () => Error) => {\n try {\n return fn();\n } catch (error) {\n if (isStackOverflowExeption(error)) {\n error = errorCallback();\n }\n throw error;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6a4426a59e1dc0ca12eccd3a904ea787c5d02764","contentHash":"92611da4a39b2c898b695765f5b5e023e5d85e0a39a47a771c358e7650b4c962"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/serialization.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/serialization.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":228}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":25,"column":4},"end":{"line":35,"column":5}},"25":{"start":{"line":26,"column":33},"end":{"line":26,"column":50}},"26":{"start":{"line":27,"column":8},"end":{"line":27,"column":39}},"27":{"start":{"line":29,"column":9},"end":{"line":35,"column":5}},"28":{"start":{"line":30,"column":8},"end":{"line":30,"column":44}},"29":{"start":{"line":33,"column":33},"end":{"line":33,"column":50}},"30":{"start":{"line":34,"column":8},"end":{"line":34,"column":34}},"31":{"start":{"line":37,"column":0},"end":{"line":37,"column":68}},"32":{"start":{"line":39,"column":33},"end":{"line":39,"column":35}},"33":{"start":{"line":40,"column":29},"end":{"line":40,"column":70}},"34":{"start":{"line":41,"column":4},"end":{"line":53,"column":5}},"35":{"start":{"line":42,"column":8},"end":{"line":42,"column":58}},"36":{"start":{"line":43,"column":8},"end":{"line":52,"column":11}},"37":{"start":{"line":44,"column":23},"end":{"line":44,"column":31}},"38":{"start":{"line":45,"column":12},"end":{"line":47,"column":13}},"39":{"start":{"line":46,"column":16},"end":{"line":46,"column":67}},"40":{"start":{"line":48,"column":12},"end":{"line":48,"column":75}},"41":{"start":{"line":49,"column":12},"end":{"line":51,"column":13}},"42":{"start":{"line":50,"column":16},"end":{"line":50,"column":102}},"43":{"start":{"line":54,"column":4},"end":{"line":54,"column":34}},"44":{"start":{"line":56,"column":0},"end":{"line":56,"column":96}},"45":{"start":{"line":58,"column":4},"end":{"line":66,"column":5}},"46":{"start":{"line":59,"column":8},"end":{"line":59,"column":21}},"47":{"start":{"line":61,"column":9},"end":{"line":66,"column":5}},"48":{"start":{"line":62,"column":8},"end":{"line":62,"column":20}},"49":{"start":{"line":65,"column":8},"end":{"line":65,"column":80}},"50":{"start":{"line":70,"column":8},"end":{"line":70,"column":47}},"51":{"start":{"line":70,"column":33},"end":{"line":70,"column":45}},"52":{"start":{"line":71,"column":32},"end":{"line":71,"column":83}},"53":{"start":{"line":72,"column":8},"end":{"line":72,"column":39}},"54":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"55":{"start":{"line":74,"column":12},"end":{"line":74,"column":63}},"56":{"start":{"line":76,"column":8},"end":{"line":76,"column":22}},"57":{"start":{"line":78,"column":20},"end":{"line":78,"column":45}},"58":{"start":{"line":79,"column":4},"end":{"line":79,"column":45}},"59":{"start":{"line":82,"column":4},"end":{"line":90,"column":7}},"60":{"start":{"line":83,"column":8},"end":{"line":89,"column":9}},"61":{"start":{"line":84,"column":27},"end":{"line":84,"column":64}},"62":{"start":{"line":85,"column":12},"end":{"line":85,"column":77}},"63":{"start":{"line":88,"column":12},"end":{"line":88,"column":56}},"64":{"start":{"line":92,"column":0},"end":{"line":92,"column":70}},"65":{"start":{"line":94,"column":4},"end":{"line":110,"column":5}},"66":{"start":{"line":95,"column":18},"end":{"line":95,"column":20}},"67":{"start":{"line":96,"column":23},"end":{"line":96,"column":43}},"68":{"start":{"line":97,"column":24},"end":{"line":97,"column":46}},"69":{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},"70":{"start":{"line":99,"column":12},"end":{"line":99,"column":46}},"71":{"start":{"line":101,"column":8},"end":{"line":105,"column":9}},"72":{"start":{"line":102,"column":12},"end":{"line":104,"column":15}},"73":{"start":{"line":103,"column":16},"end":{"line":103,"column":45}},"74":{"start":{"line":106,"column":8},"end":{"line":106,"column":93}},"75":{"start":{"line":109,"column":8},"end":{"line":109,"column":45}},"76":{"start":{"line":112,"column":0},"end":{"line":112,"column":54}},"77":{"start":{"line":114,"column":4},"end":{"line":121,"column":5}},"78":{"start":{"line":115,"column":8},"end":{"line":115,"column":25}},"79":{"start":{"line":118,"column":21},"end":{"line":118,"column":36}},"80":{"start":{"line":119,"column":20},"end":{"line":119,"column":57}},"81":{"start":{"line":120,"column":8},"end":{"line":120,"column":66}},"82":{"start":{"line":123,"column":0},"end":{"line":123,"column":42}},"83":{"start":{"line":125,"column":4},"end":{"line":125,"column":42}},"84":{"start":{"line":127,"column":0},"end":{"line":127,"column":52}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"getServiceIdentifierAsString","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":37}},"loc":{"start":{"line":24,"column":57},"end":{"line":36,"column":1}},"line":24},"7":{"name":"listRegisteredBindingsForServiceIdentifier","decl":{"start":{"line":38,"column":9},"end":{"line":38,"column":51}},"loc":{"start":{"line":38,"column":95},"end":{"line":55,"column":1}},"line":38},"8":{"name":"(anonymous_8)","decl":{"start":{"line":43,"column":35},"end":{"line":43,"column":36}},"loc":{"start":{"line":43,"column":54},"end":{"line":52,"column":9}},"line":43},"9":{"name":"alreadyDependencyChain","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":31}},"loc":{"start":{"line":57,"column":60},"end":{"line":67,"column":1}},"line":57},"10":{"name":"dependencyChainToString","decl":{"start":{"line":68,"column":9},"end":{"line":68,"column":32}},"loc":{"start":{"line":68,"column":42},"end":{"line":80,"column":1}},"line":68},"11":{"name":"_createStringArr","decl":{"start":{"line":69,"column":13},"end":{"line":69,"column":29}},"loc":{"start":{"line":69,"column":43},"end":{"line":77,"column":5}},"line":69},"12":{"name":"circularDependencyToException","decl":{"start":{"line":81,"column":9},"end":{"line":81,"column":38}},"loc":{"start":{"line":81,"column":48},"end":{"line":91,"column":1}},"line":81},"13":{"name":"(anonymous_13)","decl":{"start":{"line":82,"column":34},"end":{"line":82,"column":35}},"loc":{"start":{"line":82,"column":58},"end":{"line":90,"column":5}},"line":82},"14":{"name":"listMetadataForTarget","decl":{"start":{"line":93,"column":9},"end":{"line":93,"column":30}},"loc":{"start":{"line":93,"column":64},"end":{"line":111,"column":1}},"line":93},"15":{"name":"(anonymous_15)","decl":{"start":{"line":102,"column":30},"end":{"line":102,"column":31}},"loc":{"start":{"line":102,"column":45},"end":{"line":104,"column":13}},"line":102},"16":{"name":"getFunctionName","decl":{"start":{"line":113,"column":9},"end":{"line":113,"column":24}},"loc":{"start":{"line":113,"column":31},"end":{"line":122,"column":1}},"line":113},"17":{"name":"getSymbolDescription","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":29}},"loc":{"start":{"line":124,"column":38},"end":{"line":126,"column":1}},"line":124}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":25,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":35,"column":5}},{"start":{"line":25,"column":4},"end":{"line":35,"column":5}}],"line":25},"13":{"loc":{"start":{"line":29,"column":9},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":9},"end":{"line":35,"column":5}},{"start":{"line":29,"column":9},"end":{"line":35,"column":5}}],"line":29},"14":{"loc":{"start":{"line":41,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":53,"column":5}},{"start":{"line":41,"column":4},"end":{"line":53,"column":5}}],"line":41},"15":{"loc":{"start":{"line":45,"column":12},"end":{"line":47,"column":13}},"type":"if","locations":[{"start":{"line":45,"column":12},"end":{"line":47,"column":13}},{"start":{"line":45,"column":12},"end":{"line":47,"column":13}}],"line":45},"16":{"loc":{"start":{"line":49,"column":12},"end":{"line":51,"column":13}},"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":51,"column":13}},{"start":{"line":49,"column":12},"end":{"line":51,"column":13}}],"line":49},"17":{"loc":{"start":{"line":58,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":66,"column":5}},{"start":{"line":58,"column":4},"end":{"line":66,"column":5}}],"line":58},"18":{"loc":{"start":{"line":61,"column":9},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":9},"end":{"line":66,"column":5}},{"start":{"line":61,"column":9},"end":{"line":66,"column":5}}],"line":61},"19":{"loc":{"start":{"line":70,"column":8},"end":{"line":70,"column":47}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":70,"column":47}},{"start":{"line":70,"column":8},"end":{"line":70,"column":47}}],"line":70},"20":{"loc":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},{"start":{"line":73,"column":8},"end":{"line":75,"column":9}}],"line":73},"21":{"loc":{"start":{"line":83,"column":8},"end":{"line":89,"column":9}},"type":"if","locations":[{"start":{"line":83,"column":8},"end":{"line":89,"column":9}},{"start":{"line":83,"column":8},"end":{"line":89,"column":9}}],"line":83},"22":{"loc":{"start":{"line":94,"column":4},"end":{"line":110,"column":5}},"type":"if","locations":[{"start":{"line":94,"column":4},"end":{"line":110,"column":5}},{"start":{"line":94,"column":4},"end":{"line":110,"column":5}}],"line":94},"23":{"loc":{"start":{"line":94,"column":8},"end":{"line":94,"column":45}},"type":"binary-expr","locations":[{"start":{"line":94,"column":8},"end":{"line":94,"column":25}},{"start":{"line":94,"column":29},"end":{"line":94,"column":45}}],"line":94},"24":{"loc":{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},"type":"if","locations":[{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},{"start":{"line":98,"column":8},"end":{"line":100,"column":9}}],"line":98},"25":{"loc":{"start":{"line":101,"column":8},"end":{"line":105,"column":9}},"type":"if","locations":[{"start":{"line":101,"column":8},"end":{"line":105,"column":9}},{"start":{"line":101,"column":8},"end":{"line":105,"column":9}}],"line":101},"26":{"loc":{"start":{"line":114,"column":4},"end":{"line":121,"column":5}},"type":"if","locations":[{"start":{"line":114,"column":4},"end":{"line":121,"column":5}},{"start":{"line":114,"column":4},"end":{"line":121,"column":5}}],"line":114},"27":{"loc":{"start":{"line":120,"column":15},"end":{"line":120,"column":65}},"type":"cond-expr","locations":[{"start":{"line":120,"column":23},"end":{"line":120,"column":31}},{"start":{"line":120,"column":34},"end":{"line":120,"column":65}}],"line":120}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":56,"25":6,"26":6,"27":50,"28":8,"29":42,"30":42,"31":1,"32":33,"33":33,"34":33,"35":9,"36":9,"37":19,"38":19,"39":17,"40":19,"41":19,"42":13,"43":33,"44":1,"45":41,"46":12,"47":29,"48":3,"49":26,"50":13,"51":3,"52":13,"53":13,"54":13,"55":10,"56":3,"57":3,"58":3,"59":15,"60":15,"61":3,"62":3,"63":12,"64":1,"65":30,"66":10,"67":10,"68":10,"69":10,"70":6,"71":10,"72":4,"73":4,"74":10,"75":20,"76":1,"77":8138,"78":8136,"79":2,"80":2,"81":2,"82":1,"83":4,"84":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":56,"7":33,"8":19,"9":41,"10":3,"11":13,"12":15,"13":15,"14":30,"15":4,"16":8138,"17":4},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[6,50],"13":[8,42],"14":[9,24],"15":[17,2],"16":[13,6],"17":[12,29],"18":[3,26],"19":[3,10],"20":[10,3],"21":[3,12],"22":[10,20],"23":[30,26],"24":[6,4],"25":[4,6],"26":[8136,2],"27":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/serialization.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/utils/serialization.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { interfaces } from \"../interfaces/interfaces\";\n\nfunction getServiceIdentifierAsString(serviceIdentifier: interfaces.ServiceIdentifier): string {\n if (typeof serviceIdentifier === \"function\") {\n const _serviceIdentifier = serviceIdentifier;\n return _serviceIdentifier.name;\n } else if (typeof serviceIdentifier === \"symbol\") {\n return serviceIdentifier.toString();\n } else { // string\n const _serviceIdentifier = serviceIdentifier;\n return _serviceIdentifier as string;\n }\n}\n\nfunction listRegisteredBindingsForServiceIdentifier(\n container: interfaces.Container,\n serviceIdentifier: string,\n getBindings: (\n container: interfaces.Container,\n serviceIdentifier: interfaces.ServiceIdentifier\n ) => interfaces.Binding[]\n): string {\n\n let registeredBindingsList = \"\";\n const registeredBindings = getBindings(container, serviceIdentifier);\n\n if (registeredBindings.length !== 0) {\n\n registeredBindingsList = \"\\nRegistered bindings:\";\n\n registeredBindings.forEach((binding: interfaces.Binding) => {\n\n // Use \"Object as name of constant value injections\"\n let name = \"Object\";\n\n // Use function name if available\n if (binding.implementationType !== null) {\n name = getFunctionName(binding.implementationType as { name: string | null });\n }\n\n registeredBindingsList = `${registeredBindingsList}\\n ${name}`;\n\n if (binding.constraint.metaData) {\n registeredBindingsList = `${registeredBindingsList} - ${binding.constraint.metaData}`;\n }\n\n });\n\n }\n\n return registeredBindingsList;\n}\n\nfunction alreadyDependencyChain(\n request: interfaces.Request,\n serviceIdentifier: interfaces.ServiceIdentifier\n): boolean {\n if (request.parentRequest === null) {\n return false;\n } else if (request.parentRequest.serviceIdentifier === serviceIdentifier) {\n return true;\n } else {\n return alreadyDependencyChain(request.parentRequest, serviceIdentifier);\n }\n}\n\nfunction dependencyChainToString(\n request: interfaces.Request\n) {\n\n function _createStringArr(\n req: interfaces.Request,\n result: string[] = []\n ): string[] {\n const serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);\n result.push(serviceIdentifier);\n if (req.parentRequest !== null) {\n return _createStringArr(req.parentRequest, result);\n }\n return result;\n }\n\n const stringArr = _createStringArr(request);\n return stringArr.reverse().join(\" --> \");\n\n}\n\nfunction circularDependencyToException(\n request: interfaces.Request\n) {\n request.childRequests.forEach((childRequest) => {\n if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {\n const services = dependencyChainToString(childRequest);\n throw new Error(`${ERROR_MSGS.CIRCULAR_DEPENDENCY} ${services}`);\n } else {\n circularDependencyToException(childRequest);\n }\n });\n}\n\nfunction listMetadataForTarget(serviceIdentifierString: string, target: interfaces.Target): string {\n if (target.isTagged() || target.isNamed()) {\n\n let m = \"\";\n\n const namedTag = target.getNamedTag();\n const otherTags = target.getCustomTags();\n\n if (namedTag !== null) {\n m += namedTag.toString() + \"\\n\";\n }\n\n if (otherTags !== null) {\n otherTags.forEach((tag) => {\n m += tag.toString() + \"\\n\";\n });\n }\n\n return ` ${serviceIdentifierString}\\n ${serviceIdentifierString} - ${m}`;\n\n } else {\n return ` ${serviceIdentifierString}`;\n }\n}\n\n\nfunction getFunctionName(func: { name: string | null }): string {\n if (func.name) {\n return func.name;\n } else {\n const name = func.toString();\n const match = name.match(/^function\\s*([^\\s(]+)/);\n return match ? (match[1] as string) : `Anonymous function: ${name}`;\n }\n}\n\nfunction getSymbolDescription(symbol: Symbol) {\n return symbol.toString().slice(7, -1);\n}\n\nexport {\n getFunctionName,\n getServiceIdentifierAsString,\n listRegisteredBindingsForServiceIdentifier,\n listMetadataForTarget,\n circularDependencyToException,\n getSymbolDescription\n};\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"cb44c649895ca4cd7858015494156820517c8ac9","contentHash":"30e5fcacc889b60e43885cd589893d75db939f09d28d330e224e823427035818"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/context.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/context.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"2":{"start":{"line":4,"column":11},"end":{"line":4,"column":33}},"3":{"start":{"line":5,"column":15},"end":{"line":17,"column":3}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":33}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":35}},"6":{"start":{"line":10,"column":4},"end":{"line":12,"column":6}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":25}},"8":{"start":{"line":13,"column":4},"end":{"line":15,"column":6}},"9":{"start":{"line":14,"column":8},"end":{"line":14,"column":45}},"10":{"start":{"line":16,"column":4},"end":{"line":16,"column":19}},"11":{"start":{"line":18,"column":0},"end":{"line":18,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":15},"end":{"line":5,"column":16}},"loc":{"start":{"line":5,"column":27},"end":{"line":17,"column":1}},"line":5},"1":{"name":"Context","decl":{"start":{"line":6,"column":13},"end":{"line":6,"column":20}},"loc":{"start":{"line":6,"column":32},"end":{"line":9,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":32},"end":{"line":10,"column":33}},"loc":{"start":{"line":10,"column":48},"end":{"line":12,"column":5}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":42},"end":{"line":13,"column":43}},"loc":{"start":{"line":13,"column":68},"end":{"line":15,"column":5}},"line":13}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1114,"5":1114,"6":1,"7":1054,"8":1,"9":1955,"10":1,"11":1},"f":{"0":1,"1":1114,"2":1054,"3":1955},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/context.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/planning/context.ts"],"names":[],"mappings":";;;AACA,kCAAiC;AAEjC;IAOE,iBACE,SAA+B;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEM,yBAAO,GAAd,UAAe,IAAqB;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,mCAAiB,GAAxB,UAAyB,cAAkC;QACzD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAEH,cAAC;AAAD,CAAC,AArBD,IAqBC;AAEQ,0BAAO","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { id } from \"../utils/id\";\n\nclass Context implements interfaces.Context {\n\n public id: number;\n public container: interfaces.Container;\n public plan!: interfaces.Plan;\n public currentRequest!: interfaces.Request;\n\n public constructor(\n container: interfaces.Container) {\n this.id = id();\n this.container = container;\n }\n\n public addPlan(plan: interfaces.Plan) {\n this.plan = plan;\n }\n\n public setCurrentRequest(currentRequest: interfaces.Request) {\n this.currentRequest = currentRequest;\n }\n\n}\n\nexport { Context };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9e8661a2cb7ea5099c0ab95796f13b3863225a6f","contentHash":"4ab01d786821b6da9ddf9719ebf7cd7b6f3c16d225a1581e62931a4ed5003dac"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":26}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":16},"end":{"line":38,"column":3}},"25":{"start":{"line":26,"column":8},"end":{"line":26,"column":23}},"26":{"start":{"line":27,"column":8},"end":{"line":27,"column":27}},"27":{"start":{"line":29,"column":4},"end":{"line":36,"column":6}},"28":{"start":{"line":30,"column":8},"end":{"line":35,"column":9}},"29":{"start":{"line":31,"column":12},"end":{"line":31,"column":67}},"30":{"start":{"line":34,"column":12},"end":{"line":34,"column":100}},"31":{"start":{"line":37,"column":4},"end":{"line":37,"column":20}},"32":{"start":{"line":39,"column":0},"end":{"line":39,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":24,"column":16},"end":{"line":24,"column":17}},"loc":{"start":{"line":24,"column":28},"end":{"line":38,"column":1}},"line":24},"7":{"name":"Metadata","decl":{"start":{"line":25,"column":13},"end":{"line":25,"column":21}},"loc":{"start":{"line":25,"column":34},"end":{"line":28,"column":5}},"line":25},"8":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":34},"end":{"line":29,"column":35}},"loc":{"start":{"line":29,"column":46},"end":{"line":36,"column":5}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":30,"column":8},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":30,"column":8},"end":{"line":35,"column":9}},{"start":{"line":30,"column":8},"end":{"line":35,"column":9}}],"line":30}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1601,"26":1601,"27":1,"28":23,"29":15,"30":8,"31":1,"32":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":1601,"8":23},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[15,8]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAI3D;IAKE,kBACE,GAA6B,EAC7B,KAAc;QAEd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,2BAAQ,GAAf;QACE,IAAI,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,SAAS,EAAE;YACvC,OAAO,YAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,MAAG,CAAC;SACnD;aAAM;YACL,OAAO,mBAAiB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAI,CAAC;SAC/E;IACH,CAAC;IACH,eAAC;AAAD,CAAC,AApBD,IAoBC;AAEQ,4BAAQ","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\n\n\nclass Metadata implements interfaces.Metadata {\n\n public key: string | number | symbol;\n public value: unknown;\n\n public constructor(\n key: string | number | symbol,\n value: unknown\n ) {\n this.key = key;\n this.value = value;\n }\n\n public toString() {\n if (this.key === METADATA_KEY.NAMED_TAG) {\n return `named: ${String(this.value).toString()} `;\n } else {\n return `tagged: { key:${this.key.toString()}, value: ${String(this.value)} }`;\n }\n }\n}\n\nexport { Metadata };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"74c2d5c6bf348ad2f89b6612da8f7c8bc7668770","contentHash":"f9064c0b03e897abc1fbe13fedee45cc64a6689d0af3557c81508ac1811813f6"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/plan.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/plan.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":22}},"2":{"start":{"line":4,"column":12},"end":{"line":10,"column":3}},"3":{"start":{"line":6,"column":8},"end":{"line":6,"column":43}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":39}},"5":{"start":{"line":9,"column":4},"end":{"line":9,"column":16}},"6":{"start":{"line":11,"column":0},"end":{"line":11,"column":20}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":12},"end":{"line":4,"column":13}},"loc":{"start":{"line":4,"column":24},"end":{"line":10,"column":1}},"line":4},"1":{"name":"Plan","decl":{"start":{"line":5,"column":13},"end":{"line":5,"column":17}},"loc":{"start":{"line":5,"column":46},"end":{"line":8,"column":5}},"line":5}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1055,"4":1055,"5":1,"6":1},"f":{"0":1,"1":1055},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/plan.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/planning/plan.ts"],"names":[],"mappings":";;;AAEA;IAKE,cAAmB,aAAiC,EAAE,WAA+B;QACnF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IACH,WAAC;AAAD,CAAC,AATD,IASC;AAEQ,oBAAI","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nclass Plan implements interfaces.Plan {\n\n public parentContext: interfaces.Context;\n public rootRequest: interfaces.Request;\n\n public constructor(parentContext: interfaces.Context, rootRequest: interfaces.Request) {\n this.parentContext = parentContext;\n this.rootRequest = rootRequest;\n }\n}\n\nexport { Plan };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e50cbe811a859633873ab37a6fbed15a73c71fb4","contentHash":"ea4c55fead323963a24e33395c8ed8a7a5abac3d8bd2c8e71cb397d7dc4797bd"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/reflection_utils.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/reflection_utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":20},"end":{"line":29,"column":1}},"22":{"start":{"line":22,"column":4},"end":{"line":27,"column":5}},"23":{"start":{"line":22,"column":40},"end":{"line":27,"column":5}},"24":{"start":{"line":22,"column":53},"end":{"line":22,"column":54}},"25":{"start":{"line":22,"column":60},"end":{"line":22,"column":71}},"26":{"start":{"line":23,"column":8},"end":{"line":26,"column":9}},"27":{"start":{"line":24,"column":12},"end":{"line":24,"column":65}},"28":{"start":{"line":24,"column":21},"end":{"line":24,"column":65}},"29":{"start":{"line":25,"column":12},"end":{"line":25,"column":28}},"30":{"start":{"line":28,"column":4},"end":{"line":28,"column":61}},"31":{"start":{"line":30,"column":0},"end":{"line":30,"column":62}},"32":{"start":{"line":31,"column":0},"end":{"line":31,"column":97}},"33":{"start":{"line":32,"column":32},"end":{"line":32,"column":80}},"34":{"start":{"line":33,"column":17},"end":{"line":33,"column":65}},"35":{"start":{"line":34,"column":22},"end":{"line":34,"column":59}},"36":{"start":{"line":35,"column":19},"end":{"line":35,"column":70}},"37":{"start":{"line":36,"column":22},"end":{"line":36,"column":55}},"38":{"start":{"line":37,"column":0},"end":{"line":37,"column":134}},"39":{"start":{"line":37,"column":89},"end":{"line":37,"column":128}},"40":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"41":{"start":{"line":40,"column":26},"end":{"line":40,"column":68}},"42":{"start":{"line":41,"column":4},"end":{"line":41,"column":68}},"43":{"start":{"line":43,"column":0},"end":{"line":43,"column":42}},"44":{"start":{"line":45,"column":19},"end":{"line":45,"column":62}},"45":{"start":{"line":46,"column":29},"end":{"line":46,"column":63}},"46":{"start":{"line":47,"column":4},"end":{"line":50,"column":5}},"47":{"start":{"line":48,"column":18},"end":{"line":48,"column":88}},"48":{"start":{"line":49,"column":8},"end":{"line":49,"column":29}},"49":{"start":{"line":51,"column":34},"end":{"line":51,"column":64}},"50":{"start":{"line":52,"column":15},"end":{"line":52,"column":51}},"51":{"start":{"line":53,"column":44},"end":{"line":53,"column":80}},"52":{"start":{"line":54,"column":32},"end":{"line":54,"column":57}},"53":{"start":{"line":55,"column":21},"end":{"line":55,"column":108}},"54":{"start":{"line":56,"column":29},"end":{"line":56,"column":143}},"55":{"start":{"line":57,"column":26},"end":{"line":57,"column":87}},"56":{"start":{"line":58,"column":18},"end":{"line":58,"column":99}},"57":{"start":{"line":59,"column":4},"end":{"line":59,"column":19}},"58":{"start":{"line":62,"column":25},"end":{"line":62,"column":72}},"59":{"start":{"line":63,"column":19},"end":{"line":63,"column":55}},"60":{"start":{"line":64,"column":20},"end":{"line":64,"column":47}},"61":{"start":{"line":65,"column":28},"end":{"line":65,"column":53}},"62":{"start":{"line":66,"column":28},"end":{"line":66,"column":67}},"63":{"start":{"line":67,"column":4},"end":{"line":67,"column":84}},"64":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"65":{"start":{"line":69,"column":8},"end":{"line":69,"column":55}},"66":{"start":{"line":71,"column":4},"end":{"line":83,"column":5}},"67":{"start":{"line":72,"column":23},"end":{"line":72,"column":51}},"68":{"start":{"line":73,"column":25},"end":{"line":73,"column":55}},"69":{"start":{"line":74,"column":26},"end":{"line":74,"column":57}},"70":{"start":{"line":75,"column":29},"end":{"line":75,"column":66}},"71":{"start":{"line":76,"column":8},"end":{"line":79,"column":9}},"72":{"start":{"line":77,"column":22},"end":{"line":77,"column":120}},"73":{"start":{"line":78,"column":12},"end":{"line":78,"column":33}},"74":{"start":{"line":80,"column":21},"end":{"line":80,"column":132}},"75":{"start":{"line":81,"column":8},"end":{"line":81,"column":41}},"76":{"start":{"line":82,"column":8},"end":{"line":82,"column":22}},"77":{"start":{"line":84,"column":4},"end":{"line":84,"column":16}},"78":{"start":{"line":87,"column":18},"end":{"line":87,"column":20}},"79":{"start":{"line":88,"column":4},"end":{"line":94,"column":5}},"80":{"start":{"line":88,"column":17},"end":{"line":88,"column":18}},"81":{"start":{"line":89,"column":20},"end":{"line":89,"column":21}},"82":{"start":{"line":90,"column":21},"end":{"line":90,"column":129}},"83":{"start":{"line":91,"column":8},"end":{"line":93,"column":9}},"84":{"start":{"line":92,"column":12},"end":{"line":92,"column":33}},"85":{"start":{"line":95,"column":4},"end":{"line":95,"column":19}},"86":{"start":{"line":98,"column":29},"end":{"line":98,"column":50}},"87":{"start":{"line":99,"column":4},"end":{"line":102,"column":5}},"88":{"start":{"line":100,"column":18},"end":{"line":100,"column":133}},"89":{"start":{"line":101,"column":8},"end":{"line":101,"column":29}},"90":{"start":{"line":103,"column":4},"end":{"line":103,"column":29}},"91":{"start":{"line":106,"column":29},"end":{"line":106,"column":82}},"92":{"start":{"line":107,"column":18},"end":{"line":107,"column":20}},"93":{"start":{"line":108,"column":21},"end":{"line":108,"column":69}},"94":{"start":{"line":109,"column":21},"end":{"line":109,"column":52}},"95":{"start":{"line":110,"column":15},"end":{"line":110,"column":44}},"96":{"start":{"line":111,"column":4},"end":{"line":120,"column":5}},"97":{"start":{"line":111,"column":18},"end":{"line":111,"column":19}},"98":{"start":{"line":111,"column":30},"end":{"line":111,"column":34}},"99":{"start":{"line":112,"column":18},"end":{"line":112,"column":28}},"100":{"start":{"line":113,"column":29},"end":{"line":113,"column":52}},"101":{"start":{"line":114,"column":23},"end":{"line":114,"column":59}},"102":{"start":{"line":115,"column":25},"end":{"line":115,"column":51}},"103":{"start":{"line":116,"column":32},"end":{"line":116,"column":125}},"104":{"start":{"line":117,"column":21},"end":{"line":117,"column":117}},"105":{"start":{"line":118,"column":8},"end":{"line":118,"column":41}},"106":{"start":{"line":119,"column":8},"end":{"line":119,"column":29}},"107":{"start":{"line":121,"column":26},"end":{"line":121,"column":86}},"108":{"start":{"line":122,"column":4},"end":{"line":125,"column":5}},"109":{"start":{"line":123,"column":26},"end":{"line":123,"column":98}},"110":{"start":{"line":124,"column":8},"end":{"line":124,"column":85}},"111":{"start":{"line":126,"column":4},"end":{"line":126,"column":19}},"112":{"start":{"line":129,"column":26},"end":{"line":129,"column":75}},"113":{"start":{"line":130,"column":4},"end":{"line":145,"column":5}},"114":{"start":{"line":131,"column":34},"end":{"line":131,"column":87}},"115":{"start":{"line":132,"column":22},"end":{"line":132,"column":92}},"116":{"start":{"line":133,"column":23},"end":{"line":133,"column":141}},"117":{"start":{"line":133,"column":50},"end":{"line":133,"column":138}},"118":{"start":{"line":133,"column":90},"end":{"line":133,"column":134}},"119":{"start":{"line":134,"column":29},"end":{"line":134,"column":65}},"120":{"start":{"line":135,"column":30},"end":{"line":135,"column":61}},"121":{"start":{"line":136,"column":8},"end":{"line":141,"column":9}},"122":{"start":{"line":137,"column":12},"end":{"line":137,"column":35}},"123":{"start":{"line":140,"column":12},"end":{"line":140,"column":80}},"124":{"start":{"line":144,"column":8},"end":{"line":144,"column":17}},"125":{"start":{"line":147,"column":0},"end":{"line":147,"column":66}},"126":{"start":{"line":149,"column":28},"end":{"line":149,"column":30}},"127":{"start":{"line":150,"column":4},"end":{"line":152,"column":7}},"128":{"start":{"line":151,"column":8},"end":{"line":151,"column":54}},"129":{"start":{"line":153,"column":4},"end":{"line":158,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":21,"column":52},"end":{"line":21,"column":53}},"loc":{"start":{"line":21,"column":78},"end":{"line":29,"column":1}},"line":21},"7":{"name":"(anonymous_7)","decl":{"start":{"line":37,"column":75},"end":{"line":37,"column":76}},"loc":{"start":{"line":37,"column":87},"end":{"line":37,"column":130}},"line":37},"8":{"name":"getDependencies","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":24}},"loc":{"start":{"line":39,"column":47},"end":{"line":42,"column":1}},"line":39},"9":{"name":"getTargets","decl":{"start":{"line":44,"column":9},"end":{"line":44,"column":19}},"loc":{"start":{"line":44,"column":72},"end":{"line":60,"column":1}},"line":44},"10":{"name":"getConstructorArgsAsTarget","decl":{"start":{"line":61,"column":9},"end":{"line":61,"column":35}},"loc":{"start":{"line":61,"column":118},"end":{"line":85,"column":1}},"line":61},"11":{"name":"getConstructorArgsAsTargets","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":36}},"loc":{"start":{"line":86,"column":124},"end":{"line":96,"column":1}},"line":86},"12":{"name":"_getServiceIdentifierForProperty","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":41}},"loc":{"start":{"line":97,"column":88},"end":{"line":104,"column":1}},"line":97},"13":{"name":"getClassPropsAsTargets","decl":{"start":{"line":105,"column":9},"end":{"line":105,"column":31}},"loc":{"start":{"line":105,"column":82},"end":{"line":127,"column":1}},"line":105},"14":{"name":"getBaseClassDependencyCount","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":36}},"loc":{"start":{"line":128,"column":59},"end":{"line":146,"column":1}},"line":128},"15":{"name":"(anonymous_15)","decl":{"start":{"line":133,"column":35},"end":{"line":133,"column":36}},"loc":{"start":{"line":133,"column":48},"end":{"line":133,"column":140}},"line":133},"16":{"name":"(anonymous_16)","decl":{"start":{"line":133,"column":75},"end":{"line":133,"column":76}},"loc":{"start":{"line":133,"column":88},"end":{"line":133,"column":136}},"line":133},"17":{"name":"formatTargetMetadata","decl":{"start":{"line":148,"column":9},"end":{"line":148,"column":29}},"loc":{"start":{"line":148,"column":46},"end":{"line":159,"column":1}},"line":148},"18":{"name":"(anonymous_18)","decl":{"start":{"line":150,"column":27},"end":{"line":150,"column":28}},"loc":{"start":{"line":150,"column":40},"end":{"line":152,"column":5}},"line":150}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":21,"column":20},"end":{"line":29,"column":1}},"type":"binary-expr","locations":[{"start":{"line":21,"column":21},"end":{"line":21,"column":25}},{"start":{"line":21,"column":29},"end":{"line":21,"column":47}},{"start":{"line":21,"column":52},"end":{"line":29,"column":1}}],"line":21},"13":{"loc":{"start":{"line":22,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":27,"column":5}},{"start":{"line":22,"column":4},"end":{"line":27,"column":5}}],"line":22},"14":{"loc":{"start":{"line":22,"column":8},"end":{"line":22,"column":38}},"type":"binary-expr","locations":[{"start":{"line":22,"column":8},"end":{"line":22,"column":12}},{"start":{"line":22,"column":16},"end":{"line":22,"column":38}}],"line":22},"15":{"loc":{"start":{"line":23,"column":8},"end":{"line":26,"column":9}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":26,"column":9}},{"start":{"line":23,"column":8},"end":{"line":26,"column":9}}],"line":23},"16":{"loc":{"start":{"line":23,"column":12},"end":{"line":23,"column":30}},"type":"binary-expr","locations":[{"start":{"line":23,"column":12},"end":{"line":23,"column":14}},{"start":{"line":23,"column":18},"end":{"line":23,"column":30}}],"line":23},"17":{"loc":{"start":{"line":24,"column":12},"end":{"line":24,"column":65}},"type":"if","locations":[{"start":{"line":24,"column":12},"end":{"line":24,"column":65}},{"start":{"line":24,"column":12},"end":{"line":24,"column":65}}],"line":24},"18":{"loc":{"start":{"line":28,"column":21},"end":{"line":28,"column":59}},"type":"binary-expr","locations":[{"start":{"line":28,"column":21},"end":{"line":28,"column":23}},{"start":{"line":28,"column":27},"end":{"line":28,"column":59}}],"line":28},"19":{"loc":{"start":{"line":47,"column":4},"end":{"line":50,"column":5}},"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":50,"column":5}},{"start":{"line":47,"column":4},"end":{"line":50,"column":5}}],"line":47},"20":{"loc":{"start":{"line":53,"column":44},"end":{"line":53,"column":80}},"type":"binary-expr","locations":[{"start":{"line":53,"column":44},"end":{"line":53,"column":61}},{"start":{"line":53,"column":65},"end":{"line":53,"column":80}}],"line":53},"21":{"loc":{"start":{"line":55,"column":21},"end":{"line":55,"column":108}},"type":"cond-expr","locations":[{"start":{"line":55,"column":83},"end":{"line":55,"column":94}},{"start":{"line":55,"column":97},"end":{"line":55,"column":108}}],"line":55},"22":{"loc":{"start":{"line":55,"column":22},"end":{"line":55,"column":79}},"type":"binary-expr","locations":[{"start":{"line":55,"column":22},"end":{"line":55,"column":54}},{"start":{"line":55,"column":58},"end":{"line":55,"column":79}}],"line":55},"23":{"loc":{"start":{"line":62,"column":25},"end":{"line":62,"column":72}},"type":"binary-expr","locations":[{"start":{"line":62,"column":25},"end":{"line":62,"column":66}},{"start":{"line":62,"column":70},"end":{"line":62,"column":72}}],"line":62},"24":{"loc":{"start":{"line":66,"column":28},"end":{"line":66,"column":67}},"type":"binary-expr","locations":[{"start":{"line":66,"column":28},"end":{"line":66,"column":43}},{"start":{"line":66,"column":47},"end":{"line":66,"column":67}}],"line":66},"25":{"loc":{"start":{"line":67,"column":24},"end":{"line":67,"column":83}},"type":"cond-expr","locations":[{"start":{"line":67,"column":46},"end":{"line":67,"column":62}},{"start":{"line":67,"column":66},"end":{"line":67,"column":83}}],"line":67},"26":{"loc":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},{"start":{"line":68,"column":4},"end":{"line":70,"column":5}}],"line":68},"27":{"loc":{"start":{"line":71,"column":4},"end":{"line":83,"column":5}},"type":"if","locations":[{"start":{"line":71,"column":4},"end":{"line":83,"column":5}},{"start":{"line":71,"column":4},"end":{"line":83,"column":5}}],"line":71},"28":{"loc":{"start":{"line":75,"column":29},"end":{"line":75,"column":66}},"type":"binary-expr","locations":[{"start":{"line":75,"column":29},"end":{"line":75,"column":37}},{"start":{"line":75,"column":41},"end":{"line":75,"column":51}},{"start":{"line":75,"column":55},"end":{"line":75,"column":66}}],"line":75},"29":{"loc":{"start":{"line":76,"column":8},"end":{"line":79,"column":9}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":79,"column":9}},{"start":{"line":76,"column":8},"end":{"line":79,"column":9}}],"line":76},"30":{"loc":{"start":{"line":76,"column":12},"end":{"line":76,"column":41}},"type":"binary-expr","locations":[{"start":{"line":76,"column":12},"end":{"line":76,"column":24}},{"start":{"line":76,"column":28},"end":{"line":76,"column":41}}],"line":76},"31":{"loc":{"start":{"line":91,"column":8},"end":{"line":93,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":93,"column":9}},{"start":{"line":91,"column":8},"end":{"line":93,"column":9}}],"line":91},"32":{"loc":{"start":{"line":98,"column":29},"end":{"line":98,"column":50}},"type":"binary-expr","locations":[{"start":{"line":98,"column":29},"end":{"line":98,"column":35}},{"start":{"line":98,"column":39},"end":{"line":98,"column":50}}],"line":98},"33":{"loc":{"start":{"line":99,"column":4},"end":{"line":102,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":102,"column":5}},{"start":{"line":99,"column":4},"end":{"line":102,"column":5}}],"line":99},"34":{"loc":{"start":{"line":115,"column":25},"end":{"line":115,"column":51}},"type":"binary-expr","locations":[{"start":{"line":115,"column":25},"end":{"line":115,"column":44}},{"start":{"line":115,"column":48},"end":{"line":115,"column":51}}],"line":115},"35":{"loc":{"start":{"line":122,"column":4},"end":{"line":125,"column":5}},"type":"if","locations":[{"start":{"line":122,"column":4},"end":{"line":125,"column":5}},{"start":{"line":122,"column":4},"end":{"line":125,"column":5}}],"line":122},"36":{"loc":{"start":{"line":130,"column":4},"end":{"line":145,"column":5}},"type":"if","locations":[{"start":{"line":130,"column":4},"end":{"line":145,"column":5}},{"start":{"line":130,"column":4},"end":{"line":145,"column":5}}],"line":130},"37":{"loc":{"start":{"line":136,"column":8},"end":{"line":141,"column":9}},"type":"if","locations":[{"start":{"line":136,"column":8},"end":{"line":141,"column":9}},{"start":{"line":136,"column":8},"end":{"line":141,"column":9}}],"line":136}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":16256,"23":16256,"24":16256,"25":16256,"26":7972,"27":0,"28":0,"29":0,"30":16256,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":8101,"42":8101,"43":1,"44":8115,"45":8115,"46":8115,"47":2,"48":2,"49":8113,"50":8113,"51":8113,"52":8113,"53":8113,"54":8113,"55":8111,"56":8110,"57":8110,"58":7957,"59":7957,"60":7957,"61":7957,"62":7957,"63":7957,"64":7957,"65":0,"66":7957,"67":7948,"68":7948,"69":7948,"70":7948,"71":7948,"72":2,"73":2,"74":7946,"75":7946,"76":7946,"77":9,"78":8113,"79":8113,"80":8113,"81":7957,"82":7957,"83":7955,"84":7946,"85":8111,"86":23,"87":23,"88":1,"89":1,"90":22,"91":8129,"92":8129,"93":8129,"94":8129,"95":8129,"96":8129,"97":8129,"98":8129,"99":23,"100":23,"101":23,"102":23,"103":23,"104":22,"105":22,"106":22,"107":8128,"108":8128,"109":18,"110":18,"111":8128,"112":8096,"113":8096,"114":16,"115":16,"116":15,"117":11,"118":10,"119":15,"120":15,"121":15,"122":10,"123":5,"124":8080,"125":1,"126":7980,"127":7980,"128":8043,"129":7980},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":16256,"7":1,"8":8101,"9":8115,"10":7957,"11":8113,"12":23,"13":8129,"14":8096,"15":11,"16":10,"17":7980,"18":8043},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,1,1],"13":[16256,0],"14":[16256,0],"15":[0,7972],"16":[7972,7972],"17":[0,0],"18":[16256,16256],"19":[2,8113],"20":[8113,2329],"21":[9,8104],"22":[8113,8104],"23":[7957,23],"24":[7957,40],"25":[7925,32],"26":[0,7957],"27":[7948,9],"28":[7948,7946,7945],"29":[2,7946],"30":[7948,7939],"31":[7946,9],"32":[23,2],"33":[1,22],"34":[23,23],"35":[18,8110],"36":[16,8080],"37":[10,5]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/reflection_utils.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/planning/reflection_utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { LazyServiceIdentifer } from \"../annotation/lazy_service_identifier\";\nimport * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { TargetTypeEnum } from \"../constants/literal_types\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { getFunctionName } from \"../utils/serialization\";\nimport { Metadata } from \"./metadata\";\nimport { Target } from \"./target\";\n\nfunction getDependencies(\n metadataReader: interfaces.MetadataReader, func: NewableFunction\n): interfaces.Target[] {\n const constructorName = getFunctionName(func);\n return getTargets(metadataReader, constructorName, func, false);\n}\n\nfunction getTargets(\n metadataReader: interfaces.MetadataReader,\n constructorName: string,\n func: NewableFunction,\n isBaseClass: boolean\n): interfaces.Target[] {\n\n const metadata = metadataReader.getConstructorMetadata(func);\n\n // TypeScript compiler generated annotations\n const serviceIdentifiers = metadata.compilerGeneratedMetadata;\n\n // All types resolved must be annotated with @injectable\n if (serviceIdentifiers === undefined) {\n const msg = `${ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION} ${constructorName}.`;\n throw new Error(msg);\n }\n\n // User generated annotations\n const constructorArgsMetadata = metadata.userGeneratedMetadata;\n\n const keys = Object.keys(constructorArgsMetadata);\n const hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0);\n const hasOptionalParameters = keys.length > func.length;\n\n const iterations = (hasUserDeclaredUnknownInjections || hasOptionalParameters) ? keys.length : func.length;\n\n // Target instances that represent constructor arguments to be injected\n const constructorTargets = getConstructorArgsAsTargets(\n isBaseClass,\n constructorName,\n serviceIdentifiers,\n constructorArgsMetadata,\n iterations\n );\n\n // Target instances that represent properties to be injected\n const propertyTargets = getClassPropsAsTargets(metadataReader, func, constructorName);\n\n const targets = [\n ...constructorTargets,\n ...propertyTargets\n ];\n\n return targets;\n\n}\nfunction getConstructorArgsAsTarget(\n index: number,\n isBaseClass: boolean,\n constructorName: string,\n serviceIdentifiers: interfaces.ServiceIdentifier[],\n constructorArgsMetadata: interfaces.MetadataMap\n): Target | null {\n // Create map from array of metadata for faster access to metadata\n const targetMetadata = constructorArgsMetadata[index.toString()] || [];\n const metadata = formatTargetMetadata(targetMetadata);\n const isManaged = metadata.unmanaged !== true;\n\n // Take types to be injected from user-generated metadata\n // if not available use compiler-generated metadata\n let serviceIdentifier = serviceIdentifiers[index];\n const injectIdentifier = (metadata.inject || metadata.multiInject);\n serviceIdentifier = (injectIdentifier) ? (injectIdentifier) : serviceIdentifier;\n\n // we unwrap LazyServiceIdentifer wrappers to allow circular dependencies on symbols\n if (serviceIdentifier instanceof LazyServiceIdentifer) {\n serviceIdentifier = serviceIdentifier.unwrap();\n }\n\n // Types Object and Function are too ambiguous to be resolved\n // user needs to generate metadata manually for those\n if (isManaged) {\n\n const isObject = serviceIdentifier === Object;\n const isFunction = serviceIdentifier === Function;\n const isUndefined = serviceIdentifier === undefined;\n const isUnknownType = (isObject || isFunction || isUndefined);\n\n if (!isBaseClass && isUnknownType) {\n const msg = `${ERROR_MSGS.MISSING_INJECT_ANNOTATION} argument ${index} in class ${constructorName}.`;\n throw new Error(msg);\n }\n\n const target = new Target(TargetTypeEnum.ConstructorArgument, metadata.targetName, serviceIdentifier as interfaces.ServiceIdentifier);\n target.metadata = targetMetadata;\n return target;\n }\n\n return null;\n\n}\n\nfunction getConstructorArgsAsTargets(\n isBaseClass: boolean,\n constructorName: string,\n serviceIdentifiers: interfaces.ServiceIdentifier[],\n constructorArgsMetadata: interfaces.MetadataMap,\n iterations: number\n): interfaces.Target[] {\n\n const targets: interfaces.Target[] = [];\n for (let i = 0; i < iterations; i++) {\n const index = i;\n const target = getConstructorArgsAsTarget(\n index,\n isBaseClass,\n constructorName,\n serviceIdentifiers,\n constructorArgsMetadata\n );\n if (target !== null) {\n targets.push(target);\n }\n }\n\n return targets;\n}\n\nfunction _getServiceIdentifierForProperty(\n inject: any,\n multiInject: any,\n propertyName: string | symbol,\n className: string\n) {\n const serviceIdentifier = (inject || multiInject);\n if (serviceIdentifier === undefined) {\n const msg = `${ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION} for property ${String(propertyName)} in class ${className}.`;\n throw new Error(msg);\n }\n return serviceIdentifier;\n}\n\nfunction getClassPropsAsTargets(\n metadataReader: interfaces.MetadataReader,\n constructorFunc: NewableFunction,\n constructorName: string\n) {\n\n const classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc);\n let targets: interfaces.Target[] = [];\n const symbolKeys = Object.getOwnPropertySymbols(classPropsMetadata);\n const stringKeys: (string | symbol)[] = Object.keys(classPropsMetadata);\n const keys: (string | symbol)[] = stringKeys.concat(symbolKeys);\n\n for (const key of keys) {\n\n // the metadata for the property being injected\n const targetMetadata = classPropsMetadata[key] as interfaces.Metadata[];\n\n // the metadata formatted for easier access\n const metadata = formatTargetMetadata(targetMetadata);\n\n const identifier = metadata.targetName || key;\n\n // Take types to be injected from user-generated metadata\n const serviceIdentifier = _getServiceIdentifierForProperty(metadata.inject, metadata.multiInject, key, constructorName);\n\n // The property target\n const target = new Target(TargetTypeEnum.ClassProperty, identifier, serviceIdentifier);\n target.metadata = targetMetadata;\n targets.push(target);\n }\n\n // Check if base class has injected properties\n const baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;\n\n if (baseConstructor !== Object) {\n\n const baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor, constructorName);\n\n targets = [\n ...targets,\n ...baseTargets\n ];\n\n }\n\n return targets;\n}\n\nfunction getBaseClassDependencyCount(\n metadataReader: interfaces.MetadataReader,\n func: NewableFunction\n): number {\n\n const baseConstructor = Object.getPrototypeOf(func.prototype).constructor;\n\n if (baseConstructor !== Object) {\n\n // get targets for base class\n const baseConstructorName = getFunctionName(baseConstructor);\n\n const targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true);\n\n // get unmanaged metadata\n const metadata = targets.map((t) => t.metadata.filter(m => m.key === METADATA_KEY.UNMANAGED_TAG));\n\n // Compare the number of constructor arguments with the number of\n // unmanaged dependencies unmanaged dependencies are not required\n const unmanagedCount = ([] as Metadata[]).concat.apply([], metadata).length;\n const dependencyCount = targets.length - unmanagedCount;\n\n if (dependencyCount > 0) {\n return dependencyCount;\n } else {\n return getBaseClassDependencyCount(metadataReader, baseConstructor);\n }\n\n } else {\n return 0;\n }\n\n}\n\nfunction formatTargetMetadata(targetMetadata: interfaces.Metadata[]) {\n\n // Create map from array of metadata for faster access to metadata\n const targetMetadataMap: any = {};\n targetMetadata.forEach((m: interfaces.Metadata) => {\n targetMetadataMap[m.key.toString()] = m.value;\n });\n\n // user generated metadata\n return {\n inject: targetMetadataMap[METADATA_KEY.INJECT_TAG],\n multiInject: targetMetadataMap[METADATA_KEY.MULTI_INJECT_TAG],\n targetName: targetMetadataMap[METADATA_KEY.NAME_TAG],\n unmanaged: targetMetadataMap[METADATA_KEY.UNMANAGED_TAG]\n };\n\n}\n\nexport { getDependencies, getBaseClassDependencyCount, getFunctionName };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d6bb5c36b6fb066818e0e29fcd48660972177f15","contentHash":"d048f409e17b0251384d1f92496224f92f731483243712548214e6977e420f35"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/lazy_service_identifier.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/lazy_service_identifier.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":38}},"2":{"start":{"line":4,"column":28},"end":{"line":12,"column":3}},"3":{"start":{"line":6,"column":8},"end":{"line":6,"column":22}},"4":{"start":{"line":8,"column":4},"end":{"line":10,"column":6}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":26}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":32}},"7":{"start":{"line":13,"column":0},"end":{"line":13,"column":52}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":28},"end":{"line":4,"column":29}},"loc":{"start":{"line":4,"column":40},"end":{"line":12,"column":1}},"line":4},"1":{"name":"LazyServiceIdentifer","decl":{"start":{"line":5,"column":13},"end":{"line":5,"column":33}},"loc":{"start":{"line":5,"column":38},"end":{"line":7,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":44},"end":{"line":8,"column":45}},"loc":{"start":{"line":8,"column":56},"end":{"line":10,"column":5}},"line":8}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":1,"7":1},"f":{"0":1,"1":1,"2":0},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/lazy_service_identifier.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/lazy_service_identifier.ts"],"names":[],"mappings":";;;AAIA;IAEE,8BAAmB,EAAyC;QAC1D,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAEM,qCAAM,GAAb;QACE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACH,2BAAC;AAAD,CAAC,AATD,IASC;AATY,oDAAoB","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nexport type ServiceIdentifierOrFunc = interfaces.ServiceIdentifier | LazyServiceIdentifer;\n\nexport class LazyServiceIdentifer {\n private _cb: () => interfaces.ServiceIdentifier;\n public constructor(cb: () => interfaces.ServiceIdentifier) {\n this._cb = cb;\n }\n\n public unwrap() {\n return this._cb();\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"42e935a001817217e48ef87436b3389561708f60","contentHash":"dcd242b758ae57105dd49d0e973a36433b194500f6238cd442483ceb580513cd"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/target.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/target.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":11},"end":{"line":24,"column":33}},"25":{"start":{"line":25,"column":22},"end":{"line":25,"column":55}},"26":{"start":{"line":26,"column":17},"end":{"line":26,"column":38}},"27":{"start":{"line":27,"column":25},"end":{"line":27,"column":54}},"28":{"start":{"line":28,"column":14},"end":{"line":102,"column":3}},"29":{"start":{"line":30,"column":8},"end":{"line":30,"column":33}},"30":{"start":{"line":31,"column":8},"end":{"line":31,"column":25}},"31":{"start":{"line":32,"column":8},"end":{"line":32,"column":51}},"32":{"start":{"line":33,"column":28},"end":{"line":33,"column":127}},"33":{"start":{"line":34,"column":8},"end":{"line":34,"column":80}},"34":{"start":{"line":35,"column":8},"end":{"line":35,"column":37}},"35":{"start":{"line":36,"column":8},"end":{"line":36,"column":36}},"36":{"start":{"line":37,"column":27},"end":{"line":37,"column":31}},"37":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"38":{"start":{"line":39,"column":12},"end":{"line":39,"column":90}},"39":{"start":{"line":41,"column":13},"end":{"line":43,"column":9}},"40":{"start":{"line":42,"column":12},"end":{"line":42,"column":41}},"41":{"start":{"line":44,"column":8},"end":{"line":46,"column":9}},"42":{"start":{"line":45,"column":12},"end":{"line":45,"column":45}},"43":{"start":{"line":48,"column":4},"end":{"line":56,"column":6}},"44":{"start":{"line":49,"column":8},"end":{"line":54,"column":9}},"45":{"start":{"line":49,"column":22},"end":{"line":49,"column":23}},"46":{"start":{"line":49,"column":30},"end":{"line":49,"column":43}},"47":{"start":{"line":50,"column":20},"end":{"line":50,"column":26}},"48":{"start":{"line":51,"column":12},"end":{"line":53,"column":13}},"49":{"start":{"line":52,"column":16},"end":{"line":52,"column":28}},"50":{"start":{"line":55,"column":8},"end":{"line":55,"column":21}},"51":{"start":{"line":57,"column":4},"end":{"line":59,"column":6}},"52":{"start":{"line":58,"column":8},"end":{"line":58,"column":58}},"53":{"start":{"line":60,"column":4},"end":{"line":62,"column":6}},"54":{"start":{"line":61,"column":8},"end":{"line":61,"column":68}},"55":{"start":{"line":63,"column":4},"end":{"line":65,"column":6}},"56":{"start":{"line":64,"column":8},"end":{"line":64,"column":51}},"57":{"start":{"line":66,"column":4},"end":{"line":68,"column":6}},"58":{"start":{"line":67,"column":8},"end":{"line":67,"column":155}},"59":{"start":{"line":67,"column":56},"end":{"line":67,"column":151}},"60":{"start":{"line":67,"column":119},"end":{"line":67,"column":147}},"61":{"start":{"line":69,"column":4},"end":{"line":71,"column":6}},"62":{"start":{"line":70,"column":8},"end":{"line":70,"column":64}},"63":{"start":{"line":72,"column":4},"end":{"line":77,"column":6}},"64":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"65":{"start":{"line":74,"column":12},"end":{"line":74,"column":102}},"66":{"start":{"line":74,"column":55},"end":{"line":74,"column":95}},"67":{"start":{"line":76,"column":8},"end":{"line":76,"column":20}},"68":{"start":{"line":78,"column":4},"end":{"line":85,"column":6}},"69":{"start":{"line":79,"column":8},"end":{"line":84,"column":9}},"70":{"start":{"line":80,"column":12},"end":{"line":80,"column":161}},"71":{"start":{"line":80,"column":62},"end":{"line":80,"column":157}},"72":{"start":{"line":80,"column":125},"end":{"line":80,"column":153}},"73":{"start":{"line":83,"column":12},"end":{"line":83,"column":24}},"74":{"start":{"line":86,"column":4},"end":{"line":88,"column":6}},"75":{"start":{"line":87,"column":8},"end":{"line":87,"column":61}},"76":{"start":{"line":89,"column":4},"end":{"line":100,"column":6}},"77":{"start":{"line":90,"column":20},"end":{"line":90,"column":24}},"78":{"start":{"line":91,"column":8},"end":{"line":99,"column":10}},"79":{"start":{"line":92,"column":12},"end":{"line":97,"column":13}},"80":{"start":{"line":92,"column":26},"end":{"line":92,"column":27}},"81":{"start":{"line":92,"column":34},"end":{"line":92,"column":48}},"82":{"start":{"line":93,"column":24},"end":{"line":93,"column":30}},"83":{"start":{"line":94,"column":16},"end":{"line":96,"column":17}},"84":{"start":{"line":95,"column":20},"end":{"line":95,"column":32}},"85":{"start":{"line":98,"column":12},"end":{"line":98,"column":25}},"86":{"start":{"line":101,"column":4},"end":{"line":101,"column":18}},"87":{"start":{"line":103,"column":0},"end":{"line":103,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":28,"column":14},"end":{"line":28,"column":15}},"loc":{"start":{"line":28,"column":26},"end":{"line":102,"column":1}},"line":28},"7":{"name":"Target","decl":{"start":{"line":29,"column":13},"end":{"line":29,"column":19}},"loc":{"start":{"line":29,"column":72},"end":{"line":47,"column":5}},"line":29},"8":{"name":"(anonymous_8)","decl":{"start":{"line":48,"column":30},"end":{"line":48,"column":31}},"loc":{"start":{"line":48,"column":45},"end":{"line":56,"column":5}},"line":48},"9":{"name":"(anonymous_9)","decl":{"start":{"line":57,"column":31},"end":{"line":57,"column":32}},"loc":{"start":{"line":57,"column":43},"end":{"line":59,"column":5}},"line":57},"10":{"name":"(anonymous_10)","decl":{"start":{"line":60,"column":36},"end":{"line":60,"column":37}},"loc":{"start":{"line":60,"column":52},"end":{"line":62,"column":5}},"line":60},"11":{"name":"(anonymous_11)","decl":{"start":{"line":63,"column":31},"end":{"line":63,"column":32}},"loc":{"start":{"line":63,"column":43},"end":{"line":65,"column":5}},"line":63},"12":{"name":"(anonymous_12)","decl":{"start":{"line":66,"column":32},"end":{"line":66,"column":33}},"loc":{"start":{"line":66,"column":44},"end":{"line":68,"column":5}},"line":66},"13":{"name":"(anonymous_13)","decl":{"start":{"line":67,"column":34},"end":{"line":67,"column":35}},"loc":{"start":{"line":67,"column":54},"end":{"line":67,"column":153}},"line":67},"14":{"name":"(anonymous_14)","decl":{"start":{"line":67,"column":102},"end":{"line":67,"column":103}},"loc":{"start":{"line":67,"column":117},"end":{"line":67,"column":149}},"line":67},"15":{"name":"(anonymous_15)","decl":{"start":{"line":69,"column":34},"end":{"line":69,"column":35}},"loc":{"start":{"line":69,"column":46},"end":{"line":71,"column":5}},"line":69},"16":{"name":"(anonymous_16)","decl":{"start":{"line":72,"column":35},"end":{"line":72,"column":36}},"loc":{"start":{"line":72,"column":47},"end":{"line":77,"column":5}},"line":72},"17":{"name":"(anonymous_17)","decl":{"start":{"line":74,"column":40},"end":{"line":74,"column":41}},"loc":{"start":{"line":74,"column":53},"end":{"line":74,"column":97}},"line":74},"18":{"name":"(anonymous_18)","decl":{"start":{"line":78,"column":37},"end":{"line":78,"column":38}},"loc":{"start":{"line":78,"column":49},"end":{"line":85,"column":5}},"line":78},"19":{"name":"(anonymous_19)","decl":{"start":{"line":80,"column":40},"end":{"line":80,"column":41}},"loc":{"start":{"line":80,"column":60},"end":{"line":80,"column":159}},"line":80},"20":{"name":"(anonymous_20)","decl":{"start":{"line":80,"column":108},"end":{"line":80,"column":109}},"loc":{"start":{"line":80,"column":123},"end":{"line":80,"column":155}},"line":80},"21":{"name":"(anonymous_21)","decl":{"start":{"line":86,"column":39},"end":{"line":86,"column":40}},"loc":{"start":{"line":86,"column":55},"end":{"line":88,"column":5}},"line":86},"22":{"name":"(anonymous_22)","decl":{"start":{"line":89,"column":34},"end":{"line":89,"column":35}},"loc":{"start":{"line":89,"column":49},"end":{"line":100,"column":5}},"line":89},"23":{"name":"(anonymous_23)","decl":{"start":{"line":91,"column":15},"end":{"line":91,"column":16}},"loc":{"start":{"line":91,"column":32},"end":{"line":99,"column":9}},"line":91}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":33,"column":28},"end":{"line":33,"column":127}},"type":"cond-expr","locations":[{"start":{"line":33,"column":61},"end":{"line":33,"column":114}},{"start":{"line":33,"column":117},"end":{"line":33,"column":127}}],"line":33},"13":{"loc":{"start":{"line":34,"column":59},"end":{"line":34,"column":78}},"type":"binary-expr","locations":[{"start":{"line":34,"column":59},"end":{"line":34,"column":72}},{"start":{"line":34,"column":76},"end":{"line":34,"column":78}}],"line":34},"14":{"loc":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},{"start":{"line":38,"column":8},"end":{"line":43,"column":9}}],"line":38},"15":{"loc":{"start":{"line":41,"column":13},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":41,"column":13},"end":{"line":43,"column":9}},{"start":{"line":41,"column":13},"end":{"line":43,"column":9}}],"line":41},"16":{"loc":{"start":{"line":44,"column":8},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":44,"column":8},"end":{"line":46,"column":9}},{"start":{"line":44,"column":8},"end":{"line":46,"column":9}}],"line":44},"17":{"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}}],"line":51},"18":{"loc":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},{"start":{"line":73,"column":8},"end":{"line":75,"column":9}}],"line":73},"19":{"loc":{"start":{"line":79,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":79,"column":8},"end":{"line":84,"column":9}},{"start":{"line":79,"column":8},"end":{"line":84,"column":9}}],"line":79},"20":{"loc":{"start":{"line":94,"column":16},"end":{"line":96,"column":17}},"type":"if","locations":[{"start":{"line":94,"column":16},"end":{"line":96,"column":17}},{"start":{"line":94,"column":16},"end":{"line":96,"column":17}}],"line":94},"21":{"loc":{"start":{"line":94,"column":20},"end":{"line":94,"column":54}},"type":"binary-expr","locations":[{"start":{"line":94,"column":20},"end":{"line":94,"column":33}},{"start":{"line":94,"column":37},"end":{"line":94,"column":54}}],"line":94}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":9119,"30":9119,"31":9119,"32":9119,"33":9119,"34":9119,"35":9119,"36":9119,"37":9119,"38":7,"39":9112,"40":1113,"41":9119,"42":1120,"43":1,"44":11060,"45":11060,"46":11060,"47":11244,"48":11244,"49":178,"50":10882,"51":1,"52":11009,"53":1,"54":918,"55":1,"56":51,"57":1,"58":58,"59":80,"60":222,"61":1,"62":1957,"63":1,"64":12,"65":8,"66":16,"67":4,"68":1,"69":10,"70":4,"71":8,"72":29,"73":6,"74":1,"75":2,"76":1,"77":3076,"78":3076,"79":3076,"80":3076,"81":3076,"82":3291,"83":3291,"84":154,"85":2922,"86":1,"87":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":9119,"8":11060,"9":11009,"10":918,"11":51,"12":58,"13":80,"14":222,"15":1957,"16":12,"17":16,"18":10,"19":8,"20":29,"21":2,"22":3076,"23":3076},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[2,9117],"13":[9119,9021],"14":[7,9112],"15":[1113,7999],"16":[1120,7999],"17":[178,11066],"18":[8,4],"19":[4,6],"20":[154,3137],"21":[3291,239]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/target.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/planning/target.ts"],"names":[],"mappings":"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","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\nimport { interfaces } from '../interfaces/interfaces';\nimport { id } from '../utils/id';\nimport { getSymbolDescription } from '../utils/serialization';\nimport { Metadata } from './metadata';\nimport { QueryableString } from './queryable_string';\n\nclass Target implements interfaces.Target {\n\n public id: number;\n public type: interfaces.TargetType;\n public serviceIdentifier: interfaces.ServiceIdentifier;\n public name: interfaces.QueryableString;\n public identifier: string | symbol;\n public key!: string | symbol\n public metadata!: Metadata[];\n\n public constructor(\n type: interfaces.TargetType,\n identifier: string | symbol,\n serviceIdentifier: interfaces.ServiceIdentifier,\n namedOrTagged?: (string | Metadata)\n ) {\n\n this.id = id();\n this.type = type;\n this.serviceIdentifier = serviceIdentifier;\n const queryableName = typeof identifier === 'symbol' ? getSymbolDescription(identifier) : identifier;\n this.name = new QueryableString(queryableName || \"\");\n this.identifier = identifier;\n this.metadata = new Array();\n\n let metadataItem: interfaces.Metadata | null = null;\n\n // is named target\n if (typeof namedOrTagged === 'string') {\n metadataItem = new Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);\n } else if (namedOrTagged instanceof Metadata) {\n // is target with metadata\n metadataItem = namedOrTagged;\n }\n\n // target has metadata\n if (metadataItem !== null) {\n this.metadata.push(metadataItem);\n }\n\n }\n\n public hasTag(key: string): boolean {\n for (const m of this.metadata) {\n if (m.key === key) {\n return true;\n }\n }\n return false;\n }\n\n public isArray(): boolean {\n return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);\n }\n\n public matchesArray(name: interfaces.ServiceIdentifier): boolean {\n return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);\n }\n\n public isNamed(): boolean {\n return this.hasTag(METADATA_KEY.NAMED_TAG);\n }\n\n public isTagged(): boolean {\n return this.metadata.some(\n (metadata) => METADATA_KEY.NON_CUSTOM_TAG_KEYS.every((key) => metadata.key !== key),\n );\n }\n\n public isOptional(): boolean {\n return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);\n }\n\n public getNamedTag(): interfaces.Metadata | null {\n if (this.isNamed()) {\n return this.metadata.filter(\n (m) => m.key === METADATA_KEY.NAMED_TAG,\n )[0] as interfaces.Metadata;\n }\n return null;\n }\n\n public getCustomTags(): interfaces.Metadata[] | null {\n if (this.isTagged()) {\n return this.metadata.filter(\n (metadata) => METADATA_KEY.NON_CUSTOM_TAG_KEYS.every((key) => metadata.key !== key),\n );\n } else {\n return null;\n }\n }\n\n public matchesNamedTag(name: string): boolean {\n return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);\n }\n\n public matchesTag(key: string) {\n return (value: unknown) => {\n for (const m of this.metadata) {\n if (m.key === key && m.value === value) {\n return true;\n }\n }\n return false;\n };\n }\n\n}\n\nexport { Target };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6cac5d2b37243c55ad4c066d2e0e1c0ecf3244fa","contentHash":"9e26b615b7d257e70f5df123bb5f1b7c5ff5f3630e8dda3ce5c74d8acb066d63"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/queryable_string.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/queryable_string.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"2":{"start":{"line":4,"column":23},"end":{"line":27,"column":3}},"3":{"start":{"line":6,"column":8},"end":{"line":6,"column":23}},"4":{"start":{"line":8,"column":4},"end":{"line":10,"column":6}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":52}},"6":{"start":{"line":11,"column":4},"end":{"line":16,"column":6}},"7":{"start":{"line":12,"column":28},"end":{"line":12,"column":30}},"8":{"start":{"line":13,"column":34},"end":{"line":13,"column":75}},"9":{"start":{"line":14,"column":8},"end":{"line":14,"column":62}},"10":{"start":{"line":15,"column":8},"end":{"line":15,"column":81}},"11":{"start":{"line":17,"column":4},"end":{"line":19,"column":6}},"12":{"start":{"line":18,"column":8},"end":{"line":18,"column":55}},"13":{"start":{"line":20,"column":4},"end":{"line":22,"column":6}},"14":{"start":{"line":21,"column":8},"end":{"line":21,"column":42}},"15":{"start":{"line":23,"column":4},"end":{"line":25,"column":6}},"16":{"start":{"line":24,"column":8},"end":{"line":24,"column":24}},"17":{"start":{"line":26,"column":4},"end":{"line":26,"column":27}},"18":{"start":{"line":28,"column":0},"end":{"line":28,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":23},"end":{"line":4,"column":24}},"loc":{"start":{"line":4,"column":35},"end":{"line":27,"column":1}},"line":4},"1":{"name":"QueryableString","decl":{"start":{"line":5,"column":13},"end":{"line":5,"column":28}},"loc":{"start":{"line":5,"column":34},"end":{"line":7,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":43},"end":{"line":8,"column":44}},"loc":{"start":{"line":8,"column":67},"end":{"line":10,"column":5}},"line":8},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":41},"end":{"line":11,"column":42}},"loc":{"start":{"line":11,"column":65},"end":{"line":16,"column":5}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":17,"column":41},"end":{"line":17,"column":42}},"loc":{"start":{"line":17,"column":65},"end":{"line":19,"column":5}},"line":17},"5":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":39},"end":{"line":20,"column":40}},"loc":{"start":{"line":20,"column":64},"end":{"line":22,"column":5}},"line":20},"6":{"name":"(anonymous_6)","decl":{"start":{"line":23,"column":38},"end":{"line":23,"column":39}},"loc":{"start":{"line":23,"column":50},"end":{"line":25,"column":5}},"line":23}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":9124,"4":1,"5":8,"6":1,"7":4,"8":4,"9":4,"10":4,"11":1,"12":2,"13":1,"14":7,"15":1,"16":13,"17":1,"18":1},"f":{"0":1,"1":9124,"2":8,"3":4,"4":2,"5":7,"6":13},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/queryable_string.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/planning/queryable_string.ts"],"names":[],"mappings":";;;AAEA;IAIE,yBAAmB,GAAW;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,oCAAU,GAAjB,UAAkB,YAAoB;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAEM,kCAAQ,GAAf,UAAgB,YAAoB;QAClC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAG,aAAa,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC5E,CAAC;IAEM,kCAAQ,GAAf,UAAgB,YAAoB;QAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAEM,gCAAM,GAAb,UAAc,aAAqB;QACjC,OAAO,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC;IACpC,CAAC;IAEM,+BAAK,GAAZ;QACE,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEH,sBAAC;AAAD,CAAC,AA/BD,IA+BC;AAEQ,0CAAe","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nclass QueryableString implements interfaces.QueryableString {\n\n private str: string;\n\n public constructor(str: string) {\n this.str = str;\n }\n\n public startsWith(searchString: string): boolean {\n return this.str.indexOf(searchString) === 0;\n }\n\n public endsWith(searchString: string): boolean {\n let reverseString = \"\";\n const reverseSearchString = searchString.split(\"\").reverse().join(\"\");\n reverseString = this.str.split(\"\").reverse().join(\"\");\n return this.startsWith.call({ str : reverseString }, reverseSearchString);\n }\n\n public contains(searchString: string): boolean {\n return (this.str.indexOf(searchString) !== -1);\n }\n\n public equals(compareString: string): boolean {\n return this.str === compareString;\n }\n\n public value(): string {\n return this.str;\n }\n\n}\n\nexport { QueryableString };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ababb78a728292b7d13f9c251378c450bf31dc53","contentHash":"58b63a9f8098d39e228e48bae04af5c010e196e9153e73381b71c6ab772197d3"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/request.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/request.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"2":{"start":{"line":4,"column":11},"end":{"line":4,"column":33}},"3":{"start":{"line":5,"column":15},"end":{"line":24,"column":3}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":33}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":51}},"6":{"start":{"line":9,"column":8},"end":{"line":9,"column":43}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":43}},"8":{"start":{"line":11,"column":8},"end":{"line":11,"column":29}},"9":{"start":{"line":12,"column":8},"end":{"line":12,"column":32}},"10":{"start":{"line":13,"column":8},"end":{"line":13,"column":74}},"11":{"start":{"line":14,"column":8},"end":{"line":16,"column":19}},"12":{"start":{"line":18,"column":4},"end":{"line":22,"column":6}},"13":{"start":{"line":19,"column":20},"end":{"line":19,"column":94}},"14":{"start":{"line":20,"column":8},"end":{"line":20,"column":39}},"15":{"start":{"line":21,"column":8},"end":{"line":21,"column":21}},"16":{"start":{"line":23,"column":4},"end":{"line":23,"column":19}},"17":{"start":{"line":25,"column":0},"end":{"line":25,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":15},"end":{"line":5,"column":16}},"loc":{"start":{"line":5,"column":27},"end":{"line":24,"column":1}},"line":5},"1":{"name":"Request","decl":{"start":{"line":6,"column":13},"end":{"line":6,"column":20}},"loc":{"start":{"line":6,"column":88},"end":{"line":17,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":40},"end":{"line":18,"column":41}},"loc":{"start":{"line":18,"column":87},"end":{"line":22,"column":5}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":25},"end":{"line":13,"column":72}},"type":"cond-expr","locations":[{"start":{"line":13,"column":51},"end":{"line":13,"column":59}},{"start":{"line":13,"column":62},"end":{"line":13,"column":72}}],"line":13},"1":{"loc":{"start":{"line":14,"column":28},"end":{"line":16,"column":18}},"type":"cond-expr","locations":[{"start":{"line":15,"column":14},"end":{"line":15,"column":23}},{"start":{"line":16,"column":14},"end":{"line":16,"column":18}}],"line":14}},"s":{"0":1,"1":1,"2":1,"3":1,"4":18192,"5":18192,"6":18192,"7":18192,"8":18192,"9":18192,"10":18192,"11":18192,"12":1,"13":8004,"14":8004,"15":8004,"16":1,"17":1},"f":{"0":1,"1":18192,"2":8004},"b":{"0":[9025,9167],"1":[2190,16002]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/request.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/planning/request.ts"],"names":[],"mappings":";;;AACA,kCAAiC;AAEjC;IAWE,iBACE,iBAA+C,EAC/C,aAAiC,EACjC,aAAwC,EACxC,QAA+D,EAC/D,MAAyB;QAEzB,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAGlE,IAAI,CAAC,YAAY,GAAG,aAAa,KAAK,IAAI;YACxC,CAAC,CAAC,IAAI,GAAG,EAAE;YACX,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEM,iCAAe,GAAtB,UACE,iBAA+C,EAC/C,QAAuE,EACvE,MAAyB;QAGzB,IAAM,KAAK,GAAG,IAAI,OAAO,CACvB,iBAAiB,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,QAAQ,EACR,MAAM,CACP,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACH,cAAC;AAAD,CAAC,AAhDD,IAgDC;AAEQ,0BAAO","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { id } from \"../utils/id\";\n\nclass Request implements interfaces.Request {\n\n public id: number;\n public serviceIdentifier: interfaces.ServiceIdentifier;\n public parentContext: interfaces.Context;\n public parentRequest: interfaces.Request | null;\n public bindings: interfaces.Binding[];\n public childRequests: interfaces.Request[];\n public target: interfaces.Target;\n public requestScope: interfaces.RequestScope | null;\n\n public constructor(\n serviceIdentifier: interfaces.ServiceIdentifier,\n parentContext: interfaces.Context,\n parentRequest: interfaces.Request | null,\n bindings: (interfaces.Binding | interfaces.Binding[]),\n target: interfaces.Target\n ) {\n this.id = id();\n this.serviceIdentifier = serviceIdentifier;\n this.parentContext = parentContext;\n this.parentRequest = parentRequest;\n this.target = target;\n this.childRequests = [];\n this.bindings = (Array.isArray(bindings) ? bindings : [bindings]);\n\n // Set requestScope if Request is the root request\n this.requestScope = parentRequest === null\n ? new Map()\n : null;\n }\n\n public addChildRequest(\n serviceIdentifier: interfaces.ServiceIdentifier,\n bindings: (interfaces.Binding | interfaces.Binding[]),\n target: interfaces.Target\n ): interfaces.Request {\n\n const child = new Request(\n serviceIdentifier,\n this.parentContext,\n this,\n bindings,\n target\n );\n this.childRequests.push(child);\n return child;\n }\n}\n\nexport { Request };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"507911953d3852fadcf39a48f1b5ce51d3eecbd3","contentHash":"0127e5fd2404123df339e71c4b169051ca7d77af7158408872630c429b4f8d19"},"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/resolver.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/resolver.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":16},"end":{"line":29,"column":1}},"22":{"start":{"line":22,"column":28},"end":{"line":22,"column":110}},"23":{"start":{"line":22,"column":91},"end":{"line":22,"column":106}},"24":{"start":{"line":23,"column":4},"end":{"line":28,"column":7}},"25":{"start":{"line":24,"column":36},"end":{"line":24,"column":97}},"26":{"start":{"line":24,"column":42},"end":{"line":24,"column":70}},"27":{"start":{"line":24,"column":85},"end":{"line":24,"column":95}},"28":{"start":{"line":25,"column":35},"end":{"line":25,"column":100}},"29":{"start":{"line":25,"column":41},"end":{"line":25,"column":73}},"30":{"start":{"line":25,"column":88},"end":{"line":25,"column":98}},"31":{"start":{"line":26,"column":32},"end":{"line":26,"column":116}},"32":{"start":{"line":27,"column":8},"end":{"line":27,"column":78}},"33":{"start":{"line":30,"column":18},"end":{"line":56,"column":1}},"34":{"start":{"line":31,"column":12},"end":{"line":31,"column":104}},"35":{"start":{"line":31,"column":43},"end":{"line":31,"column":68}},"36":{"start":{"line":31,"column":57},"end":{"line":31,"column":68}},"37":{"start":{"line":31,"column":69},"end":{"line":31,"column":81}},"38":{"start":{"line":32,"column":4},"end":{"line":32,"column":157}},"39":{"start":{"line":32,"column":138},"end":{"line":32,"column":150}},"40":{"start":{"line":33,"column":23},"end":{"line":33,"column":68}},"41":{"start":{"line":33,"column":45},"end":{"line":33,"column":65}},"42":{"start":{"line":35,"column":8},"end":{"line":35,"column":70}},"43":{"start":{"line":35,"column":15},"end":{"line":35,"column":70}},"44":{"start":{"line":36,"column":8},"end":{"line":53,"column":66}},"45":{"start":{"line":36,"column":18},"end":{"line":53,"column":66}},"46":{"start":{"line":37,"column":12},"end":{"line":37,"column":169}},"47":{"start":{"line":37,"column":160},"end":{"line":37,"column":169}},"48":{"start":{"line":38,"column":12},"end":{"line":38,"column":52}},"49":{"start":{"line":38,"column":26},"end":{"line":38,"column":52}},"50":{"start":{"line":39,"column":12},"end":{"line":51,"column":13}},"51":{"start":{"line":40,"column":32},"end":{"line":40,"column":39}},"52":{"start":{"line":40,"column":40},"end":{"line":40,"column":46}},"53":{"start":{"line":41,"column":24},"end":{"line":41,"column":34}},"54":{"start":{"line":41,"column":35},"end":{"line":41,"column":72}},"55":{"start":{"line":42,"column":24},"end":{"line":42,"column":34}},"56":{"start":{"line":42,"column":35},"end":{"line":42,"column":45}},"57":{"start":{"line":42,"column":46},"end":{"line":42,"column":55}},"58":{"start":{"line":42,"column":56},"end":{"line":42,"column":65}},"59":{"start":{"line":43,"column":24},"end":{"line":43,"column":41}},"60":{"start":{"line":43,"column":42},"end":{"line":43,"column":55}},"61":{"start":{"line":43,"column":56},"end":{"line":43,"column":65}},"62":{"start":{"line":45,"column":20},"end":{"line":45,"column":128}},"63":{"start":{"line":45,"column":110},"end":{"line":45,"column":116}},"64":{"start":{"line":45,"column":117},"end":{"line":45,"column":126}},"65":{"start":{"line":46,"column":20},"end":{"line":46,"column":106}},"66":{"start":{"line":46,"column":81},"end":{"line":46,"column":97}},"67":{"start":{"line":46,"column":98},"end":{"line":46,"column":104}},"68":{"start":{"line":47,"column":20},"end":{"line":47,"column":89}},"69":{"start":{"line":47,"column":57},"end":{"line":47,"column":72}},"70":{"start":{"line":47,"column":73},"end":{"line":47,"column":80}},"71":{"start":{"line":47,"column":81},"end":{"line":47,"column":87}},"72":{"start":{"line":48,"column":20},"end":{"line":48,"column":87}},"73":{"start":{"line":48,"column":47},"end":{"line":48,"column":62}},"74":{"start":{"line":48,"column":63},"end":{"line":48,"column":78}},"75":{"start":{"line":48,"column":79},"end":{"line":48,"column":85}},"76":{"start":{"line":49,"column":20},"end":{"line":49,"column":42}},"77":{"start":{"line":49,"column":30},"end":{"line":49,"column":42}},"78":{"start":{"line":50,"column":20},"end":{"line":50,"column":33}},"79":{"start":{"line":50,"column":34},"end":{"line":50,"column":43}},"80":{"start":{"line":52,"column":12},"end":{"line":52,"column":39}},"81":{"start":{"line":53,"column":22},"end":{"line":53,"column":34}},"82":{"start":{"line":53,"column":35},"end":{"line":53,"column":41}},"83":{"start":{"line":53,"column":54},"end":{"line":53,"column":64}},"84":{"start":{"line":54,"column":8},"end":{"line":54,"column":35}},"85":{"start":{"line":54,"column":23},"end":{"line":54,"column":35}},"86":{"start":{"line":54,"column":36},"end":{"line":54,"column":89}},"87":{"start":{"line":57,"column":0},"end":{"line":57,"column":62}},"88":{"start":{"line":58,"column":0},"end":{"line":58,"column":25}},"89":{"start":{"line":59,"column":17},"end":{"line":59,"column":65}},"90":{"start":{"line":60,"column":22},"end":{"line":60,"column":59}},"91":{"start":{"line":61,"column":16},"end":{"line":61,"column":46}},"92":{"start":{"line":62,"column":14},"end":{"line":62,"column":39}},"93":{"start":{"line":63,"column":14},"end":{"line":63,"column":39}},"94":{"start":{"line":64,"column":22},"end":{"line":64,"column":55}},"95":{"start":{"line":65,"column":19},"end":{"line":65,"column":49}},"96":{"start":{"line":66,"column":22},"end":{"line":66,"column":48}},"97":{"start":{"line":67,"column":22},"end":{"line":91,"column":1}},"98":{"start":{"line":68,"column":4},"end":{"line":90,"column":6}},"99":{"start":{"line":69,"column":8},"end":{"line":69,"column":57}},"100":{"start":{"line":70,"column":23},"end":{"line":70,"column":39}},"101":{"start":{"line":71,"column":28},"end":{"line":71,"column":49}},"102":{"start":{"line":72,"column":30},"end":{"line":72,"column":72}},"103":{"start":{"line":73,"column":39},"end":{"line":76,"column":88}},"104":{"start":{"line":77,"column":8},"end":{"line":89,"column":9}},"105":{"start":{"line":78,"column":12},"end":{"line":81,"column":15}},"106":{"start":{"line":79,"column":25},"end":{"line":79,"column":54}},"107":{"start":{"line":80,"column":16},"end":{"line":80,"column":40}},"108":{"start":{"line":84,"column":12},"end":{"line":86,"column":13}},"109":{"start":{"line":85,"column":16},"end":{"line":85,"column":33}},"110":{"start":{"line":87,"column":26},"end":{"line":87,"column":37}},"111":{"start":{"line":88,"column":12},"end":{"line":88,"column":67}},"112":{"start":{"line":92,"column":33},"end":{"line":95,"column":1}},"113":{"start":{"line":93,"column":25},"end":{"line":93,"column":72}},"114":{"start":{"line":94,"column":4},"end":{"line":94,"column":291}},"115":{"start":{"line":94,"column":75},"end":{"line":94,"column":128}},"116":{"start":{"line":94,"column":146},"end":{"line":94,"column":287}},"117":{"start":{"line":96,"column":30},"end":{"line":115,"column":1}},"118":{"start":{"line":98,"column":24},"end":{"line":98,"column":45}},"119":{"start":{"line":99,"column":4},"end":{"line":99,"column":51}},"120":{"start":{"line":100,"column":4},"end":{"line":113,"column":5}},"121":{"start":{"line":103,"column":12},"end":{"line":103,"column":35}},"122":{"start":{"line":104,"column":12},"end":{"line":104,"column":18}},"123":{"start":{"line":106,"column":12},"end":{"line":106,"column":48}},"124":{"start":{"line":107,"column":12},"end":{"line":107,"column":18}},"125":{"start":{"line":109,"column":12},"end":{"line":109,"column":141}},"126":{"start":{"line":110,"column":12},"end":{"line":110,"column":18}},"127":{"start":{"line":112,"column":12},"end":{"line":112,"column":80}},"128":{"start":{"line":114,"column":4},"end":{"line":114,"column":18}},"129":{"start":{"line":116,"column":22},"end":{"line":124,"column":1}},"130":{"start":{"line":117,"column":17},"end":{"line":117,"column":68}},"131":{"start":{"line":118,"column":4},"end":{"line":120,"column":5}},"132":{"start":{"line":119,"column":8},"end":{"line":119,"column":22}},"133":{"start":{"line":121,"column":4},"end":{"line":121,"column":34}},"134":{"start":{"line":122,"column":4},"end":{"line":122,"column":60}},"135":{"start":{"line":123,"column":4},"end":{"line":123,"column":18}},"136":{"start":{"line":125,"column":22},"end":{"line":136,"column":1}},"137":{"start":{"line":126,"column":4},"end":{"line":135,"column":7}},"138":{"start":{"line":127,"column":21},"end":{"line":127,"column":76}},"139":{"start":{"line":128,"column":8},"end":{"line":133,"column":9}},"140":{"start":{"line":129,"column":12},"end":{"line":129,"column":108}},"141":{"start":{"line":129,"column":55},"end":{"line":129,"column":104}},"142":{"start":{"line":132,"column":12},"end":{"line":132,"column":61}},"143":{"start":{"line":134,"column":8},"end":{"line":134,"column":22}},"144":{"start":{"line":138,"column":17},"end":{"line":138,"column":77}},"145":{"start":{"line":139,"column":29},"end":{"line":139,"column":84}},"146":{"start":{"line":141,"column":35},"end":{"line":141,"column":60}},"147":{"start":{"line":142,"column":4},"end":{"line":154,"column":138}},"148":{"start":{"line":143,"column":8},"end":{"line":143,"column":51}},"149":{"start":{"line":144,"column":24},"end":{"line":144,"column":45}},"150":{"start":{"line":145,"column":32},"end":{"line":145,"column":57}},"151":{"start":{"line":146,"column":34},"end":{"line":146,"column":98}},"152":{"start":{"line":147,"column":8},"end":{"line":152,"column":9}},"153":{"start":{"line":148,"column":12},"end":{"line":148,"column":85}},"154":{"start":{"line":151,"column":12},"end":{"line":151,"column":80}},"155":{"start":{"line":153,"column":8},"end":{"line":153,"column":61}},"156":{"start":{"line":155,"column":4},"end":{"line":155,"column":18}},"157":{"start":{"line":157,"column":25},"end":{"line":166,"column":1}},"158":{"start":{"line":159,"column":4},"end":{"line":164,"column":5}},"159":{"start":{"line":160,"column":8},"end":{"line":160,"column":63}},"160":{"start":{"line":163,"column":8},"end":{"line":163,"column":32}},"161":{"start":{"line":165,"column":4},"end":{"line":165,"column":18}},"162":{"start":{"line":167,"column":25},"end":{"line":177,"column":1}},"163":{"start":{"line":168,"column":21},"end":{"line":168,"column":47}},"164":{"start":{"line":169,"column":4},"end":{"line":175,"column":5}},"165":{"start":{"line":170,"column":8},"end":{"line":170,"column":51}},"166":{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},"167":{"start":{"line":172,"column":12},"end":{"line":172,"column":81}},"168":{"start":{"line":174,"column":8},"end":{"line":174,"column":48}},"169":{"start":{"line":176,"column":4},"end":{"line":176,"column":18}},"170":{"start":{"line":178,"column":30},"end":{"line":197,"column":5}},"171":{"start":{"line":178,"column":87},"end":{"line":197,"column":3}},"172":{"start":{"line":180,"column":4},"end":{"line":196,"column":7}},"173":{"start":{"line":181,"column":8},"end":{"line":195,"column":9}},"174":{"start":{"line":182,"column":20},"end":{"line":182,"column":46}},"175":{"start":{"line":184,"column":16},"end":{"line":184,"column":35}},"176":{"start":{"line":185,"column":16},"end":{"line":185,"column":56}},"177":{"start":{"line":186,"column":16},"end":{"line":186,"column":29}},"178":{"start":{"line":188,"column":16},"end":{"line":188,"column":53}},"179":{"start":{"line":188,"column":39},"end":{"line":188,"column":53}},"180":{"start":{"line":189,"column":16},"end":{"line":189,"column":62}},"181":{"start":{"line":191,"column":16},"end":{"line":191,"column":35}},"182":{"start":{"line":192,"column":16},"end":{"line":192,"column":56}},"183":{"start":{"line":193,"column":16},"end":{"line":193,"column":30}},"184":{"start":{"line":194,"column":20},"end":{"line":194,"column":39}},"185":{"start":{"line":198,"column":41},"end":{"line":201,"column":1}},"186":{"start":{"line":199,"column":22},"end":{"line":199,"column":44}},"187":{"start":{"line":200,"column":4},"end":{"line":200,"column":109}},"188":{"start":{"line":202,"column":29},"end":{"line":222,"column":1}},"189":{"start":{"line":203,"column":26},"end":{"line":203,"column":37}},"190":{"start":{"line":204,"column":17},"end":{"line":204,"column":33}},"191":{"start":{"line":205,"column":4},"end":{"line":208,"column":5}},"192":{"start":{"line":206,"column":8},"end":{"line":206,"column":37}},"193":{"start":{"line":207,"column":8},"end":{"line":207,"column":31}},"194":{"start":{"line":209,"column":27},"end":{"line":217,"column":5}},"195":{"start":{"line":210,"column":28},"end":{"line":210,"column":49}},"196":{"start":{"line":211,"column":8},"end":{"line":216,"column":9}},"197":{"start":{"line":212,"column":12},"end":{"line":212,"column":57}},"198":{"start":{"line":215,"column":12},"end":{"line":215,"column":52}},"199":{"start":{"line":218,"column":29},"end":{"line":220,"column":5}},"200":{"start":{"line":221,"column":4},"end":{"line":221,"column":30}},"201":{"start":{"line":224,"column":13},"end":{"line":224,"column":67}},"202":{"start":{"line":225,"column":4},"end":{"line":225,"column":40}},"203":{"start":{"line":227,"column":0},"end":{"line":227,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":21,"column":44},"end":{"line":21,"column":45}},"loc":{"start":{"line":21,"column":89},"end":{"line":29,"column":1}},"line":21},"7":{"name":"adopt","decl":{"start":{"line":22,"column":13},"end":{"line":22,"column":18}},"loc":{"start":{"line":22,"column":26},"end":{"line":22,"column":112}},"line":22},"8":{"name":"(anonymous_8)","decl":{"start":{"line":22,"column":70},"end":{"line":22,"column":71}},"loc":{"start":{"line":22,"column":89},"end":{"line":22,"column":108}},"line":22},"9":{"name":"(anonymous_9)","decl":{"start":{"line":23,"column":36},"end":{"line":23,"column":37}},"loc":{"start":{"line":23,"column":63},"end":{"line":28,"column":5}},"line":23},"10":{"name":"fulfilled","decl":{"start":{"line":24,"column":17},"end":{"line":24,"column":26}},"loc":{"start":{"line":24,"column":34},"end":{"line":24,"column":99}},"line":24},"11":{"name":"rejected","decl":{"start":{"line":25,"column":17},"end":{"line":25,"column":25}},"loc":{"start":{"line":25,"column":33},"end":{"line":25,"column":102}},"line":25},"12":{"name":"step","decl":{"start":{"line":26,"column":17},"end":{"line":26,"column":21}},"loc":{"start":{"line":26,"column":30},"end":{"line":26,"column":118}},"line":26},"13":{"name":"(anonymous_13)","decl":{"start":{"line":30,"column":48},"end":{"line":30,"column":49}},"loc":{"start":{"line":30,"column":73},"end":{"line":56,"column":1}},"line":30},"14":{"name":"(anonymous_14)","decl":{"start":{"line":31,"column":30},"end":{"line":31,"column":31}},"loc":{"start":{"line":31,"column":41},"end":{"line":31,"column":83}},"line":31},"15":{"name":"(anonymous_15)","decl":{"start":{"line":32,"column":125},"end":{"line":32,"column":126}},"loc":{"start":{"line":32,"column":136},"end":{"line":32,"column":152}},"line":32},"16":{"name":"verb","decl":{"start":{"line":33,"column":13},"end":{"line":33,"column":17}},"loc":{"start":{"line":33,"column":21},"end":{"line":33,"column":70}},"line":33},"17":{"name":"(anonymous_17)","decl":{"start":{"line":33,"column":30},"end":{"line":33,"column":31}},"loc":{"start":{"line":33,"column":43},"end":{"line":33,"column":67}},"line":33},"18":{"name":"step","decl":{"start":{"line":34,"column":13},"end":{"line":34,"column":17}},"loc":{"start":{"line":34,"column":22},"end":{"line":55,"column":5}},"line":34},"19":{"name":"(anonymous_19)","decl":{"start":{"line":67,"column":22},"end":{"line":67,"column":23}},"loc":{"start":{"line":67,"column":46},"end":{"line":91,"column":1}},"line":67},"20":{"name":"(anonymous_20)","decl":{"start":{"line":68,"column":11},"end":{"line":68,"column":12}},"loc":{"start":{"line":68,"column":30},"end":{"line":90,"column":5}},"line":68},"21":{"name":"(anonymous_21)","decl":{"start":{"line":78,"column":37},"end":{"line":78,"column":38}},"loc":{"start":{"line":78,"column":61},"end":{"line":81,"column":13}},"line":78},"22":{"name":"(anonymous_22)","decl":{"start":{"line":92,"column":33},"end":{"line":92,"column":34}},"loc":{"start":{"line":92,"column":61},"end":{"line":95,"column":1}},"line":92},"23":{"name":"(anonymous_23)","decl":{"start":{"line":94,"column":61},"end":{"line":94,"column":62}},"loc":{"start":{"line":94,"column":73},"end":{"line":94,"column":130}},"line":94},"24":{"name":"(anonymous_24)","decl":{"start":{"line":94,"column":132},"end":{"line":94,"column":133}},"loc":{"start":{"line":94,"column":144},"end":{"line":94,"column":289}},"line":94},"25":{"name":"(anonymous_25)","decl":{"start":{"line":96,"column":30},"end":{"line":96,"column":31}},"loc":{"start":{"line":96,"column":72},"end":{"line":115,"column":1}},"line":96},"26":{"name":"(anonymous_26)","decl":{"start":{"line":116,"column":22},"end":{"line":116,"column":23}},"loc":{"start":{"line":116,"column":75},"end":{"line":124,"column":1}},"line":116},"27":{"name":"(anonymous_27)","decl":{"start":{"line":125,"column":22},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":64},"end":{"line":136,"column":1}},"line":125},"28":{"name":"(anonymous_28)","decl":{"start":{"line":126,"column":50},"end":{"line":126,"column":51}},"loc":{"start":{"line":126,"column":62},"end":{"line":135,"column":5}},"line":126},"29":{"name":"(anonymous_29)","decl":{"start":{"line":129,"column":33},"end":{"line":129,"column":34}},"loc":{"start":{"line":129,"column":53},"end":{"line":129,"column":106}},"line":129},"30":{"name":"_onActivation","decl":{"start":{"line":137,"column":9},"end":{"line":137,"column":22}},"loc":{"start":{"line":137,"column":51},"end":{"line":156,"column":1}},"line":137},"31":{"name":"(anonymous_31)","decl":{"start":{"line":157,"column":25},"end":{"line":157,"column":26}},"loc":{"start":{"line":157,"column":69},"end":{"line":166,"column":1}},"line":157},"32":{"name":"(anonymous_32)","decl":{"start":{"line":167,"column":25},"end":{"line":167,"column":26}},"loc":{"start":{"line":167,"column":73},"end":{"line":177,"column":1}},"line":167},"33":{"name":"(anonymous_33)","decl":{"start":{"line":178,"column":30},"end":{"line":178,"column":31}},"loc":{"start":{"line":178,"column":85},"end":{"line":197,"column":5}},"line":178},"34":{"name":"(anonymous_34)","decl":{"start":{"line":178,"column":128},"end":{"line":178,"column":129}},"loc":{"start":{"line":178,"column":140},"end":{"line":197,"column":1}},"line":178},"35":{"name":"(anonymous_35)","decl":{"start":{"line":180,"column":29},"end":{"line":180,"column":30}},"loc":{"start":{"line":180,"column":43},"end":{"line":196,"column":5}},"line":180},"36":{"name":"(anonymous_36)","decl":{"start":{"line":198,"column":41},"end":{"line":198,"column":42}},"loc":{"start":{"line":198,"column":81},"end":{"line":201,"column":1}},"line":198},"37":{"name":"(anonymous_37)","decl":{"start":{"line":202,"column":29},"end":{"line":202,"column":30}},"loc":{"start":{"line":202,"column":50},"end":{"line":222,"column":1}},"line":202},"38":{"name":"(anonymous_38)","decl":{"start":{"line":209,"column":27},"end":{"line":209,"column":28}},"loc":{"start":{"line":209,"column":39},"end":{"line":217,"column":5}},"line":209},"39":{"name":"resolve","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":16}},"loc":{"start":{"line":223,"column":26},"end":{"line":226,"column":1}},"line":223}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":21,"column":16},"end":{"line":29,"column":1}},"type":"binary-expr","locations":[{"start":{"line":21,"column":17},"end":{"line":21,"column":21}},{"start":{"line":21,"column":25},"end":{"line":21,"column":39}},{"start":{"line":21,"column":44},"end":{"line":29,"column":1}}],"line":21},"13":{"loc":{"start":{"line":22,"column":35},"end":{"line":22,"column":109}},"type":"cond-expr","locations":[{"start":{"line":22,"column":56},"end":{"line":22,"column":61}},{"start":{"line":22,"column":64},"end":{"line":22,"column":109}}],"line":22},"14":{"loc":{"start":{"line":23,"column":16},"end":{"line":23,"column":34}},"type":"binary-expr","locations":[{"start":{"line":23,"column":16},"end":{"line":23,"column":17}},{"start":{"line":23,"column":22},"end":{"line":23,"column":33}}],"line":23},"15":{"loc":{"start":{"line":26,"column":32},"end":{"line":26,"column":115}},"type":"cond-expr","locations":[{"start":{"line":26,"column":46},"end":{"line":26,"column":67}},{"start":{"line":26,"column":70},"end":{"line":26,"column":115}}],"line":26},"16":{"loc":{"start":{"line":27,"column":51},"end":{"line":27,"column":67}},"type":"binary-expr","locations":[{"start":{"line":27,"column":51},"end":{"line":27,"column":61}},{"start":{"line":27,"column":65},"end":{"line":27,"column":67}}],"line":27},"17":{"loc":{"start":{"line":30,"column":18},"end":{"line":56,"column":1}},"type":"binary-expr","locations":[{"start":{"line":30,"column":19},"end":{"line":30,"column":23}},{"start":{"line":30,"column":27},"end":{"line":30,"column":43}},{"start":{"line":30,"column":48},"end":{"line":56,"column":1}}],"line":30},"18":{"loc":{"start":{"line":31,"column":43},"end":{"line":31,"column":68}},"type":"if","locations":[{"start":{"line":31,"column":43},"end":{"line":31,"column":68}},{"start":{"line":31,"column":43},"end":{"line":31,"column":68}}],"line":31},"19":{"loc":{"start":{"line":32,"column":71},"end":{"line":32,"column":153}},"type":"binary-expr","locations":[{"start":{"line":32,"column":71},"end":{"line":32,"column":99}},{"start":{"line":32,"column":104},"end":{"line":32,"column":152}}],"line":32},"20":{"loc":{"start":{"line":35,"column":8},"end":{"line":35,"column":70}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":70}},{"start":{"line":35,"column":8},"end":{"line":35,"column":70}}],"line":35},"21":{"loc":{"start":{"line":37,"column":12},"end":{"line":37,"column":169}},"type":"if","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":169}},{"start":{"line":37,"column":12},"end":{"line":37,"column":169}}],"line":37},"22":{"loc":{"start":{"line":37,"column":23},"end":{"line":37,"column":158}},"type":"binary-expr","locations":[{"start":{"line":37,"column":23},"end":{"line":37,"column":24}},{"start":{"line":37,"column":29},"end":{"line":37,"column":125}},{"start":{"line":37,"column":130},"end":{"line":37,"column":158}}],"line":37},"23":{"loc":{"start":{"line":37,"column":33},"end":{"line":37,"column":125}},"type":"cond-expr","locations":[{"start":{"line":37,"column":45},"end":{"line":37,"column":56}},{"start":{"line":37,"column":59},"end":{"line":37,"column":125}}],"line":37},"24":{"loc":{"start":{"line":37,"column":59},"end":{"line":37,"column":125}},"type":"cond-expr","locations":[{"start":{"line":37,"column":67},"end":{"line":37,"column":116}},{"start":{"line":37,"column":119},"end":{"line":37,"column":125}}],"line":37},"25":{"loc":{"start":{"line":37,"column":67},"end":{"line":37,"column":116}},"type":"binary-expr","locations":[{"start":{"line":37,"column":67},"end":{"line":37,"column":77}},{"start":{"line":37,"column":82},"end":{"line":37,"column":115}}],"line":37},"26":{"loc":{"start":{"line":37,"column":82},"end":{"line":37,"column":112}},"type":"binary-expr","locations":[{"start":{"line":37,"column":83},"end":{"line":37,"column":98}},{"start":{"line":37,"column":103},"end":{"line":37,"column":112}}],"line":37},"27":{"loc":{"start":{"line":38,"column":12},"end":{"line":38,"column":52}},"type":"if","locations":[{"start":{"line":38,"column":12},"end":{"line":38,"column":52}},{"start":{"line":38,"column":12},"end":{"line":38,"column":52}}],"line":38},"28":{"loc":{"start":{"line":39,"column":12},"end":{"line":51,"column":13}},"type":"switch","locations":[{"start":{"line":40,"column":16},"end":{"line":40,"column":23}},{"start":{"line":40,"column":24},"end":{"line":40,"column":46}},{"start":{"line":41,"column":16},"end":{"line":41,"column":72}},{"start":{"line":42,"column":16},"end":{"line":42,"column":65}},{"start":{"line":43,"column":16},"end":{"line":43,"column":65}},{"start":{"line":44,"column":16},"end":{"line":50,"column":43}}],"line":39},"29":{"loc":{"start":{"line":45,"column":20},"end":{"line":45,"column":128}},"type":"if","locations":[{"start":{"line":45,"column":20},"end":{"line":45,"column":128}},{"start":{"line":45,"column":20},"end":{"line":45,"column":128}}],"line":45},"30":{"loc":{"start":{"line":45,"column":24},"end":{"line":45,"column":106}},"type":"binary-expr","locations":[{"start":{"line":45,"column":24},"end":{"line":45,"column":74}},{"start":{"line":45,"column":79},"end":{"line":45,"column":90}},{"start":{"line":45,"column":94},"end":{"line":45,"column":105}}],"line":45},"31":{"loc":{"start":{"line":45,"column":42},"end":{"line":45,"column":73}},"type":"binary-expr","locations":[{"start":{"line":45,"column":42},"end":{"line":45,"column":54}},{"start":{"line":45,"column":58},"end":{"line":45,"column":73}}],"line":45},"32":{"loc":{"start":{"line":46,"column":20},"end":{"line":46,"column":106}},"type":"if","locations":[{"start":{"line":46,"column":20},"end":{"line":46,"column":106}},{"start":{"line":46,"column":20},"end":{"line":46,"column":106}}],"line":46},"33":{"loc":{"start":{"line":46,"column":24},"end":{"line":46,"column":77}},"type":"binary-expr","locations":[{"start":{"line":46,"column":24},"end":{"line":46,"column":35}},{"start":{"line":46,"column":40},"end":{"line":46,"column":42}},{"start":{"line":46,"column":47},"end":{"line":46,"column":59}},{"start":{"line":46,"column":63},"end":{"line":46,"column":75}}],"line":46},"34":{"loc":{"start":{"line":47,"column":20},"end":{"line":47,"column":89}},"type":"if","locations":[{"start":{"line":47,"column":20},"end":{"line":47,"column":89}},{"start":{"line":47,"column":20},"end":{"line":47,"column":89}}],"line":47},"35":{"loc":{"start":{"line":47,"column":24},"end":{"line":47,"column":53}},"type":"binary-expr","locations":[{"start":{"line":47,"column":24},"end":{"line":47,"column":35}},{"start":{"line":47,"column":39},"end":{"line":47,"column":53}}],"line":47},"36":{"loc":{"start":{"line":48,"column":20},"end":{"line":48,"column":87}},"type":"if","locations":[{"start":{"line":48,"column":20},"end":{"line":48,"column":87}},{"start":{"line":48,"column":20},"end":{"line":48,"column":87}}],"line":48},"37":{"loc":{"start":{"line":48,"column":24},"end":{"line":48,"column":43}},"type":"binary-expr","locations":[{"start":{"line":48,"column":24},"end":{"line":48,"column":25}},{"start":{"line":48,"column":29},"end":{"line":48,"column":43}}],"line":48},"38":{"loc":{"start":{"line":49,"column":20},"end":{"line":49,"column":42}},"type":"if","locations":[{"start":{"line":49,"column":20},"end":{"line":49,"column":42}},{"start":{"line":49,"column":20},"end":{"line":49,"column":42}}],"line":49},"39":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":35}},"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":54,"column":35}},{"start":{"line":54,"column":8},"end":{"line":54,"column":35}}],"line":54},"40":{"loc":{"start":{"line":54,"column":52},"end":{"line":54,"column":74}},"type":"cond-expr","locations":[{"start":{"line":54,"column":60},"end":{"line":54,"column":65}},{"start":{"line":54,"column":68},"end":{"line":54,"column":74}}],"line":54},"41":{"loc":{"start":{"line":72,"column":30},"end":{"line":72,"column":72}},"type":"binary-expr","locations":[{"start":{"line":72,"column":30},"end":{"line":72,"column":44}},{"start":{"line":72,"column":48},"end":{"line":72,"column":72}}],"line":72},"42":{"loc":{"start":{"line":73,"column":39},"end":{"line":76,"column":88}},"type":"binary-expr","locations":[{"start":{"line":73,"column":39},"end":{"line":73,"column":61}},{"start":{"line":74,"column":12},"end":{"line":74,"column":41}},{"start":{"line":75,"column":12},"end":{"line":75,"column":27}},{"start":{"line":76,"column":12},"end":{"line":76,"column":88}}],"line":73},"43":{"loc":{"start":{"line":77,"column":8},"end":{"line":89,"column":9}},"type":"if","locations":[{"start":{"line":77,"column":8},"end":{"line":89,"column":9}},{"start":{"line":77,"column":8},"end":{"line":89,"column":9}}],"line":77},"44":{"loc":{"start":{"line":77,"column":12},"end":{"line":77,"column":55}},"type":"binary-expr","locations":[{"start":{"line":77,"column":12},"end":{"line":77,"column":27}},{"start":{"line":77,"column":31},"end":{"line":77,"column":55}}],"line":77},"45":{"loc":{"start":{"line":84,"column":12},"end":{"line":86,"column":13}},"type":"if","locations":[{"start":{"line":84,"column":12},"end":{"line":86,"column":13}},{"start":{"line":84,"column":12},"end":{"line":86,"column":13}}],"line":84},"46":{"loc":{"start":{"line":84,"column":16},"end":{"line":84,"column":68}},"type":"binary-expr","locations":[{"start":{"line":84,"column":16},"end":{"line":84,"column":43}},{"start":{"line":84,"column":47},"end":{"line":84,"column":68}}],"line":84},"47":{"loc":{"start":{"line":100,"column":4},"end":{"line":113,"column":5}},"type":"switch","locations":[{"start":{"line":101,"column":8},"end":{"line":101,"column":59}},{"start":{"line":102,"column":8},"end":{"line":104,"column":18}},{"start":{"line":105,"column":8},"end":{"line":107,"column":18}},{"start":{"line":108,"column":8},"end":{"line":110,"column":18}},{"start":{"line":111,"column":8},"end":{"line":112,"column":80}}],"line":100},"48":{"loc":{"start":{"line":118,"column":4},"end":{"line":120,"column":5}},"type":"if","locations":[{"start":{"line":118,"column":4},"end":{"line":120,"column":5}},{"start":{"line":118,"column":4},"end":{"line":120,"column":5}}],"line":118},"49":{"loc":{"start":{"line":128,"column":8},"end":{"line":133,"column":9}},"type":"if","locations":[{"start":{"line":128,"column":8},"end":{"line":133,"column":9}},{"start":{"line":128,"column":8},"end":{"line":133,"column":9}}],"line":128},"50":{"loc":{"start":{"line":154,"column":13},"end":{"line":154,"column":136}},"type":"binary-expr","locations":[{"start":{"line":154,"column":13},"end":{"line":154,"column":51}},{"start":{"line":154,"column":55},"end":{"line":154,"column":136}}],"line":154},"51":{"loc":{"start":{"line":147,"column":8},"end":{"line":152,"column":9}},"type":"if","locations":[{"start":{"line":147,"column":8},"end":{"line":152,"column":9}},{"start":{"line":147,"column":8},"end":{"line":152,"column":9}}],"line":147},"52":{"loc":{"start":{"line":159,"column":4},"end":{"line":164,"column":5}},"type":"if","locations":[{"start":{"line":159,"column":4},"end":{"line":164,"column":5}},{"start":{"line":159,"column":4},"end":{"line":164,"column":5}}],"line":159},"53":{"loc":{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},"type":"if","locations":[{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},{"start":{"line":171,"column":8},"end":{"line":173,"column":9}}],"line":171},"54":{"loc":{"start":{"line":181,"column":8},"end":{"line":195,"column":9}},"type":"switch","locations":[{"start":{"line":182,"column":12},"end":{"line":182,"column":46}},{"start":{"line":183,"column":12},"end":{"line":186,"column":29}},{"start":{"line":187,"column":12},"end":{"line":189,"column":62}},{"start":{"line":190,"column":12},"end":{"line":193,"column":30}},{"start":{"line":194,"column":12},"end":{"line":194,"column":39}}],"line":181},"55":{"loc":{"start":{"line":188,"column":16},"end":{"line":188,"column":53}},"type":"if","locations":[{"start":{"line":188,"column":16},"end":{"line":188,"column":53}},{"start":{"line":188,"column":16},"end":{"line":188,"column":53}}],"line":188},"56":{"loc":{"start":{"line":200,"column":11},"end":{"line":200,"column":108}},"type":"cond-expr","locations":[{"start":{"line":200,"column":51},"end":{"line":200,"column":94}},{"start":{"line":200,"column":97},"end":{"line":200,"column":108}}],"line":200},"57":{"loc":{"start":{"line":211,"column":8},"end":{"line":216,"column":9}},"type":"if","locations":[{"start":{"line":211,"column":8},"end":{"line":216,"column":9}},{"start":{"line":211,"column":8},"end":{"line":216,"column":9}}],"line":211}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":20,"23":0,"24":17,"25":20,"26":20,"27":0,"28":0,"29":0,"30":0,"31":37,"32":17,"33":1,"34":17,"35":20,"36":0,"37":20,"38":17,"39":0,"40":51,"41":37,"42":37,"43":0,"44":37,"45":94,"46":94,"47":0,"48":94,"49":0,"50":94,"51":37,"52":37,"53":20,"54":20,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":37,"63":17,"64":17,"65":20,"66":20,"67":20,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":57,"81":0,"82":0,"83":94,"84":17,"85":0,"86":17,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":2086,"99":1955,"100":1955,"101":1955,"102":1955,"103":1955,"104":1955,"105":30,"106":51,"107":51,"108":1925,"109":3,"110":1922,"111":1922,"112":1,"113":780,"114":780,"115":780,"116":1,"117":1,"118":1849,"119":1849,"120":1847,"121":68,"122":68,"123":3,"124":3,"125":996,"126":291,"127":780,"128":442,"129":1,"130":1922,"131":1922,"132":72,"133":1850,"134":442,"135":442,"136":1,"137":1922,"138":1850,"139":442,"140":80,"141":77,"142":362,"143":442,"144":439,"145":439,"146":439,"147":439,"148":451,"149":451,"150":451,"151":451,"152":451,"153":5,"154":446,"155":451,"156":439,"157":1,"158":439,"159":18,"160":421,"161":439,"162":1,"163":446,"164":446,"165":25,"166":25,"167":12,"168":13,"169":434,"170":1,"171":17,"172":17,"173":57,"174":17,"175":17,"176":17,"177":17,"178":20,"179":17,"180":3,"181":3,"182":3,"183":3,"184":17,"185":1,"186":451,"187":451,"188":1,"189":439,"190":439,"191":439,"192":25,"193":25,"194":439,"195":890,"196":890,"197":460,"198":430,"199":439,"200":439,"201":1039,"202":1039,"203":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":17,"7":20,"8":0,"9":17,"10":20,"11":0,"12":37,"13":17,"14":20,"15":0,"16":51,"17":37,"18":37,"19":2086,"20":1955,"21":51,"22":780,"23":780,"24":1,"25":1849,"26":1922,"27":1922,"28":1850,"29":77,"30":439,"31":439,"32":446,"33":17,"34":17,"35":57,"36":451,"37":439,"38":890,"39":1039},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,1,1],"13":[20,0],"14":[17,17],"15":[17,20],"16":[17,17],"17":[1,1,1],"18":[0,20],"19":[17,17],"20":[0,37],"21":[0,94],"22":[94,0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,94],"28":[37,37,20,0,0,37],"29":[17,20],"30":[37,37,37],"31":[37,0],"32":[20,0],"33":[20,20,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,17],"40":[17,0],"41":[1955,1955],"42":[1955,916,916,916],"43":[30,1925],"44":[1955,81],"45":[3,1922],"46":[1925,8],"47":[66,68,3,996,780],"48":[72,1850],"49":[80,362],"50":[451,21],"51":[5,446],"52":[18,421],"53":[12,13],"54":[17,17,20,3,17],"55":[17,3],"56":[24,427],"57":[460,430]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/resolver.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/resolver.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { BindingTypeEnum } from \"../constants/literal_types\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { getBindingDictionary } from \"../planning/planner\";\nimport { saveToScope, tryGetFromScope } from \"../scope/scope\";\nimport { isPromise } from \"../utils/async\";\nimport { getFactoryDetails, ensureFullyBound } from \"../utils/binding_utils\";\nimport { tryAndThrowErrorIfStackOverflow } from \"../utils/exceptions\";\nimport { resolveInstance } from \"./instantiation\";\n\nconst _resolveRequest = (requestScope: interfaces.RequestScope) =>\n (request: interfaces.Request): undefined | T | Promise | (T | Promise)[] => {\n\n request.parentContext.setCurrentRequest(request);\n\n const bindings = request.bindings;\n const childRequests = request.childRequests;\n\n const targetIsAnArray = request.target && request.target.isArray();\n\n const targetParentIsNotAnArray = !request.parentRequest ||\n !request.parentRequest.target ||\n !request.target ||\n !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);\n\n if (targetIsAnArray && targetParentIsNotAnArray) {\n\n // Create an array instead of creating an instance\n return childRequests.map((childRequest: interfaces.Request) => {\n const _f = _resolveRequest(requestScope);\n return _f(childRequest) as T | Promise;\n });\n\n } else {\n if (request.target.isOptional() && bindings.length === 0) {\n return undefined;\n }\n\n const binding = bindings[0];\n\n return _resolveBinding(requestScope, request, binding as unknown as interfaces.Binding);\n }\n };\n\nconst _resolveFactoryFromBinding = (\n binding: interfaces.Binding,\n context: interfaces.Context\n): T | Promise => {\n const factoryDetails = getFactoryDetails(binding);\n return tryAndThrowErrorIfStackOverflow(\n () => (factoryDetails.factory as interfaces.FactoryTypeFunction).bind(binding)(context),\n () => new Error(\n ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString()\n ),\n ));\n}\n\nconst _getResolvedFromBinding = (\n requestScope: interfaces.RequestScope,\n request: interfaces.Request,\n binding: interfaces.Binding,\n): T | Promise => {\n let result: T | Promise | undefined;\n const childRequests = request.childRequests;\n\n ensureFullyBound(binding);\n\n switch (binding.type) {\n case BindingTypeEnum.ConstantValue:\n case BindingTypeEnum.Function:\n result = binding.cache as T | Promise;\n break;\n case BindingTypeEnum.Constructor:\n result = binding.implementationType as T;\n break;\n case BindingTypeEnum.Instance:\n result = resolveInstance(\n binding,\n binding.implementationType as interfaces.Newable,\n childRequests,\n _resolveRequest(requestScope)\n );\n break;\n default:\n result = _resolveFactoryFromBinding(binding, request.parentContext);\n }\n\n return result as T | Promise;\n}\n\nconst _resolveInScope = (\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding,\n resolveFromBinding: () => T | Promise\n): T | Promise => {\n let result = tryGetFromScope(requestScope, binding);\n if (result !== null) {\n return result;\n }\n result = resolveFromBinding();\n saveToScope(requestScope, binding, result);\n return result;\n}\n\nconst _resolveBinding = (\n requestScope: interfaces.RequestScope,\n request: interfaces.Request,\n binding: interfaces.Binding,\n): T | Promise => {\n return _resolveInScope(requestScope, binding, () => {\n let result = _getResolvedFromBinding(requestScope, request, binding);\n if (isPromise(result)) {\n result = result.then((resolved) => _onActivation(request, binding, resolved));\n } else {\n result = _onActivation(request, binding, result);\n }\n return result;\n })\n}\n\nfunction _onActivation(request: interfaces.Request, binding: interfaces.Binding, resolved: T): T | Promise {\n let result = _bindingActivation(request.parentContext, binding, resolved);\n\n const containersIterator = _getContainersIterator(request.parentContext.container);\n\n let container: interfaces.Container;\n let containersIteratorResult = containersIterator.next();\n\n do {\n container = containersIteratorResult.value;\n const context = request.parentContext;\n const serviceIdentifier = request.serviceIdentifier;\n const activationsIterator = _getContainerActivationsForService(container, serviceIdentifier);\n\n if (isPromise(result)) {\n result = _activateContainerAsync(activationsIterator as Iterator>, context, result);\n } else {\n result = _activateContainer(activationsIterator as Iterator>, context, result);\n }\n\n containersIteratorResult = containersIterator.next();\n\n // make sure if we are currently on the container that owns the binding, not to keep looping down to child containers\n } while (containersIteratorResult.done !== true && !getBindingDictionary(container).hasKey(request.serviceIdentifier));\n\n return result;\n}\n\nconst _bindingActivation = (context: interfaces.Context, binding: interfaces.Binding, previousResult: T): T | Promise => {\n let result: T | Promise;\n\n // use activation handler if available\n if (typeof binding.onActivation === \"function\") {\n result = binding.onActivation(context, previousResult);\n } else {\n result = previousResult;\n }\n\n return result;\n}\n\nconst _activateContainer = (\n activationsIterator: Iterator>,\n context: interfaces.Context,\n result: T,\n): T | Promise => {\n let activation = activationsIterator.next();\n\n while (!activation.done) {\n result = activation.value(context, result) as T;\n\n if (isPromise(result)) {\n return _activateContainerAsync(activationsIterator, context, result);\n }\n\n activation = activationsIterator.next();\n }\n\n return result;\n}\n\nconst _activateContainerAsync = async(\n activationsIterator: Iterator>,\n context: interfaces.Context,\n resultPromise: Promise,\n): Promise => {\n let result = await resultPromise;\n let activation = activationsIterator.next();\n\n while (!activation.done) {\n result = await activation.value(context, result);\n\n activation = activationsIterator.next();\n }\n\n return result;\n}\n\nconst _getContainerActivationsForService = (container: interfaces.Container, serviceIdentifier: interfaces.ServiceIdentifier) => {\n // smell accessing _activations, but similar pattern is done in planner.getBindingDictionary()\n const activations = (container as unknown as { _activations: interfaces.Lookup> })._activations;\n\n return activations.hasKey(serviceIdentifier) ? activations.get(serviceIdentifier).values() : [].values();\n}\n\nconst _getContainersIterator = (container: interfaces.Container): Iterator => {\n const containersStack: interfaces.Container[] = [container];\n\n let parent = container.parent;\n\n while (parent !== null) {\n containersStack.push(parent);\n\n parent = parent.parent;\n }\n\n const getNextContainer: () => IteratorResult = () => {\n const nextContainer = containersStack.pop();\n\n if (nextContainer !== undefined) {\n return { done: false, value: nextContainer };\n } else {\n return { done: true, value: undefined };\n }\n };\n\n const containersIterator: Iterator = {\n next: getNextContainer,\n };\n\n return containersIterator;\n}\n\nfunction resolve(context: interfaces.Context): T | Promise | (T | Promise)[] {\n const _f = _resolveRequest(context.plan.rootRequest.requestScope as interfaces.RequestScope);\n return _f(context.plan.rootRequest) as T | Promise | (T | Promise)[];\n}\n\nexport { resolve };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"1a4d3bb14c7d2888c2da1f50143bf11efe950923","contentHash":"4da3d964905cf03240af0fac9d0f6931d89005bd16fa39edc369842d87459b1a"},"/Users/dan/jsProjects/inversify/InversifyJS/src/scope/scope.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/scope/scope.ts","statementMap":{"0":{"start":{"line":2,"column":16},"end":{"line":10,"column":1}},"1":{"start":{"line":3,"column":28},"end":{"line":3,"column":110}},"2":{"start":{"line":3,"column":91},"end":{"line":3,"column":106}},"3":{"start":{"line":4,"column":4},"end":{"line":9,"column":7}},"4":{"start":{"line":5,"column":36},"end":{"line":5,"column":97}},"5":{"start":{"line":5,"column":42},"end":{"line":5,"column":70}},"6":{"start":{"line":5,"column":85},"end":{"line":5,"column":95}},"7":{"start":{"line":6,"column":35},"end":{"line":6,"column":100}},"8":{"start":{"line":6,"column":41},"end":{"line":6,"column":73}},"9":{"start":{"line":6,"column":88},"end":{"line":6,"column":98}},"10":{"start":{"line":7,"column":32},"end":{"line":7,"column":116}},"11":{"start":{"line":8,"column":8},"end":{"line":8,"column":78}},"12":{"start":{"line":11,"column":18},"end":{"line":37,"column":1}},"13":{"start":{"line":12,"column":12},"end":{"line":12,"column":104}},"14":{"start":{"line":12,"column":43},"end":{"line":12,"column":68}},"15":{"start":{"line":12,"column":57},"end":{"line":12,"column":68}},"16":{"start":{"line":12,"column":69},"end":{"line":12,"column":81}},"17":{"start":{"line":13,"column":4},"end":{"line":13,"column":157}},"18":{"start":{"line":13,"column":138},"end":{"line":13,"column":150}},"19":{"start":{"line":14,"column":23},"end":{"line":14,"column":68}},"20":{"start":{"line":14,"column":45},"end":{"line":14,"column":65}},"21":{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},"22":{"start":{"line":16,"column":15},"end":{"line":16,"column":70}},"23":{"start":{"line":17,"column":8},"end":{"line":34,"column":66}},"24":{"start":{"line":17,"column":18},"end":{"line":34,"column":66}},"25":{"start":{"line":18,"column":12},"end":{"line":18,"column":169}},"26":{"start":{"line":18,"column":160},"end":{"line":18,"column":169}},"27":{"start":{"line":19,"column":12},"end":{"line":19,"column":52}},"28":{"start":{"line":19,"column":26},"end":{"line":19,"column":52}},"29":{"start":{"line":20,"column":12},"end":{"line":32,"column":13}},"30":{"start":{"line":21,"column":32},"end":{"line":21,"column":39}},"31":{"start":{"line":21,"column":40},"end":{"line":21,"column":46}},"32":{"start":{"line":22,"column":24},"end":{"line":22,"column":34}},"33":{"start":{"line":22,"column":35},"end":{"line":22,"column":72}},"34":{"start":{"line":23,"column":24},"end":{"line":23,"column":34}},"35":{"start":{"line":23,"column":35},"end":{"line":23,"column":45}},"36":{"start":{"line":23,"column":46},"end":{"line":23,"column":55}},"37":{"start":{"line":23,"column":56},"end":{"line":23,"column":65}},"38":{"start":{"line":24,"column":24},"end":{"line":24,"column":41}},"39":{"start":{"line":24,"column":42},"end":{"line":24,"column":55}},"40":{"start":{"line":24,"column":56},"end":{"line":24,"column":65}},"41":{"start":{"line":26,"column":20},"end":{"line":26,"column":128}},"42":{"start":{"line":26,"column":110},"end":{"line":26,"column":116}},"43":{"start":{"line":26,"column":117},"end":{"line":26,"column":126}},"44":{"start":{"line":27,"column":20},"end":{"line":27,"column":106}},"45":{"start":{"line":27,"column":81},"end":{"line":27,"column":97}},"46":{"start":{"line":27,"column":98},"end":{"line":27,"column":104}},"47":{"start":{"line":28,"column":20},"end":{"line":28,"column":89}},"48":{"start":{"line":28,"column":57},"end":{"line":28,"column":72}},"49":{"start":{"line":28,"column":73},"end":{"line":28,"column":80}},"50":{"start":{"line":28,"column":81},"end":{"line":28,"column":87}},"51":{"start":{"line":29,"column":20},"end":{"line":29,"column":87}},"52":{"start":{"line":29,"column":47},"end":{"line":29,"column":62}},"53":{"start":{"line":29,"column":63},"end":{"line":29,"column":78}},"54":{"start":{"line":29,"column":79},"end":{"line":29,"column":85}},"55":{"start":{"line":30,"column":20},"end":{"line":30,"column":42}},"56":{"start":{"line":30,"column":30},"end":{"line":30,"column":42}},"57":{"start":{"line":31,"column":20},"end":{"line":31,"column":33}},"58":{"start":{"line":31,"column":34},"end":{"line":31,"column":43}},"59":{"start":{"line":33,"column":12},"end":{"line":33,"column":39}},"60":{"start":{"line":34,"column":22},"end":{"line":34,"column":34}},"61":{"start":{"line":34,"column":35},"end":{"line":34,"column":41}},"62":{"start":{"line":34,"column":54},"end":{"line":34,"column":64}},"63":{"start":{"line":35,"column":8},"end":{"line":35,"column":35}},"64":{"start":{"line":35,"column":23},"end":{"line":35,"column":35}},"65":{"start":{"line":35,"column":36},"end":{"line":35,"column":89}},"66":{"start":{"line":38,"column":0},"end":{"line":38,"column":62}},"67":{"start":{"line":39,"column":0},"end":{"line":39,"column":55}},"68":{"start":{"line":40,"column":18},"end":{"line":40,"column":41}},"69":{"start":{"line":41,"column":14},"end":{"line":41,"column":39}},"70":{"start":{"line":42,"column":22},"end":{"line":51,"column":1}},"71":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"72":{"start":{"line":44,"column":8},"end":{"line":44,"column":29}},"73":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"74":{"start":{"line":48,"column":8},"end":{"line":48,"column":44}},"75":{"start":{"line":50,"column":4},"end":{"line":50,"column":16}},"76":{"start":{"line":52,"column":0},"end":{"line":52,"column":42}},"77":{"start":{"line":53,"column":18},"end":{"line":60,"column":1}},"78":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"79":{"start":{"line":55,"column":8},"end":{"line":55,"column":47}},"80":{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},"81":{"start":{"line":58,"column":8},"end":{"line":58,"column":59}},"82":{"start":{"line":61,"column":0},"end":{"line":61,"column":34}},"83":{"start":{"line":62,"column":26},"end":{"line":66,"column":1}},"84":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"85":{"start":{"line":64,"column":8},"end":{"line":64,"column":45}},"86":{"start":{"line":67,"column":28},"end":{"line":73,"column":1}},"87":{"start":{"line":68,"column":4},"end":{"line":68,"column":27}},"88":{"start":{"line":69,"column":4},"end":{"line":69,"column":29}},"89":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"90":{"start":{"line":71,"column":8},"end":{"line":71,"column":63}},"91":{"start":{"line":74,"column":39},"end":{"line":93,"column":5}},"92":{"start":{"line":74,"column":73},"end":{"line":93,"column":3}},"93":{"start":{"line":76,"column":4},"end":{"line":92,"column":7}},"94":{"start":{"line":77,"column":8},"end":{"line":91,"column":9}},"95":{"start":{"line":79,"column":16},"end":{"line":79,"column":42}},"96":{"start":{"line":80,"column":16},"end":{"line":80,"column":40}},"97":{"start":{"line":82,"column":16},"end":{"line":82,"column":35}},"98":{"start":{"line":83,"column":16},"end":{"line":83,"column":39}},"99":{"start":{"line":84,"column":16},"end":{"line":84,"column":30}},"100":{"start":{"line":86,"column":16},"end":{"line":86,"column":33}},"101":{"start":{"line":87,"column":16},"end":{"line":87,"column":37}},"102":{"start":{"line":88,"column":16},"end":{"line":88,"column":42}},"103":{"start":{"line":89,"column":16},"end":{"line":89,"column":27}},"104":{"start":{"line":90,"column":20},"end":{"line":90,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":44},"end":{"line":2,"column":45}},"loc":{"start":{"line":2,"column":89},"end":{"line":10,"column":1}},"line":2},"1":{"name":"adopt","decl":{"start":{"line":3,"column":13},"end":{"line":3,"column":18}},"loc":{"start":{"line":3,"column":26},"end":{"line":3,"column":112}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":3,"column":70},"end":{"line":3,"column":71}},"loc":{"start":{"line":3,"column":89},"end":{"line":3,"column":108}},"line":3},"3":{"name":"(anonymous_3)","decl":{"start":{"line":4,"column":36},"end":{"line":4,"column":37}},"loc":{"start":{"line":4,"column":63},"end":{"line":9,"column":5}},"line":4},"4":{"name":"fulfilled","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":26}},"loc":{"start":{"line":5,"column":34},"end":{"line":5,"column":99}},"line":5},"5":{"name":"rejected","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":25}},"loc":{"start":{"line":6,"column":33},"end":{"line":6,"column":102}},"line":6},"6":{"name":"step","decl":{"start":{"line":7,"column":17},"end":{"line":7,"column":21}},"loc":{"start":{"line":7,"column":30},"end":{"line":7,"column":118}},"line":7},"7":{"name":"(anonymous_7)","decl":{"start":{"line":11,"column":48},"end":{"line":11,"column":49}},"loc":{"start":{"line":11,"column":73},"end":{"line":37,"column":1}},"line":11},"8":{"name":"(anonymous_8)","decl":{"start":{"line":12,"column":30},"end":{"line":12,"column":31}},"loc":{"start":{"line":12,"column":41},"end":{"line":12,"column":83}},"line":12},"9":{"name":"(anonymous_9)","decl":{"start":{"line":13,"column":125},"end":{"line":13,"column":126}},"loc":{"start":{"line":13,"column":136},"end":{"line":13,"column":152}},"line":13},"10":{"name":"verb","decl":{"start":{"line":14,"column":13},"end":{"line":14,"column":17}},"loc":{"start":{"line":14,"column":21},"end":{"line":14,"column":70}},"line":14},"11":{"name":"(anonymous_11)","decl":{"start":{"line":14,"column":30},"end":{"line":14,"column":31}},"loc":{"start":{"line":14,"column":43},"end":{"line":14,"column":67}},"line":14},"12":{"name":"step","decl":{"start":{"line":15,"column":13},"end":{"line":15,"column":17}},"loc":{"start":{"line":15,"column":22},"end":{"line":36,"column":5}},"line":15},"13":{"name":"(anonymous_13)","decl":{"start":{"line":42,"column":22},"end":{"line":42,"column":23}},"loc":{"start":{"line":42,"column":55},"end":{"line":51,"column":1}},"line":42},"14":{"name":"(anonymous_14)","decl":{"start":{"line":53,"column":18},"end":{"line":53,"column":19}},"loc":{"start":{"line":53,"column":59},"end":{"line":60,"column":1}},"line":53},"15":{"name":"(anonymous_15)","decl":{"start":{"line":62,"column":26},"end":{"line":62,"column":27}},"loc":{"start":{"line":62,"column":67},"end":{"line":66,"column":1}},"line":62},"16":{"name":"(anonymous_16)","decl":{"start":{"line":67,"column":28},"end":{"line":67,"column":29}},"loc":{"start":{"line":67,"column":55},"end":{"line":73,"column":1}},"line":67},"17":{"name":"(anonymous_17)","decl":{"start":{"line":74,"column":39},"end":{"line":74,"column":40}},"loc":{"start":{"line":74,"column":71},"end":{"line":93,"column":5}},"line":74},"18":{"name":"(anonymous_18)","decl":{"start":{"line":74,"column":114},"end":{"line":74,"column":115}},"loc":{"start":{"line":74,"column":126},"end":{"line":93,"column":1}},"line":74},"19":{"name":"(anonymous_19)","decl":{"start":{"line":76,"column":29},"end":{"line":76,"column":30}},"loc":{"start":{"line":76,"column":43},"end":{"line":92,"column":5}},"line":76}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":16},"end":{"line":10,"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":10,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":35},"end":{"line":3,"column":109}},"type":"cond-expr","locations":[{"start":{"line":3,"column":56},"end":{"line":3,"column":61}},{"start":{"line":3,"column":64},"end":{"line":3,"column":109}}],"line":3},"2":{"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"type":"binary-expr","locations":[{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},{"start":{"line":4,"column":22},"end":{"line":4,"column":33}}],"line":4},"3":{"loc":{"start":{"line":7,"column":32},"end":{"line":7,"column":115}},"type":"cond-expr","locations":[{"start":{"line":7,"column":46},"end":{"line":7,"column":67}},{"start":{"line":7,"column":70},"end":{"line":7,"column":115}}],"line":7},"4":{"loc":{"start":{"line":8,"column":51},"end":{"line":8,"column":67}},"type":"binary-expr","locations":[{"start":{"line":8,"column":51},"end":{"line":8,"column":61}},{"start":{"line":8,"column":65},"end":{"line":8,"column":67}}],"line":8},"5":{"loc":{"start":{"line":11,"column":18},"end":{"line":37,"column":1}},"type":"binary-expr","locations":[{"start":{"line":11,"column":19},"end":{"line":11,"column":23}},{"start":{"line":11,"column":27},"end":{"line":11,"column":43}},{"start":{"line":11,"column":48},"end":{"line":37,"column":1}}],"line":11},"6":{"loc":{"start":{"line":12,"column":43},"end":{"line":12,"column":68}},"type":"if","locations":[{"start":{"line":12,"column":43},"end":{"line":12,"column":68}},{"start":{"line":12,"column":43},"end":{"line":12,"column":68}}],"line":12},"7":{"loc":{"start":{"line":13,"column":71},"end":{"line":13,"column":153}},"type":"binary-expr","locations":[{"start":{"line":13,"column":71},"end":{"line":13,"column":99}},{"start":{"line":13,"column":104},"end":{"line":13,"column":152}}],"line":13},"8":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},{"start":{"line":16,"column":8},"end":{"line":16,"column":70}}],"line":16},"9":{"loc":{"start":{"line":18,"column":12},"end":{"line":18,"column":169}},"type":"if","locations":[{"start":{"line":18,"column":12},"end":{"line":18,"column":169}},{"start":{"line":18,"column":12},"end":{"line":18,"column":169}}],"line":18},"10":{"loc":{"start":{"line":18,"column":23},"end":{"line":18,"column":158}},"type":"binary-expr","locations":[{"start":{"line":18,"column":23},"end":{"line":18,"column":24}},{"start":{"line":18,"column":29},"end":{"line":18,"column":125}},{"start":{"line":18,"column":130},"end":{"line":18,"column":158}}],"line":18},"11":{"loc":{"start":{"line":18,"column":33},"end":{"line":18,"column":125}},"type":"cond-expr","locations":[{"start":{"line":18,"column":45},"end":{"line":18,"column":56}},{"start":{"line":18,"column":59},"end":{"line":18,"column":125}}],"line":18},"12":{"loc":{"start":{"line":18,"column":59},"end":{"line":18,"column":125}},"type":"cond-expr","locations":[{"start":{"line":18,"column":67},"end":{"line":18,"column":116}},{"start":{"line":18,"column":119},"end":{"line":18,"column":125}}],"line":18},"13":{"loc":{"start":{"line":18,"column":67},"end":{"line":18,"column":116}},"type":"binary-expr","locations":[{"start":{"line":18,"column":67},"end":{"line":18,"column":77}},{"start":{"line":18,"column":82},"end":{"line":18,"column":115}}],"line":18},"14":{"loc":{"start":{"line":18,"column":82},"end":{"line":18,"column":112}},"type":"binary-expr","locations":[{"start":{"line":18,"column":83},"end":{"line":18,"column":98}},{"start":{"line":18,"column":103},"end":{"line":18,"column":112}}],"line":18},"15":{"loc":{"start":{"line":19,"column":12},"end":{"line":19,"column":52}},"type":"if","locations":[{"start":{"line":19,"column":12},"end":{"line":19,"column":52}},{"start":{"line":19,"column":12},"end":{"line":19,"column":52}}],"line":19},"16":{"loc":{"start":{"line":20,"column":12},"end":{"line":32,"column":13}},"type":"switch","locations":[{"start":{"line":21,"column":16},"end":{"line":21,"column":23}},{"start":{"line":21,"column":24},"end":{"line":21,"column":46}},{"start":{"line":22,"column":16},"end":{"line":22,"column":72}},{"start":{"line":23,"column":16},"end":{"line":23,"column":65}},{"start":{"line":24,"column":16},"end":{"line":24,"column":65}},{"start":{"line":25,"column":16},"end":{"line":31,"column":43}}],"line":20},"17":{"loc":{"start":{"line":26,"column":20},"end":{"line":26,"column":128}},"type":"if","locations":[{"start":{"line":26,"column":20},"end":{"line":26,"column":128}},{"start":{"line":26,"column":20},"end":{"line":26,"column":128}}],"line":26},"18":{"loc":{"start":{"line":26,"column":24},"end":{"line":26,"column":106}},"type":"binary-expr","locations":[{"start":{"line":26,"column":24},"end":{"line":26,"column":74}},{"start":{"line":26,"column":79},"end":{"line":26,"column":90}},{"start":{"line":26,"column":94},"end":{"line":26,"column":105}}],"line":26},"19":{"loc":{"start":{"line":26,"column":42},"end":{"line":26,"column":73}},"type":"binary-expr","locations":[{"start":{"line":26,"column":42},"end":{"line":26,"column":54}},{"start":{"line":26,"column":58},"end":{"line":26,"column":73}}],"line":26},"20":{"loc":{"start":{"line":27,"column":20},"end":{"line":27,"column":106}},"type":"if","locations":[{"start":{"line":27,"column":20},"end":{"line":27,"column":106}},{"start":{"line":27,"column":20},"end":{"line":27,"column":106}}],"line":27},"21":{"loc":{"start":{"line":27,"column":24},"end":{"line":27,"column":77}},"type":"binary-expr","locations":[{"start":{"line":27,"column":24},"end":{"line":27,"column":35}},{"start":{"line":27,"column":40},"end":{"line":27,"column":42}},{"start":{"line":27,"column":47},"end":{"line":27,"column":59}},{"start":{"line":27,"column":63},"end":{"line":27,"column":75}}],"line":27},"22":{"loc":{"start":{"line":28,"column":20},"end":{"line":28,"column":89}},"type":"if","locations":[{"start":{"line":28,"column":20},"end":{"line":28,"column":89}},{"start":{"line":28,"column":20},"end":{"line":28,"column":89}}],"line":28},"23":{"loc":{"start":{"line":28,"column":24},"end":{"line":28,"column":53}},"type":"binary-expr","locations":[{"start":{"line":28,"column":24},"end":{"line":28,"column":35}},{"start":{"line":28,"column":39},"end":{"line":28,"column":53}}],"line":28},"24":{"loc":{"start":{"line":29,"column":20},"end":{"line":29,"column":87}},"type":"if","locations":[{"start":{"line":29,"column":20},"end":{"line":29,"column":87}},{"start":{"line":29,"column":20},"end":{"line":29,"column":87}}],"line":29},"25":{"loc":{"start":{"line":29,"column":24},"end":{"line":29,"column":43}},"type":"binary-expr","locations":[{"start":{"line":29,"column":24},"end":{"line":29,"column":25}},{"start":{"line":29,"column":29},"end":{"line":29,"column":43}}],"line":29},"26":{"loc":{"start":{"line":30,"column":20},"end":{"line":30,"column":42}},"type":"if","locations":[{"start":{"line":30,"column":20},"end":{"line":30,"column":42}},{"start":{"line":30,"column":20},"end":{"line":30,"column":42}}],"line":30},"27":{"loc":{"start":{"line":35,"column":8},"end":{"line":35,"column":35}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":35}},{"start":{"line":35,"column":8},"end":{"line":35,"column":35}}],"line":35},"28":{"loc":{"start":{"line":35,"column":52},"end":{"line":35,"column":74}},"type":"cond-expr","locations":[{"start":{"line":35,"column":60},"end":{"line":35,"column":65}},{"start":{"line":35,"column":68},"end":{"line":35,"column":74}}],"line":35},"29":{"loc":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},{"start":{"line":43,"column":4},"end":{"line":45,"column":5}}],"line":43},"30":{"loc":{"start":{"line":43,"column":8},"end":{"line":43,"column":87}},"type":"binary-expr","locations":[{"start":{"line":43,"column":9},"end":{"line":43,"column":65}},{"start":{"line":43,"column":70},"end":{"line":43,"column":87}}],"line":43},"31":{"loc":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},{"start":{"line":46,"column":4},"end":{"line":49,"column":5}}],"line":46},"32":{"loc":{"start":{"line":46,"column":8},"end":{"line":47,"column":36}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":62}},{"start":{"line":47,"column":8},"end":{"line":47,"column":36}}],"line":46},"33":{"loc":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},{"start":{"line":54,"column":4},"end":{"line":56,"column":5}}],"line":54},"34":{"loc":{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},{"start":{"line":57,"column":4},"end":{"line":59,"column":5}}],"line":57},"35":{"loc":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},{"start":{"line":63,"column":4},"end":{"line":65,"column":5}}],"line":63},"36":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}],"line":70},"37":{"loc":{"start":{"line":77,"column":8},"end":{"line":91,"column":9}},"type":"switch","locations":[{"start":{"line":78,"column":12},"end":{"line":80,"column":40}},{"start":{"line":81,"column":12},"end":{"line":84,"column":30}},{"start":{"line":85,"column":12},"end":{"line":89,"column":27}},{"start":{"line":90,"column":12},"end":{"line":90,"column":31}}],"line":77}},"s":{"0":1,"1":31,"2":0,"3":31,"4":28,"5":28,"6":0,"7":3,"8":3,"9":3,"10":59,"11":31,"12":1,"13":31,"14":34,"15":3,"16":31,"17":31,"18":0,"19":93,"20":62,"21":62,"22":0,"23":62,"24":186,"25":186,"26":0,"27":186,"28":0,"29":186,"30":62,"31":62,"32":31,"33":31,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":93,"42":31,"43":31,"44":62,"45":28,"46":28,"47":34,"48":3,"49":3,"50":3,"51":31,"52":0,"53":0,"54":0,"55":31,"56":0,"57":31,"58":31,"59":93,"60":6,"61":6,"62":186,"63":31,"64":3,"65":28,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1922,"72":68,"73":1854,"74":4,"75":1850,"76":1,"77":1,"78":442,"79":145,"80":442,"81":6,"82":1,"83":1,"84":6,"85":6,"86":1,"87":145,"88":145,"89":145,"90":31,"91":1,"92":31,"93":31,"94":93,"95":31,"96":31,"97":31,"98":28,"99":28,"100":3,"101":3,"102":3,"103":3,"104":28},"f":{"0":31,"1":31,"2":0,"3":31,"4":28,"5":3,"6":59,"7":31,"8":34,"9":0,"10":93,"11":62,"12":62,"13":1922,"14":442,"15":6,"16":145,"17":31,"18":31,"19":93},"b":{"0":[1,1,1],"1":[31,0],"2":[31,31],"3":[28,31],"4":[31,31],"5":[1,1,1],"6":[3,31],"7":[31,31],"8":[0,62],"9":[0,186],"10":[186,0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,186],"16":[59,62,31,0,0,93],"17":[31,62],"18":[93,59,56],"19":[93,34],"20":[28,34],"21":[62,56,28,28],"22":[3,31],"23":[34,6],"24":[0,31],"25":[31,31],"26":[0,31],"27":[3,28],"28":[28,0],"29":[68,1854],"30":[1922,1615],"31":[4,1850],"32":[1854,12],"33":[145,297],"34":[6,436],"35":[6,0],"36":[31,114],"37":[31,31,3,28]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/scope/scope.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/scope/scope.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4D;AAC5D,wCAA2C;AAEpC,IAAM,eAAe,GAAG,UAC7B,YAAqC,EACrC,OAA8B;IAG9B,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,4BAAgB,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE;QACvE,OAAO,OAAO,CAAC,KAAM,CAAC;KACvB;IAED,IACE,OAAO,CAAC,KAAK,KAAK,4BAAgB,CAAC,OAAO;QAC1C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAC5B;QACA,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAmB,CAAC;KACvD;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAhBY,QAAA,eAAe,mBAgB3B;AAEM,IAAM,WAAW,GAAG,UACzB,YAAqC,EACrC,OAA8B,EAC9B,MAAsB;IAEtB,IAAI,OAAO,CAAC,KAAK,KAAK,4BAAgB,CAAC,SAAS,EAAE;QAChD,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACxC;IAED,IACE,OAAO,CAAC,KAAK,KAAK,4BAAgB,CAAC,OAAO,EAC1C;QACA,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KACpD;AACH,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB;AAED,IAAM,mBAAmB,GAAG,UAC1B,YAAqC,EACrC,OAA8B,EAC9B,MAAsB;IAEtB,IACE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAC7B;QACA,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACtC;AACH,CAAC,CAAA;AAED,IAAM,qBAAqB,GAAG,UAC5B,OAA8B,EAC9B,MAAsB;IAGtB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAEzB,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,KAAK,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACxD;AACH,CAAC,CAAA;AAED,IAAM,gCAAgC,GAAG,UACvC,OAA8B,EAC9B,WAAuB;;;;;;gBAGN,WAAM,WAAW,EAAA;;gBAA1B,MAAM,GAAG,SAAiB;gBAEhC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;;;;gBAGvB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;gBAE1B,MAAM,IAAE,CAAC;;;;KAEZ,CAAA","sourcesContent":["import { BindingScopeEnum, interfaces } from \"../inversify\";\nimport { isPromise } from \"../utils/async\";\n\nexport const tryGetFromScope = (\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding\n): T | Promise | null => {\n\n if ((binding.scope === BindingScopeEnum.Singleton) && binding.activated) {\n return binding.cache!;\n }\n\n if (\n binding.scope === BindingScopeEnum.Request &&\n requestScope.has(binding.id)\n ) {\n return requestScope.get(binding.id) as T | Promise;\n }\n return null;\n}\n\nexport const saveToScope = (\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding,\n result: T | Promise\n): void => {\n if (binding.scope === BindingScopeEnum.Singleton) {\n _saveToSingletonScope(binding, result);\n }\n\n if (\n binding.scope === BindingScopeEnum.Request\n ) {\n _saveToRequestScope(requestScope, binding, result);\n }\n}\n\nconst _saveToRequestScope = (\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding,\n result: T | Promise\n): void => {\n if (\n !requestScope.has(binding.id)\n ) {\n requestScope.set(binding.id, result);\n }\n}\n\nconst _saveToSingletonScope = (\n binding: interfaces.Binding,\n result: T | Promise\n): void => {\n // store in cache if scope is singleton\n binding.cache = result;\n binding.activated = true;\n\n if (isPromise(result)) {\n void _saveAsyncResultToSingletonScope(binding, result);\n }\n}\n\nconst _saveAsyncResultToSingletonScope = async (\n binding: interfaces.Binding,\n asyncResult: Promise\n): Promise => {\n try {\n const result = await asyncResult;\n\n binding.cache = result;\n } catch (ex: unknown) {\n // allow binding to retry in future\n binding.cache = null;\n binding.activated = false;\n\n throw ex;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f7d8d63c41345b1aed12a474898ba0d152f18463","contentHash":"0a5ed3f07d33083821a0545074e95c0ab2deb69851dd42dba48af38be6dfd650"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/async.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/async.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":64}},"2":{"start":{"line":5,"column":29},"end":{"line":5,"column":108}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":67}},"4":{"start":{"line":8,"column":0},"end":{"line":8,"column":30}},"5":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"6":{"start":{"line":11,"column":8},"end":{"line":11,"column":20}},"7":{"start":{"line":13,"column":4},"end":{"line":13,"column":59}},"8":{"start":{"line":15,"column":0},"end":{"line":15,"column":64}}},"fnMap":{"0":{"name":"isPromise","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":18}},"loc":{"start":{"line":4,"column":27},"end":{"line":7,"column":1}},"line":4},"1":{"name":"isPromiseOrContainsPromise","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":35}},"loc":{"start":{"line":9,"column":44},"end":{"line":14,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":29},"end":{"line":5,"column":108}},"type":"binary-expr","locations":[{"start":{"line":5,"column":30},"end":{"line":5,"column":56}},{"start":{"line":5,"column":60},"end":{"line":5,"column":75}},{"start":{"line":5,"column":80},"end":{"line":5,"column":108}}],"line":5},"1":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":66}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":29}},{"start":{"line":6,"column":33},"end":{"line":6,"column":66}}],"line":6},"2":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},{"start":{"line":10,"column":4},"end":{"line":12,"column":5}}],"line":10},"3":{"loc":{"start":{"line":13,"column":11},"end":{"line":13,"column":58}},"type":"binary-expr","locations":[{"start":{"line":13,"column":11},"end":{"line":13,"column":32}},{"start":{"line":13,"column":36},"end":{"line":13,"column":58}}],"line":13}},"s":{"0":1,"1":1,"2":2249,"3":2249,"4":1,"5":415,"6":27,"7":388,"8":1},"f":{"0":2249,"1":415},"b":{"0":[2249,1572,677],"1":[2249,1637],"2":[27,388],"3":[388,28]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/async.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/utils/async.ts"],"names":[],"mappings":";;;AAAA,SAAS,SAAS,CAAI,MAAe;IACnC,IAAM,kBAAkB,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,OAAO,MAAM,KAAK,UAAU,CAAC;IAE3G,OAAO,kBAAkB,IAAI,OAAQ,MAAyB,CAAC,IAAI,KAAK,UAAU,CAAC;AACrF,CAAC;AAUQ,8BAAS;AARlB,SAAS,0BAA0B,CAAI,MAAe;IACpD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAEmB,gEAA0B","sourcesContent":["function isPromise(object: unknown): object is Promise {\r\n const isObjectOrFunction = (typeof object === 'object' && object !== null) || typeof object === 'function';\r\n\r\n return isObjectOrFunction && typeof (object as PromiseLike).then === \"function\";\r\n}\r\n\r\nfunction isPromiseOrContainsPromise(object: unknown): object is Promise | (T | Promise)[] {\r\n if (isPromise(object)) {\r\n return true;\r\n }\r\n\r\n return Array.isArray(object) && object.some(isPromise);\r\n}\r\n\r\nexport { isPromise, isPromiseOrContainsPromise };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0a860fce6d44183bfb5dfa15f719a151260429c3","contentHash":"eb8144144441c9bf287389f3d99024028b52b75f26fba7ab2b8625d2f8743bd1"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/binding_utils.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/binding_utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":91}},"23":{"start":{"line":23,"column":18},"end":{"line":23,"column":41}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":65}},"25":{"start":{"line":25,"column":22},"end":{"line":25,"column":59}},"26":{"start":{"line":26,"column":21},"end":{"line":26,"column":46}},"27":{"start":{"line":27,"column":25},"end":{"line":37,"column":1}},"28":{"start":{"line":28,"column":4},"end":{"line":36,"column":6}},"29":{"start":{"line":29,"column":8},"end":{"line":35,"column":10}},"30":{"start":{"line":30,"column":24},"end":{"line":30,"column":26}},"31":{"start":{"line":31,"column":12},"end":{"line":33,"column":13}},"32":{"start":{"line":31,"column":26},"end":{"line":31,"column":27}},"33":{"start":{"line":32,"column":16},"end":{"line":32,"column":42}},"34":{"start":{"line":34,"column":12},"end":{"line":34,"column":96}},"35":{"start":{"line":34,"column":48},"end":{"line":34,"column":92}},"36":{"start":{"line":38,"column":0},"end":{"line":38,"column":48}},"37":{"start":{"line":39,"column":23},"end":{"line":64,"column":1}},"38":{"start":{"line":40,"column":21},"end":{"line":40,"column":25}},"39":{"start":{"line":41,"column":4},"end":{"line":59,"column":5}},"40":{"start":{"line":44,"column":12},"end":{"line":44,"column":39}},"41":{"start":{"line":45,"column":12},"end":{"line":45,"column":18}},"42":{"start":{"line":48,"column":12},"end":{"line":48,"column":52}},"43":{"start":{"line":49,"column":12},"end":{"line":49,"column":18}},"44":{"start":{"line":51,"column":12},"end":{"line":51,"column":46}},"45":{"start":{"line":52,"column":12},"end":{"line":52,"column":18}},"46":{"start":{"line":54,"column":12},"end":{"line":54,"column":42}},"47":{"start":{"line":55,"column":12},"end":{"line":55,"column":18}},"48":{"start":{"line":57,"column":12},"end":{"line":57,"column":41}},"49":{"start":{"line":58,"column":12},"end":{"line":58,"column":18}},"50":{"start":{"line":60,"column":4},"end":{"line":63,"column":5}},"51":{"start":{"line":61,"column":40},"end":{"line":61,"column":112}},"52":{"start":{"line":62,"column":8},"end":{"line":62,"column":91}},"53":{"start":{"line":65,"column":0},"end":{"line":65,"column":44}},"54":{"start":{"line":66,"column":24},"end":{"line":77,"column":1}},"55":{"start":{"line":67,"column":4},"end":{"line":76,"column":5}},"56":{"start":{"line":69,"column":12},"end":{"line":69,"column":97}},"57":{"start":{"line":71,"column":12},"end":{"line":71,"column":99}},"58":{"start":{"line":73,"column":12},"end":{"line":73,"column":107}},"59":{"start":{"line":75,"column":12},"end":{"line":75,"column":71}},"60":{"start":{"line":78,"column":0},"end":{"line":78,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":27,"column":25},"end":{"line":27,"column":26}},"loc":{"start":{"line":27,"column":46},"end":{"line":37,"column":1}},"line":27},"7":{"name":"(anonymous_7)","decl":{"start":{"line":28,"column":11},"end":{"line":28,"column":12}},"loc":{"start":{"line":28,"column":30},"end":{"line":36,"column":5}},"line":28},"8":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":15},"end":{"line":29,"column":16}},"loc":{"start":{"line":29,"column":27},"end":{"line":35,"column":9}},"line":29},"9":{"name":"(anonymous_9)","decl":{"start":{"line":34,"column":33},"end":{"line":34,"column":34}},"loc":{"start":{"line":34,"column":46},"end":{"line":34,"column":94}},"line":34},"10":{"name":"(anonymous_10)","decl":{"start":{"line":39,"column":23},"end":{"line":39,"column":24}},"loc":{"start":{"line":39,"column":42},"end":{"line":64,"column":1}},"line":39},"11":{"name":"(anonymous_11)","decl":{"start":{"line":66,"column":24},"end":{"line":66,"column":25}},"loc":{"start":{"line":66,"column":43},"end":{"line":77,"column":1}},"line":66}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":41,"column":4},"end":{"line":59,"column":5}},"type":"switch","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":59}},{"start":{"line":43,"column":8},"end":{"line":45,"column":18}},{"start":{"line":46,"column":8},"end":{"line":46,"column":57}},{"start":{"line":47,"column":8},"end":{"line":49,"column":18}},{"start":{"line":50,"column":8},"end":{"line":52,"column":18}},{"start":{"line":53,"column":8},"end":{"line":55,"column":18}},{"start":{"line":56,"column":8},"end":{"line":58,"column":18}}],"line":41},"13":{"loc":{"start":{"line":60,"column":4},"end":{"line":63,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":63,"column":5}},{"start":{"line":60,"column":4},"end":{"line":63,"column":5}}],"line":60},"14":{"loc":{"start":{"line":67,"column":4},"end":{"line":76,"column":5}},"type":"switch","locations":[{"start":{"line":68,"column":8},"end":{"line":69,"column":97}},{"start":{"line":70,"column":8},"end":{"line":71,"column":99}},{"start":{"line":72,"column":8},"end":{"line":73,"column":107}},{"start":{"line":74,"column":8},"end":{"line":75,"column":71}}],"line":67}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"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":2,"34":1,"35":2,"36":1,"37":1,"38":1849,"39":1849,"40":68,"41":68,"42":999,"43":999,"44":770,"45":770,"46":6,"47":6,"48":4,"49":4,"50":1849,"51":2,"52":2,"53":1,"54":1,"55":781,"56":4,"57":6,"58":770,"59":1,"60":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":1,"8":1,"9":2,"10":1849,"11":781},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[66,68,3,999,770,6,4],"13":[2,1847],"14":[4,6,770,1]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/binding_utils.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/utils/binding_utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAwE;AACxE,kEAAsD;AACtD,4DAA6D;AAC7D,+CAA6C;AAEtC,IAAM,kBAAkB,GAAG,UAAC,SAA+B;IAChE,OAAA,UAAC,OAAqC;QACpC,OAAA;YAAC,eAAwC;iBAAxC,UAAwC,EAAxC,qBAAwC,EAAxC,IAAwC;gBAAxC,0BAAwC;;YACvC,OAAA,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAApC,CAAoC,CAAC;QAA1D,CAA0D;IAD5D,CAC4D;AAF9D,CAE8D,CAAC;AAHpD,QAAA,kBAAkB,sBAGkC;AAE1D,IAAM,gBAAgB,GAAG,UAAc,OAA8B;IAC1E,IAAI,UAAU,GAAY,IAAI,CAAC;IAE/B,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,+BAAe,CAAC,aAAa,CAAC;QACnC,KAAK,+BAAe,CAAC,QAAQ;YAC3B,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,MAAM;QACR,KAAK,+BAAe,CAAC,WAAW,CAAC;QACjC,KAAK,+BAAe,CAAC,QAAQ;YAC3B,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;YACxC,MAAM;QACR,KAAK,+BAAe,CAAC,YAAY;YAC/B,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;YAClC,MAAM;QACR,KAAK,+BAAe,CAAC,QAAQ;YAC3B,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC9B,MAAM;QACR,KAAK,+BAAe,CAAC,OAAO;YAC1B,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;YAC7B,MAAM;KACT;IACD,IAAI,UAAU,KAAK,IAAI,EAAE;QAGvB,IAAM,yBAAyB,GAAG,IAAA,wCAA4B,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAI,UAAU,CAAC,oBAAoB,SAAI,yBAA2B,CAAC,CAAC;KACpF;AACH,CAAC,CAAA;AA5BY,QAAA,gBAAgB,oBA4B5B;AAEM,IAAM,iBAAiB,GAAG,UAAc,OAA8B;IAC3E,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,+BAAe,CAAC,OAAO;YAC1B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,0BAAW,CAAC,OAAO,EAAE,CAAC;QACxE,KAAK,+BAAe,CAAC,QAAQ;YAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,0BAAW,CAAC,QAAQ,EAAE,CAAC;QAC1E,KAAK,+BAAe,CAAC,YAAY;YAC/B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,0BAAW,CAAC,YAAY,EAAE,CAAC;QAClF;YACE,MAAM,IAAI,KAAK,CAAC,6BAA2B,OAAO,CAAC,IAAM,CAAC,CAAC;KAC9D;AACH,CAAC,CAAA;AAXY,QAAA,iBAAiB,qBAW7B","sourcesContent":["import { getServiceIdentifierAsString, interfaces } from \"../inversify\";\nimport * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { BindingTypeEnum } from \"../constants/literal_types\";\nimport { FactoryType } from \"./factory_type\";\n\nexport const multiBindToService = (container: interfaces.Container) =>\n (service: interfaces.ServiceIdentifier) =>\n (...types: interfaces.ServiceIdentifier[]) =>\n types.forEach((t) => container.bind(t).toService(service));\n\nexport const ensureFullyBound = (binding: interfaces.Binding): void => {\n let boundValue: unknown = null;\n\n switch (binding.type) {\n case BindingTypeEnum.ConstantValue:\n case BindingTypeEnum.Function:\n boundValue = binding.cache;\n break;\n case BindingTypeEnum.Constructor:\n case BindingTypeEnum.Instance:\n boundValue = binding.implementationType;\n break;\n case BindingTypeEnum.DynamicValue:\n boundValue = binding.dynamicValue;\n break;\n case BindingTypeEnum.Provider:\n boundValue = binding.provider;\n break;\n case BindingTypeEnum.Factory:\n boundValue = binding.factory;\n break;\n }\n if (boundValue === null) {\n // The user probably created a binding but didn't finish it\n // e.g. container.bind(\"Something\"); missing BindingToSyntax\n const serviceIdentifierAsString = getServiceIdentifierAsString(binding.serviceIdentifier);\n throw new Error(`${ERROR_MSGS.INVALID_BINDING_TYPE} ${serviceIdentifierAsString}`);\n }\n}\n\nexport const getFactoryDetails = (binding: interfaces.Binding): interfaces.FactoryDetails => {\n switch (binding.type) {\n case BindingTypeEnum.Factory:\n return { factory: binding.factory, factoryType: FactoryType.Factory };\n case BindingTypeEnum.Provider:\n return { factory: binding.provider, factoryType: FactoryType.Provider };\n case BindingTypeEnum.DynamicValue:\n return { factory: binding.dynamicValue, factoryType: FactoryType.DynamicValue };\n default:\n throw new Error(`Unexpected factory type ${binding.type}`);\n }\n}\n\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"eeb4938de7ef207266aea8d0664158d6c525835e","contentHash":"b396b98ff3ecb723dea43bc1dc21069a859d48d1174d04f3339896aaadaa2898"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/factory_type.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/factory_type.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"2":{"start":{"line":5,"column":0},"end":{"line":9,"column":68}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":51}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":41}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":1},"end":{"line":5,"column":2}},"loc":{"start":{"line":5,"column":24},"end":{"line":9,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":17},"end":{"line":9,"column":66}},"type":"binary-expr","locations":[{"start":{"line":9,"column":17},"end":{"line":9,"column":36}},{"start":{"line":9,"column":41},"end":{"line":9,"column":65}}],"line":9}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/factory_type.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/utils/factory_type.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8CAA+B,CAAA;IAC/B,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;AACzB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB","sourcesContent":["export enum FactoryType {\n DynamicValue = \"toDynamicValue\",\n Factory = \"toFactory\",\n Provider = \"toProvider\",\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"abe1dc9de820e3de3d7be56c9001c957b4e00e16","contentHash":"55b609aa3c8c38c53b5d7360abe95e9a385d8dad1f68b02d2a69b20ed9dc73c3"},"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/instantiation.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/instantiation.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":12,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":10,"column":6}},"2":{"start":{"line":4,"column":8},"end":{"line":8,"column":9}},"3":{"start":{"line":4,"column":24},"end":{"line":4,"column":25}},"4":{"start":{"line":4,"column":31},"end":{"line":4,"column":47}},"5":{"start":{"line":5,"column":12},"end":{"line":5,"column":29}},"6":{"start":{"line":6,"column":12},"end":{"line":7,"column":28}},"7":{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},"8":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"9":{"start":{"line":9,"column":8},"end":{"line":9,"column":17}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":43}},"11":{"start":{"line":13,"column":22},"end":{"line":19,"column":3}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},"13":{"start":{"line":14,"column":26},"end":{"line":14,"column":33}},"14":{"start":{"line":15,"column":4},"end":{"line":15,"column":89}},"15":{"start":{"line":15,"column":71},"end":{"line":15,"column":83}},"16":{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},"17":{"start":{"line":17,"column":26},"end":{"line":17,"column":33}},"18":{"start":{"line":18,"column":4},"end":{"line":18,"column":17}},"19":{"start":{"line":20,"column":25},"end":{"line":24,"column":2}},"20":{"start":{"line":21,"column":4},"end":{"line":21,"column":72}},"21":{"start":{"line":23,"column":4},"end":{"line":23,"column":21}},"22":{"start":{"line":25,"column":19},"end":{"line":31,"column":1}},"23":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"24":{"start":{"line":26,"column":31},"end":{"line":26,"column":42}},"25":{"start":{"line":27,"column":17},"end":{"line":27,"column":19}},"26":{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},"27":{"start":{"line":28,"column":21},"end":{"line":28,"column":141}},"28":{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},"29":{"start":{"line":28,"column":109},"end":{"line":28,"column":141}},"30":{"start":{"line":29,"column":4},"end":{"line":29,"column":36}},"31":{"start":{"line":30,"column":4},"end":{"line":30,"column":18}},"32":{"start":{"line":32,"column":16},"end":{"line":40,"column":1}},"33":{"start":{"line":33,"column":28},"end":{"line":33,"column":110}},"34":{"start":{"line":33,"column":91},"end":{"line":33,"column":106}},"35":{"start":{"line":34,"column":4},"end":{"line":39,"column":7}},"36":{"start":{"line":35,"column":36},"end":{"line":35,"column":97}},"37":{"start":{"line":35,"column":42},"end":{"line":35,"column":70}},"38":{"start":{"line":35,"column":85},"end":{"line":35,"column":95}},"39":{"start":{"line":36,"column":35},"end":{"line":36,"column":100}},"40":{"start":{"line":36,"column":41},"end":{"line":36,"column":73}},"41":{"start":{"line":36,"column":88},"end":{"line":36,"column":98}},"42":{"start":{"line":37,"column":32},"end":{"line":37,"column":116}},"43":{"start":{"line":38,"column":8},"end":{"line":38,"column":78}},"44":{"start":{"line":41,"column":18},"end":{"line":67,"column":1}},"45":{"start":{"line":42,"column":12},"end":{"line":42,"column":104}},"46":{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},"47":{"start":{"line":42,"column":57},"end":{"line":42,"column":68}},"48":{"start":{"line":42,"column":69},"end":{"line":42,"column":81}},"49":{"start":{"line":43,"column":4},"end":{"line":43,"column":157}},"50":{"start":{"line":43,"column":138},"end":{"line":43,"column":150}},"51":{"start":{"line":44,"column":23},"end":{"line":44,"column":68}},"52":{"start":{"line":44,"column":45},"end":{"line":44,"column":65}},"53":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"54":{"start":{"line":46,"column":15},"end":{"line":46,"column":70}},"55":{"start":{"line":47,"column":8},"end":{"line":64,"column":66}},"56":{"start":{"line":47,"column":18},"end":{"line":64,"column":66}},"57":{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},"58":{"start":{"line":48,"column":160},"end":{"line":48,"column":169}},"59":{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},"60":{"start":{"line":49,"column":26},"end":{"line":49,"column":52}},"61":{"start":{"line":50,"column":12},"end":{"line":62,"column":13}},"62":{"start":{"line":51,"column":32},"end":{"line":51,"column":39}},"63":{"start":{"line":51,"column":40},"end":{"line":51,"column":46}},"64":{"start":{"line":52,"column":24},"end":{"line":52,"column":34}},"65":{"start":{"line":52,"column":35},"end":{"line":52,"column":72}},"66":{"start":{"line":53,"column":24},"end":{"line":53,"column":34}},"67":{"start":{"line":53,"column":35},"end":{"line":53,"column":45}},"68":{"start":{"line":53,"column":46},"end":{"line":53,"column":55}},"69":{"start":{"line":53,"column":56},"end":{"line":53,"column":65}},"70":{"start":{"line":54,"column":24},"end":{"line":54,"column":41}},"71":{"start":{"line":54,"column":42},"end":{"line":54,"column":55}},"72":{"start":{"line":54,"column":56},"end":{"line":54,"column":65}},"73":{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},"74":{"start":{"line":56,"column":110},"end":{"line":56,"column":116}},"75":{"start":{"line":56,"column":117},"end":{"line":56,"column":126}},"76":{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},"77":{"start":{"line":57,"column":81},"end":{"line":57,"column":97}},"78":{"start":{"line":57,"column":98},"end":{"line":57,"column":104}},"79":{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},"80":{"start":{"line":58,"column":57},"end":{"line":58,"column":72}},"81":{"start":{"line":58,"column":73},"end":{"line":58,"column":80}},"82":{"start":{"line":58,"column":81},"end":{"line":58,"column":87}},"83":{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},"84":{"start":{"line":59,"column":47},"end":{"line":59,"column":62}},"85":{"start":{"line":59,"column":63},"end":{"line":59,"column":78}},"86":{"start":{"line":59,"column":79},"end":{"line":59,"column":85}},"87":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"88":{"start":{"line":60,"column":30},"end":{"line":60,"column":42}},"89":{"start":{"line":61,"column":20},"end":{"line":61,"column":33}},"90":{"start":{"line":61,"column":34},"end":{"line":61,"column":43}},"91":{"start":{"line":63,"column":12},"end":{"line":63,"column":39}},"92":{"start":{"line":64,"column":22},"end":{"line":64,"column":34}},"93":{"start":{"line":64,"column":35},"end":{"line":64,"column":41}},"94":{"start":{"line":64,"column":54},"end":{"line":64,"column":64}},"95":{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},"96":{"start":{"line":65,"column":23},"end":{"line":65,"column":35}},"97":{"start":{"line":65,"column":36},"end":{"line":65,"column":89}},"98":{"start":{"line":68,"column":20},"end":{"line":76,"column":1}},"99":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"100":{"start":{"line":69,"column":40},"end":{"line":74,"column":5}},"101":{"start":{"line":69,"column":53},"end":{"line":69,"column":54}},"102":{"start":{"line":69,"column":60},"end":{"line":69,"column":71}},"103":{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},"104":{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},"105":{"start":{"line":71,"column":21},"end":{"line":71,"column":65}},"106":{"start":{"line":72,"column":12},"end":{"line":72,"column":28}},"107":{"start":{"line":75,"column":4},"end":{"line":75,"column":61}},"108":{"start":{"line":77,"column":0},"end":{"line":77,"column":62}},"109":{"start":{"line":78,"column":0},"end":{"line":78,"column":33}},"110":{"start":{"line":79,"column":19},"end":{"line":79,"column":53}},"111":{"start":{"line":80,"column":22},"end":{"line":80,"column":59}},"112":{"start":{"line":81,"column":19},"end":{"line":81,"column":70}},"113":{"start":{"line":82,"column":14},"end":{"line":82,"column":39}},"114":{"start":{"line":84,"column":4},"end":{"line":98,"column":100}},"115":{"start":{"line":85,"column":24},"end":{"line":85,"column":52}},"116":{"start":{"line":86,"column":25},"end":{"line":86,"column":49}},"117":{"start":{"line":87,"column":8},"end":{"line":93,"column":9}},"118":{"start":{"line":88,"column":12},"end":{"line":88,"column":67}},"119":{"start":{"line":91,"column":12},"end":{"line":91,"column":65}},"120":{"start":{"line":92,"column":12},"end":{"line":92,"column":64}},"121":{"start":{"line":94,"column":8},"end":{"line":96,"column":9}},"122":{"start":{"line":95,"column":12},"end":{"line":95,"column":90}},"123":{"start":{"line":97,"column":8},"end":{"line":97,"column":32}},"124":{"start":{"line":102,"column":4},"end":{"line":114,"column":5}},"125":{"start":{"line":103,"column":23},"end":{"line":103,"column":70}},"126":{"start":{"line":104,"column":46},"end":{"line":104,"column":98}},"127":{"start":{"line":105,"column":8},"end":{"line":110,"column":9}},"128":{"start":{"line":106,"column":12},"end":{"line":106,"column":88}},"129":{"start":{"line":109,"column":12},"end":{"line":109,"column":83}},"130":{"start":{"line":113,"column":8},"end":{"line":113,"column":30}},"131":{"start":{"line":115,"column":4},"end":{"line":115,"column":18}},"132":{"start":{"line":119,"column":19},"end":{"line":119,"column":120}},"133":{"start":{"line":120,"column":4},"end":{"line":124,"column":7}},"134":{"start":{"line":121,"column":23},"end":{"line":121,"column":42}},"135":{"start":{"line":122,"column":24},"end":{"line":122,"column":54}},"136":{"start":{"line":123,"column":8},"end":{"line":123,"column":39}},"137":{"start":{"line":125,"column":4},"end":{"line":125,"column":20}},"138":{"start":{"line":128,"column":4},"end":{"line":141,"column":7}},"139":{"start":{"line":130,"column":8},"end":{"line":140,"column":11}},"140":{"start":{"line":131,"column":12},"end":{"line":139,"column":13}},"141":{"start":{"line":132,"column":24},"end":{"line":132,"column":87}},"142":{"start":{"line":134,"column":20},"end":{"line":134,"column":54}},"143":{"start":{"line":135,"column":20},"end":{"line":135,"column":80}},"144":{"start":{"line":137,"column":20},"end":{"line":137,"column":51}},"145":{"start":{"line":138,"column":20},"end":{"line":138,"column":181}},"146":{"start":{"line":144,"column":4},"end":{"line":159,"column":7}},"147":{"start":{"line":146,"column":8},"end":{"line":158,"column":11}},"148":{"start":{"line":147,"column":12},"end":{"line":147,"column":28}},"149":{"start":{"line":148,"column":12},"end":{"line":156,"column":13}},"150":{"start":{"line":149,"column":16},"end":{"line":149,"column":60}},"151":{"start":{"line":150,"column":16},"end":{"line":155,"column":17}},"152":{"start":{"line":151,"column":20},"end":{"line":151,"column":60}},"153":{"start":{"line":154,"column":20},"end":{"line":154,"column":47}},"154":{"start":{"line":157,"column":12},"end":{"line":157,"column":48}},"155":{"start":{"line":162,"column":30},"end":{"line":162,"column":60}},"156":{"start":{"line":163,"column":4},"end":{"line":168,"column":5}},"157":{"start":{"line":164,"column":8},"end":{"line":164,"column":72}},"158":{"start":{"line":164,"column":54},"end":{"line":164,"column":68}},"159":{"start":{"line":167,"column":8},"end":{"line":167,"column":22}},"160":{"start":{"line":172,"column":4},"end":{"line":180,"column":5}},"161":{"start":{"line":173,"column":19},"end":{"line":173,"column":75}},"162":{"start":{"line":174,"column":8},"end":{"line":179,"column":9}},"163":{"start":{"line":175,"column":12},"end":{"line":175,"column":103}},"164":{"start":{"line":178,"column":12},"end":{"line":178,"column":92}},"165":{"start":{"line":183,"column":4},"end":{"line":185,"column":5}},"166":{"start":{"line":184,"column":8},"end":{"line":184,"column":54}},"167":{"start":{"line":188,"column":28},"end":{"line":190,"column":32}},"168":{"start":{"line":191,"column":4},"end":{"line":193,"column":5}},"169":{"start":{"line":192,"column":8},"end":{"line":192,"column":97}},"170":{"start":{"line":194,"column":4},"end":{"line":196,"column":5}},"171":{"start":{"line":195,"column":8},"end":{"line":195,"column":93}},"172":{"start":{"line":199,"column":4},"end":{"line":199,"column":49}},"173":{"start":{"line":200,"column":17},"end":{"line":200,"column":71}},"174":{"start":{"line":201,"column":4},"end":{"line":206,"column":5}},"175":{"start":{"line":202,"column":8},"end":{"line":202,"column":121}},"176":{"start":{"line":202,"column":55},"end":{"line":202,"column":117}},"177":{"start":{"line":205,"column":8},"end":{"line":205,"column":62}},"178":{"start":{"line":208,"column":0},"end":{"line":208,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":42},"end":{"line":2,"column":43}},"loc":{"start":{"line":2,"column":54},"end":{"line":12,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":32},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":44},"end":{"line":10,"column":5}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":74},"end":{"line":13,"column":75}},"loc":{"start":{"line":13,"column":96},"end":{"line":16,"column":1}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":58},"end":{"line":15,"column":59}},"loc":{"start":{"line":15,"column":69},"end":{"line":15,"column":85}},"line":15},"4":{"name":"(anonymous_4)","decl":{"start":{"line":16,"column":6},"end":{"line":16,"column":7}},"loc":{"start":{"line":16,"column":28},"end":{"line":19,"column":1}},"line":16},"5":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":80},"end":{"line":20,"column":81}},"loc":{"start":{"line":20,"column":95},"end":{"line":22,"column":1}},"line":20},"6":{"name":"(anonymous_6)","decl":{"start":{"line":22,"column":5},"end":{"line":22,"column":6}},"loc":{"start":{"line":22,"column":20},"end":{"line":24,"column":1}},"line":22},"7":{"name":"(anonymous_7)","decl":{"start":{"line":25,"column":50},"end":{"line":25,"column":51}},"loc":{"start":{"line":25,"column":65},"end":{"line":31,"column":1}},"line":25},"8":{"name":"(anonymous_8)","decl":{"start":{"line":32,"column":44},"end":{"line":32,"column":45}},"loc":{"start":{"line":32,"column":89},"end":{"line":40,"column":1}},"line":32},"9":{"name":"adopt","decl":{"start":{"line":33,"column":13},"end":{"line":33,"column":18}},"loc":{"start":{"line":33,"column":26},"end":{"line":33,"column":112}},"line":33},"10":{"name":"(anonymous_10)","decl":{"start":{"line":33,"column":70},"end":{"line":33,"column":71}},"loc":{"start":{"line":33,"column":89},"end":{"line":33,"column":108}},"line":33},"11":{"name":"(anonymous_11)","decl":{"start":{"line":34,"column":36},"end":{"line":34,"column":37}},"loc":{"start":{"line":34,"column":63},"end":{"line":39,"column":5}},"line":34},"12":{"name":"fulfilled","decl":{"start":{"line":35,"column":17},"end":{"line":35,"column":26}},"loc":{"start":{"line":35,"column":34},"end":{"line":35,"column":99}},"line":35},"13":{"name":"rejected","decl":{"start":{"line":36,"column":17},"end":{"line":36,"column":25}},"loc":{"start":{"line":36,"column":33},"end":{"line":36,"column":102}},"line":36},"14":{"name":"step","decl":{"start":{"line":37,"column":17},"end":{"line":37,"column":21}},"loc":{"start":{"line":37,"column":30},"end":{"line":37,"column":118}},"line":37},"15":{"name":"(anonymous_15)","decl":{"start":{"line":41,"column":48},"end":{"line":41,"column":49}},"loc":{"start":{"line":41,"column":73},"end":{"line":67,"column":1}},"line":41},"16":{"name":"(anonymous_16)","decl":{"start":{"line":42,"column":30},"end":{"line":42,"column":31}},"loc":{"start":{"line":42,"column":41},"end":{"line":42,"column":83}},"line":42},"17":{"name":"(anonymous_17)","decl":{"start":{"line":43,"column":125},"end":{"line":43,"column":126}},"loc":{"start":{"line":43,"column":136},"end":{"line":43,"column":152}},"line":43},"18":{"name":"verb","decl":{"start":{"line":44,"column":13},"end":{"line":44,"column":17}},"loc":{"start":{"line":44,"column":21},"end":{"line":44,"column":70}},"line":44},"19":{"name":"(anonymous_19)","decl":{"start":{"line":44,"column":30},"end":{"line":44,"column":31}},"loc":{"start":{"line":44,"column":43},"end":{"line":44,"column":67}},"line":44},"20":{"name":"step","decl":{"start":{"line":45,"column":13},"end":{"line":45,"column":17}},"loc":{"start":{"line":45,"column":22},"end":{"line":66,"column":5}},"line":45},"21":{"name":"(anonymous_21)","decl":{"start":{"line":68,"column":52},"end":{"line":68,"column":53}},"loc":{"start":{"line":68,"column":78},"end":{"line":76,"column":1}},"line":68},"22":{"name":"_resolveRequests","decl":{"start":{"line":83,"column":9},"end":{"line":83,"column":25}},"loc":{"start":{"line":83,"column":57},"end":{"line":99,"column":1}},"line":83},"23":{"name":"(anonymous_23)","decl":{"start":{"line":84,"column":32},"end":{"line":84,"column":33}},"loc":{"start":{"line":84,"column":74},"end":{"line":98,"column":5}},"line":84},"24":{"name":"_createInstance","decl":{"start":{"line":100,"column":9},"end":{"line":100,"column":24}},"loc":{"start":{"line":100,"column":64},"end":{"line":116,"column":1}},"line":100},"25":{"name":"createInstanceWithInjections","decl":{"start":{"line":117,"column":9},"end":{"line":117,"column":37}},"loc":{"start":{"line":117,"column":44},"end":{"line":126,"column":1}},"line":117},"26":{"name":"(anonymous_26)","decl":{"start":{"line":120,"column":34},"end":{"line":120,"column":35}},"loc":{"start":{"line":120,"column":54},"end":{"line":124,"column":5}},"line":120},"27":{"name":"createInstanceWithInjectionsAsync","decl":{"start":{"line":127,"column":9},"end":{"line":127,"column":42}},"loc":{"start":{"line":127,"column":49},"end":{"line":142,"column":1}},"line":127},"28":{"name":"(anonymous_28)","decl":{"start":{"line":128,"column":43},"end":{"line":128,"column":44}},"loc":{"start":{"line":128,"column":55},"end":{"line":141,"column":5}},"line":128},"29":{"name":"(anonymous_29)","decl":{"start":{"line":130,"column":33},"end":{"line":130,"column":34}},"loc":{"start":{"line":130,"column":47},"end":{"line":140,"column":9}},"line":130},"30":{"name":"possiblyWaitInjections","decl":{"start":{"line":143,"column":9},"end":{"line":143,"column":31}},"loc":{"start":{"line":143,"column":59},"end":{"line":160,"column":1}},"line":143},"31":{"name":"(anonymous_31)","decl":{"start":{"line":144,"column":43},"end":{"line":144,"column":44}},"loc":{"start":{"line":144,"column":55},"end":{"line":159,"column":5}},"line":144},"32":{"name":"(anonymous_32)","decl":{"start":{"line":146,"column":33},"end":{"line":146,"column":34}},"loc":{"start":{"line":146,"column":47},"end":{"line":158,"column":9}},"line":146},"33":{"name":"_getInstanceAfterPostConstruct","decl":{"start":{"line":161,"column":9},"end":{"line":161,"column":39}},"loc":{"start":{"line":161,"column":56},"end":{"line":169,"column":1}},"line":161},"34":{"name":"(anonymous_34)","decl":{"start":{"line":164,"column":40},"end":{"line":164,"column":41}},"loc":{"start":{"line":164,"column":52},"end":{"line":164,"column":70}},"line":164},"35":{"name":"_postConstruct","decl":{"start":{"line":170,"column":9},"end":{"line":170,"column":23}},"loc":{"start":{"line":170,"column":42},"end":{"line":181,"column":1}},"line":170},"36":{"name":"_validateInstanceResolution","decl":{"start":{"line":182,"column":9},"end":{"line":182,"column":36}},"loc":{"start":{"line":182,"column":54},"end":{"line":186,"column":1}},"line":182},"37":{"name":"_throwIfHandlingDeactivation","decl":{"start":{"line":187,"column":9},"end":{"line":187,"column":37}},"loc":{"start":{"line":187,"column":55},"end":{"line":197,"column":1}},"line":187},"38":{"name":"resolveInstance","decl":{"start":{"line":198,"column":9},"end":{"line":198,"column":24}},"loc":{"start":{"line":198,"column":73},"end":{"line":207,"column":1}},"line":198},"39":{"name":"(anonymous_39)","decl":{"start":{"line":202,"column":27},"end":{"line":202,"column":28}},"loc":{"start":{"line":202,"column":53},"end":{"line":202,"column":119}},"line":202}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":15},"end":{"line":12,"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":12,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":15},"end":{"line":10,"column":5}},"type":"binary-expr","locations":[{"start":{"line":3,"column":15},"end":{"line":3,"column":28}},{"start":{"line":3,"column":32},"end":{"line":10,"column":5}}],"line":3},"2":{"loc":{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},"type":"if","locations":[{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},{"start":{"line":6,"column":29},"end":{"line":7,"column":28}}],"line":6},"3":{"loc":{"start":{"line":13,"column":22},"end":{"line":19,"column":3}},"type":"binary-expr","locations":[{"start":{"line":13,"column":23},"end":{"line":13,"column":27}},{"start":{"line":13,"column":31},"end":{"line":13,"column":51}},{"start":{"line":13,"column":57},"end":{"line":19,"column":2}}],"line":13},"4":{"loc":{"start":{"line":13,"column":57},"end":{"line":19,"column":2}},"type":"cond-expr","locations":[{"start":{"line":13,"column":74},"end":{"line":16,"column":1}},{"start":{"line":16,"column":6},"end":{"line":19,"column":1}}],"line":13},"5":{"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},{"start":{"line":14,"column":4},"end":{"line":14,"column":33}}],"line":14},"6":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},{"start":{"line":17,"column":4},"end":{"line":17,"column":33}}],"line":17},"7":{"loc":{"start":{"line":20,"column":25},"end":{"line":24,"column":2}},"type":"binary-expr","locations":[{"start":{"line":20,"column":26},"end":{"line":20,"column":30}},{"start":{"line":20,"column":34},"end":{"line":20,"column":57}},{"start":{"line":20,"column":63},"end":{"line":24,"column":1}}],"line":20},"8":{"loc":{"start":{"line":20,"column":63},"end":{"line":24,"column":1}},"type":"cond-expr","locations":[{"start":{"line":20,"column":80},"end":{"line":22,"column":1}},{"start":{"line":22,"column":5},"end":{"line":24,"column":1}}],"line":20},"9":{"loc":{"start":{"line":25,"column":19},"end":{"line":31,"column":1}},"type":"binary-expr","locations":[{"start":{"line":25,"column":20},"end":{"line":25,"column":24}},{"start":{"line":25,"column":28},"end":{"line":25,"column":45}},{"start":{"line":25,"column":50},"end":{"line":31,"column":1}}],"line":25},"10":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},{"start":{"line":26,"column":4},"end":{"line":26,"column":42}}],"line":26},"11":{"loc":{"start":{"line":26,"column":8},"end":{"line":26,"column":29}},"type":"binary-expr","locations":[{"start":{"line":26,"column":8},"end":{"line":26,"column":11}},{"start":{"line":26,"column":15},"end":{"line":26,"column":29}}],"line":26},"12":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},{"start":{"line":28,"column":4},"end":{"line":28,"column":141}}],"line":28},"13":{"loc":{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},"type":"if","locations":[{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},{"start":{"line":28,"column":40},"end":{"line":28,"column":141}}],"line":28},"14":{"loc":{"start":{"line":28,"column":44},"end":{"line":28,"column":107}},"type":"binary-expr","locations":[{"start":{"line":28,"column":44},"end":{"line":28,"column":59}},{"start":{"line":28,"column":63},"end":{"line":28,"column":107}}],"line":28},"15":{"loc":{"start":{"line":32,"column":16},"end":{"line":40,"column":1}},"type":"binary-expr","locations":[{"start":{"line":32,"column":17},"end":{"line":32,"column":21}},{"start":{"line":32,"column":25},"end":{"line":32,"column":39}},{"start":{"line":32,"column":44},"end":{"line":40,"column":1}}],"line":32},"16":{"loc":{"start":{"line":33,"column":35},"end":{"line":33,"column":109}},"type":"cond-expr","locations":[{"start":{"line":33,"column":56},"end":{"line":33,"column":61}},{"start":{"line":33,"column":64},"end":{"line":33,"column":109}}],"line":33},"17":{"loc":{"start":{"line":34,"column":16},"end":{"line":34,"column":34}},"type":"binary-expr","locations":[{"start":{"line":34,"column":16},"end":{"line":34,"column":17}},{"start":{"line":34,"column":22},"end":{"line":34,"column":33}}],"line":34},"18":{"loc":{"start":{"line":37,"column":32},"end":{"line":37,"column":115}},"type":"cond-expr","locations":[{"start":{"line":37,"column":46},"end":{"line":37,"column":67}},{"start":{"line":37,"column":70},"end":{"line":37,"column":115}}],"line":37},"19":{"loc":{"start":{"line":38,"column":51},"end":{"line":38,"column":67}},"type":"binary-expr","locations":[{"start":{"line":38,"column":51},"end":{"line":38,"column":61}},{"start":{"line":38,"column":65},"end":{"line":38,"column":67}}],"line":38},"20":{"loc":{"start":{"line":41,"column":18},"end":{"line":67,"column":1}},"type":"binary-expr","locations":[{"start":{"line":41,"column":19},"end":{"line":41,"column":23}},{"start":{"line":41,"column":27},"end":{"line":41,"column":43}},{"start":{"line":41,"column":48},"end":{"line":67,"column":1}}],"line":41},"21":{"loc":{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},"type":"if","locations":[{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},{"start":{"line":42,"column":43},"end":{"line":42,"column":68}}],"line":42},"22":{"loc":{"start":{"line":43,"column":71},"end":{"line":43,"column":153}},"type":"binary-expr","locations":[{"start":{"line":43,"column":71},"end":{"line":43,"column":99}},{"start":{"line":43,"column":104},"end":{"line":43,"column":152}}],"line":43},"23":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},{"start":{"line":46,"column":8},"end":{"line":46,"column":70}}],"line":46},"24":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},"type":"if","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},{"start":{"line":48,"column":12},"end":{"line":48,"column":169}}],"line":48},"25":{"loc":{"start":{"line":48,"column":23},"end":{"line":48,"column":158}},"type":"binary-expr","locations":[{"start":{"line":48,"column":23},"end":{"line":48,"column":24}},{"start":{"line":48,"column":29},"end":{"line":48,"column":125}},{"start":{"line":48,"column":130},"end":{"line":48,"column":158}}],"line":48},"26":{"loc":{"start":{"line":48,"column":33},"end":{"line":48,"column":125}},"type":"cond-expr","locations":[{"start":{"line":48,"column":45},"end":{"line":48,"column":56}},{"start":{"line":48,"column":59},"end":{"line":48,"column":125}}],"line":48},"27":{"loc":{"start":{"line":48,"column":59},"end":{"line":48,"column":125}},"type":"cond-expr","locations":[{"start":{"line":48,"column":67},"end":{"line":48,"column":116}},{"start":{"line":48,"column":119},"end":{"line":48,"column":125}}],"line":48},"28":{"loc":{"start":{"line":48,"column":67},"end":{"line":48,"column":116}},"type":"binary-expr","locations":[{"start":{"line":48,"column":67},"end":{"line":48,"column":77}},{"start":{"line":48,"column":82},"end":{"line":48,"column":115}}],"line":48},"29":{"loc":{"start":{"line":48,"column":82},"end":{"line":48,"column":112}},"type":"binary-expr","locations":[{"start":{"line":48,"column":83},"end":{"line":48,"column":98}},{"start":{"line":48,"column":103},"end":{"line":48,"column":112}}],"line":48},"30":{"loc":{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},{"start":{"line":49,"column":12},"end":{"line":49,"column":52}}],"line":49},"31":{"loc":{"start":{"line":50,"column":12},"end":{"line":62,"column":13}},"type":"switch","locations":[{"start":{"line":51,"column":16},"end":{"line":51,"column":23}},{"start":{"line":51,"column":24},"end":{"line":51,"column":46}},{"start":{"line":52,"column":16},"end":{"line":52,"column":72}},{"start":{"line":53,"column":16},"end":{"line":53,"column":65}},{"start":{"line":54,"column":16},"end":{"line":54,"column":65}},{"start":{"line":55,"column":16},"end":{"line":61,"column":43}}],"line":50},"32":{"loc":{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},"type":"if","locations":[{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},{"start":{"line":56,"column":20},"end":{"line":56,"column":128}}],"line":56},"33":{"loc":{"start":{"line":56,"column":24},"end":{"line":56,"column":106}},"type":"binary-expr","locations":[{"start":{"line":56,"column":24},"end":{"line":56,"column":74}},{"start":{"line":56,"column":79},"end":{"line":56,"column":90}},{"start":{"line":56,"column":94},"end":{"line":56,"column":105}}],"line":56},"34":{"loc":{"start":{"line":56,"column":42},"end":{"line":56,"column":73}},"type":"binary-expr","locations":[{"start":{"line":56,"column":42},"end":{"line":56,"column":54}},{"start":{"line":56,"column":58},"end":{"line":56,"column":73}}],"line":56},"35":{"loc":{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},"type":"if","locations":[{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},{"start":{"line":57,"column":20},"end":{"line":57,"column":106}}],"line":57},"36":{"loc":{"start":{"line":57,"column":24},"end":{"line":57,"column":77}},"type":"binary-expr","locations":[{"start":{"line":57,"column":24},"end":{"line":57,"column":35}},{"start":{"line":57,"column":40},"end":{"line":57,"column":42}},{"start":{"line":57,"column":47},"end":{"line":57,"column":59}},{"start":{"line":57,"column":63},"end":{"line":57,"column":75}}],"line":57},"37":{"loc":{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},"type":"if","locations":[{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},{"start":{"line":58,"column":20},"end":{"line":58,"column":89}}],"line":58},"38":{"loc":{"start":{"line":58,"column":24},"end":{"line":58,"column":53}},"type":"binary-expr","locations":[{"start":{"line":58,"column":24},"end":{"line":58,"column":35}},{"start":{"line":58,"column":39},"end":{"line":58,"column":53}}],"line":58},"39":{"loc":{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},"type":"if","locations":[{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},{"start":{"line":59,"column":20},"end":{"line":59,"column":87}}],"line":59},"40":{"loc":{"start":{"line":59,"column":24},"end":{"line":59,"column":43}},"type":"binary-expr","locations":[{"start":{"line":59,"column":24},"end":{"line":59,"column":25}},{"start":{"line":59,"column":29},"end":{"line":59,"column":43}}],"line":59},"41":{"loc":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"type":"if","locations":[{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},{"start":{"line":60,"column":20},"end":{"line":60,"column":42}}],"line":60},"42":{"loc":{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},"type":"if","locations":[{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},{"start":{"line":65,"column":8},"end":{"line":65,"column":35}}],"line":65},"43":{"loc":{"start":{"line":65,"column":52},"end":{"line":65,"column":74}},"type":"cond-expr","locations":[{"start":{"line":65,"column":60},"end":{"line":65,"column":65}},{"start":{"line":65,"column":68},"end":{"line":65,"column":74}}],"line":65},"44":{"loc":{"start":{"line":68,"column":20},"end":{"line":76,"column":1}},"type":"binary-expr","locations":[{"start":{"line":68,"column":21},"end":{"line":68,"column":25}},{"start":{"line":68,"column":29},"end":{"line":68,"column":47}},{"start":{"line":68,"column":52},"end":{"line":76,"column":1}}],"line":68},"45":{"loc":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},{"start":{"line":69,"column":4},"end":{"line":74,"column":5}}],"line":69},"46":{"loc":{"start":{"line":69,"column":8},"end":{"line":69,"column":38}},"type":"binary-expr","locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":12}},{"start":{"line":69,"column":16},"end":{"line":69,"column":38}}],"line":69},"47":{"loc":{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},{"start":{"line":70,"column":8},"end":{"line":73,"column":9}}],"line":70},"48":{"loc":{"start":{"line":70,"column":12},"end":{"line":70,"column":30}},"type":"binary-expr","locations":[{"start":{"line":70,"column":12},"end":{"line":70,"column":14}},{"start":{"line":70,"column":18},"end":{"line":70,"column":30}}],"line":70},"49":{"loc":{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},{"start":{"line":71,"column":12},"end":{"line":71,"column":65}}],"line":71},"50":{"loc":{"start":{"line":75,"column":21},"end":{"line":75,"column":59}},"type":"binary-expr","locations":[{"start":{"line":75,"column":21},"end":{"line":75,"column":23}},{"start":{"line":75,"column":27},"end":{"line":75,"column":59}}],"line":75},"51":{"loc":{"start":{"line":87,"column":8},"end":{"line":93,"column":9}},"type":"if","locations":[{"start":{"line":87,"column":8},"end":{"line":93,"column":9}},{"start":{"line":87,"column":8},"end":{"line":93,"column":9}}],"line":87},"52":{"loc":{"start":{"line":94,"column":8},"end":{"line":96,"column":9}},"type":"if","locations":[{"start":{"line":94,"column":8},"end":{"line":96,"column":9}},{"start":{"line":94,"column":8},"end":{"line":96,"column":9}}],"line":94},"53":{"loc":{"start":{"line":102,"column":4},"end":{"line":114,"column":5}},"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":114,"column":5}},{"start":{"line":102,"column":4},"end":{"line":114,"column":5}}],"line":102},"54":{"loc":{"start":{"line":105,"column":8},"end":{"line":110,"column":9}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":110,"column":9}},{"start":{"line":105,"column":8},"end":{"line":110,"column":9}}],"line":105},"55":{"loc":{"start":{"line":131,"column":12},"end":{"line":139,"column":13}},"type":"switch","locations":[{"start":{"line":132,"column":16},"end":{"line":132,"column":87}},{"start":{"line":133,"column":16},"end":{"line":135,"column":80}},{"start":{"line":136,"column":16},"end":{"line":138,"column":181}}],"line":131},"56":{"loc":{"start":{"line":150,"column":16},"end":{"line":155,"column":17}},"type":"if","locations":[{"start":{"line":150,"column":16},"end":{"line":155,"column":17}},{"start":{"line":150,"column":16},"end":{"line":155,"column":17}}],"line":150},"57":{"loc":{"start":{"line":163,"column":4},"end":{"line":168,"column":5}},"type":"if","locations":[{"start":{"line":163,"column":4},"end":{"line":168,"column":5}},{"start":{"line":163,"column":4},"end":{"line":168,"column":5}}],"line":163},"58":{"loc":{"start":{"line":172,"column":4},"end":{"line":180,"column":5}},"type":"if","locations":[{"start":{"line":172,"column":4},"end":{"line":180,"column":5}},{"start":{"line":172,"column":4},"end":{"line":180,"column":5}}],"line":172},"59":{"loc":{"start":{"line":175,"column":19},"end":{"line":175,"column":102}},"type":"cond-expr","locations":[{"start":{"line":175,"column":82},"end":{"line":175,"column":88}},{"start":{"line":175,"column":91},"end":{"line":175,"column":102}}],"line":175},"60":{"loc":{"start":{"line":175,"column":19},"end":{"line":175,"column":79}},"type":"binary-expr","locations":[{"start":{"line":175,"column":19},"end":{"line":175,"column":62}},{"start":{"line":175,"column":66},"end":{"line":175,"column":79}}],"line":175},"61":{"loc":{"start":{"line":183,"column":4},"end":{"line":185,"column":5}},"type":"if","locations":[{"start":{"line":183,"column":4},"end":{"line":185,"column":5}},{"start":{"line":183,"column":4},"end":{"line":185,"column":5}}],"line":183},"62":{"loc":{"start":{"line":188,"column":66},"end":{"line":190,"column":19}},"type":"cond-expr","locations":[{"start":{"line":189,"column":8},"end":{"line":189,"column":17}},{"start":{"line":190,"column":8},"end":{"line":190,"column":19}}],"line":188},"63":{"loc":{"start":{"line":191,"column":4},"end":{"line":193,"column":5}},"type":"if","locations":[{"start":{"line":191,"column":4},"end":{"line":193,"column":5}},{"start":{"line":191,"column":4},"end":{"line":193,"column":5}}],"line":191},"64":{"loc":{"start":{"line":194,"column":4},"end":{"line":196,"column":5}},"type":"if","locations":[{"start":{"line":194,"column":4},"end":{"line":196,"column":5}},{"start":{"line":194,"column":4},"end":{"line":196,"column":5}}],"line":194},"65":{"loc":{"start":{"line":201,"column":4},"end":{"line":206,"column":5}},"type":"if","locations":[{"start":{"line":201,"column":4},"end":{"line":206,"column":5}},{"start":{"line":201,"column":4},"end":{"line":206,"column":5}}],"line":201}},"s":{"0":1,"1":2,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":2,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":1,"20":0,"21":0,"22":1,"23":1,"24":1,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":1,"33":45,"34":0,"35":68,"36":44,"37":44,"38":0,"39":1,"40":1,"41":1,"42":112,"43":68,"44":1,"45":68,"46":45,"47":1,"48":44,"49":68,"50":0,"51":204,"52":113,"53":113,"54":0,"55":113,"56":226,"57":226,"58":0,"59":226,"60":0,"61":226,"62":113,"63":113,"64":45,"65":45,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":68,"74":68,"75":68,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":113,"92":1,"93":1,"94":226,"95":68,"96":1,"97":67,"98":1,"99":113,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":113,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":815,"115":865,"116":164,"117":164,"118":144,"119":20,"120":20,"121":164,"122":160,"123":164,"124":993,"125":815,"126":114,"127":114,"128":23,"129":91,"130":178,"131":292,"132":113,"133":113,"134":20,"135":20,"136":20,"137":113,"138":23,"139":23,"140":68,"141":23,"142":23,"143":22,"144":22,"145":22,"146":45,"147":45,"148":45,"149":45,"150":28,"151":28,"152":1,"153":27,"154":45,"155":291,"156":290,"157":2,"158":2,"159":288,"160":291,"161":7,"162":7,"163":7,"164":1,"165":997,"166":252,"167":252,"168":252,"169":2,"170":250,"171":2,"172":997,"173":993,"174":292,"175":23,"176":22,"177":269,"178":1},"f":{"0":2,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1,"8":68,"9":45,"10":0,"11":68,"12":44,"13":1,"14":112,"15":68,"16":45,"17":0,"18":204,"19":113,"20":113,"21":113,"22":815,"23":865,"24":993,"25":113,"26":20,"27":23,"28":23,"29":68,"30":45,"31":45,"32":45,"33":291,"34":2,"35":291,"36":997,"37":252,"38":997,"39":22},"b":{"0":[1,1,1],"1":[2,0],"2":[0,0],"3":[1,1,1],"4":[1,0],"5":[0,0],"6":[0,0],"7":[1,1,1],"8":[1,0],"9":[1,1,1],"10":[1,0],"11":[1,1],"12":[0,0],"13":[0,0],"14":[0,0],"15":[1,1,1],"16":[45,0],"17":[68,68],"18":[67,45],"19":[68,68],"20":[1,1,1],"21":[1,44],"22":[68,68],"23":[0,113],"24":[0,226],"25":[226,0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,226],"31":[112,113,45,0,0,68],"32":[68,0],"33":[68,68,67],"34":[68,0],"35":[0,0],"36":[0,0,0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[1,67],"43":[67,0],"44":[1,1,1],"45":[0,113],"46":[113,113],"47":[0,0],"48":[0,0],"49":[0,0],"50":[113,113],"51":[144,20],"52":[160,4],"53":[815,178],"54":[23,91],"55":[23,23,22],"56":[1,27],"57":[2,288],"58":[7,284],"59":[0,7],"60":[7,7],"61":[252,745],"62":[8,244],"63":[2,250],"64":[2,248],"65":[23,269]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/instantiation.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/instantiation.ts"],"names":[],"mappings":"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","sourcesContent":["import { ON_DEACTIVATION_ERROR, POST_CONSTRUCT_ERROR, PRE_DESTROY_ERROR } from \"../constants/error_msgs\";\nimport { BindingScopeEnum, TargetTypeEnum } from \"../constants/literal_types\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { Metadata } from \"../planning/metadata\";\nimport { isPromise, isPromiseOrContainsPromise } from \"../utils/async\";\n\ninterface InstanceCreationInstruction {\n constructorInjections: unknown[],\n propertyInjections: unknown[],\n propertyRequests: interfaces.Request[]\n}\n\ninterface ResolvedRequests extends InstanceCreationInstruction {\n isAsync: boolean\n}\n\ninterface CreateInstanceWithInjectionArg extends InstanceCreationInstruction {\n constr: interfaces.Newable\n}\n\nfunction _resolveRequests(\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): ResolvedRequests {\n return childRequests.reduce((resolvedRequests, childRequest) => {\n const injection = resolveRequest(childRequest)\n const targetType = childRequest.target.type\n if (targetType === TargetTypeEnum.ConstructorArgument) {\n resolvedRequests.constructorInjections.push(injection)\n } else {\n resolvedRequests.propertyRequests.push(childRequest)\n resolvedRequests.propertyInjections.push(injection)\n }\n if (!resolvedRequests.isAsync) {\n resolvedRequests.isAsync = isPromiseOrContainsPromise(injection);\n }\n return resolvedRequests\n }, { constructorInjections: [], propertyInjections: [], propertyRequests: [], isAsync: false })\n}\n\nfunction _createInstance(\n constr: interfaces.Newable,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler,\n): T | Promise {\n let result: T | Promise;\n\n if (childRequests.length > 0) {\n const resolved = _resolveRequests(childRequests, resolveRequest)\n const createInstanceWithInjectionsArg: CreateInstanceWithInjectionArg = { ...resolved, constr }\n if (resolved.isAsync) {\n result = createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg)\n } else {\n result = createInstanceWithInjections(createInstanceWithInjectionsArg)\n }\n } else {\n result = new constr();\n }\n\n return result;\n}\n\nfunction createInstanceWithInjections(\n args: CreateInstanceWithInjectionArg\n): T {\n const instance = new args.constr(...args.constructorInjections as never[]);\n args.propertyRequests.forEach((r: interfaces.Request, index: number) => {\n const property = r.target.identifier;\n const injection = args.propertyInjections[index];\n (instance as Record)[property] = injection;\n });\n return instance\n}\n\nasync function createInstanceWithInjectionsAsync(\n args: CreateInstanceWithInjectionArg\n): Promise {\n const constructorInjections = await possiblyWaitInjections(args.constructorInjections)\n const propertyInjections = await possiblyWaitInjections(args.propertyInjections)\n return createInstanceWithInjections({ ...args, constructorInjections, propertyInjections })\n}\n\nasync function possiblyWaitInjections(possiblePromiseinjections: unknown[]) {\n const injections: unknown[] = [];\n for (const injection of possiblePromiseinjections) {\n if (Array.isArray(injection)) {\n injections.push(Promise.all(injection))\n } else {\n injections.push(injection)\n }\n }\n return Promise.all(injections)\n}\n\nfunction _getInstanceAfterPostConstruct(constr: interfaces.Newable, result: T): T | Promise {\n\n const postConstructResult = _postConstruct(constr, result);\n\n if (isPromise(postConstructResult)) {\n return postConstructResult.then(() => result);\n } else {\n return result;\n }\n}\n\nfunction _postConstruct(constr: interfaces.Newable, instance: T): void | Promise {\n if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {\n const data: Metadata = Reflect.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);\n try {\n return (instance as T & Record void>)[(data.value as string)]?.();\n } catch (e) {\n throw new Error(POST_CONSTRUCT_ERROR(constr.name, e.message));\n }\n }\n}\n\nfunction _validateInstanceResolution(binding: interfaces.Binding, constr: interfaces.Newable): void {\n if (binding.scope !== BindingScopeEnum.Singleton) {\n _throwIfHandlingDeactivation(binding, constr);\n }\n}\n\nfunction _throwIfHandlingDeactivation(binding: interfaces.Binding, constr: interfaces.Newable): void {\n const scopeErrorMessage = `Class cannot be instantiated in ${binding.scope === BindingScopeEnum.Request ?\n \"request\" :\n \"transient\"} scope.`;\n if (typeof binding.onDeactivation === \"function\") {\n throw new Error(ON_DEACTIVATION_ERROR(constr.name, scopeErrorMessage));\n }\n\n if (Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constr)) {\n throw new Error(PRE_DESTROY_ERROR(constr.name, scopeErrorMessage));\n }\n}\n\nfunction resolveInstance(\n binding: interfaces.Binding,\n constr: interfaces.Newable,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler,\n): T | Promise {\n _validateInstanceResolution(binding, constr);\n\n const result = _createInstance(constr, childRequests, resolveRequest);\n\n if (isPromise(result)) {\n return result.then((resolvedResult) => _getInstanceAfterPostConstruct(constr, resolvedResult));\n } else {\n return _getInstanceAfterPostConstruct(constr, result);\n }\n}\n\nexport { resolveInstance };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"707078cdc4d77b82932c968b9673841dd524b1eb","contentHash":"88ac6426e32fbd9962677aadb7d3f95c118b1e32e4292d7e790791e6a0f8ea12"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_to_syntax.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_to_syntax.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":33}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":24,"column":22},"end":{"line":24,"column":59}},"25":{"start":{"line":25,"column":34},"end":{"line":25,"column":72}},"26":{"start":{"line":26,"column":31},"end":{"line":26,"column":66}},"27":{"start":{"line":27,"column":23},"end":{"line":105,"column":3}},"28":{"start":{"line":29,"column":8},"end":{"line":29,"column":32}},"29":{"start":{"line":31,"column":4},"end":{"line":35,"column":6}},"30":{"start":{"line":32,"column":8},"end":{"line":32,"column":70}},"31":{"start":{"line":33,"column":8},"end":{"line":33,"column":55}},"32":{"start":{"line":34,"column":8},"end":{"line":34,"column":84}},"33":{"start":{"line":36,"column":4},"end":{"line":42,"column":6}},"34":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"35":{"start":{"line":38,"column":12},"end":{"line":38,"column":67}},"36":{"start":{"line":40,"column":19},"end":{"line":40,"column":50}},"37":{"start":{"line":41,"column":8},"end":{"line":41,"column":29}},"38":{"start":{"line":43,"column":4},"end":{"line":50,"column":6}},"39":{"start":{"line":44,"column":8},"end":{"line":44,"column":75}},"40":{"start":{"line":45,"column":8},"end":{"line":45,"column":36}},"41":{"start":{"line":46,"column":8},"end":{"line":46,"column":42}},"42":{"start":{"line":47,"column":8},"end":{"line":47,"column":48}},"43":{"start":{"line":48,"column":8},"end":{"line":48,"column":73}},"44":{"start":{"line":49,"column":8},"end":{"line":49,"column":79}},"45":{"start":{"line":51,"column":4},"end":{"line":57,"column":6}},"46":{"start":{"line":52,"column":8},"end":{"line":52,"column":74}},"47":{"start":{"line":53,"column":8},"end":{"line":53,"column":35}},"48":{"start":{"line":54,"column":8},"end":{"line":54,"column":42}},"49":{"start":{"line":55,"column":8},"end":{"line":55,"column":48}},"50":{"start":{"line":56,"column":8},"end":{"line":56,"column":84}},"51":{"start":{"line":58,"column":4},"end":{"line":63,"column":6}},"52":{"start":{"line":59,"column":8},"end":{"line":59,"column":73}},"53":{"start":{"line":60,"column":8},"end":{"line":60,"column":55}},"54":{"start":{"line":61,"column":8},"end":{"line":61,"column":73}},"55":{"start":{"line":62,"column":8},"end":{"line":62,"column":79}},"56":{"start":{"line":64,"column":4},"end":{"line":69,"column":6}},"57":{"start":{"line":65,"column":8},"end":{"line":65,"column":69}},"58":{"start":{"line":66,"column":8},"end":{"line":66,"column":40}},"59":{"start":{"line":67,"column":8},"end":{"line":67,"column":73}},"60":{"start":{"line":68,"column":8},"end":{"line":68,"column":79}},"61":{"start":{"line":70,"column":4},"end":{"line":78,"column":6}},"62":{"start":{"line":71,"column":8},"end":{"line":73,"column":9}},"63":{"start":{"line":72,"column":12},"end":{"line":72,"column":65}},"64":{"start":{"line":74,"column":34},"end":{"line":74,"column":60}},"65":{"start":{"line":75,"column":8},"end":{"line":75,"column":70}},"66":{"start":{"line":76,"column":8},"end":{"line":76,"column":73}},"67":{"start":{"line":77,"column":8},"end":{"line":77,"column":35}},"68":{"start":{"line":79,"column":4},"end":{"line":87,"column":6}},"69":{"start":{"line":80,"column":8},"end":{"line":80,"column":69}},"70":{"start":{"line":81,"column":8},"end":{"line":84,"column":10}},"71":{"start":{"line":82,"column":30},"end":{"line":82,"column":94}},"72":{"start":{"line":82,"column":44},"end":{"line":82,"column":92}},"73":{"start":{"line":83,"column":12},"end":{"line":83,"column":31}},"74":{"start":{"line":85,"column":8},"end":{"line":85,"column":73}},"75":{"start":{"line":86,"column":8},"end":{"line":86,"column":79}},"76":{"start":{"line":88,"column":4},"end":{"line":94,"column":6}},"77":{"start":{"line":89,"column":8},"end":{"line":89,"column":69}},"78":{"start":{"line":90,"column":8},"end":{"line":92,"column":10}},"79":{"start":{"line":91,"column":12},"end":{"line":91,"column":101}},"80":{"start":{"line":91,"column":38},"end":{"line":91,"column":98}},"81":{"start":{"line":93,"column":8},"end":{"line":93,"column":79}},"82":{"start":{"line":95,"column":4},"end":{"line":100,"column":6}},"83":{"start":{"line":96,"column":8},"end":{"line":96,"column":70}},"84":{"start":{"line":97,"column":8},"end":{"line":97,"column":42}},"85":{"start":{"line":98,"column":8},"end":{"line":98,"column":73}},"86":{"start":{"line":99,"column":8},"end":{"line":99,"column":79}},"87":{"start":{"line":101,"column":4},"end":{"line":103,"column":6}},"88":{"start":{"line":102,"column":8},"end":{"line":102,"column":91}},"89":{"start":{"line":102,"column":49},"end":{"line":102,"column":87}},"90":{"start":{"line":104,"column":4},"end":{"line":104,"column":27}},"91":{"start":{"line":106,"column":0},"end":{"line":106,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":27,"column":23},"end":{"line":27,"column":24}},"loc":{"start":{"line":27,"column":35},"end":{"line":105,"column":1}},"line":27},"7":{"name":"BindingToSyntax","decl":{"start":{"line":28,"column":13},"end":{"line":28,"column":28}},"loc":{"start":{"line":28,"column":38},"end":{"line":30,"column":5}},"line":28},"8":{"name":"(anonymous_8)","decl":{"start":{"line":31,"column":35},"end":{"line":31,"column":36}},"loc":{"start":{"line":31,"column":58},"end":{"line":35,"column":5}},"line":31},"9":{"name":"(anonymous_9)","decl":{"start":{"line":36,"column":39},"end":{"line":36,"column":40}},"loc":{"start":{"line":36,"column":51},"end":{"line":42,"column":5}},"line":36},"10":{"name":"(anonymous_10)","decl":{"start":{"line":43,"column":48},"end":{"line":43,"column":49}},"loc":{"start":{"line":43,"column":65},"end":{"line":50,"column":5}},"line":43},"11":{"name":"(anonymous_11)","decl":{"start":{"line":51,"column":47},"end":{"line":51,"column":48}},"loc":{"start":{"line":51,"column":63},"end":{"line":57,"column":5}},"line":51},"12":{"name":"(anonymous_12)","decl":{"start":{"line":58,"column":46},"end":{"line":58,"column":47}},"loc":{"start":{"line":58,"column":69},"end":{"line":63,"column":5}},"line":58},"13":{"name":"(anonymous_13)","decl":{"start":{"line":64,"column":42},"end":{"line":64,"column":43}},"loc":{"start":{"line":64,"column":61},"end":{"line":69,"column":5}},"line":64},"14":{"name":"(anonymous_14)","decl":{"start":{"line":70,"column":43},"end":{"line":70,"column":44}},"loc":{"start":{"line":70,"column":59},"end":{"line":78,"column":5}},"line":70},"15":{"name":"(anonymous_15)","decl":{"start":{"line":79,"column":46},"end":{"line":79,"column":47}},"loc":{"start":{"line":79,"column":75},"end":{"line":87,"column":5}},"line":79},"16":{"name":"(anonymous_16)","decl":{"start":{"line":81,"column":32},"end":{"line":81,"column":33}},"loc":{"start":{"line":81,"column":51},"end":{"line":84,"column":9}},"line":81},"17":{"name":"(anonymous_17)","decl":{"start":{"line":82,"column":30},"end":{"line":82,"column":31}},"loc":{"start":{"line":82,"column":42},"end":{"line":82,"column":94}},"line":82},"18":{"name":"(anonymous_18)","decl":{"start":{"line":88,"column":51},"end":{"line":88,"column":52}},"loc":{"start":{"line":88,"column":80},"end":{"line":94,"column":5}},"line":88},"19":{"name":"(anonymous_19)","decl":{"start":{"line":90,"column":32},"end":{"line":90,"column":33}},"loc":{"start":{"line":90,"column":51},"end":{"line":92,"column":9}},"line":90},"20":{"name":"(anonymous_20)","decl":{"start":{"line":91,"column":19},"end":{"line":91,"column":20}},"loc":{"start":{"line":91,"column":36},"end":{"line":91,"column":100}},"line":91},"21":{"name":"(anonymous_21)","decl":{"start":{"line":95,"column":43},"end":{"line":95,"column":44}},"loc":{"start":{"line":95,"column":63},"end":{"line":100,"column":5}},"line":95},"22":{"name":"(anonymous_22)","decl":{"start":{"line":101,"column":42},"end":{"line":101,"column":43}},"loc":{"start":{"line":101,"column":61},"end":{"line":103,"column":5}},"line":101},"23":{"name":"(anonymous_23)","decl":{"start":{"line":102,"column":28},"end":{"line":102,"column":29}},"loc":{"start":{"line":102,"column":47},"end":{"line":102,"column":89}},"line":102}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},{"start":{"line":37,"column":8},"end":{"line":39,"column":9}}],"line":37},"13":{"loc":{"start":{"line":71,"column":8},"end":{"line":73,"column":9}},"type":"if","locations":[{"start":{"line":71,"column":8},"end":{"line":73,"column":9}},{"start":{"line":71,"column":8},"end":{"line":73,"column":9}}],"line":71}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":24495,"29":1,"30":328,"31":328,"32":328,"33":1,"34":60,"35":1,"36":59,"37":59,"38":1,"39":24085,"40":24085,"41":24085,"42":24085,"43":24085,"44":24085,"45":1,"46":65,"47":65,"48":65,"49":65,"50":65,"51":1,"52":4,"53":4,"54":4,"55":4,"56":1,"57":4,"58":4,"59":4,"60":4,"61":1,"62":4,"63":1,"64":3,"65":3,"66":3,"67":3,"68":1,"69":3,"70":3,"71":2,"72":1,"73":2,"74":3,"75":3,"76":1,"77":1,"78":1,"79":0,"80":0,"81":1,"82":1,"83":7,"84":7,"85":7,"86":7,"87":1,"88":4,"89":5,"90":1,"91":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":24495,"8":328,"9":60,"10":24085,"11":65,"12":4,"13":4,"14":4,"15":3,"16":2,"17":1,"18":1,"19":0,"20":0,"21":7,"22":4,"23":5},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,59],"13":[1,3]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_to_syntax.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_to_syntax.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { BindingScopeEnum, BindingTypeEnum } from \"../constants/literal_types\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { BindingInWhenOnSyntax } from \"./binding_in_when_on_syntax\";\nimport { BindingWhenOnSyntax } from \"./binding_when_on_syntax\";\n\nclass BindingToSyntax implements interfaces.BindingToSyntax {\n\n private _binding: interfaces.Binding;\n\n public constructor(binding: interfaces.Binding) {\n this._binding = binding;\n }\n\n public to(constructor: new (...args: never[]) => T): interfaces.BindingInWhenOnSyntax {\n this._binding.type = BindingTypeEnum.Instance;\n this._binding.implementationType = constructor;\n return new BindingInWhenOnSyntax(this._binding);\n }\n\n public toSelf(): interfaces.BindingInWhenOnSyntax {\n if (typeof this._binding.serviceIdentifier !== \"function\") {\n throw new Error(`${ERROR_MSGS.INVALID_TO_SELF_VALUE}`);\n }\n const self = this._binding.serviceIdentifier;\n return this.to(self);\n }\n\n public toConstantValue(value: T): interfaces.BindingWhenOnSyntax {\n this._binding.type = BindingTypeEnum.ConstantValue;\n this._binding.cache = value;\n this._binding.dynamicValue = null;\n this._binding.implementationType = null;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax(this._binding);\n }\n\n public toDynamicValue(func: interfaces.DynamicValue): interfaces.BindingInWhenOnSyntax {\n this._binding.type = BindingTypeEnum.DynamicValue;\n this._binding.cache = null;\n this._binding.dynamicValue = func;\n this._binding.implementationType = null;\n return new BindingInWhenOnSyntax(this._binding);\n }\n\n public toConstructor(constructor: interfaces.Newable): interfaces.BindingWhenOnSyntax {\n this._binding.type = BindingTypeEnum.Constructor;\n this._binding.implementationType = constructor as unknown as T;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax(this._binding);\n }\n\n public toFactory(factory: interfaces.FactoryCreator): interfaces.BindingWhenOnSyntax {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = factory;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax(this._binding);\n }\n\n public toFunction(func: T): interfaces.BindingWhenOnSyntax {\n // toFunction is an alias of toConstantValue\n if (typeof func !== \"function\") { throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING); }\n const bindingWhenOnSyntax = this.toConstantValue(func);\n this._binding.type = BindingTypeEnum.Function;\n this._binding.scope = BindingScopeEnum.Singleton;\n return bindingWhenOnSyntax;\n }\n\n public toAutoFactory(serviceIdentifier: interfaces.ServiceIdentifier): interfaces.BindingWhenOnSyntax {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = (context) => {\n const autofactory = () => context.container.get(serviceIdentifier);\n return autofactory;\n };\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax(this._binding);\n }\n\n public toAutoNamedFactory(serviceIdentifier: interfaces.ServiceIdentifier): BindingWhenOnSyntax {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = (context) => {\n return (named: unknown) => context.container.getNamed(serviceIdentifier, named as string);\n };\n return new BindingWhenOnSyntax(this._binding);\n }\n\n public toProvider(provider: interfaces.ProviderCreator): interfaces.BindingWhenOnSyntax {\n this._binding.type = BindingTypeEnum.Provider;\n this._binding.provider = provider;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax(this._binding);\n }\n\n public toService(service: string | symbol | interfaces.Newable | interfaces.Abstract): void {\n this.toDynamicValue(\n (context) => context.container.get(service)\n );\n }\n\n}\n\nexport { BindingToSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3a905866a0e0f3f733794e9d963bea16449510fe","contentHash":"5fe96c0579c6779f895a7a669f31f38f181d92c8f70edab716d1f8b56a5937dd"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_when_on_syntax.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_when_on_syntax.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"2":{"start":{"line":4,"column":26},"end":{"line":4,"column":56}},"3":{"start":{"line":5,"column":26},"end":{"line":5,"column":56}},"4":{"start":{"line":6,"column":28},"end":{"line":6,"column":60}},"5":{"start":{"line":7,"column":29},"end":{"line":75,"column":3}},"6":{"start":{"line":9,"column":8},"end":{"line":9,"column":32}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":93}},"8":{"start":{"line":11,"column":8},"end":{"line":11,"column":87}},"9":{"start":{"line":12,"column":8},"end":{"line":12,"column":81}},"10":{"start":{"line":14,"column":4},"end":{"line":16,"column":6}},"11":{"start":{"line":15,"column":8},"end":{"line":15,"column":54}},"12":{"start":{"line":17,"column":4},"end":{"line":19,"column":6}},"13":{"start":{"line":18,"column":8},"end":{"line":18,"column":56}},"14":{"start":{"line":20,"column":4},"end":{"line":22,"column":6}},"15":{"start":{"line":21,"column":8},"end":{"line":21,"column":56}},"16":{"start":{"line":23,"column":4},"end":{"line":25,"column":6}},"17":{"start":{"line":24,"column":8},"end":{"line":24,"column":56}},"18":{"start":{"line":26,"column":4},"end":{"line":28,"column":6}},"19":{"start":{"line":27,"column":8},"end":{"line":27,"column":61}},"20":{"start":{"line":29,"column":4},"end":{"line":31,"column":6}},"21":{"start":{"line":30,"column":8},"end":{"line":30,"column":61}},"22":{"start":{"line":32,"column":4},"end":{"line":34,"column":6}},"23":{"start":{"line":33,"column":8},"end":{"line":33,"column":68}},"24":{"start":{"line":35,"column":4},"end":{"line":37,"column":6}},"25":{"start":{"line":36,"column":8},"end":{"line":36,"column":64}},"26":{"start":{"line":38,"column":4},"end":{"line":40,"column":6}},"27":{"start":{"line":39,"column":8},"end":{"line":39,"column":61}},"28":{"start":{"line":41,"column":4},"end":{"line":43,"column":6}},"29":{"start":{"line":42,"column":8},"end":{"line":42,"column":68}},"30":{"start":{"line":44,"column":4},"end":{"line":46,"column":6}},"31":{"start":{"line":45,"column":8},"end":{"line":45,"column":67}},"32":{"start":{"line":47,"column":4},"end":{"line":49,"column":6}},"33":{"start":{"line":48,"column":8},"end":{"line":48,"column":66}},"34":{"start":{"line":50,"column":4},"end":{"line":52,"column":6}},"35":{"start":{"line":51,"column":8},"end":{"line":51,"column":66}},"36":{"start":{"line":53,"column":4},"end":{"line":55,"column":6}},"37":{"start":{"line":54,"column":8},"end":{"line":54,"column":73}},"38":{"start":{"line":56,"column":4},"end":{"line":58,"column":6}},"39":{"start":{"line":57,"column":8},"end":{"line":57,"column":65}},"40":{"start":{"line":59,"column":4},"end":{"line":61,"column":6}},"41":{"start":{"line":60,"column":8},"end":{"line":60,"column":72}},"42":{"start":{"line":62,"column":4},"end":{"line":64,"column":6}},"43":{"start":{"line":63,"column":8},"end":{"line":63,"column":74}},"44":{"start":{"line":65,"column":4},"end":{"line":67,"column":6}},"45":{"start":{"line":66,"column":8},"end":{"line":66,"column":73}},"46":{"start":{"line":68,"column":4},"end":{"line":70,"column":6}},"47":{"start":{"line":69,"column":8},"end":{"line":69,"column":59}},"48":{"start":{"line":71,"column":4},"end":{"line":73,"column":6}},"49":{"start":{"line":72,"column":8},"end":{"line":72,"column":61}},"50":{"start":{"line":74,"column":4},"end":{"line":74,"column":33}},"51":{"start":{"line":76,"column":0},"end":{"line":76,"column":54}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":29},"end":{"line":7,"column":30}},"loc":{"start":{"line":7,"column":41},"end":{"line":75,"column":1}},"line":7},"1":{"name":"BindingInWhenOnSyntax","decl":{"start":{"line":8,"column":13},"end":{"line":8,"column":34}},"loc":{"start":{"line":8,"column":44},"end":{"line":13,"column":5}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":53},"end":{"line":14,"column":54}},"loc":{"start":{"line":14,"column":65},"end":{"line":16,"column":5}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":55},"end":{"line":17,"column":56}},"loc":{"start":{"line":17,"column":67},"end":{"line":19,"column":5}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":55},"end":{"line":20,"column":56}},"loc":{"start":{"line":20,"column":67},"end":{"line":22,"column":5}},"line":20},"5":{"name":"(anonymous_5)","decl":{"start":{"line":23,"column":43},"end":{"line":23,"column":44}},"loc":{"start":{"line":23,"column":65},"end":{"line":25,"column":5}},"line":23},"6":{"name":"(anonymous_6)","decl":{"start":{"line":26,"column":54},"end":{"line":26,"column":55}},"loc":{"start":{"line":26,"column":70},"end":{"line":28,"column":5}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":29,"column":58},"end":{"line":29,"column":59}},"loc":{"start":{"line":29,"column":70},"end":{"line":31,"column":5}},"line":29},"8":{"name":"(anonymous_8)","decl":{"start":{"line":32,"column":55},"end":{"line":32,"column":56}},"loc":{"start":{"line":32,"column":77},"end":{"line":34,"column":5}},"line":32},"9":{"name":"(anonymous_9)","decl":{"start":{"line":35,"column":55},"end":{"line":35,"column":56}},"loc":{"start":{"line":35,"column":73},"end":{"line":37,"column":5}},"line":35},"10":{"name":"(anonymous_10)","decl":{"start":{"line":38,"column":54},"end":{"line":38,"column":55}},"loc":{"start":{"line":38,"column":70},"end":{"line":40,"column":5}},"line":38},"11":{"name":"(anonymous_11)","decl":{"start":{"line":41,"column":55},"end":{"line":41,"column":56}},"loc":{"start":{"line":41,"column":77},"end":{"line":43,"column":5}},"line":41},"12":{"name":"(anonymous_12)","decl":{"start":{"line":44,"column":56},"end":{"line":44,"column":57}},"loc":{"start":{"line":44,"column":76},"end":{"line":46,"column":5}},"line":44},"13":{"name":"(anonymous_13)","decl":{"start":{"line":47,"column":55},"end":{"line":47,"column":56}},"loc":{"start":{"line":47,"column":75},"end":{"line":49,"column":5}},"line":47},"14":{"name":"(anonymous_14)","decl":{"start":{"line":50,"column":59},"end":{"line":50,"column":60}},"loc":{"start":{"line":50,"column":75},"end":{"line":52,"column":5}},"line":50},"15":{"name":"(anonymous_15)","decl":{"start":{"line":53,"column":60},"end":{"line":53,"column":61}},"loc":{"start":{"line":53,"column":82},"end":{"line":55,"column":5}},"line":53},"16":{"name":"(anonymous_16)","decl":{"start":{"line":56,"column":58},"end":{"line":56,"column":59}},"loc":{"start":{"line":56,"column":74},"end":{"line":58,"column":5}},"line":56},"17":{"name":"(anonymous_17)","decl":{"start":{"line":59,"column":59},"end":{"line":59,"column":60}},"loc":{"start":{"line":59,"column":81},"end":{"line":61,"column":5}},"line":59},"18":{"name":"(anonymous_18)","decl":{"start":{"line":62,"column":61},"end":{"line":62,"column":62}},"loc":{"start":{"line":62,"column":83},"end":{"line":64,"column":5}},"line":62},"19":{"name":"(anonymous_19)","decl":{"start":{"line":65,"column":60},"end":{"line":65,"column":61}},"loc":{"start":{"line":65,"column":82},"end":{"line":67,"column":5}},"line":65},"20":{"name":"(anonymous_20)","decl":{"start":{"line":68,"column":51},"end":{"line":68,"column":52}},"loc":{"start":{"line":68,"column":70},"end":{"line":70,"column":5}},"line":68},"21":{"name":"(anonymous_21)","decl":{"start":{"line":71,"column":53},"end":{"line":71,"column":54}},"loc":{"start":{"line":71,"column":72},"end":{"line":73,"column":5}},"line":71}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":397,"7":397,"8":397,"9":397,"10":1,"11":5,"12":1,"13":45,"14":1,"15":5,"16":1,"17":5,"18":1,"19":29,"20":1,"21":2,"22":1,"23":19,"24":1,"25":5,"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":5,"48":1,"49":1,"50":1,"51":1},"f":{"0":1,"1":397,"2":5,"3":45,"4":5,"5":5,"6":29,"7":2,"8":19,"9":5,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":5,"21":1},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_when_on_syntax.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_when_on_syntax.ts"],"names":[],"mappings":"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","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { BindingInSyntax } from \"./binding_in_syntax\";\nimport { BindingOnSyntax } from \"./binding_on_syntax\";\nimport { BindingWhenSyntax } from \"./binding_when_syntax\";\n\nclass BindingInWhenOnSyntax implements interfaces.BindingInSyntax, interfaces.BindingWhenSyntax, interfaces.BindingOnSyntax {\n\n private _bindingInSyntax: interfaces.BindingInSyntax;\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax;\n private _bindingOnSyntax: interfaces.BindingOnSyntax;\n private _binding: interfaces.Binding;\n\n public constructor(binding: interfaces.Binding) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax(this._binding);\n this._bindingOnSyntax = new BindingOnSyntax(this._binding);\n this._bindingInSyntax = new BindingInSyntax(binding);\n }\n\n public inRequestScope(): interfaces.BindingWhenOnSyntax {\n return this._bindingInSyntax.inRequestScope();\n }\n\n public inSingletonScope(): interfaces.BindingWhenOnSyntax {\n return this._bindingInSyntax.inSingletonScope();\n }\n\n public inTransientScope(): interfaces.BindingWhenOnSyntax {\n return this._bindingInSyntax.inTransientScope();\n }\n\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.when(constraint);\n }\n\n public whenTargetNamed(name: string): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n public whenTargetIsDefault(): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenTargetIsDefault();\n }\n\n public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n }\n\n public whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenInjectedInto(parent);\n }\n\n public whenParentNamed(name: string): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenParentNamed(name);\n }\n\n public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\n }\n\n public whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n }\n\n public whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n }\n\n public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n }\n\n public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n }\n\n public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n }\n\n public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n }\n\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n }\n\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n }\n\n public onActivation(handler: (context: interfaces.Context, injectable: T) => T | Promise): interfaces.BindingWhenSyntax {\n return this._bindingOnSyntax.onActivation(handler);\n }\n\n public onDeactivation(handler: (injectable: T) => void | Promise): interfaces.BindingWhenSyntax {\n return this._bindingOnSyntax.onDeactivation(handler);\n }\n\n}\n\nexport { BindingInWhenOnSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f6fdca5f050705eed918ea2241f1900cdb96ff85","contentHash":"600a8582ba66c389c6b02e0136d07a876deb1d99c77a9035de20a1a60d5dfe9f"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_syntax.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_syntax.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":59}},"3":{"start":{"line":5,"column":31},"end":{"line":5,"column":66}},"4":{"start":{"line":6,"column":23},"end":{"line":23,"column":3}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":32}},"6":{"start":{"line":10,"column":4},"end":{"line":13,"column":6}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":71}},"8":{"start":{"line":12,"column":8},"end":{"line":12,"column":79}},"9":{"start":{"line":14,"column":4},"end":{"line":17,"column":6}},"10":{"start":{"line":15,"column":8},"end":{"line":15,"column":73}},"11":{"start":{"line":16,"column":8},"end":{"line":16,"column":79}},"12":{"start":{"line":18,"column":4},"end":{"line":21,"column":6}},"13":{"start":{"line":19,"column":8},"end":{"line":19,"column":73}},"14":{"start":{"line":20,"column":8},"end":{"line":20,"column":79}},"15":{"start":{"line":22,"column":4},"end":{"line":22,"column":27}},"16":{"start":{"line":24,"column":0},"end":{"line":24,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":23},"end":{"line":6,"column":24}},"loc":{"start":{"line":6,"column":35},"end":{"line":23,"column":1}},"line":6},"1":{"name":"BindingInSyntax","decl":{"start":{"line":7,"column":13},"end":{"line":7,"column":28}},"loc":{"start":{"line":7,"column":38},"end":{"line":9,"column":5}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":47},"end":{"line":10,"column":48}},"loc":{"start":{"line":10,"column":59},"end":{"line":13,"column":5}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":49},"end":{"line":14,"column":50}},"loc":{"start":{"line":14,"column":61},"end":{"line":17,"column":5}},"line":14},"4":{"name":"(anonymous_4)","decl":{"start":{"line":18,"column":49},"end":{"line":18,"column":50}},"loc":{"start":{"line":18,"column":61},"end":{"line":21,"column":5}},"line":18}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":399,"6":1,"7":5,"8":5,"9":1,"10":45,"11":45,"12":1,"13":5,"14":5,"15":1,"16":1},"f":{"0":1,"1":399,"2":5,"3":45,"4":5},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_syntax.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_syntax.ts"],"names":[],"mappings":";;;AAAA,4DAA8D;AAE9D,mEAA+D;AAE/D;IAIE,yBAAmB,OAA8B;QAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,wCAAc,GAArB;QACE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,OAAO,CAAC;QAC/C,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEM,0CAAgB,GAAvB;QACE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEM,0CAAgB,GAAvB;QACE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEH,sBAAC;AAAD,CAAC,AAvBD,IAuBC;AAEQ,0CAAe","sourcesContent":["import { BindingScopeEnum } from \"../constants/literal_types\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { BindingWhenOnSyntax } from \"./binding_when_on_syntax\";\n\nclass BindingInSyntax implements interfaces.BindingInSyntax {\n\n private _binding: interfaces.Binding;\n\n public constructor(binding: interfaces.Binding) {\n this._binding = binding;\n }\n\n public inRequestScope(): interfaces.BindingWhenOnSyntax {\n this._binding.scope = BindingScopeEnum.Request;\n return new BindingWhenOnSyntax(this._binding);\n }\n\n public inSingletonScope(): interfaces.BindingWhenOnSyntax {\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax(this._binding);\n }\n\n public inTransientScope(): interfaces.BindingWhenOnSyntax {\n this._binding.scope = BindingScopeEnum.Transient;\n return new BindingWhenOnSyntax(this._binding);\n }\n\n}\n\nexport { BindingInSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"dad267629fccc6b333b6825525c1c5ae909c5e88","contentHash":"69c6a89e7f9893a4850c68f42d37bc69831779788c639085611d620346624521"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_on_syntax.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_on_syntax.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":37}},"2":{"start":{"line":4,"column":26},"end":{"line":4,"column":56}},"3":{"start":{"line":5,"column":28},"end":{"line":5,"column":60}},"4":{"start":{"line":6,"column":27},"end":{"line":64,"column":3}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":32}},"6":{"start":{"line":9,"column":8},"end":{"line":9,"column":93}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":87}},"8":{"start":{"line":12,"column":4},"end":{"line":14,"column":6}},"9":{"start":{"line":13,"column":8},"end":{"line":13,"column":56}},"10":{"start":{"line":15,"column":4},"end":{"line":17,"column":6}},"11":{"start":{"line":16,"column":8},"end":{"line":16,"column":61}},"12":{"start":{"line":18,"column":4},"end":{"line":20,"column":6}},"13":{"start":{"line":19,"column":8},"end":{"line":19,"column":61}},"14":{"start":{"line":21,"column":4},"end":{"line":23,"column":6}},"15":{"start":{"line":22,"column":8},"end":{"line":22,"column":68}},"16":{"start":{"line":24,"column":4},"end":{"line":26,"column":6}},"17":{"start":{"line":25,"column":8},"end":{"line":25,"column":64}},"18":{"start":{"line":27,"column":4},"end":{"line":29,"column":6}},"19":{"start":{"line":28,"column":8},"end":{"line":28,"column":61}},"20":{"start":{"line":30,"column":4},"end":{"line":32,"column":6}},"21":{"start":{"line":31,"column":8},"end":{"line":31,"column":68}},"22":{"start":{"line":33,"column":4},"end":{"line":35,"column":6}},"23":{"start":{"line":34,"column":8},"end":{"line":34,"column":67}},"24":{"start":{"line":36,"column":4},"end":{"line":38,"column":6}},"25":{"start":{"line":37,"column":8},"end":{"line":37,"column":66}},"26":{"start":{"line":39,"column":4},"end":{"line":41,"column":6}},"27":{"start":{"line":40,"column":8},"end":{"line":40,"column":66}},"28":{"start":{"line":42,"column":4},"end":{"line":44,"column":6}},"29":{"start":{"line":43,"column":8},"end":{"line":43,"column":73}},"30":{"start":{"line":45,"column":4},"end":{"line":47,"column":6}},"31":{"start":{"line":46,"column":8},"end":{"line":46,"column":65}},"32":{"start":{"line":48,"column":4},"end":{"line":50,"column":6}},"33":{"start":{"line":49,"column":8},"end":{"line":49,"column":72}},"34":{"start":{"line":51,"column":4},"end":{"line":53,"column":6}},"35":{"start":{"line":52,"column":8},"end":{"line":52,"column":74}},"36":{"start":{"line":54,"column":4},"end":{"line":56,"column":6}},"37":{"start":{"line":55,"column":8},"end":{"line":55,"column":73}},"38":{"start":{"line":57,"column":4},"end":{"line":59,"column":6}},"39":{"start":{"line":58,"column":8},"end":{"line":58,"column":59}},"40":{"start":{"line":60,"column":4},"end":{"line":62,"column":6}},"41":{"start":{"line":61,"column":8},"end":{"line":61,"column":61}},"42":{"start":{"line":63,"column":4},"end":{"line":63,"column":31}},"43":{"start":{"line":65,"column":0},"end":{"line":65,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":27},"end":{"line":6,"column":28}},"loc":{"start":{"line":6,"column":39},"end":{"line":64,"column":1}},"line":6},"1":{"name":"BindingWhenOnSyntax","decl":{"start":{"line":7,"column":13},"end":{"line":7,"column":32}},"loc":{"start":{"line":7,"column":42},"end":{"line":11,"column":5}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":41},"end":{"line":12,"column":42}},"loc":{"start":{"line":12,"column":63},"end":{"line":14,"column":5}},"line":12},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":52},"end":{"line":15,"column":53}},"loc":{"start":{"line":15,"column":68},"end":{"line":17,"column":5}},"line":15},"4":{"name":"(anonymous_4)","decl":{"start":{"line":18,"column":56},"end":{"line":18,"column":57}},"loc":{"start":{"line":18,"column":68},"end":{"line":20,"column":5}},"line":18},"5":{"name":"(anonymous_5)","decl":{"start":{"line":21,"column":53},"end":{"line":21,"column":54}},"loc":{"start":{"line":21,"column":75},"end":{"line":23,"column":5}},"line":21},"6":{"name":"(anonymous_6)","decl":{"start":{"line":24,"column":53},"end":{"line":24,"column":54}},"loc":{"start":{"line":24,"column":71},"end":{"line":26,"column":5}},"line":24},"7":{"name":"(anonymous_7)","decl":{"start":{"line":27,"column":52},"end":{"line":27,"column":53}},"loc":{"start":{"line":27,"column":68},"end":{"line":29,"column":5}},"line":27},"8":{"name":"(anonymous_8)","decl":{"start":{"line":30,"column":53},"end":{"line":30,"column":54}},"loc":{"start":{"line":30,"column":75},"end":{"line":32,"column":5}},"line":30},"9":{"name":"(anonymous_9)","decl":{"start":{"line":33,"column":54},"end":{"line":33,"column":55}},"loc":{"start":{"line":33,"column":74},"end":{"line":35,"column":5}},"line":33},"10":{"name":"(anonymous_10)","decl":{"start":{"line":36,"column":53},"end":{"line":36,"column":54}},"loc":{"start":{"line":36,"column":73},"end":{"line":38,"column":5}},"line":36},"11":{"name":"(anonymous_11)","decl":{"start":{"line":39,"column":57},"end":{"line":39,"column":58}},"loc":{"start":{"line":39,"column":73},"end":{"line":41,"column":5}},"line":39},"12":{"name":"(anonymous_12)","decl":{"start":{"line":42,"column":58},"end":{"line":42,"column":59}},"loc":{"start":{"line":42,"column":80},"end":{"line":44,"column":5}},"line":42},"13":{"name":"(anonymous_13)","decl":{"start":{"line":45,"column":56},"end":{"line":45,"column":57}},"loc":{"start":{"line":45,"column":72},"end":{"line":47,"column":5}},"line":45},"14":{"name":"(anonymous_14)","decl":{"start":{"line":48,"column":57},"end":{"line":48,"column":58}},"loc":{"start":{"line":48,"column":79},"end":{"line":50,"column":5}},"line":48},"15":{"name":"(anonymous_15)","decl":{"start":{"line":51,"column":59},"end":{"line":51,"column":60}},"loc":{"start":{"line":51,"column":81},"end":{"line":53,"column":5}},"line":51},"16":{"name":"(anonymous_16)","decl":{"start":{"line":54,"column":58},"end":{"line":54,"column":59}},"loc":{"start":{"line":54,"column":80},"end":{"line":56,"column":5}},"line":54},"17":{"name":"(anonymous_17)","decl":{"start":{"line":57,"column":49},"end":{"line":57,"column":50}},"loc":{"start":{"line":57,"column":68},"end":{"line":59,"column":5}},"line":57},"18":{"name":"(anonymous_18)","decl":{"start":{"line":60,"column":51},"end":{"line":60,"column":52}},"loc":{"start":{"line":60,"column":70},"end":{"line":62,"column":5}},"line":60}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":24162,"6":24162,"7":24162,"8":1,"9":1,"10":1,"11":13,"12":1,"13":1,"14":1,"15":15,"16":1,"17":2,"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":15,"40":1,"41":16,"42":1,"43":1},"f":{"0":1,"1":24162,"2":1,"3":13,"4":1,"5":15,"6":2,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":15,"18":16},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_on_syntax.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_on_syntax.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AACtD,6DAA0D;AAE1D;IAME,6BAAmB,OAA8B;QAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAe,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAEM,kCAAI,GAAX,UAAY,UAAoD;QAC9D,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAEM,6CAAe,GAAtB,UAAuB,IAAY;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,iDAAmB,GAA1B;QACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;IACvD,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,GAAW,EAAE,KAAc;QACjD,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,MAAkC;QACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAEM,6CAAe,GAAtB,UAAuB,IAAY;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,GAAW,EAAE,KAAc;QACjD,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEM,+CAAiB,GAAxB,UAAyB,QAAoC;QAC3D,OAAO,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,QAAoC;QAC1D,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAEM,kDAAoB,GAA3B,UAA4B,IAAY;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEM,mDAAqB,GAA5B,UAA6B,GAAW,EAAE,KAAc;QACtD,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAEM,iDAAmB,GAA1B,UAA2B,IAAY;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAEM,kDAAoB,GAA3B,UAA4B,GAAW,EAAE,KAAc;QACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAEM,oDAAsB,GAA7B,UAA8B,UAAoD;QAChF,OAAO,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAEM,mDAAqB,GAA5B,UAA6B,UAAoD;QAC/E,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAEM,0CAAY,GAAnB,UAAoB,OAA0D;QAC5E,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAEM,4CAAc,GAArB,UAAsB,OAAgD;QACpE,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAEH,0BAAC;AAAD,CAAC,AAhFD,IAgFC;AAEQ,kDAAmB","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { BindingOnSyntax } from \"./binding_on_syntax\";\nimport { BindingWhenSyntax } from \"./binding_when_syntax\";\n\nclass BindingWhenOnSyntax implements interfaces.BindingWhenSyntax, interfaces.BindingOnSyntax {\n\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax;\n private _bindingOnSyntax: interfaces.BindingOnSyntax;\n private _binding: interfaces.Binding;\n\n public constructor(binding: interfaces.Binding) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax(this._binding);\n this._bindingOnSyntax = new BindingOnSyntax(this._binding);\n }\n\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.when(constraint);\n }\n\n public whenTargetNamed(name: string): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n public whenTargetIsDefault(): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenTargetIsDefault();\n }\n\n public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n }\n\n public whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenInjectedInto(parent);\n }\n\n public whenParentNamed(name: string): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenParentNamed(name);\n }\n\n public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\n }\n\n public whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n }\n\n public whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n }\n\n public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n }\n\n public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n }\n\n public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n }\n\n public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n }\n\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n }\n\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax {\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n }\n\n public onActivation(handler: (context: interfaces.Context, injectable: T) => T): interfaces.BindingWhenSyntax {\n return this._bindingOnSyntax.onActivation(handler);\n }\n\n public onDeactivation(handler: (injectable: T) => Promise | void): interfaces.BindingWhenSyntax {\n return this._bindingOnSyntax.onDeactivation(handler);\n }\n\n}\n\nexport { BindingWhenOnSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"aac27aec7d7ca240fde7b3c50d6b9387b34eda7c","contentHash":"52951962b6bb0b57077f49e5e6995707608ab83c75e4e6e57258e58f09f93aac"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_on_syntax.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_on_syntax.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"2":{"start":{"line":4,"column":28},"end":{"line":4,"column":60}},"3":{"start":{"line":5,"column":23},"end":{"line":18,"column":3}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":32}},"5":{"start":{"line":9,"column":4},"end":{"line":12,"column":6}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":45}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":74}},"8":{"start":{"line":13,"column":4},"end":{"line":16,"column":6}},"9":{"start":{"line":14,"column":8},"end":{"line":14,"column":47}},"10":{"start":{"line":15,"column":8},"end":{"line":15,"column":74}},"11":{"start":{"line":17,"column":4},"end":{"line":17,"column":27}},"12":{"start":{"line":19,"column":0},"end":{"line":19,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":23},"end":{"line":5,"column":24}},"loc":{"start":{"line":5,"column":35},"end":{"line":18,"column":1}},"line":5},"1":{"name":"BindingOnSyntax","decl":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"loc":{"start":{"line":6,"column":38},"end":{"line":8,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":45},"end":{"line":9,"column":46}},"loc":{"start":{"line":9,"column":64},"end":{"line":12,"column":5}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":47},"end":{"line":13,"column":48}},"loc":{"start":{"line":13,"column":66},"end":{"line":16,"column":5}},"line":13}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":24694,"5":1,"6":19,"7":19,"8":1,"9":17,"10":17,"11":1,"12":1},"f":{"0":1,"1":24694,"2":19,"3":17},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_on_syntax.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_on_syntax.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAE1D;IAIE,yBAAmB,OAA8B;QAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,sCAAY,GAAnB,UAAoB,OAAwC;QAC1D,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC;QACrC,OAAO,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAEM,wCAAc,GAArB,UAAsB,OAA0C;QAC9D,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC;QACvC,OAAO,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAEH,sBAAC;AAAD,CAAC,AAlBD,IAkBC;AAEQ,0CAAe","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { BindingWhenSyntax } from \"./binding_when_syntax\";\n\nclass BindingOnSyntax implements interfaces.BindingOnSyntax {\n\n private _binding: interfaces.Binding;\n\n public constructor(binding: interfaces.Binding) {\n this._binding = binding;\n }\n\n public onActivation(handler: interfaces.BindingActivation): interfaces.BindingWhenSyntax {\n this._binding.onActivation = handler;\n return new BindingWhenSyntax(this._binding);\n }\n\n public onDeactivation(handler: interfaces.BindingDeactivation): interfaces.BindingWhenSyntax {\n this._binding.onDeactivation = handler;\n return new BindingWhenSyntax(this._binding);\n }\n\n}\n\nexport { BindingOnSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c4a29c3d5dc7fa240a1203c7b9e49229dfdb8d6d","contentHash":"739f8e64d1ab3fc68193472667439bf609a81f6bf27938db66ee66ac3ffc4ae9"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_syntax.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_syntax.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"2":{"start":{"line":4,"column":26},"end":{"line":4,"column":56}},"3":{"start":{"line":5,"column":27},"end":{"line":5,"column":58}},"4":{"start":{"line":6,"column":25},"end":{"line":101,"column":3}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":32}},"6":{"start":{"line":10,"column":4},"end":{"line":13,"column":6}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":46}},"8":{"start":{"line":12,"column":8},"end":{"line":12,"column":70}},"9":{"start":{"line":14,"column":4},"end":{"line":17,"column":6}},"10":{"start":{"line":15,"column":8},"end":{"line":15,"column":83}},"11":{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},"12":{"start":{"line":18,"column":4},"end":{"line":29,"column":6}},"13":{"start":{"line":19,"column":8},"end":{"line":27,"column":10}},"14":{"start":{"line":20,"column":12},"end":{"line":22,"column":13}},"15":{"start":{"line":21,"column":16},"end":{"line":21,"column":29}},"16":{"start":{"line":23,"column":34},"end":{"line":25,"column":44}},"17":{"start":{"line":26,"column":12},"end":{"line":26,"column":35}},"18":{"start":{"line":28,"column":8},"end":{"line":28,"column":70}},"19":{"start":{"line":30,"column":4},"end":{"line":33,"column":6}},"20":{"start":{"line":31,"column":8},"end":{"line":31,"column":90}},"21":{"start":{"line":32,"column":8},"end":{"line":32,"column":70}},"22":{"start":{"line":34,"column":4},"end":{"line":39,"column":6}},"23":{"start":{"line":35,"column":8},"end":{"line":37,"column":10}},"24":{"start":{"line":36,"column":12},"end":{"line":36,"column":111}},"25":{"start":{"line":38,"column":8},"end":{"line":38,"column":70}},"26":{"start":{"line":40,"column":4},"end":{"line":45,"column":6}},"27":{"start":{"line":41,"column":8},"end":{"line":43,"column":10}},"28":{"start":{"line":42,"column":12},"end":{"line":42,"column":110}},"29":{"start":{"line":44,"column":8},"end":{"line":44,"column":70}},"30":{"start":{"line":46,"column":4},"end":{"line":51,"column":6}},"31":{"start":{"line":47,"column":8},"end":{"line":49,"column":10}},"32":{"start":{"line":48,"column":12},"end":{"line":48,"column":117}},"33":{"start":{"line":50,"column":8},"end":{"line":50,"column":70}},"34":{"start":{"line":52,"column":4},"end":{"line":57,"column":6}},"35":{"start":{"line":53,"column":8},"end":{"line":55,"column":10}},"36":{"start":{"line":54,"column":12},"end":{"line":54,"column":145}},"37":{"start":{"line":56,"column":8},"end":{"line":56,"column":70}},"38":{"start":{"line":58,"column":4},"end":{"line":63,"column":6}},"39":{"start":{"line":59,"column":8},"end":{"line":61,"column":10}},"40":{"start":{"line":60,"column":12},"end":{"line":60,"column":146}},"41":{"start":{"line":62,"column":8},"end":{"line":62,"column":70}},"42":{"start":{"line":64,"column":4},"end":{"line":69,"column":6}},"43":{"start":{"line":65,"column":8},"end":{"line":67,"column":10}},"44":{"start":{"line":66,"column":12},"end":{"line":66,"column":142}},"45":{"start":{"line":68,"column":8},"end":{"line":68,"column":70}},"46":{"start":{"line":70,"column":4},"end":{"line":75,"column":6}},"47":{"start":{"line":71,"column":8},"end":{"line":73,"column":10}},"48":{"start":{"line":72,"column":12},"end":{"line":72,"column":143}},"49":{"start":{"line":74,"column":8},"end":{"line":74,"column":70}},"50":{"start":{"line":76,"column":4},"end":{"line":81,"column":6}},"51":{"start":{"line":77,"column":8},"end":{"line":79,"column":10}},"52":{"start":{"line":78,"column":12},"end":{"line":78,"column":149}},"53":{"start":{"line":80,"column":8},"end":{"line":80,"column":70}},"54":{"start":{"line":82,"column":4},"end":{"line":87,"column":6}},"55":{"start":{"line":83,"column":8},"end":{"line":85,"column":10}},"56":{"start":{"line":84,"column":12},"end":{"line":84,"column":150}},"57":{"start":{"line":86,"column":8},"end":{"line":86,"column":70}},"58":{"start":{"line":88,"column":4},"end":{"line":93,"column":6}},"59":{"start":{"line":89,"column":8},"end":{"line":91,"column":10}},"60":{"start":{"line":90,"column":12},"end":{"line":90,"column":105}},"61":{"start":{"line":92,"column":8},"end":{"line":92,"column":70}},"62":{"start":{"line":94,"column":4},"end":{"line":99,"column":6}},"63":{"start":{"line":95,"column":8},"end":{"line":97,"column":10}},"64":{"start":{"line":96,"column":12},"end":{"line":96,"column":106}},"65":{"start":{"line":98,"column":8},"end":{"line":98,"column":70}},"66":{"start":{"line":100,"column":4},"end":{"line":100,"column":29}},"67":{"start":{"line":102,"column":0},"end":{"line":102,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":25},"end":{"line":6,"column":26}},"loc":{"start":{"line":6,"column":37},"end":{"line":101,"column":1}},"line":6},"1":{"name":"BindingWhenSyntax","decl":{"start":{"line":7,"column":13},"end":{"line":7,"column":30}},"loc":{"start":{"line":7,"column":40},"end":{"line":9,"column":5}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":39},"end":{"line":10,"column":40}},"loc":{"start":{"line":10,"column":61},"end":{"line":13,"column":5}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":66},"end":{"line":17,"column":5}},"line":14},"4":{"name":"(anonymous_4)","decl":{"start":{"line":18,"column":54},"end":{"line":18,"column":55}},"loc":{"start":{"line":18,"column":66},"end":{"line":29,"column":5}},"line":18},"5":{"name":"(anonymous_5)","decl":{"start":{"line":19,"column":35},"end":{"line":19,"column":36}},"loc":{"start":{"line":19,"column":54},"end":{"line":27,"column":9}},"line":19},"6":{"name":"(anonymous_6)","decl":{"start":{"line":30,"column":51},"end":{"line":30,"column":52}},"loc":{"start":{"line":30,"column":73},"end":{"line":33,"column":5}},"line":30},"7":{"name":"(anonymous_7)","decl":{"start":{"line":34,"column":51},"end":{"line":34,"column":52}},"loc":{"start":{"line":34,"column":69},"end":{"line":39,"column":5}},"line":34},"8":{"name":"(anonymous_8)","decl":{"start":{"line":35,"column":35},"end":{"line":35,"column":36}},"loc":{"start":{"line":35,"column":54},"end":{"line":37,"column":9}},"line":35},"9":{"name":"(anonymous_9)","decl":{"start":{"line":40,"column":50},"end":{"line":40,"column":51}},"loc":{"start":{"line":40,"column":66},"end":{"line":45,"column":5}},"line":40},"10":{"name":"(anonymous_10)","decl":{"start":{"line":41,"column":35},"end":{"line":41,"column":36}},"loc":{"start":{"line":41,"column":54},"end":{"line":43,"column":9}},"line":41},"11":{"name":"(anonymous_11)","decl":{"start":{"line":46,"column":51},"end":{"line":46,"column":52}},"loc":{"start":{"line":46,"column":73},"end":{"line":51,"column":5}},"line":46},"12":{"name":"(anonymous_12)","decl":{"start":{"line":47,"column":35},"end":{"line":47,"column":36}},"loc":{"start":{"line":47,"column":54},"end":{"line":49,"column":9}},"line":47},"13":{"name":"(anonymous_13)","decl":{"start":{"line":52,"column":52},"end":{"line":52,"column":53}},"loc":{"start":{"line":52,"column":72},"end":{"line":57,"column":5}},"line":52},"14":{"name":"(anonymous_14)","decl":{"start":{"line":53,"column":35},"end":{"line":53,"column":36}},"loc":{"start":{"line":53,"column":54},"end":{"line":55,"column":9}},"line":53},"15":{"name":"(anonymous_15)","decl":{"start":{"line":58,"column":51},"end":{"line":58,"column":52}},"loc":{"start":{"line":58,"column":71},"end":{"line":63,"column":5}},"line":58},"16":{"name":"(anonymous_16)","decl":{"start":{"line":59,"column":35},"end":{"line":59,"column":36}},"loc":{"start":{"line":59,"column":54},"end":{"line":61,"column":9}},"line":59},"17":{"name":"(anonymous_17)","decl":{"start":{"line":64,"column":55},"end":{"line":64,"column":56}},"loc":{"start":{"line":64,"column":71},"end":{"line":69,"column":5}},"line":64},"18":{"name":"(anonymous_18)","decl":{"start":{"line":65,"column":35},"end":{"line":65,"column":36}},"loc":{"start":{"line":65,"column":54},"end":{"line":67,"column":9}},"line":65},"19":{"name":"(anonymous_19)","decl":{"start":{"line":70,"column":54},"end":{"line":70,"column":55}},"loc":{"start":{"line":70,"column":70},"end":{"line":75,"column":5}},"line":70},"20":{"name":"(anonymous_20)","decl":{"start":{"line":71,"column":35},"end":{"line":71,"column":36}},"loc":{"start":{"line":71,"column":54},"end":{"line":73,"column":9}},"line":71},"21":{"name":"(anonymous_21)","decl":{"start":{"line":76,"column":56},"end":{"line":76,"column":57}},"loc":{"start":{"line":76,"column":78},"end":{"line":81,"column":5}},"line":76},"22":{"name":"(anonymous_22)","decl":{"start":{"line":77,"column":35},"end":{"line":77,"column":36}},"loc":{"start":{"line":77,"column":54},"end":{"line":79,"column":9}},"line":77},"23":{"name":"(anonymous_23)","decl":{"start":{"line":82,"column":55},"end":{"line":82,"column":56}},"loc":{"start":{"line":82,"column":77},"end":{"line":87,"column":5}},"line":82},"24":{"name":"(anonymous_24)","decl":{"start":{"line":83,"column":35},"end":{"line":83,"column":36}},"loc":{"start":{"line":83,"column":54},"end":{"line":85,"column":9}},"line":83},"25":{"name":"(anonymous_25)","decl":{"start":{"line":88,"column":57},"end":{"line":88,"column":58}},"loc":{"start":{"line":88,"column":79},"end":{"line":93,"column":5}},"line":88},"26":{"name":"(anonymous_26)","decl":{"start":{"line":89,"column":35},"end":{"line":89,"column":36}},"loc":{"start":{"line":89,"column":54},"end":{"line":91,"column":9}},"line":89},"27":{"name":"(anonymous_27)","decl":{"start":{"line":94,"column":56},"end":{"line":94,"column":57}},"loc":{"start":{"line":94,"column":78},"end":{"line":99,"column":5}},"line":94},"28":{"name":"(anonymous_28)","decl":{"start":{"line":95,"column":35},"end":{"line":95,"column":36}},"loc":{"start":{"line":95,"column":54},"end":{"line":97,"column":9}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":12},"end":{"line":22,"column":13}},"type":"if","locations":[{"start":{"line":20,"column":12},"end":{"line":22,"column":13}},{"start":{"line":20,"column":12},"end":{"line":22,"column":13}}],"line":20},"1":{"loc":{"start":{"line":23,"column":34},"end":{"line":25,"column":44}},"type":"binary-expr","locations":[{"start":{"line":23,"column":35},"end":{"line":23,"column":58}},{"start":{"line":24,"column":17},"end":{"line":24,"column":42}},{"start":{"line":25,"column":17},"end":{"line":25,"column":43}}],"line":23},"2":{"loc":{"start":{"line":36,"column":19},"end":{"line":36,"column":110}},"type":"binary-expr","locations":[{"start":{"line":36,"column":19},"end":{"line":36,"column":35}},{"start":{"line":36,"column":39},"end":{"line":36,"column":110}}],"line":36},"3":{"loc":{"start":{"line":42,"column":19},"end":{"line":42,"column":109}},"type":"binary-expr","locations":[{"start":{"line":42,"column":19},"end":{"line":42,"column":35}},{"start":{"line":42,"column":39},"end":{"line":42,"column":109}}],"line":42},"4":{"loc":{"start":{"line":48,"column":19},"end":{"line":48,"column":116}},"type":"binary-expr","locations":[{"start":{"line":48,"column":19},"end":{"line":48,"column":35}},{"start":{"line":48,"column":39},"end":{"line":48,"column":116}}],"line":48},"5":{"loc":{"start":{"line":54,"column":19},"end":{"line":54,"column":144}},"type":"binary-expr","locations":[{"start":{"line":54,"column":19},"end":{"line":54,"column":35}},{"start":{"line":54,"column":39},"end":{"line":54,"column":144}}],"line":54},"6":{"loc":{"start":{"line":60,"column":19},"end":{"line":60,"column":145}},"type":"binary-expr","locations":[{"start":{"line":60,"column":19},"end":{"line":60,"column":35}},{"start":{"line":60,"column":39},"end":{"line":60,"column":145}}],"line":60},"7":{"loc":{"start":{"line":66,"column":19},"end":{"line":66,"column":141}},"type":"binary-expr","locations":[{"start":{"line":66,"column":19},"end":{"line":66,"column":35}},{"start":{"line":66,"column":39},"end":{"line":66,"column":141}}],"line":66},"8":{"loc":{"start":{"line":72,"column":19},"end":{"line":72,"column":142}},"type":"binary-expr","locations":[{"start":{"line":72,"column":19},"end":{"line":72,"column":35}},{"start":{"line":72,"column":39},"end":{"line":72,"column":142}}],"line":72},"9":{"loc":{"start":{"line":78,"column":19},"end":{"line":78,"column":148}},"type":"binary-expr","locations":[{"start":{"line":78,"column":19},"end":{"line":78,"column":35}},{"start":{"line":78,"column":39},"end":{"line":78,"column":148}}],"line":78},"10":{"loc":{"start":{"line":84,"column":19},"end":{"line":84,"column":149}},"type":"binary-expr","locations":[{"start":{"line":84,"column":19},"end":{"line":84,"column":35}},{"start":{"line":84,"column":39},"end":{"line":84,"column":149}}],"line":84},"11":{"loc":{"start":{"line":90,"column":19},"end":{"line":90,"column":104}},"type":"binary-expr","locations":[{"start":{"line":90,"column":19},"end":{"line":90,"column":35}},{"start":{"line":90,"column":39},"end":{"line":90,"column":104}}],"line":90},"12":{"loc":{"start":{"line":96,"column":19},"end":{"line":96,"column":105}},"type":"binary-expr","locations":[{"start":{"line":96,"column":19},"end":{"line":96,"column":35}},{"start":{"line":96,"column":39},"end":{"line":96,"column":105}}],"line":96}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":24607,"6":1,"7":5,"8":5,"9":1,"10":41,"11":41,"12":1,"13":3,"14":6,"15":0,"16":6,"17":6,"18":3,"19":1,"20":33,"21":33,"22":1,"23":11,"24":25,"25":11,"26":1,"27":4,"28":4,"29":4,"30":1,"31":4,"32":4,"33":4,"34":1,"35":4,"36":8,"37":4,"38":1,"39":4,"40":8,"41":4,"42":1,"43":4,"44":8,"45":4,"46":1,"47":4,"48":8,"49":4,"50":1,"51":4,"52":8,"53":4,"54":1,"55":4,"56":8,"57":4,"58":1,"59":4,"60":8,"61":4,"62":1,"63":4,"64":8,"65":4,"66":1,"67":1},"f":{"0":1,"1":24607,"2":5,"3":41,"4":3,"5":6,"6":33,"7":11,"8":25,"9":4,"10":4,"11":4,"12":4,"13":4,"14":8,"15":4,"16":8,"17":4,"18":8,"19":4,"20":8,"21":4,"22":8,"23":4,"24":8,"25":4,"26":8,"27":4,"28":8},"b":{"0":[0,6],"1":[6,6,3],"2":[25,25],"3":[4,4],"4":[4,4],"5":[8,8],"6":[8,8],"7":[8,8],"8":[8,8],"9":[8,8],"10":[8,8],"11":[8,8],"12":[8,8]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_syntax.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_syntax.ts"],"names":[],"mappings":"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","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { BindingOnSyntax } from \"./binding_on_syntax\";\nimport { namedConstraint, taggedConstraint, traverseAncerstors, typeConstraint } from \"./constraint_helpers\";\n\nclass BindingWhenSyntax implements interfaces.BindingWhenSyntax {\n\n private _binding: interfaces.Binding;\n\n public constructor(binding: interfaces.Binding) {\n this._binding = binding;\n }\n\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax {\n this._binding.constraint = constraint as interfaces.ConstraintFunction;\n return new BindingOnSyntax(this._binding);\n }\n\n public whenTargetNamed(name: string | number | symbol): interfaces.BindingOnSyntax {\n this._binding.constraint = namedConstraint(name);\n return new BindingOnSyntax(this._binding);\n }\n\n public whenTargetIsDefault(): interfaces.BindingOnSyntax {\n\n this._binding.constraint = (request: interfaces.Request | null) => {\n\n if (request === null) {\n return false;\n }\n\n const targetIsDefault = (request.target !== null) &&\n (!request.target.isNamed()) &&\n (!request.target.isTagged());\n\n return targetIsDefault;\n };\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenTargetTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax {\n this._binding.constraint = taggedConstraint(tag)(value);\n return new BindingOnSyntax(this._binding);\n }\n\n public whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && typeConstraint(parent)(request.parentRequest);\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenParentNamed(name: string | number | symbol): interfaces.BindingOnSyntax {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && namedConstraint(name)(request.parentRequest);\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenParentTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && taggedConstraint(tag)(value)(request.parentRequest);\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && traverseAncerstors(request, typeConstraint(ancestor));\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && !traverseAncerstors(request, typeConstraint(ancestor));\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenAnyAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && traverseAncerstors(request, namedConstraint(name));\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenNoAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && !traverseAncerstors(request, namedConstraint(name));\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && traverseAncerstors(request, taggedConstraint(tag)(value));\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenNoAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && !traverseAncerstors(request, taggedConstraint(tag)(value));\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\n\n return new BindingOnSyntax(this._binding);\n }\n\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && !traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\n\n return new BindingOnSyntax(this._binding);\n }\n\n}\n\nexport { BindingWhenSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4a538a4d8af43e2b372500d899d8cb62efc47b93","contentHash":"695dac2f26769ce3fb5acb663eca23044919b015b7975c41f34da1335113873f"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/constraint_helpers.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/constraint_helpers.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":114}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":25},"end":{"line":33,"column":1}},"26":{"start":{"line":26,"column":17},"end":{"line":26,"column":38}},"27":{"start":{"line":27,"column":4},"end":{"line":32,"column":5}},"28":{"start":{"line":28,"column":8},"end":{"line":28,"column":82}},"29":{"start":{"line":31,"column":8},"end":{"line":31,"column":21}},"30":{"start":{"line":34,"column":0},"end":{"line":34,"column":48}},"31":{"start":{"line":35,"column":23},"end":{"line":41,"column":4}},"32":{"start":{"line":35,"column":40},"end":{"line":41,"column":2}},"33":{"start":{"line":36,"column":21},"end":{"line":38,"column":5}},"34":{"start":{"line":37,"column":8},"end":{"line":37,"column":100}},"35":{"start":{"line":39,"column":4},"end":{"line":39,"column":62}},"36":{"start":{"line":40,"column":4},"end":{"line":40,"column":22}},"37":{"start":{"line":42,"column":0},"end":{"line":42,"column":44}},"38":{"start":{"line":43,"column":22},"end":{"line":43,"column":62}},"39":{"start":{"line":44,"column":0},"end":{"line":44,"column":42}},"40":{"start":{"line":45,"column":21},"end":{"line":59,"column":4}},"41":{"start":{"line":45,"column":39},"end":{"line":59,"column":2}},"42":{"start":{"line":46,"column":18},"end":{"line":46,"column":22}},"43":{"start":{"line":47,"column":4},"end":{"line":57,"column":5}},"44":{"start":{"line":48,"column":8},"end":{"line":48,"column":38}},"45":{"start":{"line":49,"column":8},"end":{"line":56,"column":9}},"46":{"start":{"line":50,"column":36},"end":{"line":50,"column":61}},"47":{"start":{"line":51,"column":12},"end":{"line":51,"column":46}},"48":{"start":{"line":54,"column":30},"end":{"line":54,"column":68}},"49":{"start":{"line":55,"column":12},"end":{"line":55,"column":40}},"50":{"start":{"line":58,"column":4},"end":{"line":58,"column":17}},"51":{"start":{"line":60,"column":0},"end":{"line":60,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":25},"end":{"line":25,"column":26}},"loc":{"start":{"line":25,"column":56},"end":{"line":33,"column":1}},"line":25},"7":{"name":"(anonymous_7)","decl":{"start":{"line":35,"column":23},"end":{"line":35,"column":24}},"loc":{"start":{"line":35,"column":38},"end":{"line":41,"column":4}},"line":35},"8":{"name":"(anonymous_8)","decl":{"start":{"line":35,"column":47},"end":{"line":35,"column":48}},"loc":{"start":{"line":35,"column":64},"end":{"line":41,"column":1}},"line":35},"9":{"name":"(anonymous_9)","decl":{"start":{"line":36,"column":21},"end":{"line":36,"column":22}},"loc":{"start":{"line":36,"column":40},"end":{"line":38,"column":5}},"line":36},"10":{"name":"(anonymous_10)","decl":{"start":{"line":45,"column":21},"end":{"line":45,"column":22}},"loc":{"start":{"line":45,"column":37},"end":{"line":59,"column":4}},"line":45},"11":{"name":"(anonymous_11)","decl":{"start":{"line":45,"column":46},"end":{"line":45,"column":47}},"loc":{"start":{"line":45,"column":65},"end":{"line":59,"column":1}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":27,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":32,"column":5}},{"start":{"line":27,"column":4},"end":{"line":32,"column":5}}],"line":27},"13":{"loc":{"start":{"line":28,"column":15},"end":{"line":28,"column":81}},"type":"cond-expr","locations":[{"start":{"line":28,"column":36},"end":{"line":28,"column":40}},{"start":{"line":28,"column":43},"end":{"line":28,"column":81}}],"line":28},"14":{"loc":{"start":{"line":37,"column":15},"end":{"line":37,"column":99}},"type":"binary-expr","locations":[{"start":{"line":37,"column":15},"end":{"line":37,"column":31}},{"start":{"line":37,"column":35},"end":{"line":37,"column":58}},{"start":{"line":37,"column":62},"end":{"line":37,"column":99}}],"line":37},"15":{"loc":{"start":{"line":47,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":57,"column":5}},{"start":{"line":47,"column":4},"end":{"line":57,"column":5}}],"line":47},"16":{"loc":{"start":{"line":49,"column":8},"end":{"line":56,"column":9}},"type":"if","locations":[{"start":{"line":49,"column":8},"end":{"line":56,"column":9}},{"start":{"line":49,"column":8},"end":{"line":56,"column":9}}],"line":49}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":104,"27":104,"28":64,"29":40,"30":1,"31":1,"32":54,"33":114,"34":197,"35":114,"36":114,"37":1,"38":1,"39":1,"40":1,"41":50,"42":58,"43":58,"44":57,"45":57,"46":8,"47":8,"48":49,"49":49,"50":1,"51":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":104,"7":54,"8":114,"9":197,"10":50,"11":58},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[64,40],"13":[24,40],"14":[197,197,197],"15":[57,1],"16":[8,49]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/constraint_helpers.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/constraint_helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAE3D,iDAAgD;AAEhD,IAAM,kBAAkB,GAAG,UACzB,OAA2B,EAC3B,UAAyC;IAGzC,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IACrC,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;KAC3E;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAoCO,gDAAkB;AAhC3B,IAAM,gBAAgB,GAAG,UAAC,GAA6B,IAAK,OAAA,UAAC,KAAc;IAEzE,IAAM,UAAU,GAAkC,UAAC,OAAkC;QACnF,OAAA,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAApF,CAAoF,CAAC;IAEvF,UAAU,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE/C,OAAO,UAAU,CAAC;AACpB,CAAC,EAR2D,CAQ3D,CAAC;AAwB2B,4CAAgB;AAtB7C,IAAM,eAAe,GAAG,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAsBlB,0CAAe;AApB9D,IAAM,cAAc,GAAG,UAAC,IAAgC,IAAK,OAAA,UAAC,OAAkC;IAI9F,IAAI,OAAO,GAAuC,IAAI,CAAC;IAEvD,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAgC,CAAC;QAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YACpD,OAAO,iBAAiB,KAAK,IAAI,CAAC;SACnC;aAAM;YACL,IAAM,WAAW,GAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAiC,CAAC,kBAAkB,CAAC;YAC5F,OAAO,IAAI,KAAK,WAAW,CAAC;SAC7B;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC,EAlB4D,CAkB5D,CAAC;AAE8D,wCAAc","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { Metadata } from \"../planning/metadata\";\n\nconst traverseAncerstors = (\n request: interfaces.Request,\n constraint: interfaces.ConstraintFunction\n): boolean => {\n\n const parent = request.parentRequest;\n if (parent !== null) {\n return constraint(parent) ? true : traverseAncerstors(parent, constraint);\n } else {\n return false;\n }\n};\n\n// This helpers use currying to help you to generate constraints\n\nconst taggedConstraint = (key: string | number | symbol) => (value: unknown) => {\n\n const constraint: interfaces.ConstraintFunction = (request: interfaces.Request | null) =>\n request !== null && request.target !== null && request.target.matchesTag(key)(value);\n\n constraint.metaData = new Metadata(key, value);\n\n return constraint;\n};\n\nconst namedConstraint = taggedConstraint(METADATA_KEY.NAMED_TAG);\n\nconst typeConstraint = (type: (NewableFunction | string)) => (request: interfaces.Request | null) => {\n\n // Using index 0 because constraints are applied\n // to one binding at a time (see Planner class)\n let binding: interfaces.Binding | null = null;\n\n if (request !== null) {\n binding = request.bindings[0] as interfaces.Binding;\n if (typeof type === \"string\") {\n const serviceIdentifier = binding.serviceIdentifier;\n return serviceIdentifier === type;\n } else {\n const constructor = (request.bindings[0] as interfaces.Binding).implementationType;\n return type === constructor;\n }\n }\n\n return false;\n};\n\nexport { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f2fa871409565acacedb9d98763e4b4f8d10f8b5","contentHash":"05e6d931ebba277fe0f67641d41ef6bac142b4ff64a08fb3b815cfa900f752e3"},"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_snapshot.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_snapshot.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"2":{"start":{"line":4,"column":25},"end":{"line":17,"column":3}},"3":{"start":{"line":7,"column":4},"end":{"line":15,"column":6}},"4":{"start":{"line":8,"column":23},"end":{"line":8,"column":46}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":37}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":41}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":47}},"8":{"start":{"line":12,"column":8},"end":{"line":12,"column":43}},"9":{"start":{"line":13,"column":8},"end":{"line":13,"column":63}},"10":{"start":{"line":14,"column":8},"end":{"line":14,"column":24}},"11":{"start":{"line":16,"column":4},"end":{"line":16,"column":29}},"12":{"start":{"line":18,"column":0},"end":{"line":18,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":25},"end":{"line":4,"column":26}},"loc":{"start":{"line":4,"column":37},"end":{"line":17,"column":1}},"line":4},"1":{"name":"ContainerSnapshot","decl":{"start":{"line":5,"column":13},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":33},"end":{"line":6,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":27},"end":{"line":7,"column":28}},"loc":{"start":{"line":7,"column":110},"end":{"line":15,"column":5}},"line":7}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":5,"5":5,"6":5,"7":5,"8":5,"9":5,"10":5,"11":1,"12":1},"f":{"0":1,"1":5,"2":5},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_snapshot.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_snapshot.ts"],"names":[],"mappings":";;;AAEA;IAAA;IAuBA,CAAC;IAhBe,oBAAE,GAAhB,UACE,QAAwD,EACxD,UAAkC,EAClC,WAAqE,EACrE,aAAyE,EACzE,qBAAuD;QAEvD,IAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;QACvC,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,QAAQ,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEH,wBAAC;AAAD,CAAC,AAvBD,IAuBC;AAEQ,8CAAiB","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nclass ContainerSnapshot implements interfaces.ContainerSnapshot {\n public bindings!: interfaces.Lookup>;\n public activations!: interfaces.Lookup>;\n public deactivations!: interfaces.Lookup>;\n public middleware!: interfaces.Next | null;\n public moduleActivationStore!: interfaces.ModuleActivationStore;\n\n public static of(\n bindings: interfaces.Lookup>,\n middleware: interfaces.Next | null,\n activations: interfaces.Lookup>,\n deactivations: interfaces.Lookup>,\n moduleActivationStore: interfaces.ModuleActivationStore\n ) {\n const snapshot = new ContainerSnapshot();\n snapshot.bindings = bindings;\n snapshot.middleware = middleware;\n snapshot.deactivations = deactivations;\n snapshot.activations = activations;\n snapshot.moduleActivationStore = moduleActivationStore;\n return snapshot;\n }\n\n}\n\nexport { ContainerSnapshot };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c0ab398d0d42a408aece41b5e113cc0b07c6e523","contentHash":"7c1778c4877723c37960583862a9aa814ce3ef04a7092562f99e0117c3189b80"},"/Users/dan/jsProjects/inversify/InversifyJS/src/container/lookup.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/lookup.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":45}},"25":{"start":{"line":25,"column":14},"end":{"line":125,"column":3}},"26":{"start":{"line":27,"column":8},"end":{"line":27,"column":30}},"27":{"start":{"line":29,"column":4},"end":{"line":31,"column":6}},"28":{"start":{"line":30,"column":8},"end":{"line":30,"column":25}},"29":{"start":{"line":32,"column":4},"end":{"line":46,"column":6}},"30":{"start":{"line":33,"column":8},"end":{"line":35,"column":9}},"31":{"start":{"line":34,"column":12},"end":{"line":34,"column":54}},"32":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"33":{"start":{"line":37,"column":12},"end":{"line":37,"column":54}},"34":{"start":{"line":39,"column":20},"end":{"line":39,"column":52}},"35":{"start":{"line":40,"column":8},"end":{"line":45,"column":9}},"36":{"start":{"line":41,"column":12},"end":{"line":41,"column":30}},"37":{"start":{"line":44,"column":12},"end":{"line":44,"column":54}},"38":{"start":{"line":47,"column":4},"end":{"line":58,"column":6}},"39":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"40":{"start":{"line":49,"column":12},"end":{"line":49,"column":54}},"41":{"start":{"line":51,"column":20},"end":{"line":51,"column":52}},"42":{"start":{"line":52,"column":8},"end":{"line":57,"column":9}},"43":{"start":{"line":53,"column":12},"end":{"line":53,"column":25}},"44":{"start":{"line":56,"column":12},"end":{"line":56,"column":54}},"45":{"start":{"line":59,"column":4},"end":{"line":66,"column":6}},"46":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"47":{"start":{"line":61,"column":12},"end":{"line":61,"column":54}},"48":{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},"49":{"start":{"line":64,"column":12},"end":{"line":64,"column":54}},"50":{"start":{"line":67,"column":4},"end":{"line":78,"column":6}},"51":{"start":{"line":68,"column":20},"end":{"line":68,"column":24}},"52":{"start":{"line":69,"column":8},"end":{"line":77,"column":11}},"53":{"start":{"line":70,"column":36},"end":{"line":70,"column":112}},"54":{"start":{"line":71,"column":12},"end":{"line":76,"column":13}},"55":{"start":{"line":72,"column":37},"end":{"line":74,"column":18}},"56":{"start":{"line":73,"column":20},"end":{"line":73,"column":125}},"57":{"start":{"line":73,"column":81},"end":{"line":73,"column":121}},"58":{"start":{"line":75,"column":16},"end":{"line":75,"column":67}},"59":{"start":{"line":79,"column":4},"end":{"line":97,"column":6}},"60":{"start":{"line":80,"column":20},"end":{"line":80,"column":24}},"61":{"start":{"line":81,"column":23},"end":{"line":81,"column":25}},"62":{"start":{"line":82,"column":8},"end":{"line":95,"column":11}},"63":{"start":{"line":83,"column":33},"end":{"line":83,"column":35}},"64":{"start":{"line":84,"column":12},"end":{"line":93,"column":13}},"65":{"start":{"line":84,"column":26},"end":{"line":84,"column":27}},"66":{"start":{"line":84,"column":41},"end":{"line":84,"column":48}},"67":{"start":{"line":85,"column":28},"end":{"line":85,"column":41}},"68":{"start":{"line":86,"column":29},"end":{"line":86,"column":45}},"69":{"start":{"line":87,"column":16},"end":{"line":92,"column":17}},"70":{"start":{"line":88,"column":20},"end":{"line":88,"column":41}},"71":{"start":{"line":91,"column":20},"end":{"line":91,"column":47}},"72":{"start":{"line":94,"column":12},"end":{"line":94,"column":49}},"73":{"start":{"line":96,"column":8},"end":{"line":96,"column":24}},"74":{"start":{"line":98,"column":4},"end":{"line":103,"column":6}},"75":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"76":{"start":{"line":100,"column":12},"end":{"line":100,"column":54}},"77":{"start":{"line":102,"column":8},"end":{"line":102,"column":48}},"78":{"start":{"line":104,"column":4},"end":{"line":110,"column":6}},"79":{"start":{"line":105,"column":19},"end":{"line":105,"column":31}},"80":{"start":{"line":106,"column":8},"end":{"line":108,"column":11}},"81":{"start":{"line":107,"column":12},"end":{"line":107,"column":113}},"82":{"start":{"line":107,"column":41},"end":{"line":107,"column":109}},"83":{"start":{"line":109,"column":8},"end":{"line":109,"column":20}},"84":{"start":{"line":111,"column":4},"end":{"line":115,"column":6}},"85":{"start":{"line":112,"column":8},"end":{"line":114,"column":11}},"86":{"start":{"line":113,"column":12},"end":{"line":113,"column":29}},"87":{"start":{"line":116,"column":4},"end":{"line":123,"column":6}},"88":{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},"89":{"start":{"line":118,"column":12},"end":{"line":118,"column":52}},"90":{"start":{"line":121,"column":12},"end":{"line":121,"column":48}},"91":{"start":{"line":124,"column":4},"end":{"line":124,"column":18}},"92":{"start":{"line":126,"column":0},"end":{"line":126,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":14},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":26},"end":{"line":125,"column":1}},"line":25},"7":{"name":"Lookup","decl":{"start":{"line":26,"column":13},"end":{"line":26,"column":19}},"loc":{"start":{"line":26,"column":22},"end":{"line":28,"column":5}},"line":26},"8":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":30},"end":{"line":29,"column":31}},"loc":{"start":{"line":29,"column":42},"end":{"line":31,"column":5}},"line":29},"9":{"name":"(anonymous_9)","decl":{"start":{"line":32,"column":27},"end":{"line":32,"column":28}},"loc":{"start":{"line":32,"column":63},"end":{"line":46,"column":5}},"line":32},"10":{"name":"(anonymous_10)","decl":{"start":{"line":47,"column":27},"end":{"line":47,"column":28}},"loc":{"start":{"line":47,"column":56},"end":{"line":58,"column":5}},"line":47},"11":{"name":"(anonymous_11)","decl":{"start":{"line":59,"column":30},"end":{"line":59,"column":31}},"loc":{"start":{"line":59,"column":59},"end":{"line":66,"column":5}},"line":59},"12":{"name":"(anonymous_12)","decl":{"start":{"line":67,"column":42},"end":{"line":67,"column":43}},"loc":{"start":{"line":67,"column":60},"end":{"line":78,"column":5}},"line":67},"13":{"name":"(anonymous_13)","decl":{"start":{"line":69,"column":22},"end":{"line":69,"column":23}},"loc":{"start":{"line":69,"column":58},"end":{"line":77,"column":9}},"line":69},"14":{"name":"(anonymous_14)","decl":{"start":{"line":72,"column":50},"end":{"line":72,"column":51}},"loc":{"start":{"line":72,"column":73},"end":{"line":74,"column":17}},"line":72},"15":{"name":"(anonymous_15)","decl":{"start":{"line":73,"column":51},"end":{"line":73,"column":52}},"loc":{"start":{"line":73,"column":79},"end":{"line":73,"column":123}},"line":73},"16":{"name":"(anonymous_16)","decl":{"start":{"line":79,"column":41},"end":{"line":79,"column":42}},"loc":{"start":{"line":79,"column":62},"end":{"line":97,"column":5}},"line":79},"17":{"name":"(anonymous_17)","decl":{"start":{"line":82,"column":26},"end":{"line":82,"column":27}},"loc":{"start":{"line":82,"column":50},"end":{"line":95,"column":9}},"line":82},"18":{"name":"(anonymous_18)","decl":{"start":{"line":98,"column":30},"end":{"line":98,"column":31}},"loc":{"start":{"line":98,"column":59},"end":{"line":103,"column":5}},"line":98},"19":{"name":"(anonymous_19)","decl":{"start":{"line":104,"column":29},"end":{"line":104,"column":30}},"loc":{"start":{"line":104,"column":41},"end":{"line":110,"column":5}},"line":104},"20":{"name":"(anonymous_20)","decl":{"start":{"line":106,"column":26},"end":{"line":106,"column":27}},"loc":{"start":{"line":106,"column":48},"end":{"line":108,"column":9}},"line":106},"21":{"name":"(anonymous_21)","decl":{"start":{"line":107,"column":26},"end":{"line":107,"column":27}},"loc":{"start":{"line":107,"column":39},"end":{"line":107,"column":111}},"line":107},"22":{"name":"(anonymous_22)","decl":{"start":{"line":111,"column":32},"end":{"line":111,"column":33}},"loc":{"start":{"line":111,"column":48},"end":{"line":115,"column":5}},"line":111},"23":{"name":"(anonymous_23)","decl":{"start":{"line":112,"column":26},"end":{"line":112,"column":27}},"loc":{"start":{"line":112,"column":48},"end":{"line":114,"column":9}},"line":112},"24":{"name":"(anonymous_24)","decl":{"start":{"line":116,"column":33},"end":{"line":116,"column":34}},"loc":{"start":{"line":116,"column":69},"end":{"line":123,"column":5}},"line":116}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":33,"column":8},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":33,"column":8},"end":{"line":35,"column":9}},{"start":{"line":33,"column":8},"end":{"line":35,"column":9}}],"line":33},"13":{"loc":{"start":{"line":33,"column":12},"end":{"line":33,"column":73}},"type":"binary-expr","locations":[{"start":{"line":33,"column":12},"end":{"line":33,"column":38}},{"start":{"line":33,"column":42},"end":{"line":33,"column":73}}],"line":33},"14":{"loc":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},{"start":{"line":36,"column":8},"end":{"line":38,"column":9}}],"line":36},"15":{"loc":{"start":{"line":36,"column":12},"end":{"line":36,"column":49}},"type":"binary-expr","locations":[{"start":{"line":36,"column":12},"end":{"line":36,"column":26}},{"start":{"line":36,"column":30},"end":{"line":36,"column":49}}],"line":36},"16":{"loc":{"start":{"line":40,"column":8},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":45,"column":9}},{"start":{"line":40,"column":8},"end":{"line":45,"column":9}}],"line":40},"17":{"loc":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},{"start":{"line":48,"column":8},"end":{"line":50,"column":9}}],"line":48},"18":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":73}},"type":"binary-expr","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":38}},{"start":{"line":48,"column":42},"end":{"line":48,"column":73}}],"line":48},"19":{"loc":{"start":{"line":52,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":57,"column":9}},{"start":{"line":52,"column":8},"end":{"line":57,"column":9}}],"line":52},"20":{"loc":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},{"start":{"line":60,"column":8},"end":{"line":62,"column":9}}],"line":60},"21":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":73}},"type":"binary-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":38}},{"start":{"line":60,"column":42},"end":{"line":60,"column":73}}],"line":60},"22":{"loc":{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},{"start":{"line":63,"column":8},"end":{"line":65,"column":9}}],"line":63},"23":{"loc":{"start":{"line":70,"column":36},"end":{"line":70,"column":112}},"type":"cond-expr","locations":[{"start":{"line":70,"column":71},"end":{"line":70,"column":100}},{"start":{"line":70,"column":103},"end":{"line":70,"column":112}}],"line":70},"24":{"loc":{"start":{"line":71,"column":12},"end":{"line":76,"column":13}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":76,"column":13}},{"start":{"line":71,"column":12},"end":{"line":76,"column":13}}],"line":71},"25":{"loc":{"start":{"line":87,"column":16},"end":{"line":92,"column":17}},"type":"if","locations":[{"start":{"line":87,"column":16},"end":{"line":92,"column":17}},{"start":{"line":87,"column":16},"end":{"line":92,"column":17}}],"line":87},"26":{"loc":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"type":"if","locations":[{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},{"start":{"line":99,"column":8},"end":{"line":101,"column":9}}],"line":99},"27":{"loc":{"start":{"line":99,"column":12},"end":{"line":99,"column":73}},"type":"binary-expr","locations":[{"start":{"line":99,"column":12},"end":{"line":99,"column":38}},{"start":{"line":99,"column":42},"end":{"line":99,"column":73}}],"line":99},"28":{"loc":{"start":{"line":107,"column":62},"end":{"line":107,"column":107}},"type":"cond-expr","locations":[{"start":{"line":107,"column":94},"end":{"line":107,"column":103}},{"start":{"line":107,"column":106},"end":{"line":107,"column":107}}],"line":107},"29":{"loc":{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},{"start":{"line":117,"column":8},"end":{"line":122,"column":9}}],"line":117}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":964,"27":1,"28":21,"29":1,"30":24634,"31":1,"32":24633,"33":1,"34":24632,"35":24632,"36":99,"37":24533,"38":1,"39":9136,"40":1,"41":9135,"42":9135,"43":9134,"44":1,"45":1,"46":37,"47":1,"48":36,"49":3,"50":1,"51":17,"52":17,"53":9,"54":9,"55":7,"56":14,"57":21,"58":7,"59":1,"60":11,"61":11,"62":11,"63":17,"64":17,"65":17,"66":17,"67":23,"68":23,"69":23,"70":13,"71":10,"72":17,"73":11,"74":1,"75":9746,"76":1,"77":9745,"78":1,"79":21,"80":21,"81":13,"82":16,"83":21,"84":1,"85":30,"86":28,"87":1,"88":24,"89":15,"90":9,"91":1,"92":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":964,"8":21,"9":24634,"10":9136,"11":37,"12":17,"13":9,"14":14,"15":21,"16":11,"17":17,"18":9746,"19":21,"20":13,"21":16,"22":30,"23":28,"24":24},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,24633],"13":[24634,24633],"14":[1,24632],"15":[24633,24632],"16":[99,24533],"17":[1,9135],"18":[9136,9135],"19":[9134,1],"20":[1,36],"21":[37,36],"22":[3,33],"23":[7,2],"24":[7,2],"25":[13,10],"26":[1,9745],"27":[9746,9745],"28":[7,9],"29":[15,9]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/lookup.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/container/lookup.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { isClonable } from \"../utils/clonable\";\n\nclass Lookup implements interfaces.Lookup {\n\n // dictionary used store multiple values for each key \n private _map: Map;\n\n public constructor() {\n this._map = new Map();\n }\n\n public getMap() {\n return this._map;\n }\n\n // adds a new entry to _map\n public add(serviceIdentifier: interfaces.ServiceIdentifier, value: T): void {\n\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n if (value === null || value === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n const entry = this._map.get(serviceIdentifier);\n if (entry !== undefined) {\n entry.push(value);\n } else {\n this._map.set(serviceIdentifier, [value]);\n }\n }\n\n // gets the value of a entry by its key (serviceIdentifier)\n public get(serviceIdentifier: interfaces.ServiceIdentifier): T[] {\n\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n const entry = this._map.get(serviceIdentifier);\n\n if (entry !== undefined) {\n return entry;\n } else {\n throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\n }\n }\n\n // removes a entry from _map by its key (serviceIdentifier)\n public remove(serviceIdentifier: interfaces.ServiceIdentifier): void {\n\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n if (!this._map.delete(serviceIdentifier)) {\n throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\n }\n }\n\n public removeIntersection(lookup: interfaces.Lookup): void {\n\n this.traverse(\n (serviceIdentifier: interfaces.ServiceIdentifier, value: T[]) => {\n const lookupActivations = lookup.hasKey(serviceIdentifier) ? lookup.get(serviceIdentifier) : undefined;\n if (lookupActivations !== undefined) {\n const filteredValues = value.filter(\n (lookupValue) =>\n !lookupActivations.some((moduleActivation) => lookupValue === moduleActivation)\n );\n\n this._setValue(serviceIdentifier, filteredValues);\n }\n }\n );\n }\n\n public removeByCondition(condition: (item: T) => boolean): T[] {\n const removals: T[] = [];\n this._map.forEach((entries, key) => {\n const updatedEntries: T[] = [];\n\n for (const entry of entries) {\n const remove = condition(entry);\n if (remove) {\n removals.push(entry);\n } else {\n updatedEntries.push(entry);\n }\n }\n\n this._setValue(key, updatedEntries);\n });\n\n return removals;\n }\n\n // returns true if _map contains a key (serviceIdentifier)\n public hasKey(serviceIdentifier: interfaces.ServiceIdentifier): boolean {\n\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n return this._map.has(serviceIdentifier);\n }\n\n // returns a new Lookup instance; note: this is not a deep clone, only Lookup related data structure (dictionary) is\n // cloned, content remains the same\n public clone(): interfaces.Lookup {\n\n const copy = new Lookup();\n\n this._map.forEach((value, key) => {\n value.forEach((b) => copy.add(key, isClonable(b) ? b.clone() : b));\n });\n\n return copy;\n }\n\n public traverse(func: (key: interfaces.ServiceIdentifier, value: T[]) => void): void {\n this._map.forEach((value, key) => {\n func(key, value);\n });\n }\n\n private _setValue(serviceIdentifier: interfaces.ServiceIdentifier, value: T[]): void {\n if (value.length > 0) {\n this._map.set(serviceIdentifier, value);\n } else {\n this._map.delete(serviceIdentifier);\n }\n }\n\n}\n\nexport { Lookup };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ed25ad8dde4c913a079628f6016759291c5203c9","contentHash":"3c2977b67978215f0f9774179bda1976e7cb1011083c0f2bf6c47cfaa4b0117e"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/clonable.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/clonable.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}},"2":{"start":{"line":5,"column":4},"end":{"line":8,"column":43}},"3":{"start":{"line":10,"column":0},"end":{"line":10,"column":32}}},"fnMap":{"0":{"name":"isClonable","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":19}},"loc":{"start":{"line":4,"column":25},"end":{"line":9,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":11},"end":{"line":8,"column":42}},"type":"binary-expr","locations":[{"start":{"line":5,"column":12},"end":{"line":5,"column":35}},{"start":{"line":6,"column":12},"end":{"line":6,"column":24}},{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},{"start":{"line":8,"column":11},"end":{"line":8,"column":42}}],"line":5}},"s":{"0":1,"1":1,"2":16,"3":1},"f":{"0":16},"b":{"0":[16,8,8,7]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/clonable.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/utils/clonable.ts"],"names":[],"mappings":";;;AAEA,SAAS,UAAU,CAAI,GAAY;IACjC,OAAO,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;WAC3B,CAAC,GAAG,KAAK,IAAI,CAAC;WACd,CAAC,OAAO,IAAI,GAAG,CAAC;WAChB,OAAQ,GAA8B,CAAC,KAAK,KAAK,UAAU,CAAC;AACnE,CAAC;AAEQ,gCAAU","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nfunction isClonable(obj: unknown): obj is interfaces.Clonable {\n return (typeof obj === 'object')\n && (obj !== null)\n && ('clone' in obj)\n && typeof (obj as interfaces.Clonable).clone === 'function';\n}\n\nexport { isClonable };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6910d475c50b0ae27083113b5207b349f223f5fb","contentHash":"53b1df4de2d2ed936b1b5ff4a79fcfa760bb442124008e05f6b594f643427fd7"},"/Users/dan/jsProjects/inversify/InversifyJS/src/container/module_activation_store.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/module_activation_store.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"2":{"start":{"line":4,"column":15},"end":{"line":4,"column":34}},"3":{"start":{"line":5,"column":29},"end":{"line":51,"column":3}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":30}},"5":{"start":{"line":9,"column":4},"end":{"line":16,"column":6}},"6":{"start":{"line":10,"column":8},"end":{"line":14,"column":9}},"7":{"start":{"line":11,"column":27},"end":{"line":11,"column":50}},"8":{"start":{"line":12,"column":12},"end":{"line":12,"column":39}},"9":{"start":{"line":13,"column":12},"end":{"line":13,"column":28}},"10":{"start":{"line":15,"column":8},"end":{"line":15,"column":45}},"11":{"start":{"line":17,"column":4},"end":{"line":20,"column":6}},"12":{"start":{"line":18,"column":8},"end":{"line":19,"column":68}},"13":{"start":{"line":21,"column":4},"end":{"line":24,"column":6}},"14":{"start":{"line":22,"column":8},"end":{"line":23,"column":64}},"15":{"start":{"line":25,"column":4},"end":{"line":34,"column":6}},"16":{"start":{"line":26,"column":20},"end":{"line":26,"column":47}},"17":{"start":{"line":27,"column":8},"end":{"line":32,"column":11}},"18":{"start":{"line":28,"column":12},"end":{"line":31,"column":15}},"19":{"start":{"line":33,"column":8},"end":{"line":33,"column":21}},"20":{"start":{"line":35,"column":4},"end":{"line":42,"column":6}},"21":{"start":{"line":36,"column":39},"end":{"line":36,"column":62}},"22":{"start":{"line":37,"column":8},"end":{"line":40,"column":9}},"23":{"start":{"line":38,"column":12},"end":{"line":38,"column":69}},"24":{"start":{"line":39,"column":12},"end":{"line":39,"column":62}},"25":{"start":{"line":41,"column":8},"end":{"line":41,"column":40}},"26":{"start":{"line":43,"column":4},"end":{"line":49,"column":6}},"27":{"start":{"line":44,"column":28},"end":{"line":47,"column":9}},"28":{"start":{"line":48,"column":8},"end":{"line":48,"column":29}},"29":{"start":{"line":50,"column":4},"end":{"line":50,"column":33}},"30":{"start":{"line":52,"column":0},"end":{"line":52,"column":54}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":29},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":41},"end":{"line":51,"column":1}},"line":5},"1":{"name":"ModuleActivationStore","decl":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"loc":{"start":{"line":6,"column":37},"end":{"line":8,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":45},"end":{"line":9,"column":46}},"loc":{"start":{"line":9,"column":65},"end":{"line":16,"column":5}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":54},"end":{"line":17,"column":55}},"loc":{"start":{"line":17,"column":109},"end":{"line":20,"column":5}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":52},"end":{"line":21,"column":53}},"loc":{"start":{"line":21,"column":105},"end":{"line":24,"column":5}},"line":21},"5":{"name":"(anonymous_5)","decl":{"start":{"line":25,"column":44},"end":{"line":25,"column":45}},"loc":{"start":{"line":25,"column":56},"end":{"line":34,"column":5}},"line":25},"6":{"name":"(anonymous_6)","decl":{"start":{"line":27,"column":26},"end":{"line":27,"column":27}},"loc":{"start":{"line":27,"column":61},"end":{"line":32,"column":9}},"line":27},"7":{"name":"(anonymous_7)","decl":{"start":{"line":35,"column":67},"end":{"line":35,"column":68}},"loc":{"start":{"line":35,"column":87},"end":{"line":42,"column":5}},"line":35},"8":{"name":"(anonymous_8)","decl":{"start":{"line":43,"column":61},"end":{"line":43,"column":62}},"loc":{"start":{"line":43,"column":73},"end":{"line":49,"column":5}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":8},"end":{"line":14,"column":9}},"type":"if","locations":[{"start":{"line":10,"column":8},"end":{"line":14,"column":9}},{"start":{"line":10,"column":8},"end":{"line":14,"column":9}}],"line":10},"1":{"loc":{"start":{"line":37,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":40,"column":9}},{"start":{"line":37,"column":8},"end":{"line":40,"column":9}}],"line":37}},"s":{"0":1,"1":1,"2":1,"3":1,"4":305,"5":1,"6":14,"7":9,"8":9,"9":9,"10":5,"11":1,"12":17,"13":1,"14":12,"15":1,"16":5,"17":5,"18":2,"19":5,"20":1,"21":29,"22":29,"23":12,"24":12,"25":29,"26":1,"27":17,"28":17,"29":1,"30":1},"f":{"0":1,"1":305,"2":14,"3":17,"4":12,"5":5,"6":2,"7":29,"8":17},"b":{"0":[9,5],"1":[12,17]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/module_activation_store.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/container/module_activation_store.ts"],"names":[],"mappings":";;;AACA,mCAAkC;AAElC;IAAA;QACU,SAAI,GAAG,IAAI,GAAG,EAA+C,CAAC;IA4DxE,CAAC;IA1DQ,sCAAM,GAAb,UAAc,QAAgB;QAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,OAAO,QAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACvC,CAAC;IAEM,+CAAe,GAAtB,UACE,QAAgB,EAChB,iBAAwD,EACxD,cAAuD;QAEvD,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC;aACxC,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAEM,6CAAa,GAApB,UACE,QAAgB,EAChB,iBAAwD,EACxD,YAAmD;QAEnD,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC;aACxC,aAAa,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;IAEM,qCAAK,GAAZ;QACE,IAAM,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,aAAa,EAAE,QAAQ;YACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACvB,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE;gBAClD,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,4DAA4B,GAApC,UAAqC,QAAgB;QACnD,IAAI,wBAAwB,GAAoD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExG,IAAI,wBAAwB,KAAK,SAAS,EAAE;YAC1C,wBAAwB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;SACnD;QAED,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAEO,sDAAsB,GAA9B;QACE,IAAM,aAAa,GAAwC;YACzD,aAAa,EAAE,IAAI,eAAM,EAAE;YAC3B,eAAe,EAAE,IAAI,eAAM,EAAE;SAC9B,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IACH,4BAAC;AAAD,CAAC,AA7DD,IA6DC;AA7DY,sDAAqB","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { Lookup } from \"./lookup\";\n\nexport class ModuleActivationStore implements interfaces.ModuleActivationStore {\n private _map = new Map();\n\n public remove(moduleId: number): interfaces.ModuleActivationHandlers {\n if (this._map.has(moduleId)) {\n const handlers = this._map.get(moduleId);\n this._map.delete(moduleId);\n return handlers!;\n }\n return this._getEmptyHandlersStore();\n }\n\n public addDeactivation(\n moduleId: number,\n serviceIdentifier: interfaces.ServiceIdentifier,\n onDeactivation: interfaces.BindingDeactivation,\n ) {\n this._getModuleActivationHandlers(moduleId)\n .onDeactivations.add(serviceIdentifier, onDeactivation);\n }\n\n public addActivation(\n moduleId: number,\n serviceIdentifier: interfaces.ServiceIdentifier,\n onActivation: interfaces.BindingActivation,\n ) {\n this._getModuleActivationHandlers(moduleId)\n .onActivations.add(serviceIdentifier, onActivation);\n }\n\n public clone(): interfaces.ModuleActivationStore {\n const clone = new ModuleActivationStore();\n\n this._map.forEach((handlersStore, moduleId) => {\n clone._map.set(moduleId, {\n onActivations: handlersStore.onActivations.clone(),\n onDeactivations: handlersStore.onDeactivations.clone(),\n });\n });\n\n return clone;\n }\n\n private _getModuleActivationHandlers(moduleId: number): interfaces.ModuleActivationHandlers {\n let moduleActivationHandlers: interfaces.ModuleActivationHandlers | undefined = this._map.get(moduleId);\n\n if (moduleActivationHandlers === undefined) {\n moduleActivationHandlers = this._getEmptyHandlersStore();\n this._map.set(moduleId, moduleActivationHandlers);\n }\n\n return moduleActivationHandlers;\n }\n\n private _getEmptyHandlersStore(): interfaces.ModuleActivationHandlers {\n const handlersStore: interfaces.ModuleActivationHandlers = {\n onActivations: new Lookup(),\n onDeactivations: new Lookup()\n };\n return handlersStore;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d652e98655ea2833b8309eab7b78560254d776c4","contentHash":"bbdbcf6fdb8385863979f98d9dd4c04af75f981f01f0e617d959e9e322235d71"},"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_module.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_module.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":64}},"2":{"start":{"line":4,"column":11},"end":{"line":4,"column":33}},"3":{"start":{"line":5,"column":23},"end":{"line":11,"column":3}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":33}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":33}},"6":{"start":{"line":10,"column":4},"end":{"line":10,"column":27}},"7":{"start":{"line":12,"column":0},"end":{"line":12,"column":42}},"8":{"start":{"line":13,"column":28},"end":{"line":19,"column":3}},"9":{"start":{"line":15,"column":8},"end":{"line":15,"column":33}},"10":{"start":{"line":16,"column":8},"end":{"line":16,"column":33}},"11":{"start":{"line":18,"column":4},"end":{"line":18,"column":32}},"12":{"start":{"line":20,"column":0},"end":{"line":20,"column":52}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":23},"end":{"line":5,"column":24}},"loc":{"start":{"line":5,"column":35},"end":{"line":11,"column":1}},"line":5},"1":{"name":"ContainerModule","decl":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"loc":{"start":{"line":6,"column":39},"end":{"line":9,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":28},"end":{"line":13,"column":29}},"loc":{"start":{"line":13,"column":40},"end":{"line":19,"column":1}},"line":13},"3":{"name":"AsyncContainerModule","decl":{"start":{"line":14,"column":13},"end":{"line":14,"column":33}},"loc":{"start":{"line":14,"column":44},"end":{"line":17,"column":5}},"line":14}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":18,"5":18,"6":1,"7":1,"8":1,"9":2,"10":2,"11":1,"12":1},"f":{"0":1,"1":18,"2":1,"3":2},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_module.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_module.ts"],"names":[],"mappings":";;;AACA,kCAAiC;AAEjC;IAKE,yBAAmB,QAA4C;QAC7D,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEH,sBAAC;AAAD,CAAC,AAVD,IAUC;AAVY,0CAAe;AAY5B;IAKE,8BAAmB,QAAiD;QAClE,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEH,2BAAC;AAAD,CAAC,AAVD,IAUC;AAVY,oDAAoB","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\r\nimport { id } from \"../utils/id\";\r\n\r\nexport class ContainerModule implements interfaces.ContainerModule {\r\n\r\n public id: number;\r\n public registry: interfaces.ContainerModuleCallBack;\r\n\r\n public constructor(registry: interfaces.ContainerModuleCallBack) {\r\n this.id = id();\r\n this.registry = registry;\r\n }\r\n\r\n}\r\n\r\nexport class AsyncContainerModule implements interfaces.AsyncContainerModule {\r\n\r\n public id: number;\r\n public registry: interfaces.AsyncContainerModuleCallBack;\r\n\r\n public constructor(registry: interfaces.AsyncContainerModuleCallBack) {\r\n this.id = id();\r\n this.registry = registry;\r\n }\r\n\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ce9944dba111a52d9d1c22a51742340a7b0a06d3","contentHash":"a883888c14214330d93bd5b6d02b51ac7113490e488f8a423fd2b9750538c9d7"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/injectable.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/injectable.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":28}},"23":{"start":{"line":23,"column":18},"end":{"line":23,"column":66}},"24":{"start":{"line":24,"column":19},"end":{"line":24,"column":70}},"25":{"start":{"line":26,"column":4},"end":{"line":33,"column":6}},"26":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"27":{"start":{"line":28,"column":12},"end":{"line":28,"column":73}},"28":{"start":{"line":30,"column":20},"end":{"line":30,"column":86}},"29":{"start":{"line":31,"column":8},"end":{"line":31,"column":72}},"30":{"start":{"line":32,"column":8},"end":{"line":32,"column":22}},"31":{"start":{"line":35,"column":0},"end":{"line":35,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"injectable","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":19}},"loc":{"start":{"line":25,"column":22},"end":{"line":34,"column":1}},"line":25},"7":{"name":"(anonymous_7)","decl":{"start":{"line":26,"column":11},"end":{"line":26,"column":12}},"loc":{"start":{"line":26,"column":29},"end":{"line":33,"column":5}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},{"start":{"line":27,"column":8},"end":{"line":29,"column":9}}],"line":27},"13":{"loc":{"start":{"line":30,"column":20},"end":{"line":30,"column":86}},"type":"binary-expr","locations":[{"start":{"line":30,"column":20},"end":{"line":30,"column":80}},{"start":{"line":30,"column":84},"end":{"line":30,"column":86}}],"line":30}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":352,"26":352,"27":1,"28":351,"29":351,"30":351,"31":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":352,"7":352},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,351],"13":[351,181]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/injectable.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/injectable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAuD;AACvD,uEAA2D;AAE3D,SAAS,UAAU;IACjB,OAAO,UAA8D,MAAS;QAE5E,IAAI,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;SAC9D;QAED,IAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACjF,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEhE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAEQ,gCAAU","sourcesContent":["import * as ERRORS_MSGS from \"../constants/error_msgs\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\n\nfunction injectable() {\n return function unknown>(target: T) {\n\n if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {\n throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR);\n }\n\n const types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];\n Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target);\n\n return target;\n };\n}\n\nexport { injectable };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3f22f68f2be75ae2eb6d9dabd5d70dbab6b2d62d","contentHash":"4fb4de6997adba161b7c09cc20387288d155496804cd93bb2f1cbcaa0cf7e093"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/tagged.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/tagged.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":48}},"3":{"start":{"line":5,"column":24},"end":{"line":5,"column":52}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":109}},"5":{"start":{"line":9,"column":0},"end":{"line":9,"column":24}}},"fnMap":{"0":{"name":"tagged","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":15}},"loc":{"start":{"line":6,"column":44},"end":{"line":8,"column":1}},"line":6}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":25,"5":1},"f":{"0":25},"b":{},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/tagged.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/tagged.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAChD,qDAA0D;AAG1D,SAAS,MAAM,CAAI,WAAqC,EAAE,aAAsB;IAC9E,OAAO,IAAA,uCAAqB,EAAC,IAAI,mBAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AACzE,CAAC;AAEQ,wBAAM","sourcesContent":["import { Metadata } from '../planning/metadata';\nimport { createTaggedDecorator } from './decorator_utils';\n\n// Used to add custom metadata which is used to resolve metadata-based contextual bindings.\nfunction tagged(metadataKey: string | number | symbol, metadataValue: unknown) {\n return createTaggedDecorator(new Metadata(metadataKey, metadataValue));\n}\n\nexport { tagged };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e198a8f2c39cdbeff8e73ed258ac96599c3e9ff6","contentHash":"f61a3b18c316a4190aa83cf6287044da197acae76a74d8790cbfeec5d5212262"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/named.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/named.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":23}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":24},"end":{"line":25,"column":52}},"26":{"start":{"line":27,"column":4},"end":{"line":27,"column":111}},"27":{"start":{"line":29,"column":0},"end":{"line":29,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"named","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":14}},"loc":{"start":{"line":26,"column":21},"end":{"line":28,"column":1}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":26,"27":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":26},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/named.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/named.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAC3D,iDAAgD;AAChD,qDAA0D;AAG1D,SAAS,KAAK,CAAC,IAA8B;IAC3C,OAAO,IAAA,uCAAqB,EAAC,IAAI,mBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAEQ,sBAAK","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\r\nimport { Metadata } from \"../planning/metadata\";\r\nimport { createTaggedDecorator } from \"./decorator_utils\";\r\n\r\n// Used to add named metadata which is used to resolve name-based contextual bindings.\r\nfunction named(name: string | number | symbol) {\r\n return createTaggedDecorator(new Metadata(METADATA_KEY.NAMED_TAG, name));\r\n}\r\n\r\nexport { named };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3fe38be9d6a8e7bbeed05f9403d52118067933ad","contentHash":"876a8c2d8aedde2989bd4768e39a706e8c8a8cc52a6e70e79ab1fa2d2873453b"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":20},"end":{"line":24,"column":44}},"25":{"start":{"line":25,"column":13},"end":{"line":25,"column":67}},"26":{"start":{"line":26,"column":0},"end":{"line":26,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAC3D,6CAA2C;AAE3C,IAAM,MAAM,GAAG,IAAA,wBAAU,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAE1C,wBAAM","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\r\nimport { injectBase } from \"./inject_base\";\r\n\r\nconst inject = injectBase(METADATA_KEY.INJECT_TAG);\r\n\r\nexport { inject };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7a2ea6cbe398e0e5aeeb6173056db2b941b02dd2","contentHash":"5f55aa5776b4d1a9e7a174dd525eff7a100081c7f38105dea4db5981d7dc0838"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject_base.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject_base.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":53}},"3":{"start":{"line":5,"column":17},"end":{"line":5,"column":48}},"4":{"start":{"line":6,"column":24},"end":{"line":6,"column":52}},"5":{"start":{"line":8,"column":4},"end":{"line":16,"column":6}},"6":{"start":{"line":9,"column":8},"end":{"line":15,"column":10}},"7":{"start":{"line":10,"column":12},"end":{"line":13,"column":13}},"8":{"start":{"line":11,"column":32},"end":{"line":11,"column":100}},"9":{"start":{"line":12,"column":16},"end":{"line":12,"column":90}},"10":{"start":{"line":14,"column":12},"end":{"line":14,"column":167}},"11":{"start":{"line":18,"column":0},"end":{"line":18,"column":32}}},"fnMap":{"0":{"name":"injectBase","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":19}},"loc":{"start":{"line":7,"column":33},"end":{"line":17,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":11},"end":{"line":8,"column":12}},"loc":{"start":{"line":8,"column":40},"end":{"line":16,"column":5}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":15},"end":{"line":9,"column":16}},"loc":{"start":{"line":9,"column":71},"end":{"line":15,"column":9}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":12},"end":{"line":13,"column":13}},"type":"if","locations":[{"start":{"line":10,"column":12},"end":{"line":13,"column":13}},{"start":{"line":10,"column":12},"end":{"line":13,"column":13}}],"line":10},"1":{"loc":{"start":{"line":11,"column":32},"end":{"line":11,"column":100}},"type":"cond-expr","locations":[{"start":{"line":11,"column":63},"end":{"line":11,"column":74}},{"start":{"line":11,"column":77},"end":{"line":11,"column":100}}],"line":11}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":2,"6":180,"7":180,"8":3,"9":3,"10":177,"11":1},"f":{"0":2,"1":180,"2":180},"b":{"0":[3,177],"1":[2,1]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject_base.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject_base.ts"],"names":[],"mappings":";;;AAAA,sDAAsE;AACtE,iDAAgD;AAChD,qDAA2E;AAG3E,SAAgB,UAAU,CAAC,WAAmB;IAC5C,OAAO,UAAc,iBAA6C;QAChE,OAAO,UACL,MAAuB,EACvB,SAA2B,EAC3B,yBAAiE;YAEjE,IAAI,iBAAiB,KAAK,SAAS,EAAE;gBACnC,IAAM,SAAS,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;gBAEvF,MAAM,IAAI,KAAK,CAAC,IAAA,wCAA2B,EAAC,SAAS,CAAC,CAAC,CAAC;aACzD;YACD,OAAO,IAAA,uCAAqB,EAC1B,IAAI,mBAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAC7C,CAAC,MAAM,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC,CAAA;AACH,CAAC;AAjBD,gCAiBC","sourcesContent":["import { UNDEFINED_INJECT_ANNOTATION } from \"../constants/error_msgs\";\nimport { Metadata } from \"../planning/metadata\";\nimport { createTaggedDecorator, DecoratorTarget } from \"./decorator_utils\";\nimport { ServiceIdentifierOrFunc } from \"./lazy_service_identifier\";\n\nexport function injectBase(metadataKey: string) {\n return (serviceIdentifier: ServiceIdentifierOrFunc) => {\n return (\n target: DecoratorTarget,\n targetKey?: string | symbol,\n indexOrPropertyDescriptor?: number | TypedPropertyDescriptor,\n ) => {\n if (serviceIdentifier === undefined) {\n const className = typeof target === \"function\" ? target.name : target.constructor.name;\n\n throw new Error(UNDEFINED_INJECT_ANNOTATION(className));\n }\n return createTaggedDecorator(\n new Metadata(metadataKey, serviceIdentifier)\n )(target, targetKey, indexOrPropertyDescriptor);\n };\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b8a9b7b6629fbd3623c06beab30a417323d113dd","contentHash":"c9e7bf26f56d71b6a0bddbed22d2eb29491e3b9dd752ed5d1897e0eec2e5ff0e"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/optional.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/optional.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":26}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":24},"end":{"line":25,"column":52}},"26":{"start":{"line":27,"column":4},"end":{"line":27,"column":114}},"27":{"start":{"line":29,"column":0},"end":{"line":29,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"optional","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":17}},"loc":{"start":{"line":26,"column":20},"end":{"line":28,"column":1}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":6,"27":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":6},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/optional.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/optional.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAC3D,iDAAgD;AAChD,qDAA0D;AAE1D,SAAS,QAAQ;IACf,OAAO,IAAA,uCAAqB,EAAC,IAAI,mBAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9E,CAAC;AAEQ,4BAAQ","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { Metadata } from \"../planning/metadata\";\nimport { createTaggedDecorator } from \"./decorator_utils\";\n\nfunction optional() {\n return createTaggedDecorator(new Metadata(METADATA_KEY.OPTIONAL_TAG, true));\n}\n\nexport { optional };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3608398a26f403695338ac826c5f1ec3270b166f","contentHash":"ba71ba49cfcb503251debde98cb5342993b720b69bd557a0728592dd10b3130d"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/unmanaged.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/unmanaged.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":27}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":24},"end":{"line":25,"column":52}},"26":{"start":{"line":27,"column":4},"end":{"line":30,"column":6}},"27":{"start":{"line":28,"column":23},"end":{"line":28,"column":80}},"28":{"start":{"line":29,"column":8},"end":{"line":29,"column":80}},"29":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"unmanaged","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":18}},"loc":{"start":{"line":26,"column":21},"end":{"line":31,"column":1}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":27,"column":11},"end":{"line":27,"column":12}},"loc":{"start":{"line":27,"column":47},"end":{"line":30,"column":5}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":6,"27":6,"28":6,"29":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":6,"7":6},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/unmanaged.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/unmanaged.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAC3D,iDAAgD;AAChD,qDAAkE;AAElE,SAAS,SAAS;IAChB,OAAO,UAAU,MAAuB,EAAE,SAAiB,EAAE,KAAa;QACxE,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAChE,IAAA,8BAAY,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAEQ,8BAAS","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { Metadata } from \"../planning/metadata\";\nimport { tagParameter, DecoratorTarget } from \"./decorator_utils\";\n\nfunction unmanaged() {\n return function (target: DecoratorTarget, targetKey: string, index: number) {\n const metadata = new Metadata(METADATA_KEY.UNMANAGED_TAG, true);\n tagParameter(target, targetKey, index, metadata);\n };\n}\n\nexport { unmanaged };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bd2a0f6dcbd7fc2127088a3b3271d180efe4c0c5","contentHash":"ff632c5bff31a0da23aa6820312b8173a9bf3bc79cfb290e83fed3729dedd2bb"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/multi_inject.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/multi_inject.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":29}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":20},"end":{"line":24,"column":44}},"25":{"start":{"line":25,"column":18},"end":{"line":25,"column":78}},"26":{"start":{"line":26,"column":0},"end":{"line":26,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/multi_inject.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/multi_inject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAC3D,6CAA2C;AAE3C,IAAM,WAAW,GAAG,IAAA,wBAAU,EAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAErD,kCAAW","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { injectBase } from \"./inject_base\";\n\nconst multiInject = injectBase(METADATA_KEY.MULTI_INJECT_TAG);\n\nexport { multiInject };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ecd8b330d3ae049d713887d32eba564a33c8d6eb","contentHash":"d45843eb03052f4d4dbab5858a34daa4c6794e05ad56c312f653893e88180eb6"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/target_name.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/target_name.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":28}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":24},"end":{"line":25,"column":52}},"26":{"start":{"line":27,"column":4},"end":{"line":30,"column":6}},"27":{"start":{"line":28,"column":23},"end":{"line":28,"column":75}},"28":{"start":{"line":29,"column":8},"end":{"line":29,"column":80}},"29":{"start":{"line":32,"column":0},"end":{"line":32,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"targetName","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":19}},"loc":{"start":{"line":26,"column":26},"end":{"line":31,"column":1}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":27,"column":11},"end":{"line":27,"column":12}},"loc":{"start":{"line":27,"column":47},"end":{"line":30,"column":5}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":51,"27":51,"28":51,"29":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":51,"7":51},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/target_name.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/target_name.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAC3D,iDAAgD;AAChD,qDAAkE;AAElE,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,UAAU,MAAuB,EAAE,SAAiB,EAAE,KAAa;QACxE,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAA,8BAAY,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAEQ,gCAAU","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { Metadata } from \"../planning/metadata\";\nimport { tagParameter, DecoratorTarget } from \"./decorator_utils\";\n\nfunction targetName(name: string) {\n return function (target: DecoratorTarget, targetKey: string, index: number) {\n const metadata = new Metadata(METADATA_KEY.NAME_TAG, name);\n tagParameter(target, targetKey, index, metadata);\n };\n}\n\nexport { targetName };"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3afc21da3af9806bd597aaf0a4bd8f87e04b0601","contentHash":"281266271c0fe34723f01bb49a45b59428a496b1beaac77bca6a94ab613cfd00"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/post_construct.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/post_construct.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":31}},"23":{"start":{"line":23,"column":18},"end":{"line":23,"column":66}},"24":{"start":{"line":24,"column":19},"end":{"line":24,"column":70}},"25":{"start":{"line":25,"column":33},"end":{"line":25,"column":70}},"26":{"start":{"line":26,"column":20},"end":{"line":26,"column":148}},"27":{"start":{"line":27,"column":0},"end":{"line":27,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/post_construct.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/post_construct.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAuD;AACvD,uEAA2D;AAC3D,uEAAoE;AAEpE,IAAM,aAAa,GAAG,IAAA,iDAAsB,EAC1C,YAAY,CAAC,cAAc,EAC3B,WAAW,CAAC,+BAA+B,CAC5C,CAAC;AAEO,sCAAa","sourcesContent":["import * as ERRORS_MSGS from \"../constants/error_msgs\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { propertyEventDecorator } from \"./property_event_decorator\";\n\nconst postConstruct = propertyEventDecorator(\n METADATA_KEY.POST_CONSTRUCT,\n ERRORS_MSGS.MULTIPLE_POST_CONSTRUCT_METHODS,\n);\n\nexport { postConstruct };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"59defc36bcf64ea21a4f5ba91d5c58433e4ce370","contentHash":"9bf6276340fd1b3e3c895763f8ab7ec5dfa1cafd05d431401de427e7f9eeda43"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/property_event_decorator.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/property_event_decorator.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":48}},"3":{"start":{"line":6,"column":4},"end":{"line":14,"column":6}},"4":{"start":{"line":7,"column":8},"end":{"line":13,"column":10}},"5":{"start":{"line":8,"column":27},"end":{"line":8,"column":73}},"6":{"start":{"line":9,"column":12},"end":{"line":11,"column":13}},"7":{"start":{"line":10,"column":16},"end":{"line":10,"column":46}},"8":{"start":{"line":12,"column":12},"end":{"line":12,"column":75}},"9":{"start":{"line":16,"column":0},"end":{"line":16,"column":56}}},"fnMap":{"0":{"name":"propertyEventDecorator","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":31}},"loc":{"start":{"line":5,"column":56},"end":{"line":15,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":11},"end":{"line":6,"column":12}},"loc":{"start":{"line":6,"column":23},"end":{"line":14,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":15},"end":{"line":7,"column":16}},"loc":{"start":{"line":7,"column":46},"end":{"line":13,"column":9}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":12},"end":{"line":11,"column":13}},"type":"if","locations":[{"start":{"line":9,"column":12},"end":{"line":11,"column":13}},{"start":{"line":9,"column":12},"end":{"line":11,"column":13}}],"line":9}},"s":{"0":1,"1":1,"2":1,"3":2,"4":21,"5":21,"6":21,"7":1,"8":20,"9":1},"f":{"0":2,"1":21,"2":21},"b":{"0":[1,20]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/property_event_decorator.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/property_event_decorator.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAEhD,SAAS,sBAAsB,CAAC,QAAgB,EAAE,YAAoB;IACpE,OAAO;QACL,OAAO,UAAC,MAAyC,EAAE,WAAmB;YACpE,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;aAC/B;YACD,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAEQ,wDAAsB","sourcesContent":["import { Metadata } from \"../planning/metadata\";\n\nfunction propertyEventDecorator(eventKey: string, errorMessage: string) {\n return () => {\n return (target: { constructor: NewableFunction; }, propertyKey: string) => {\n const metadata = new Metadata(eventKey, propertyKey);\n\n if (Reflect.hasOwnMetadata(eventKey, target.constructor)) {\n throw new Error(errorMessage);\n }\n Reflect.defineMetadata(eventKey, metadata, target.constructor);\n }\n }\n}\n\nexport { propertyEventDecorator }\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8631866a2d1076223b89646b889a9cd085c64a8c","contentHash":"a5ca9f270ef81c533bf0e29f5241c5a30b473db0b9265578a3af7c8ba4971ccc"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/pre_destroy.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/pre_destroy.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":28}},"23":{"start":{"line":23,"column":18},"end":{"line":23,"column":66}},"24":{"start":{"line":24,"column":19},"end":{"line":24,"column":70}},"25":{"start":{"line":25,"column":33},"end":{"line":25,"column":70}},"26":{"start":{"line":26,"column":17},"end":{"line":26,"column":139}},"27":{"start":{"line":27,"column":0},"end":{"line":27,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/pre_destroy.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/pre_destroy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAuD;AACvD,uEAA2D;AAC3D,uEAAoE;AAEpE,IAAM,UAAU,GAAG,IAAA,iDAAsB,EACvC,YAAY,CAAC,WAAW,EACxB,WAAW,CAAC,4BAA4B,CACzC,CAAC;AAEO,gCAAU","sourcesContent":["import * as ERRORS_MSGS from \"../constants/error_msgs\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { propertyEventDecorator } from \"./property_event_decorator\";\n\nconst preDestroy = propertyEventDecorator(\n METADATA_KEY.PRE_DESTROY,\n ERRORS_MSGS.MULTIPLE_PRE_DESTROY_METHODS,\n);\n\nexport { preDestroy };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f549966c93295d79d513709cdf201a92f2e9cc81","contentHash":"883911d1e251b359ca996d0a66168d05ab2bfaaf9eb8cf75936459fe4d78c31e"},"/Users/dan/jsProjects/inversify/InversifyJS/src/interfaces/interfaces.ts":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/interfaces/interfaces.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}},"2":{"start":{"line":5,"column":0},"end":{"line":7,"column":36}},"3":{"start":{"line":8,"column":0},"end":{"line":8,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":1},"end":{"line":5,"column":2}},"loc":{"start":{"line":5,"column":23},"end":{"line":7,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":3},"end":{"line":7,"column":34}},"type":"binary-expr","locations":[{"start":{"line":7,"column":3},"end":{"line":7,"column":13}},{"start":{"line":7,"column":18},"end":{"line":7,"column":33}}],"line":7}},"s":{"0":1,"1":1,"2":1,"3":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/dan/jsProjects/inversify/InversifyJS/src/interfaces/interfaces.ts","sources":["/Users/dan/jsProjects/inversify/InversifyJS/src/interfaces/interfaces.ts"],"names":[],"mappings":";;;AAEA,IAAU,UAAU,CA+WnB;AA/WD,WAAU,UAAU;IAwFjB,CAAC;AAuRJ,CAAC,EA/WS,UAAU,KAAV,UAAU,QA+WnB;AAEQ,gCAAU","sourcesContent":["import { FactoryType } from \"../utils/factory_type\";\n\nnamespace interfaces {\n export type DynamicValue = (context: interfaces.Context) => T | Promise;\n export type ContainerResolution = T | Promise | (T | Promise)[];\n\n type AsyncCallback =\n TCallback extends (...args: infer TArgs) => infer TResult ? (...args: TArgs) => Promise\n : never;\n\n export type BindingScope = \"Singleton\" | \"Transient\" | \"Request\";\n\n export type BindingType = \"ConstantValue\" | \"Constructor\" | \"DynamicValue\" | \"Factory\" |\n \"Function\" | \"Instance\" | \"Invalid\" | \"Provider\";\n\n export type TargetType = \"ConstructorArgument\" | \"ClassProperty\" | \"Variable\";\n\n export interface BindingScopeEnum {\n Request: interfaces.BindingScope;\n Singleton: interfaces.BindingScope;\n Transient: interfaces.BindingScope;\n }\n\n export interface BindingTypeEnum {\n ConstantValue: interfaces.BindingType;\n Constructor: interfaces.BindingType;\n DynamicValue: interfaces.BindingType;\n Factory: interfaces.BindingType;\n Function: interfaces.BindingType;\n Instance: interfaces.BindingType;\n Invalid: interfaces.BindingType;\n Provider: interfaces.BindingType;\n }\n\n export interface TargetTypeEnum {\n ConstructorArgument: interfaces.TargetType;\n ClassProperty: interfaces.TargetType;\n Variable: interfaces.TargetType;\n }\n\n export type Newable = new (...args: never[]) => T;\n\n export interface Abstract {\n prototype: T;\n }\n\n export type ServiceIdentifier = (string | symbol | Newable | Abstract);\n\n export interface Clonable {\n clone(): T;\n }\n\n export type BindingActivation = (context: interfaces.Context, injectable: T) => T | Promise;\n\n export type BindingDeactivation = (injectable: T) => void | Promise;\n\n export interface Binding extends Clonable> {\n id: number;\n moduleId: ContainerModuleBase[\"id\"];\n activated: boolean;\n serviceIdentifier: ServiceIdentifier;\n constraint: ConstraintFunction;\n dynamicValue: DynamicValue | null;\n scope: BindingScope;\n type: BindingType;\n implementationType: Newable | TActivated | null;\n factory: FactoryCreator | null;\n provider: ProviderCreator | null;\n onActivation: BindingActivation | null;\n onDeactivation: BindingDeactivation | null;\n cache: null | TActivated | Promise;\n }\n\n export type SimpleFactory = (...args: U) => T;\n\n export type MultiFactory = (...args: U) => SimpleFactory;\n\n export type Factory = SimpleFactory | MultiFactory;\n\n export type FactoryCreator = (context: Context) => Factory;\n\n export type AutoNamedFactory = SimpleFactory;\n\n export type AutoFactory = SimpleFactory;\n\n export type FactoryTypeFunction = (context: interfaces.Context) => T | Promise\n\n export interface FactoryDetails {\n factoryType: FactoryType,\n factory: FactoryTypeFunction | null\n };\n\n export type Provider = (...args: any[]) => (((...args: any[]) => Promise) | Promise);\n\n export type ProviderCreator = (context: Context) => Provider;\n\n export interface NextArgs {\n avoidConstraints: boolean;\n contextInterceptor: ((contexts: Context) => Context);\n isMultiInject: boolean;\n targetType: TargetType;\n serviceIdentifier: interfaces.ServiceIdentifier;\n key?: string | number | symbol;\n value?: unknown;\n }\n\n export type Next = (args: NextArgs) => (any | any[]);\n\n export type Middleware = (next: Next) => Next;\n\n export type ContextInterceptor = (context: interfaces.Context) => interfaces.Context;\n\n export interface Context {\n id: number;\n container: Container;\n plan: Plan;\n currentRequest: Request;\n addPlan(plan: Plan): void;\n setCurrentRequest(request: Request): void;\n }\n\n export type MetadataOrMetadataArray = Metadata | Metadata[];\n\n export interface Metadata {\n key: string | number | symbol;\n value: TValue;\n }\n\n export interface Plan {\n parentContext: Context;\n rootRequest: Request;\n }\n\n export interface QueryableString {\n startsWith(searchString: string): boolean;\n endsWith(searchString: string): boolean;\n contains(searchString: string): boolean;\n equals(compareString: string): boolean;\n value(): string;\n }\n\n export type ResolveRequestHandler = (\n request: interfaces.Request\n ) => unknown;\n\n export type RequestScope = Map;\n\n export interface Request {\n id: number;\n serviceIdentifier: ServiceIdentifier;\n parentContext: Context;\n parentRequest: Request | null;\n childRequests: Request[];\n target: Target;\n bindings: Binding[];\n requestScope: RequestScope | null;\n addChildRequest(\n serviceIdentifier: ServiceIdentifier,\n bindings: (Binding | Binding[]),\n target: Target\n ): Request;\n }\n\n export interface Target {\n id: number;\n serviceIdentifier: ServiceIdentifier;\n type: TargetType;\n name: QueryableString;\n identifier: string | symbol;\n metadata: Metadata[];\n getNamedTag(): interfaces.Metadata | null;\n getCustomTags(): interfaces.Metadata[] | null;\n hasTag(key: string | number | symbol): boolean;\n isArray(): boolean;\n matchesArray(name: interfaces.ServiceIdentifier): boolean;\n isNamed(): boolean;\n isTagged(): boolean;\n isOptional(): boolean;\n matchesNamedTag(name: string): boolean;\n matchesTag(key: string | number | symbol): (value: unknown) => boolean;\n }\n\n export interface ContainerOptions {\n autoBindInjectable?: boolean;\n defaultScope?: BindingScope;\n skipBaseClassChecks?: boolean;\n }\n\n export interface Container {\n id: number;\n parent: Container | null;\n options: ContainerOptions;\n bind(serviceIdentifier: ServiceIdentifier): BindingToSyntax;\n rebind(serviceIdentifier: interfaces.ServiceIdentifier): interfaces.BindingToSyntax;\n rebindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise>\n unbind(serviceIdentifier: ServiceIdentifier): void;\n unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise;\n unbindAll(): void;\n unbindAllAsync(): Promise;\n isBound(serviceIdentifier: ServiceIdentifier): boolean;\n isCurrentBound(serviceIdentifier: ServiceIdentifier): boolean;\n isBoundNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): boolean;\n isBoundTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): boolean;\n get(serviceIdentifier: ServiceIdentifier): T;\n getNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): T;\n getTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): T;\n getAll(serviceIdentifier: ServiceIdentifier): T[];\n getAllTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): T[];\n getAllNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): T[];\n getAsync(serviceIdentifier: ServiceIdentifier): Promise;\n getNamedAsync(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): Promise;\n getTaggedAsync(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): Promise;\n getAllAsync(serviceIdentifier: ServiceIdentifier): Promise;\n getAllTaggedAsync(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): Promise;\n getAllNamedAsync(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): Promise;\n onActivation(serviceIdentifier: ServiceIdentifier, onActivation: BindingActivation): void;\n onDeactivation(serviceIdentifier: ServiceIdentifier, onDeactivation: BindingDeactivation): void;\n resolve(constructorFunction: interfaces.Newable): T;\n load(...modules: ContainerModule[]): void;\n loadAsync(...modules: AsyncContainerModule[]): Promise;\n unload(...modules: ContainerModuleBase[]): void;\n unloadAsync(...modules: ContainerModuleBase[]): Promise\n applyCustomMetadataReader(metadataReader: MetadataReader): void;\n applyMiddleware(...middleware: Middleware[]): void;\n snapshot(): void;\n restore(): void;\n createChild(): Container;\n }\n\n export type Bind = (serviceIdentifier: ServiceIdentifier) => BindingToSyntax;\n\n export type Rebind = (serviceIdentifier: ServiceIdentifier) => BindingToSyntax;\n\n export type Unbind = (serviceIdentifier: ServiceIdentifier) => void;\n\n export type UnbindAsync = (serviceIdentifier: ServiceIdentifier) => Promise;\n\n export type IsBound = (serviceIdentifier: ServiceIdentifier) => boolean;\n\n export interface ContainerModuleBase {\n id: number;\n }\n\n export interface ContainerModule extends ContainerModuleBase {\n registry: ContainerModuleCallBack;\n }\n\n export interface AsyncContainerModule extends ContainerModuleBase {\n registry: AsyncContainerModuleCallBack;\n }\n\n export interface ModuleActivationHandlers {\n onActivations: Lookup>,\n onDeactivations: Lookup>\n }\n\n export interface ModuleActivationStore extends Clonable {\n addDeactivation(\n moduleId: ContainerModuleBase[\"id\"],\n serviceIdentifier: ServiceIdentifier,\n onDeactivation: interfaces.BindingDeactivation\n ): void\n addActivation(\n moduleId: ContainerModuleBase[\"id\"],\n serviceIdentifier: ServiceIdentifier,\n onActivation: interfaces.BindingActivation\n ): void\n remove(moduleId: ContainerModuleBase[\"id\"]): ModuleActivationHandlers\n }\n\n export type ContainerModuleCallBack = (\n bind: interfaces.Bind,\n unbind: interfaces.Unbind,\n isBound: interfaces.IsBound,\n rebind: interfaces.Rebind,\n unbindAsync: interfaces.UnbindAsync,\n onActivation: interfaces.Container[\"onActivation\"],\n onDeactivation: interfaces.Container[\"onDeactivation\"]\n ) => void;\n\n export type AsyncContainerModuleCallBack = AsyncCallback;\n\n export interface ContainerSnapshot {\n bindings: Lookup>;\n activations: Lookup>;\n deactivations: Lookup>;\n middleware: Next | null;\n moduleActivationStore: interfaces.ModuleActivationStore;\n }\n\n export interface Lookup extends Clonable> {\n add(serviceIdentifier: ServiceIdentifier, value: T): void;\n getMap(): Map;\n get(serviceIdentifier: ServiceIdentifier): T[];\n remove(serviceIdentifier: interfaces.ServiceIdentifier): void;\n removeByCondition(condition: (item: T) => boolean): T[];\n removeIntersection(lookup: interfaces.Lookup): void\n hasKey(serviceIdentifier: ServiceIdentifier): boolean;\n clone(): Lookup;\n traverse(func: (key: interfaces.ServiceIdentifier, value: T[]) => void): void;\n }\n\n export interface BindingOnSyntax {\n onActivation(fn: (context: Context, injectable: T) => T | Promise): BindingWhenSyntax;\n onDeactivation(fn: (injectable: T) => void | Promise): BindingWhenSyntax;\n }\n\n export interface BindingWhenSyntax {\n when(constraint: (request: Request) => boolean): BindingOnSyntax;\n whenTargetNamed(name: string | number | symbol): BindingOnSyntax;\n whenTargetIsDefault(): BindingOnSyntax;\n whenTargetTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax;\n whenInjectedInto(parent: (NewableFunction | string)): BindingOnSyntax;\n whenParentNamed(name: string | number | symbol): BindingOnSyntax;\n whenParentTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax;\n whenAnyAncestorIs(ancestor: (NewableFunction | string)): BindingOnSyntax;\n whenNoAncestorIs(ancestor: (NewableFunction | string)): BindingOnSyntax;\n whenAnyAncestorNamed(name: string | number | symbol): BindingOnSyntax;\n whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax;\n whenNoAncestorNamed(name: string | number | symbol): BindingOnSyntax;\n whenNoAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax;\n whenAnyAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax;\n whenNoAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax;\n }\n\n export interface BindingWhenOnSyntax extends BindingWhenSyntax, BindingOnSyntax { }\n\n export interface BindingInSyntax {\n inSingletonScope(): BindingWhenOnSyntax;\n inTransientScope(): BindingWhenOnSyntax;\n inRequestScope(): BindingWhenOnSyntax;\n }\n\n export interface BindingInWhenOnSyntax extends BindingInSyntax, BindingWhenOnSyntax { }\n\n export interface BindingToSyntax {\n to(constructor: new (...args: never[]) => T): BindingInWhenOnSyntax;\n toSelf(): BindingInWhenOnSyntax;\n toConstantValue(value: T): BindingWhenOnSyntax;\n toDynamicValue(func: DynamicValue): BindingInWhenOnSyntax;\n toConstructor(constructor: Newable): BindingWhenOnSyntax;\n toFactory(\n factory: FactoryCreator): BindingWhenOnSyntax;\n toFunction(func: T): BindingWhenOnSyntax;\n toAutoFactory(serviceIdentifier: ServiceIdentifier): BindingWhenOnSyntax;\n toAutoNamedFactory(serviceIdentifier: ServiceIdentifier): BindingWhenOnSyntax;\n toProvider(provider: ProviderCreator): BindingWhenOnSyntax;\n toService(service: ServiceIdentifier): void;\n }\n\n export interface ConstraintFunction {\n metaData?: Metadata;\n (request: Request | null): boolean;\n }\n\n export interface MetadataReader {\n getConstructorMetadata(constructorFunc: NewableFunction): ConstructorMetadata;\n getPropertiesMetadata(constructorFunc: NewableFunction): MetadataMap;\n }\n\n export interface MetadataMap {\n [propertyNameOrArgumentIndex: string | symbol]: Metadata[];\n }\n\n export interface ConstructorMetadata {\n compilerGeneratedMetadata: NewableFunction[] | undefined;\n userGeneratedMetadata: MetadataMap;\n }\n\n}\n\nexport { interfaces };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5a0ab81bd4d029799bb038d79da566cab32fb805","contentHash":"df6e6a7192fcdb8d8808e24085dab4871e0d0f750621e12140ab94aedf060ae4"}}