inversify 6.0.3 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +14 -14
- package/amd/annotation/decorator_utils.js +3 -1
- package/amd/annotation/inject_base.js +1 -1
- package/amd/annotation/lazy_service_identifier.js +0 -11
- package/amd/bindings/binding.js +3 -2
- package/amd/bindings/binding_count.js +6 -5
- package/amd/constants/error_msgs.js +18 -18
- package/amd/constants/literal_types.js +3 -3
- package/amd/container/container.js +73 -34
- package/amd/container/lookup.js +15 -14
- package/amd/container/module_activation_store.js +8 -10
- package/amd/interfaces/interfaces.js +0 -5
- package/amd/inversify.js +3 -5
- package/amd/planning/metadata_reader.js +5 -3
- package/amd/planning/planner.js +31 -13
- package/amd/planning/queryable_string.js +5 -2
- package/amd/planning/reflection_utils.js +6 -112
- package/amd/planning/request.js +2 -4
- package/amd/planning/target.js +9 -3
- package/amd/resolution/instantiation.js +10 -5
- package/amd/resolution/resolver.js +19 -10
- package/amd/scope/scope.js +1 -1
- package/amd/syntax/binding_to_syntax.js +14 -7
- package/amd/syntax/binding_when_syntax.js +13 -8
- package/amd/syntax/constraint_helpers.js +4 -3
- package/amd/utils/async.js +3 -2
- package/amd/utils/binding_utils.js +8 -3
- package/amd/utils/clonable.js +4 -4
- package/amd/utils/exceptions.js +1 -1
- package/amd/utils/serialization.js +11 -8
- package/es/annotation/decorator_utils.js +3 -1
- package/es/annotation/inject_base.js +1 -1
- package/es/annotation/lazy_service_identifier.js +1 -10
- package/es/annotation/target_name.js +3 -3
- package/es/bindings/binding.js +3 -2
- package/es/bindings/binding_count.js +6 -5
- package/es/constants/error_msgs.js +17 -17
- package/es/constants/literal_types.js +3 -3
- package/es/container/container.js +74 -35
- package/es/container/lookup.js +15 -14
- package/es/container/module_activation_store.js +8 -10
- package/es/interfaces/interfaces.js +1 -5
- package/es/inversify.js +4 -6
- package/es/planning/metadata_reader.js +5 -3
- package/es/planning/planner.js +34 -16
- package/es/planning/queryable_string.js +5 -2
- package/es/planning/reflection_utils.js +6 -114
- package/es/planning/request.js +2 -4
- package/es/planning/target.js +9 -3
- package/es/resolution/instantiation.js +11 -6
- package/es/resolution/resolver.js +20 -11
- package/es/scope/scope.js +1 -1
- package/es/syntax/binding_to_syntax.js +18 -11
- package/es/syntax/binding_when_syntax.js +14 -9
- package/es/syntax/constraint_helpers.js +5 -4
- package/es/utils/async.js +3 -2
- package/es/utils/binding_utils.js +8 -3
- package/es/utils/clonable.js +4 -4
- package/es/utils/exceptions.js +1 -1
- package/es/utils/serialization.js +12 -9
- package/es6/annotation/decorator_utils.js +5 -3
- package/es6/annotation/inject_base.js +1 -1
- package/es6/annotation/lazy_service_identifier.js +0 -10
- package/es6/bindings/binding.js +3 -2
- package/es6/bindings/binding_count.js +6 -5
- package/es6/constants/error_msgs.js +5 -9
- package/es6/constants/literal_types.js +3 -3
- package/es6/container/container.js +59 -42
- package/es6/container/lookup.js +15 -14
- package/es6/container/module_activation_store.js +8 -10
- package/es6/interfaces/interfaces.js +0 -5
- package/es6/inversify.js +3 -7
- package/es6/planning/metadata_reader.js +5 -3
- package/es6/planning/planner.js +31 -13
- package/es6/planning/queryable_string.js +5 -2
- package/es6/planning/reflection_utils.js +4 -110
- package/es6/planning/request.js +2 -4
- package/es6/planning/target.js +3 -1
- package/es6/resolution/instantiation.js +9 -5
- package/es6/resolution/resolver.js +11 -8
- package/es6/scope/scope.js +1 -1
- package/es6/syntax/binding_to_syntax.js +5 -4
- package/es6/syntax/binding_when_syntax.js +13 -8
- package/es6/syntax/constraint_helpers.js +4 -3
- package/es6/utils/async.js +3 -2
- package/es6/utils/binding_utils.js +10 -3
- package/es6/utils/clonable.js +4 -4
- package/es6/utils/exceptions.js +1 -1
- package/es6/utils/serialization.js +11 -8
- package/lib/annotation/decorator_utils.d.ts +2 -2
- package/lib/annotation/decorator_utils.js +3 -1
- package/lib/annotation/inject.d.ts +4 -1
- package/lib/annotation/inject_base.d.ts +3 -2
- package/lib/annotation/inject_base.js +1 -1
- package/lib/annotation/lazy_service_identifier.d.ts +1 -5
- package/lib/annotation/lazy_service_identifier.js +0 -11
- package/lib/annotation/multi_inject.d.ts +4 -1
- package/lib/annotation/tagged.d.ts +1 -1
- package/lib/annotation/target_name.d.ts +1 -1
- package/lib/bindings/binding.js +3 -2
- package/lib/bindings/binding_count.d.ts +5 -5
- package/lib/bindings/binding_count.js +6 -5
- package/lib/constants/error_msgs.d.ts +18 -20
- package/lib/constants/error_msgs.js +18 -18
- package/lib/constants/literal_types.js +3 -3
- package/lib/constants/metadata_keys.d.ts +12 -12
- package/lib/container/container.d.ts +2 -2
- package/lib/container/container.js +73 -34
- package/lib/container/lookup.d.ts +2 -1
- package/lib/container/lookup.js +15 -14
- package/lib/container/module_activation_store.d.ts +1 -1
- package/lib/container/module_activation_store.js +8 -10
- package/lib/interfaces/interfaces.d.ts +14 -29
- package/lib/interfaces/interfaces.js +0 -5
- package/lib/inversify.d.ts +5 -6
- package/lib/inversify.js +3 -7
- package/lib/planning/metadata_reader.js +5 -3
- package/lib/planning/planner.js +31 -13
- package/lib/planning/queryable_string.d.ts +2 -3
- package/lib/planning/queryable_string.js +5 -2
- package/lib/planning/reflection_utils.js +6 -114
- package/lib/planning/request.d.ts +2 -2
- package/lib/planning/request.js +2 -4
- package/lib/planning/target.d.ts +1 -1
- package/lib/planning/target.js +9 -3
- package/lib/resolution/instantiation.js +10 -5
- package/lib/resolution/resolver.js +19 -10
- package/lib/scope/scope.js +1 -1
- package/lib/syntax/binding_in_syntax.d.ts +1 -1
- package/lib/syntax/binding_in_when_on_syntax.d.ts +7 -7
- package/lib/syntax/binding_on_syntax.d.ts +1 -1
- package/lib/syntax/binding_to_syntax.d.ts +4 -4
- package/lib/syntax/binding_to_syntax.js +14 -7
- package/lib/syntax/binding_when_on_syntax.d.ts +6 -6
- package/lib/syntax/binding_when_syntax.d.ts +4 -4
- package/lib/syntax/binding_when_syntax.js +13 -8
- package/lib/syntax/constraint_helpers.d.ts +2 -2
- package/lib/syntax/constraint_helpers.js +4 -3
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/async.js +3 -2
- package/lib/utils/binding_utils.js +8 -3
- package/lib/utils/clonable.js +4 -4
- package/lib/utils/exceptions.js +1 -1
- package/lib/utils/serialization.d.ts +3 -3
- package/lib/utils/serialization.js +11 -8
- package/package.json +18 -4
- package/.nyc_output/c29b2307-4e95-47d0-b220-9efcfa7ee49f.json +0 -1
- package/.nyc_output/processinfo/c29b2307-4e95-47d0-b220-9efcfa7ee49f.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"/home/bob/repos/InversifyJS/src/annotation/decorator_utils.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/decorator_utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":36}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":34}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":54}},"29":{"start":{"line":30,"column":17},"end":{"line":30,"column":65}},"30":{"start":{"line":31,"column":19},"end":{"line":31,"column":70}},"31":{"start":{"line":32,"column":11},"end":{"line":32,"column":33}},"32":{"start":{"line":34,"column":4},"end":{"line":34,"column":42}},"33":{"start":{"line":37,"column":4},"end":{"line":39,"column":5}},"34":{"start":{"line":38,"column":8},"end":{"line":38,"column":64}},"35":{"start":{"line":42,"column":4},"end":{"line":42,"column":43}},"36":{"start":{"line":43,"column":4},"end":{"line":43,"column":104}},"37":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"38":{"start":{"line":47,"column":8},"end":{"line":47,"column":64}},"39":{"start":{"line":49,"column":4},"end":{"line":49,"column":108}},"40":{"start":{"line":52,"column":20},"end":{"line":52,"column":22}},"41":{"start":{"line":53,"column":4},"end":{"line":62,"column":5}},"42":{"start":{"line":54,"column":8},"end":{"line":54,"column":29}},"43":{"start":{"line":55,"column":24},"end":{"line":55,"column":105}},"44":{"start":{"line":55,"column":87},"end":{"line":55,"column":101}},"45":{"start":{"line":56,"column":8},"end":{"line":58,"column":9}},"46":{"start":{"line":57,"column":12},"end":{"line":57,"column":105}},"47":{"start":{"line":61,"column":8},"end":{"line":61,"column":31}},"48":{"start":{"line":63,"column":4},"end":{"line":63,"column":21}},"49":{"start":{"line":66,"column":20},"end":{"line":66,"column":60}},"50":{"start":{"line":67,"column":37},"end":{"line":67,"column":39}},"51":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"52":{"start":{"line":69,"column":8},"end":{"line":69,"column":88}},"53":{"start":{"line":71,"column":34},"end":{"line":71,"column":65}},"54":{"start":{"line":72,"column":4},"end":{"line":85,"column":5}},"55":{"start":{"line":73,"column":8},"end":{"line":73,"column":37}},"56":{"start":{"line":76,"column":22},"end":{"line":80,"column":9}},"57":{"start":{"line":77,"column":12},"end":{"line":79,"column":13}},"58":{"start":{"line":77,"column":47},"end":{"line":77,"column":71}},"59":{"start":{"line":78,"column":16},"end":{"line":78,"column":105}},"60":{"start":{"line":81,"column":8},"end":{"line":84,"column":9}},"61":{"start":{"line":81,"column":22},"end":{"line":81,"column":23}},"62":{"start":{"line":81,"column":53},"end":{"line":81,"column":76}},"63":{"start":{"line":82,"column":20},"end":{"line":82,"column":49}},"64":{"start":{"line":83,"column":12},"end":{"line":83,"column":23}},"65":{"start":{"line":86,"column":4},"end":{"line":86,"column":75}},"66":{"start":{"line":87,"column":4},"end":{"line":87,"column":62}},"67":{"start":{"line":88,"column":4},"end":{"line":88,"column":86}},"68":{"start":{"line":91,"column":4},"end":{"line":98,"column":6}},"69":{"start":{"line":92,"column":8},"end":{"line":97,"column":9}},"70":{"start":{"line":93,"column":12},"end":{"line":93,"column":81}},"71":{"start":{"line":96,"column":12},"end":{"line":96,"column":53}},"72":{"start":{"line":101,"column":4},"end":{"line":101,"column":41}},"73":{"start":{"line":104,"column":4},"end":{"line":104,"column":74}},"74":{"start":{"line":104,"column":36},"end":{"line":104,"column":71}},"75":{"start":{"line":107,"column":4},"end":{"line":115,"column":5}},"76":{"start":{"line":108,"column":8},"end":{"line":108,"column":73}},"77":{"start":{"line":110,"column":9},"end":{"line":115,"column":5}},"78":{"start":{"line":111,"column":8},"end":{"line":111,"column":72}},"79":{"start":{"line":114,"column":8},"end":{"line":114,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"targetIsConstructorFunction","decl":{"start":{"line":33,"column":9},"end":{"line":33,"column":36}},"loc":{"start":{"line":33,"column":45},"end":{"line":35,"column":1}},"line":33},"7":{"name":"_throwIfMethodParameter","decl":{"start":{"line":36,"column":9},"end":{"line":36,"column":32}},"loc":{"start":{"line":36,"column":48},"end":{"line":40,"column":1}},"line":36},"8":{"name":"tagParameter","decl":{"start":{"line":41,"column":9},"end":{"line":41,"column":21}},"loc":{"start":{"line":41,"column":81},"end":{"line":44,"column":1}},"line":41},"9":{"name":"tagProperty","decl":{"start":{"line":45,"column":9},"end":{"line":45,"column":20}},"loc":{"start":{"line":45,"column":63},"end":{"line":50,"column":1}},"line":45},"10":{"name":"_ensureNoMetadataKeyDuplicates","decl":{"start":{"line":51,"column":9},"end":{"line":51,"column":39}},"loc":{"start":{"line":51,"column":50},"end":{"line":64,"column":1}},"line":51},"11":{"name":"(anonymous_11)","decl":{"start":{"line":55,"column":71},"end":{"line":55,"column":72}},"loc":{"start":{"line":55,"column":85},"end":{"line":55,"column":103}},"line":55},"12":{"name":"_tagParameterOrProperty","decl":{"start":{"line":65,"column":9},"end":{"line":65,"column":32}},"loc":{"start":{"line":65,"column":79},"end":{"line":89,"column":1}},"line":65},"13":{"name":"(anonymous_13)","decl":{"start":{"line":76,"column":22},"end":{"line":76,"column":23}},"loc":{"start":{"line":76,"column":35},"end":{"line":80,"column":9}},"line":76},"14":{"name":"(anonymous_14)","decl":{"start":{"line":77,"column":31},"end":{"line":77,"column":32}},"loc":{"start":{"line":77,"column":45},"end":{"line":77,"column":73}},"line":77},"15":{"name":"createTaggedDecorator","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":30}},"loc":{"start":{"line":90,"column":41},"end":{"line":99,"column":1}},"line":90},"16":{"name":"(anonymous_16)","decl":{"start":{"line":91,"column":11},"end":{"line":91,"column":12}},"loc":{"start":{"line":91,"column":67},"end":{"line":98,"column":5}},"line":91},"17":{"name":"_decorate","decl":{"start":{"line":100,"column":9},"end":{"line":100,"column":18}},"loc":{"start":{"line":100,"column":39},"end":{"line":102,"column":1}},"line":100},"18":{"name":"_param","decl":{"start":{"line":103,"column":9},"end":{"line":103,"column":15}},"loc":{"start":{"line":103,"column":39},"end":{"line":105,"column":1}},"line":103},"19":{"name":"(anonymous_19)","decl":{"start":{"line":104,"column":11},"end":{"line":104,"column":12}},"loc":{"start":{"line":104,"column":34},"end":{"line":104,"column":73}},"line":104},"20":{"name":"decorate","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":17}},"loc":{"start":{"line":106,"column":63},"end":{"line":116,"column":1}},"line":106}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":37,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":39,"column":5}},{"start":{},"end":{}}],"line":37},"17":{"loc":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},{"start":{},"end":{}}],"line":46},"18":{"loc":{"start":{"line":53,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":62,"column":5}},{"start":{"line":60,"column":9},"end":{"line":62,"column":5}}],"line":53},"19":{"loc":{"start":{"line":56,"column":8},"end":{"line":58,"column":9}},"type":"if","locations":[{"start":{"line":56,"column":8},"end":{"line":58,"column":9}},{"start":{},"end":{}}],"line":56},"20":{"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":{},"end":{}}],"line":68},"21":{"loc":{"start":{"line":72,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":72,"column":4},"end":{"line":85,"column":5}},{"start":{"line":75,"column":9},"end":{"line":85,"column":5}}],"line":72},"22":{"loc":{"start":{"line":77,"column":12},"end":{"line":79,"column":13}},"type":"if","locations":[{"start":{"line":77,"column":12},"end":{"line":79,"column":13}},{"start":{},"end":{}}],"line":77},"23":{"loc":{"start":{"line":92,"column":8},"end":{"line":97,"column":9}},"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":97,"column":9}},{"start":{"line":95,"column":13},"end":{"line":97,"column":9}}],"line":92},"24":{"loc":{"start":{"line":107,"column":4},"end":{"line":115,"column":5}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":115,"column":5}},{"start":{"line":110,"column":9},"end":{"line":115,"column":5}}],"line":107},"25":{"loc":{"start":{"line":110,"column":9},"end":{"line":115,"column":5}},"type":"if","locations":[{"start":{"line":110,"column":9},"end":{"line":115,"column":5}},{"start":{"line":113,"column":9},"end":{"line":115,"column":5}}],"line":110}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":2,"16":2,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":38,"33":262,"34":4,"35":262,"36":258,"37":38,"38":1,"39":37,"40":295,"41":295,"42":3,"43":3,"44":6,"45":3,"46":2,"47":292,"48":293,"49":295,"50":293,"51":293,"52":156,"53":293,"54":293,"55":202,"56":91,"57":97,"58":98,"59":4,"60":91,"61":91,"62":91,"63":97,"64":97,"65":289,"66":289,"67":289,"68":239,"69":239,"70":204,"71":35,"72":12,"73":9,"74":9,"75":13,"76":9,"77":4,"78":1,"79":3},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":38,"7":262,"8":262,"9":38,"10":295,"11":6,"12":295,"13":97,"14":98,"15":239,"16":239,"17":12,"18":9,"19":9,"20":13},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[2,0],"12":[2,2],"13":[0,0],"14":[0,0],"15":[0,0],"16":[4,258],"17":[1,37],"18":[3,292],"19":[2,1],"20":[156,137],"21":[202,91],"22":[4,93],"23":[204,35],"24":[9,4],"25":[1,3]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/decorator_utils.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/decorator_utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkJS,4BAAQ;AAAE,oCAAY;AAAE,kCAAW;AAAE,sDAAqB;AAlJnE,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,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;IAC1D,CAAC;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;AAED,SAAS,WAAW,CAClB,gBAAiC,EACjC,YAA6B,EAC7B,QAA4C;IAE5C,IAAI,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;IAC1D,CAAC;IACD,uBAAuB,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC1G,CAAC;AAED,SAAS,8BAA8B,CAAC,QAA4C;IAClF,IAAI,SAAS,GAA0B,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,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,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,UAAG,UAAU,CAAC,mBAAmB,cAAI,SAAS,CAAC,QAAQ,EAAE,CAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;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,CAAC;QAC1D,0BAA0B,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,uBAAuB,GAAsC,0BAA0B,CAAC,GAAa,CAAC,CAAC;IAE3G,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;QAC1C,uBAAuB,GAAG,EAAE,CAAC;IAC/B,CAAC;SAAM,CAAC;gCACK,CAAC;YACV,IAAI,SAAS,CAAC,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,EAAhB,CAAgB,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,UAAG,UAAU,CAAC,mBAAmB,cAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAE,CAAC,CAAC;YAC3E,CAAC;;QAHH,KAAgB,UAAuB,EAAvB,mDAAuB,EAAvB,qCAAuB,EAAvB,IAAuB;YAAlC,IAAM,CAAC,gCAAA;oBAAD,CAAC;SAIX;IACH,CAAC;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,CAAC;YAClD,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,MAAM,EAAE,SAA4B,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,UAAsE,EACtE,MAAgC;IAEhC,OAAO,CAAC,QAAQ,CAAC,UAA8B,EAAE,MAAyB,CAAC,CAAC;AAC9E,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,MAAc,EACd,wBAA0C;IAE1C,IAAI,OAAO,wBAAwB,KAAK,QAAQ,EAAE,CAAC;QACjD,SAAS,CAAC,CAAC,MAAM,CAAC,wBAAwB,EAAE,SAA+B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACzF,CAAC;SAAM,IAAI,OAAO,wBAAwB,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,CAAC,QAAQ,CAAC,CAAC,SAA4B,CAAC,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACrF,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC","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<T = Object>(target: DecoratorTarget<T>): target is ConstructorFunction<T> {\n return (target as ConstructorFunction<T>).prototype !== undefined;\n}\n\ntype Prototype<T> = {\n [Property in keyof T]:\n T[Property] extends NewableFunction ?\n T[Property] :\n T[Property] | undefined\n} & { constructor: NewableFunction }\n\ninterface ConstructorFunction<T = Record<string, unknown>> {\n new(...args: unknown[]): T,\n prototype: Prototype<T>\n}\n\nexport type DecoratorTarget<T = unknown> = ConstructorFunction<T> | Prototype<T>\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<string | symbol, interfaces.Metadata[] | undefined> = {};\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 <T>(\n target: DecoratorTarget,\n targetKey?: string | symbol,\n indexOrPropertyDescriptor?: number | TypedPropertyDescriptor<T>,\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: object | NewableFunction,\n): void {\n Reflect.decorate(decorators as ClassDecorator[], target as NewableFunction);\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: object,\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":"8fcb4b868f547b70097025648a67b2bb4655d6e0","contentHash":"51b24577b32d39ae0e5d6e7e0e3a245d3be21c327f4bcf3850ba12bd13e523fe"},"/home/bob/repos/InversifyJS/src/constants/error_msgs.ts":{"path":"/home/bob/repos/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":26,"column":46}},"21":{"start":{"line":25,"column":36},"end":{"line":26,"column":44}},"22":{"start":{"line":27,"column":0},"end":{"line":27,"column":36}},"23":{"start":{"line":28,"column":0},"end":{"line":29,"column":33}},"24":{"start":{"line":30,"column":0},"end":{"line":31,"column":84}},"25":{"start":{"line":32,"column":32},"end":{"line":39,"column":1}},"26":{"start":{"line":33,"column":17},"end":{"line":33,"column":19}},"27":{"start":{"line":34,"column":4},"end":{"line":36,"column":5}},"28":{"start":{"line":34,"column":18},"end":{"line":34,"column":19}},"29":{"start":{"line":35,"column":8},"end":{"line":35,"column":35}},"30":{"start":{"line":37,"column":4},"end":{"line":38,"column":104}},"31":{"start":{"line":40,"column":0},"end":{"line":40,"column":62}},"32":{"start":{"line":41,"column":0},"end":{"line":42,"column":25}},"33":{"start":{"line":43,"column":0},"end":{"line":44,"column":48}},"34":{"start":{"line":45,"column":0},"end":{"line":46,"column":19}},"35":{"start":{"line":47,"column":0},"end":{"line":48,"column":19}},"36":{"start":{"line":49,"column":0},"end":{"line":49,"column":109}},"37":{"start":{"line":50,"column":0},"end":{"line":50,"column":115}},"38":{"start":{"line":51,"column":0},"end":{"line":51,"column":128}},"39":{"start":{"line":52,"column":27},"end":{"line":52,"column":143}},"40":{"start":{"line":52,"column":60},"end":{"line":52,"column":141}},"41":{"start":{"line":53,"column":0},"end":{"line":53,"column":52}},"42":{"start":{"line":54,"column":24},"end":{"line":54,"column":137}},"43":{"start":{"line":54,"column":57},"end":{"line":54,"column":135}},"44":{"start":{"line":55,"column":0},"end":{"line":55,"column":46}},"45":{"start":{"line":56,"column":28},"end":{"line":56,"column":146}},"46":{"start":{"line":56,"column":61},"end":{"line":56,"column":144}},"47":{"start":{"line":57,"column":0},"end":{"line":57,"column":54}},"48":{"start":{"line":58,"column":37},"end":{"line":61,"column":1}},"49":{"start":{"line":59,"column":4},"end":{"line":60,"column":63}},"50":{"start":{"line":62,"column":0},"end":{"line":62,"column":72}},"51":{"start":{"line":63,"column":0},"end":{"line":63,"column":60}},"52":{"start":{"line":65,"column":4},"end":{"line":67,"column":5}},"53":{"start":{"line":66,"column":8},"end":{"line":66,"column":73}},"54":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"55":{"start":{"line":69,"column":8},"end":{"line":69,"column":30}},"56":{"start":{"line":71,"column":4},"end":{"line":71,"column":32}}},"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":26,"column":46}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":32},"end":{"line":32,"column":33}},"loc":{"start":{"line":32,"column":44},"end":{"line":39,"column":1}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":27},"end":{"line":52,"column":28}},"loc":{"start":{"line":52,"column":58},"end":{"line":52,"column":143}},"line":52},"4":{"name":"(anonymous_4)","decl":{"start":{"line":54,"column":24},"end":{"line":54,"column":25}},"loc":{"start":{"line":54,"column":55},"end":{"line":54,"column":137}},"line":54},"5":{"name":"(anonymous_5)","decl":{"start":{"line":56,"column":28},"end":{"line":56,"column":29}},"loc":{"start":{"line":56,"column":59},"end":{"line":56,"column":146}},"line":56},"6":{"name":"(anonymous_6)","decl":{"start":{"line":58,"column":37},"end":{"line":58,"column":38}},"loc":{"start":{"line":58,"column":79},"end":{"line":61,"column":1}},"line":58},"7":{"name":"keyToString","decl":{"start":{"line":64,"column":9},"end":{"line":64,"column":20}},"loc":{"start":{"line":64,"column":26},"end":{"line":72,"column":1}},"line":64}},"branchMap":{"0":{"loc":{"start":{"line":65,"column":4},"end":{"line":67,"column":5}},"type":"if","locations":[{"start":{"line":65,"column":4},"end":{"line":67,"column":5}},{"start":{},"end":{}}],"line":65},"1":{"loc":{"start":{"line":66,"column":41},"end":{"line":66,"column":66}},"type":"binary-expr","locations":[{"start":{"line":66,"column":41},"end":{"line":66,"column":49}},{"start":{"line":66,"column":53},"end":{"line":66,"column":66}}],"line":66},"2":{"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":{},"end":{}}],"line":68}},"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":8,"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":3,"50":1,"51":1,"52":8,"53":1,"54":7,"55":1,"56":6},"f":{"0":6,"1":8,"2":2,"3":2,"4":2,"5":6,"6":3,"7":8},"b":{"0":[1,7],"1":[1,0],"2":[1,6]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/constants/error_msgs.ts","sources":["/home/bob/repos/InversifyJS/src/constants/error_msgs.ts"],"names":[],"mappings":"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","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 ${keyToString(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\nfunction keyToString(key: unknown): string {\n if (typeof key === 'function') {\n return `[function/class ${key.name || '<anonymous>'}]`;\n }\n if (typeof key === 'symbol') {\n return key.toString();\n }\n return `'${key}'`;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"73004ea611ba4d64505c81e91aea88cf2431352e","contentHash":"223913a690d8cf53cade9a3a0e632cfb3873ba2563d7e1f7ed5e41a297b4f4c3"},"/home/bob/repos/InversifyJS/src/constants/metadata_keys.ts":{"path":"/home/bob/repos/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":"/home/bob/repos/InversifyJS/src/constants/metadata_keys.ts","sources":["/home/bob/repos/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":"4bc7d2ff483224862615fc3489569ac5c581af11","contentHash":"13f6f4b06f309b7e68dbb63f22c86e31b9c05f4aaf94fcd0179509018c0e4fc0"},"/home/bob/repos/InversifyJS/src/utils/js.ts":{"path":"/home/bob/repos/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":56}},"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}}},"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":11,"column":13},"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},"f":{"0":3},"b":{"0":[2,4]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/utils/js.ts","sources":["/home/bob/repos/InversifyJS/src/utils/js.ts"],"names":[],"mappings":";;AAAA,wDAWC;AAXD,SAAgB,sBAAsB,CAAI,KAAU;IAClD,IAAM,UAAU,GAAG,IAAI,GAAG,EAAK,CAAA;IAE/B,KAAoB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE,CAAC;QAAvB,IAAM,KAAK,cAAA;QACd,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["export function getFirstArrayDuplicate<T>(array: T[]): T | undefined {\n const seenValues = new Set<T>()\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":"c982ef5fbff3832b55692aab14acbdc037cb5cb8","contentHash":"705f6b74dabe8264b4ccabec9c54aac525b1a46994301773bd34c5388aea3f33"},"/home/bob/repos/InversifyJS/src/inversify.ts":{"path":"/home/bob/repos/InversifyJS/src/inversify.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":731}},"26":{"start":{"line":27,"column":11},"end":{"line":27,"column":61}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":28}},"28":{"start":{"line":29,"column":18},"end":{"line":29,"column":50}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":118}},"30":{"start":{"line":30,"column":83},"end":{"line":30,"column":112}},"31":{"start":{"line":31,"column":22},"end":{"line":31,"column":58}},"32":{"start":{"line":32,"column":0},"end":{"line":32,"column":136}},"33":{"start":{"line":32,"column":90},"end":{"line":32,"column":130}},"34":{"start":{"line":33,"column":0},"end":{"line":33,"column":134}},"35":{"start":{"line":33,"column":89},"end":{"line":33,"column":128}},"36":{"start":{"line":34,"column":0},"end":{"line":34,"column":132}},"37":{"start":{"line":34,"column":88},"end":{"line":34,"column":126}},"38":{"start":{"line":35,"column":25},"end":{"line":35,"column":64}},"39":{"start":{"line":36,"column":0},"end":{"line":36,"column":147}},"40":{"start":{"line":36,"column":94},"end":{"line":36,"column":141}},"41":{"start":{"line":37,"column":0},"end":{"line":37,"column":137}},"42":{"start":{"line":37,"column":89},"end":{"line":37,"column":131}},"43":{"start":{"line":38,"column":24},"end":{"line":38,"column":63}},"44":{"start":{"line":39,"column":0},"end":{"line":39,"column":148}},"45":{"start":{"line":39,"column":95},"end":{"line":39,"column":142}},"46":{"start":{"line":40,"column":19},"end":{"line":40,"column":53}},"47":{"start":{"line":41,"column":0},"end":{"line":41,"column":121}},"48":{"start":{"line":41,"column":84},"end":{"line":41,"column":115}},"49":{"start":{"line":42,"column":15},"end":{"line":42,"column":45}},"50":{"start":{"line":43,"column":0},"end":{"line":43,"column":109}},"51":{"start":{"line":43,"column":80},"end":{"line":43,"column":103}},"52":{"start":{"line":44,"column":14},"end":{"line":44,"column":43}},"53":{"start":{"line":45,"column":0},"end":{"line":45,"column":106}},"54":{"start":{"line":45,"column":79},"end":{"line":45,"column":100}},"55":{"start":{"line":46,"column":15},"end":{"line":46,"column":45}},"56":{"start":{"line":47,"column":0},"end":{"line":47,"column":109}},"57":{"start":{"line":47,"column":80},"end":{"line":47,"column":103}},"58":{"start":{"line":48,"column":32},"end":{"line":48,"column":79}},"59":{"start":{"line":49,"column":0},"end":{"line":49,"column":156}},"60":{"start":{"line":49,"column":95},"end":{"line":49,"column":150}},"61":{"start":{"line":50,"column":32},"end":{"line":50,"column":79}},"62":{"start":{"line":51,"column":0},"end":{"line":51,"column":155}},"63":{"start":{"line":51,"column":94},"end":{"line":51,"column":149}},"64":{"start":{"line":52,"column":17},"end":{"line":52,"column":49}},"65":{"start":{"line":53,"column":0},"end":{"line":53,"column":115}},"66":{"start":{"line":53,"column":82},"end":{"line":53,"column":109}},"67":{"start":{"line":54,"column":18},"end":{"line":54,"column":51}},"68":{"start":{"line":55,"column":0},"end":{"line":55,"column":118}},"69":{"start":{"line":55,"column":83},"end":{"line":55,"column":112}},"70":{"start":{"line":56,"column":21},"end":{"line":56,"column":57}},"71":{"start":{"line":57,"column":0},"end":{"line":57,"column":125}},"72":{"start":{"line":57,"column":85},"end":{"line":57,"column":119}},"73":{"start":{"line":58,"column":20},"end":{"line":58,"column":55}},"74":{"start":{"line":59,"column":0},"end":{"line":59,"column":122}},"75":{"start":{"line":59,"column":84},"end":{"line":59,"column":116}},"76":{"start":{"line":60,"column":23},"end":{"line":60,"column":61}},"77":{"start":{"line":61,"column":0},"end":{"line":61,"column":131}},"78":{"start":{"line":61,"column":87},"end":{"line":61,"column":125}},"79":{"start":{"line":62,"column":20},"end":{"line":62,"column":55}},"80":{"start":{"line":63,"column":0},"end":{"line":63,"column":122}},"81":{"start":{"line":63,"column":84},"end":{"line":63,"column":116}},"82":{"start":{"line":64,"column":24},"end":{"line":64,"column":61}},"83":{"start":{"line":65,"column":0},"end":{"line":65,"column":134}},"84":{"start":{"line":65,"column":88},"end":{"line":65,"column":128}},"85":{"start":{"line":66,"column":11},"end":{"line":66,"column":32}},"86":{"start":{"line":67,"column":0},"end":{"line":67,"column":97}},"87":{"start":{"line":67,"column":76},"end":{"line":67,"column":91}},"88":{"start":{"line":68,"column":19},"end":{"line":68,"column":53}},"89":{"start":{"line":69,"column":0},"end":{"line":69,"column":121}},"90":{"start":{"line":69,"column":84},"end":{"line":69,"column":115}},"91":{"start":{"line":70,"column":24},"end":{"line":70,"column":63}},"92":{"start":{"line":71,"column":0},"end":{"line":71,"column":122}},"93":{"start":{"line":71,"column":82},"end":{"line":71,"column":116}},"94":{"start":{"line":72,"column":27},"end":{"line":72,"column":65}},"95":{"start":{"line":73,"column":0},"end":{"line":73,"column":145}},"96":{"start":{"line":73,"column":92},"end":{"line":73,"column":139}},"97":{"start":{"line":74,"column":0},"end":{"line":74,"column":141}},"98":{"start":{"line":74,"column":90},"end":{"line":74,"column":135}},"99":{"start":{"line":75,"column":0},"end":{"line":75,"column":139}},"100":{"start":{"line":75,"column":89},"end":{"line":75,"column":133}},"101":{"start":{"line":76,"column":0},"end":{"line":76,"column":137}},"102":{"start":{"line":76,"column":88},"end":{"line":76,"column":131}},"103":{"start":{"line":77,"column":22},"end":{"line":77,"column":54}},"104":{"start":{"line":78,"column":0},"end":{"line":78,"column":160}},"105":{"start":{"line":78,"column":102},"end":{"line":78,"column":154}},"106":{"start":{"line":79,"column":22},"end":{"line":79,"column":54}},"107":{"start":{"line":80,"column":0},"end":{"line":80,"column":140}},"108":{"start":{"line":80,"column":92},"end":{"line":80,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":30,"column":69},"end":{"line":30,"column":70}},"loc":{"start":{"line":30,"column":81},"end":{"line":30,"column":114}},"line":30},"7":{"name":"(anonymous_7)","decl":{"start":{"line":32,"column":76},"end":{"line":32,"column":77}},"loc":{"start":{"line":32,"column":88},"end":{"line":32,"column":132}},"line":32},"8":{"name":"(anonymous_8)","decl":{"start":{"line":33,"column":75},"end":{"line":33,"column":76}},"loc":{"start":{"line":33,"column":87},"end":{"line":33,"column":130}},"line":33},"9":{"name":"(anonymous_9)","decl":{"start":{"line":34,"column":74},"end":{"line":34,"column":75}},"loc":{"start":{"line":34,"column":86},"end":{"line":34,"column":128}},"line":34},"10":{"name":"(anonymous_10)","decl":{"start":{"line":36,"column":80},"end":{"line":36,"column":81}},"loc":{"start":{"line":36,"column":92},"end":{"line":36,"column":143}},"line":36},"11":{"name":"(anonymous_11)","decl":{"start":{"line":37,"column":75},"end":{"line":37,"column":76}},"loc":{"start":{"line":37,"column":87},"end":{"line":37,"column":133}},"line":37},"12":{"name":"(anonymous_12)","decl":{"start":{"line":39,"column":81},"end":{"line":39,"column":82}},"loc":{"start":{"line":39,"column":93},"end":{"line":39,"column":144}},"line":39},"13":{"name":"(anonymous_13)","decl":{"start":{"line":41,"column":70},"end":{"line":41,"column":71}},"loc":{"start":{"line":41,"column":82},"end":{"line":41,"column":117}},"line":41},"14":{"name":"(anonymous_14)","decl":{"start":{"line":43,"column":66},"end":{"line":43,"column":67}},"loc":{"start":{"line":43,"column":78},"end":{"line":43,"column":105}},"line":43},"15":{"name":"(anonymous_15)","decl":{"start":{"line":45,"column":65},"end":{"line":45,"column":66}},"loc":{"start":{"line":45,"column":77},"end":{"line":45,"column":102}},"line":45},"16":{"name":"(anonymous_16)","decl":{"start":{"line":47,"column":66},"end":{"line":47,"column":67}},"loc":{"start":{"line":47,"column":78},"end":{"line":47,"column":105}},"line":47},"17":{"name":"(anonymous_17)","decl":{"start":{"line":49,"column":81},"end":{"line":49,"column":82}},"loc":{"start":{"line":49,"column":93},"end":{"line":49,"column":152}},"line":49},"18":{"name":"(anonymous_18)","decl":{"start":{"line":51,"column":80},"end":{"line":51,"column":81}},"loc":{"start":{"line":51,"column":92},"end":{"line":51,"column":151}},"line":51},"19":{"name":"(anonymous_19)","decl":{"start":{"line":53,"column":68},"end":{"line":53,"column":69}},"loc":{"start":{"line":53,"column":80},"end":{"line":53,"column":111}},"line":53},"20":{"name":"(anonymous_20)","decl":{"start":{"line":55,"column":69},"end":{"line":55,"column":70}},"loc":{"start":{"line":55,"column":81},"end":{"line":55,"column":114}},"line":55},"21":{"name":"(anonymous_21)","decl":{"start":{"line":57,"column":71},"end":{"line":57,"column":72}},"loc":{"start":{"line":57,"column":83},"end":{"line":57,"column":121}},"line":57},"22":{"name":"(anonymous_22)","decl":{"start":{"line":59,"column":70},"end":{"line":59,"column":71}},"loc":{"start":{"line":59,"column":82},"end":{"line":59,"column":118}},"line":59},"23":{"name":"(anonymous_23)","decl":{"start":{"line":61,"column":73},"end":{"line":61,"column":74}},"loc":{"start":{"line":61,"column":85},"end":{"line":61,"column":127}},"line":61},"24":{"name":"(anonymous_24)","decl":{"start":{"line":63,"column":70},"end":{"line":63,"column":71}},"loc":{"start":{"line":63,"column":82},"end":{"line":63,"column":118}},"line":63},"25":{"name":"(anonymous_25)","decl":{"start":{"line":65,"column":74},"end":{"line":65,"column":75}},"loc":{"start":{"line":65,"column":86},"end":{"line":65,"column":130}},"line":65},"26":{"name":"(anonymous_26)","decl":{"start":{"line":67,"column":62},"end":{"line":67,"column":63}},"loc":{"start":{"line":67,"column":74},"end":{"line":67,"column":93}},"line":67},"27":{"name":"(anonymous_27)","decl":{"start":{"line":69,"column":70},"end":{"line":69,"column":71}},"loc":{"start":{"line":69,"column":82},"end":{"line":69,"column":117}},"line":69},"28":{"name":"(anonymous_28)","decl":{"start":{"line":71,"column":68},"end":{"line":71,"column":69}},"loc":{"start":{"line":71,"column":80},"end":{"line":71,"column":118}},"line":71},"29":{"name":"(anonymous_29)","decl":{"start":{"line":73,"column":78},"end":{"line":73,"column":79}},"loc":{"start":{"line":73,"column":90},"end":{"line":73,"column":141}},"line":73},"30":{"name":"(anonymous_30)","decl":{"start":{"line":74,"column":76},"end":{"line":74,"column":77}},"loc":{"start":{"line":74,"column":88},"end":{"line":74,"column":137}},"line":74},"31":{"name":"(anonymous_31)","decl":{"start":{"line":75,"column":75},"end":{"line":75,"column":76}},"loc":{"start":{"line":75,"column":87},"end":{"line":75,"column":135}},"line":75},"32":{"name":"(anonymous_32)","decl":{"start":{"line":76,"column":74},"end":{"line":76,"column":75}},"loc":{"start":{"line":76,"column":86},"end":{"line":76,"column":133}},"line":76},"33":{"name":"(anonymous_33)","decl":{"start":{"line":78,"column":88},"end":{"line":78,"column":89}},"loc":{"start":{"line":78,"column":100},"end":{"line":78,"column":156}},"line":78},"34":{"name":"(anonymous_34)","decl":{"start":{"line":80,"column":78},"end":{"line":80,"column":79}},"loc":{"start":{"line":80,"column":90},"end":{"line":80,"column":136}},"line":80}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":79,"31":1,"32":1,"33":1,"34":1,"35":0,"36":1,"37":0,"38":1,"39":1,"40":0,"41":1,"42":0,"43":1,"44":1,"45":0,"46":1,"47":1,"48":147,"49":1,"50":1,"51":9,"52":1,"53":1,"54":16,"55":1,"56":1,"57":69,"58":1,"59":1,"60":2,"61":1,"62":1,"63":0,"64":1,"65":1,"66":7,"67":1,"68":1,"69":6,"70":1,"71":1,"72":4,"73":1,"74":1,"75":1,"76":1,"77":1,"78":0,"79":1,"80":1,"81":0,"82":1,"83":1,"84":1,"85":1,"86":1,"87":0,"88":1,"89":1,"90":0,"91":1,"92":1,"93":4,"94":1,"95":1,"96":0,"97":1,"98":0,"99":1,"100":0,"101":1,"102":0,"103":1,"104":1,"105":0,"106":1,"107":1,"108":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":79,"7":1,"8":0,"9":0,"10":0,"11":0,"12":0,"13":147,"14":9,"15":16,"16":69,"17":2,"18":0,"19":7,"20":6,"21":4,"22":1,"23":0,"24":0,"25":1,"26":0,"27":0,"28":4,"29":0,"30":0,"31":0,"32":0,"33":0,"34":1},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/inversify.ts","sources":["/home/bob/repos/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,gFAA4E;AAAnE,gIAAA,qBAAqB,OAAA;AAC9B,gFAAoG;AAA3F,+HAAA,qBAAqB,OAAwB;AACtD,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 { LazyServiceIdentifier } from './annotation/lazy_service_identifier'\nexport { LazyServiceIdentifier as 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":"e5fee49938ede1ef6090adddf67793ded16928ae","contentHash":"28e4ec02ad94acb0aeaebd5ac338f64cb08418462d6aa18e470366320620701e"},"/home/bob/repos/InversifyJS/src/container/container.ts":{"path":"/home/bob/repos/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":23,"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":15},"end":{"line":15,"column":52}},"15":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"16":{"start":{"line":17,"column":6},"end":{"line":17,"column":68}},"17":{"start":{"line":17,"column":51},"end":{"line":17,"column":63}},"18":{"start":{"line":19,"column":4},"end":{"line":19,"column":39}},"19":{"start":{"line":21,"column":4},"end":{"line":21,"column":33}},"20":{"start":{"line":21,"column":26},"end":{"line":21,"column":33}},"21":{"start":{"line":22,"column":4},"end":{"line":22,"column":17}},"22":{"start":{"line":24,"column":25},"end":{"line":28,"column":2}},"23":{"start":{"line":25,"column":4},"end":{"line":25,"column":72}},"24":{"start":{"line":27,"column":4},"end":{"line":27,"column":21}},"25":{"start":{"line":29,"column":19},"end":{"line":35,"column":1}},"26":{"start":{"line":30,"column":4},"end":{"line":30,"column":42}},"27":{"start":{"line":30,"column":31},"end":{"line":30,"column":42}},"28":{"start":{"line":31,"column":17},"end":{"line":31,"column":19}},"29":{"start":{"line":32,"column":4},"end":{"line":32,"column":141}},"30":{"start":{"line":32,"column":21},"end":{"line":32,"column":141}},"31":{"start":{"line":32,"column":40},"end":{"line":32,"column":141}},"32":{"start":{"line":32,"column":109},"end":{"line":32,"column":141}},"33":{"start":{"line":33,"column":4},"end":{"line":33,"column":36}},"34":{"start":{"line":34,"column":4},"end":{"line":34,"column":18}},"35":{"start":{"line":36,"column":16},"end":{"line":44,"column":1}},"36":{"start":{"line":37,"column":28},"end":{"line":37,"column":110}},"37":{"start":{"line":37,"column":91},"end":{"line":37,"column":106}},"38":{"start":{"line":38,"column":4},"end":{"line":43,"column":7}},"39":{"start":{"line":39,"column":36},"end":{"line":39,"column":97}},"40":{"start":{"line":39,"column":42},"end":{"line":39,"column":70}},"41":{"start":{"line":39,"column":85},"end":{"line":39,"column":95}},"42":{"start":{"line":40,"column":35},"end":{"line":40,"column":100}},"43":{"start":{"line":40,"column":41},"end":{"line":40,"column":73}},"44":{"start":{"line":40,"column":88},"end":{"line":40,"column":98}},"45":{"start":{"line":41,"column":32},"end":{"line":41,"column":116}},"46":{"start":{"line":42,"column":8},"end":{"line":42,"column":78}},"47":{"start":{"line":45,"column":18},"end":{"line":71,"column":1}},"48":{"start":{"line":46,"column":12},"end":{"line":46,"column":104}},"49":{"start":{"line":46,"column":43},"end":{"line":46,"column":68}},"50":{"start":{"line":46,"column":57},"end":{"line":46,"column":68}},"51":{"start":{"line":46,"column":69},"end":{"line":46,"column":81}},"52":{"start":{"line":46,"column":119},"end":{"line":46,"column":196}},"53":{"start":{"line":47,"column":4},"end":{"line":47,"column":160}},"54":{"start":{"line":47,"column":141},"end":{"line":47,"column":153}},"55":{"start":{"line":48,"column":23},"end":{"line":48,"column":68}},"56":{"start":{"line":48,"column":45},"end":{"line":48,"column":65}},"57":{"start":{"line":50,"column":8},"end":{"line":50,"column":70}},"58":{"start":{"line":50,"column":15},"end":{"line":50,"column":70}},"59":{"start":{"line":51,"column":8},"end":{"line":68,"column":66}},"60":{"start":{"line":51,"column":50},"end":{"line":68,"column":66}},"61":{"start":{"line":52,"column":12},"end":{"line":52,"column":169}},"62":{"start":{"line":52,"column":160},"end":{"line":52,"column":169}},"63":{"start":{"line":53,"column":12},"end":{"line":53,"column":52}},"64":{"start":{"line":53,"column":26},"end":{"line":53,"column":52}},"65":{"start":{"line":54,"column":12},"end":{"line":66,"column":13}},"66":{"start":{"line":55,"column":32},"end":{"line":55,"column":39}},"67":{"start":{"line":55,"column":40},"end":{"line":55,"column":46}},"68":{"start":{"line":56,"column":24},"end":{"line":56,"column":34}},"69":{"start":{"line":56,"column":35},"end":{"line":56,"column":72}},"70":{"start":{"line":57,"column":24},"end":{"line":57,"column":34}},"71":{"start":{"line":57,"column":35},"end":{"line":57,"column":45}},"72":{"start":{"line":57,"column":46},"end":{"line":57,"column":55}},"73":{"start":{"line":57,"column":56},"end":{"line":57,"column":65}},"74":{"start":{"line":58,"column":24},"end":{"line":58,"column":41}},"75":{"start":{"line":58,"column":42},"end":{"line":58,"column":55}},"76":{"start":{"line":58,"column":56},"end":{"line":58,"column":65}},"77":{"start":{"line":60,"column":20},"end":{"line":60,"column":128}},"78":{"start":{"line":60,"column":110},"end":{"line":60,"column":116}},"79":{"start":{"line":60,"column":117},"end":{"line":60,"column":126}},"80":{"start":{"line":61,"column":20},"end":{"line":61,"column":106}},"81":{"start":{"line":61,"column":81},"end":{"line":61,"column":97}},"82":{"start":{"line":61,"column":98},"end":{"line":61,"column":104}},"83":{"start":{"line":62,"column":20},"end":{"line":62,"column":89}},"84":{"start":{"line":62,"column":57},"end":{"line":62,"column":72}},"85":{"start":{"line":62,"column":73},"end":{"line":62,"column":80}},"86":{"start":{"line":62,"column":81},"end":{"line":62,"column":87}},"87":{"start":{"line":63,"column":20},"end":{"line":63,"column":87}},"88":{"start":{"line":63,"column":47},"end":{"line":63,"column":62}},"89":{"start":{"line":63,"column":63},"end":{"line":63,"column":78}},"90":{"start":{"line":63,"column":79},"end":{"line":63,"column":85}},"91":{"start":{"line":64,"column":20},"end":{"line":64,"column":42}},"92":{"start":{"line":64,"column":30},"end":{"line":64,"column":42}},"93":{"start":{"line":65,"column":20},"end":{"line":65,"column":33}},"94":{"start":{"line":65,"column":34},"end":{"line":65,"column":43}},"95":{"start":{"line":67,"column":12},"end":{"line":67,"column":39}},"96":{"start":{"line":68,"column":22},"end":{"line":68,"column":34}},"97":{"start":{"line":68,"column":35},"end":{"line":68,"column":41}},"98":{"start":{"line":68,"column":54},"end":{"line":68,"column":64}},"99":{"start":{"line":69,"column":8},"end":{"line":69,"column":35}},"100":{"start":{"line":69,"column":23},"end":{"line":69,"column":35}},"101":{"start":{"line":69,"column":36},"end":{"line":69,"column":89}},"102":{"start":{"line":72,"column":20},"end":{"line":80,"column":1}},"103":{"start":{"line":73,"column":4},"end":{"line":78,"column":5}},"104":{"start":{"line":73,"column":40},"end":{"line":78,"column":5}},"105":{"start":{"line":73,"column":53},"end":{"line":73,"column":54}},"106":{"start":{"line":73,"column":60},"end":{"line":73,"column":71}},"107":{"start":{"line":74,"column":8},"end":{"line":77,"column":9}},"108":{"start":{"line":75,"column":12},"end":{"line":75,"column":65}},"109":{"start":{"line":75,"column":21},"end":{"line":75,"column":65}},"110":{"start":{"line":76,"column":12},"end":{"line":76,"column":28}},"111":{"start":{"line":79,"column":4},"end":{"line":79,"column":61}},"112":{"start":{"line":81,"column":0},"end":{"line":81,"column":62}},"113":{"start":{"line":82,"column":0},"end":{"line":82,"column":27}},"114":{"start":{"line":83,"column":16},"end":{"line":83,"column":46}},"115":{"start":{"line":84,"column":17},"end":{"line":84,"column":65}},"116":{"start":{"line":85,"column":22},"end":{"line":85,"column":59}},"117":{"start":{"line":86,"column":19},"end":{"line":86,"column":70}},"118":{"start":{"line":87,"column":24},"end":{"line":87,"column":62}},"119":{"start":{"line":88,"column":16},"end":{"line":88,"column":46}},"120":{"start":{"line":89,"column":17},"end":{"line":89,"column":50}},"121":{"start":{"line":90,"column":26},"end":{"line":90,"column":64}},"122":{"start":{"line":91,"column":14},"end":{"line":91,"column":39}},"123":{"start":{"line":92,"column":11},"end":{"line":92,"column":33}},"124":{"start":{"line":93,"column":22},"end":{"line":93,"column":55}},"125":{"start":{"line":94,"column":27},"end":{"line":94,"column":58}},"126":{"start":{"line":95,"column":15},"end":{"line":95,"column":34}},"127":{"start":{"line":96,"column":32},"end":{"line":96,"column":68}},"128":{"start":{"line":97,"column":17},"end":{"line":732,"column":3}},"129":{"start":{"line":99,"column":22},"end":{"line":99,"column":44}},"130":{"start":{"line":100,"column":8},"end":{"line":102,"column":9}},"131":{"start":{"line":101,"column":12},"end":{"line":101,"column":87}},"132":{"start":{"line":103,"column":8},"end":{"line":110,"column":9}},"133":{"start":{"line":104,"column":12},"end":{"line":104,"column":78}},"134":{"start":{"line":106,"column":13},"end":{"line":110,"column":9}},"135":{"start":{"line":109,"column":12},"end":{"line":109,"column":91}},"136":{"start":{"line":111,"column":8},"end":{"line":116,"column":9}},"137":{"start":{"line":112,"column":12},"end":{"line":112,"column":47}},"138":{"start":{"line":114,"column":13},"end":{"line":116,"column":9}},"139":{"start":{"line":115,"column":12},"end":{"line":115,"column":98}},"140":{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},"141":{"start":{"line":118,"column":12},"end":{"line":118,"column":48}},"142":{"start":{"line":120,"column":13},"end":{"line":122,"column":9}},"143":{"start":{"line":121,"column":12},"end":{"line":121,"column":93}},"144":{"start":{"line":123,"column":8},"end":{"line":127,"column":10}},"145":{"start":{"line":128,"column":8},"end":{"line":128,"column":33}},"146":{"start":{"line":129,"column":8},"end":{"line":129,"column":56}},"147":{"start":{"line":130,"column":8},"end":{"line":130,"column":29}},"148":{"start":{"line":131,"column":8},"end":{"line":131,"column":32}},"149":{"start":{"line":132,"column":8},"end":{"line":132,"column":50}},"150":{"start":{"line":133,"column":8},"end":{"line":133,"column":52}},"151":{"start":{"line":134,"column":8},"end":{"line":134,"column":27}},"152":{"start":{"line":135,"column":8},"end":{"line":135,"column":70}},"153":{"start":{"line":136,"column":8},"end":{"line":136,"column":92}},"154":{"start":{"line":138,"column":4},"end":{"line":157,"column":6}},"155":{"start":{"line":139,"column":25},"end":{"line":139,"column":27}},"156":{"start":{"line":140,"column":8},"end":{"line":142,"column":9}},"157":{"start":{"line":140,"column":22},"end":{"line":140,"column":23}},"158":{"start":{"line":141,"column":12},"end":{"line":141,"column":47}},"159":{"start":{"line":143,"column":24},"end":{"line":143,"column":39}},"160":{"start":{"line":144,"column":31},"end":{"line":144,"column":185}},"161":{"start":{"line":144,"column":122},"end":{"line":144,"column":182}},"162":{"start":{"line":145,"column":32},"end":{"line":145,"column":78}},"163":{"start":{"line":147,"column":12},"end":{"line":151,"column":15}},"164":{"start":{"line":148,"column":16},"end":{"line":150,"column":19}},"165":{"start":{"line":149,"column":20},"end":{"line":149,"column":80}},"166":{"start":{"line":153,"column":8},"end":{"line":155,"column":11}},"167":{"start":{"line":154,"column":12},"end":{"line":154,"column":71}},"168":{"start":{"line":156,"column":8},"end":{"line":156,"column":25}},"169":{"start":{"line":158,"column":4},"end":{"line":169,"column":6}},"170":{"start":{"line":159,"column":22},"end":{"line":159,"column":24}},"171":{"start":{"line":160,"column":8},"end":{"line":162,"column":9}},"172":{"start":{"line":160,"column":22},"end":{"line":160,"column":23}},"173":{"start":{"line":161,"column":12},"end":{"line":161,"column":40}},"174":{"start":{"line":163,"column":25},"end":{"line":163,"column":65}},"175":{"start":{"line":164,"column":8},"end":{"line":168,"column":9}},"176":{"start":{"line":164,"column":22},"end":{"line":164,"column":23}},"177":{"start":{"line":164,"column":37},"end":{"line":164,"column":44}},"178":{"start":{"line":165,"column":32},"end":{"line":165,"column":45}},"179":{"start":{"line":166,"column":41},"end":{"line":166,"column":69}},"180":{"start":{"line":167,"column":12},"end":{"line":167,"column":326}},"181":{"start":{"line":170,"column":4},"end":{"line":198,"column":6}},"182":{"start":{"line":171,"column":22},"end":{"line":171,"column":24}},"183":{"start":{"line":172,"column":8},"end":{"line":174,"column":9}},"184":{"start":{"line":172,"column":22},"end":{"line":172,"column":23}},"185":{"start":{"line":173,"column":12},"end":{"line":173,"column":40}},"186":{"start":{"line":175,"column":8},"end":{"line":197,"column":11}},"187":{"start":{"line":177,"column":12},"end":{"line":196,"column":15}},"188":{"start":{"line":178,"column":16},"end":{"line":195,"column":17}},"189":{"start":{"line":180,"column":24},"end":{"line":180,"column":78}},"190":{"start":{"line":181,"column":24},"end":{"line":181,"column":52}},"191":{"start":{"line":182,"column":24},"end":{"line":182,"column":37}},"192":{"start":{"line":184,"column":24},"end":{"line":184,"column":68}},"193":{"start":{"line":184,"column":54},"end":{"line":184,"column":68}},"194":{"start":{"line":185,"column":24},"end":{"line":185,"column":54}},"195":{"start":{"line":186,"column":24},"end":{"line":186,"column":78}},"196":{"start":{"line":187,"column":24},"end":{"line":187,"column":350}},"197":{"start":{"line":189,"column":24},"end":{"line":189,"column":34}},"198":{"start":{"line":190,"column":24},"end":{"line":190,"column":37}},"199":{"start":{"line":192,"column":24},"end":{"line":192,"column":29}},"200":{"start":{"line":193,"column":24},"end":{"line":193,"column":38}},"201":{"start":{"line":194,"column":28},"end":{"line":194,"column":39}},"202":{"start":{"line":199,"column":4},"end":{"line":210,"column":6}},"203":{"start":{"line":200,"column":20},"end":{"line":200,"column":24}},"204":{"start":{"line":201,"column":22},"end":{"line":201,"column":24}},"205":{"start":{"line":202,"column":8},"end":{"line":204,"column":9}},"206":{"start":{"line":202,"column":22},"end":{"line":202,"column":23}},"207":{"start":{"line":203,"column":12},"end":{"line":203,"column":40}},"208":{"start":{"line":205,"column":8},"end":{"line":209,"column":11}},"209":{"start":{"line":206,"column":32},"end":{"line":206,"column":70}},"210":{"start":{"line":207,"column":12},"end":{"line":207,"column":55}},"211":{"start":{"line":208,"column":12},"end":{"line":208,"column":51}},"212":{"start":{"line":211,"column":4},"end":{"line":239,"column":6}},"213":{"start":{"line":212,"column":22},"end":{"line":212,"column":24}},"214":{"start":{"line":213,"column":8},"end":{"line":215,"column":9}},"215":{"start":{"line":213,"column":22},"end":{"line":213,"column":23}},"216":{"start":{"line":214,"column":12},"end":{"line":214,"column":40}},"217":{"start":{"line":216,"column":8},"end":{"line":238,"column":11}},"218":{"start":{"line":218,"column":12},"end":{"line":237,"column":15}},"219":{"start":{"line":219,"column":16},"end":{"line":236,"column":17}},"220":{"start":{"line":221,"column":24},"end":{"line":221,"column":52}},"221":{"start":{"line":222,"column":24},"end":{"line":222,"column":37}},"222":{"start":{"line":224,"column":24},"end":{"line":224,"column":68}},"223":{"start":{"line":224,"column":54},"end":{"line":224,"column":68}},"224":{"start":{"line":225,"column":24},"end":{"line":225,"column":49}},"225":{"start":{"line":226,"column":24},"end":{"line":226,"column":80}},"226":{"start":{"line":227,"column":24},"end":{"line":227,"column":83}},"227":{"start":{"line":229,"column":24},"end":{"line":229,"column":34}},"228":{"start":{"line":230,"column":24},"end":{"line":230,"column":64}},"229":{"start":{"line":231,"column":24},"end":{"line":231,"column":37}},"230":{"start":{"line":233,"column":24},"end":{"line":233,"column":29}},"231":{"start":{"line":234,"column":24},"end":{"line":234,"column":38}},"232":{"start":{"line":235,"column":28},"end":{"line":235,"column":39}},"233":{"start":{"line":240,"column":4},"end":{"line":245,"column":6}},"234":{"start":{"line":241,"column":20},"end":{"line":241,"column":91}},"235":{"start":{"line":242,"column":22},"end":{"line":242,"column":69}},"236":{"start":{"line":243,"column":8},"end":{"line":243,"column":64}},"237":{"start":{"line":244,"column":8},"end":{"line":244,"column":64}},"238":{"start":{"line":246,"column":4},"end":{"line":249,"column":6}},"239":{"start":{"line":247,"column":8},"end":{"line":247,"column":39}},"240":{"start":{"line":248,"column":8},"end":{"line":248,"column":44}},"241":{"start":{"line":250,"column":4},"end":{"line":261,"column":6}},"242":{"start":{"line":251,"column":8},"end":{"line":260,"column":11}},"243":{"start":{"line":252,"column":12},"end":{"line":259,"column":15}},"244":{"start":{"line":253,"column":16},"end":{"line":258,"column":17}},"245":{"start":{"line":254,"column":28},"end":{"line":254,"column":76}},"246":{"start":{"line":256,"column":24},"end":{"line":256,"column":34}},"247":{"start":{"line":257,"column":24},"end":{"line":257,"column":65}},"248":{"start":{"line":262,"column":4},"end":{"line":268,"column":6}},"249":{"start":{"line":263,"column":8},"end":{"line":266,"column":9}},"250":{"start":{"line":264,"column":27},"end":{"line":264,"column":73}},"251":{"start":{"line":265,"column":12},"end":{"line":265,"column":49}},"252":{"start":{"line":267,"column":8},"end":{"line":267,"column":61}},"253":{"start":{"line":269,"column":4},"end":{"line":287,"column":6}},"254":{"start":{"line":270,"column":8},"end":{"line":286,"column":11}},"255":{"start":{"line":272,"column":12},"end":{"line":285,"column":15}},"256":{"start":{"line":273,"column":16},"end":{"line":284,"column":17}},"257":{"start":{"line":275,"column":24},"end":{"line":275,"column":94}},"258":{"start":{"line":275,"column":80},"end":{"line":275,"column":94}},"259":{"start":{"line":276,"column":24},"end":{"line":276,"column":82}},"260":{"start":{"line":277,"column":24},"end":{"line":277,"column":78}},"261":{"start":{"line":279,"column":24},"end":{"line":279,"column":34}},"262":{"start":{"line":280,"column":24},"end":{"line":280,"column":37}},"263":{"start":{"line":282,"column":24},"end":{"line":282,"column":77}},"264":{"start":{"line":283,"column":24},"end":{"line":283,"column":35}},"265":{"start":{"line":288,"column":4},"end":{"line":294,"column":6}},"266":{"start":{"line":289,"column":20},"end":{"line":289,"column":24}},"267":{"start":{"line":290,"column":8},"end":{"line":292,"column":11}},"268":{"start":{"line":291,"column":12},"end":{"line":291,"column":47}},"269":{"start":{"line":293,"column":8},"end":{"line":293,"column":56}},"270":{"start":{"line":295,"column":4},"end":{"line":314,"column":6}},"271":{"start":{"line":296,"column":8},"end":{"line":313,"column":11}},"272":{"start":{"line":298,"column":24},"end":{"line":298,"column":28}},"273":{"start":{"line":299,"column":12},"end":{"line":312,"column":15}},"274":{"start":{"line":300,"column":16},"end":{"line":311,"column":17}},"275":{"start":{"line":302,"column":24},"end":{"line":302,"column":38}},"276":{"start":{"line":303,"column":24},"end":{"line":305,"column":27}},"277":{"start":{"line":304,"column":28},"end":{"line":304,"column":83}},"278":{"start":{"line":306,"column":24},"end":{"line":306,"column":58}},"279":{"start":{"line":308,"column":24},"end":{"line":308,"column":34}},"280":{"start":{"line":309,"column":24},"end":{"line":309,"column":72}},"281":{"start":{"line":310,"column":24},"end":{"line":310,"column":35}},"282":{"start":{"line":315,"column":4},"end":{"line":317,"column":6}},"283":{"start":{"line":316,"column":8},"end":{"line":316,"column":63}},"284":{"start":{"line":318,"column":4},"end":{"line":320,"column":6}},"285":{"start":{"line":319,"column":8},"end":{"line":319,"column":67}},"286":{"start":{"line":321,"column":4},"end":{"line":327,"column":6}},"287":{"start":{"line":322,"column":20},"end":{"line":322,"column":69}},"288":{"start":{"line":323,"column":8},"end":{"line":325,"column":9}},"289":{"start":{"line":324,"column":12},"end":{"line":324,"column":59}},"290":{"start":{"line":326,"column":8},"end":{"line":326,"column":21}},"291":{"start":{"line":328,"column":4},"end":{"line":330,"column":6}},"292":{"start":{"line":329,"column":8},"end":{"line":329,"column":65}},"293":{"start":{"line":331,"column":4},"end":{"line":333,"column":6}},"294":{"start":{"line":332,"column":8},"end":{"line":332,"column":84}},"295":{"start":{"line":334,"column":4},"end":{"line":345,"column":6}},"296":{"start":{"line":335,"column":20},"end":{"line":335,"column":25}},"297":{"start":{"line":336,"column":8},"end":{"line":340,"column":9}},"298":{"start":{"line":337,"column":27},"end":{"line":337,"column":73}},"299":{"start":{"line":338,"column":28},"end":{"line":338,"column":97}},"300":{"start":{"line":339,"column":12},"end":{"line":339,"column":84}},"301":{"start":{"line":339,"column":49},"end":{"line":339,"column":80}},"302":{"start":{"line":341,"column":8},"end":{"line":343,"column":9}},"303":{"start":{"line":342,"column":12},"end":{"line":342,"column":77}},"304":{"start":{"line":344,"column":8},"end":{"line":344,"column":21}},"305":{"start":{"line":346,"column":4},"end":{"line":348,"column":6}},"306":{"start":{"line":347,"column":8},"end":{"line":347,"column":216}},"307":{"start":{"line":349,"column":4},"end":{"line":359,"column":6}},"308":{"start":{"line":350,"column":23},"end":{"line":350,"column":44}},"309":{"start":{"line":351,"column":8},"end":{"line":353,"column":9}},"310":{"start":{"line":352,"column":12},"end":{"line":352,"column":68}},"311":{"start":{"line":354,"column":8},"end":{"line":354,"column":52}},"312":{"start":{"line":355,"column":8},"end":{"line":355,"column":49}},"313":{"start":{"line":356,"column":8},"end":{"line":356,"column":53}},"314":{"start":{"line":357,"column":8},"end":{"line":357,"column":47}},"315":{"start":{"line":358,"column":8},"end":{"line":358,"column":69}},"316":{"start":{"line":360,"column":4},"end":{"line":364,"column":6}},"317":{"start":{"line":361,"column":20},"end":{"line":361,"column":67}},"318":{"start":{"line":362,"column":8},"end":{"line":362,"column":28}},"319":{"start":{"line":363,"column":8},"end":{"line":363,"column":21}},"320":{"start":{"line":365,"column":4},"end":{"line":372,"column":6}},"321":{"start":{"line":366,"column":26},"end":{"line":366,"column":28}},"322":{"start":{"line":367,"column":8},"end":{"line":369,"column":9}},"323":{"start":{"line":367,"column":22},"end":{"line":367,"column":23}},"324":{"start":{"line":368,"column":12},"end":{"line":368,"column":44}},"325":{"start":{"line":370,"column":22},"end":{"line":370,"column":84}},"326":{"start":{"line":371,"column":8},"end":{"line":371,"column":101}},"327":{"start":{"line":371,"column":70},"end":{"line":371,"column":88}},"328":{"start":{"line":373,"column":4},"end":{"line":375,"column":6}},"329":{"start":{"line":374,"column":8},"end":{"line":374,"column":46}},"330":{"start":{"line":376,"column":4},"end":{"line":379,"column":6}},"331":{"start":{"line":377,"column":22},"end":{"line":377,"column":67}},"332":{"start":{"line":378,"column":8},"end":{"line":378,"column":49}},"333":{"start":{"line":380,"column":4},"end":{"line":388,"column":6}},"334":{"start":{"line":381,"column":8},"end":{"line":387,"column":11}},"335":{"start":{"line":383,"column":12},"end":{"line":386,"column":15}},"336":{"start":{"line":384,"column":16},"end":{"line":384,"column":72}},"337":{"start":{"line":385,"column":16},"end":{"line":385,"column":47}},"338":{"start":{"line":389,"column":4},"end":{"line":392,"column":6}},"339":{"start":{"line":390,"column":22},"end":{"line":390,"column":79}},"340":{"start":{"line":391,"column":8},"end":{"line":391,"column":49}},"341":{"start":{"line":393,"column":4},"end":{"line":401,"column":6}},"342":{"start":{"line":394,"column":8},"end":{"line":400,"column":11}},"343":{"start":{"line":396,"column":12},"end":{"line":399,"column":15}},"344":{"start":{"line":397,"column":16},"end":{"line":397,"column":84}},"345":{"start":{"line":398,"column":16},"end":{"line":398,"column":47}},"346":{"start":{"line":402,"column":4},"end":{"line":404,"column":6}},"347":{"start":{"line":403,"column":8},"end":{"line":403,"column":80}},"348":{"start":{"line":405,"column":4},"end":{"line":407,"column":6}},"349":{"start":{"line":406,"column":8},"end":{"line":406,"column":85}},"350":{"start":{"line":408,"column":4},"end":{"line":411,"column":6}},"351":{"start":{"line":409,"column":22},"end":{"line":409,"column":57}},"352":{"start":{"line":410,"column":8},"end":{"line":410,"column":49}},"353":{"start":{"line":412,"column":4},"end":{"line":415,"column":6}},"354":{"start":{"line":413,"column":22},"end":{"line":413,"column":57}},"355":{"start":{"line":414,"column":8},"end":{"line":414,"column":37}},"356":{"start":{"line":416,"column":4},"end":{"line":419,"column":6}},"357":{"start":{"line":417,"column":22},"end":{"line":417,"column":78}},"358":{"start":{"line":418,"column":8},"end":{"line":418,"column":49}},"359":{"start":{"line":420,"column":4},"end":{"line":423,"column":6}},"360":{"start":{"line":421,"column":22},"end":{"line":421,"column":78}},"361":{"start":{"line":422,"column":8},"end":{"line":422,"column":37}},"362":{"start":{"line":424,"column":4},"end":{"line":426,"column":6}},"363":{"start":{"line":425,"column":8},"end":{"line":425,"column":83}},"364":{"start":{"line":427,"column":4},"end":{"line":429,"column":6}},"365":{"start":{"line":428,"column":8},"end":{"line":428,"column":88}},"366":{"start":{"line":430,"column":4},"end":{"line":440,"column":6}},"367":{"start":{"line":431,"column":22},"end":{"line":431,"column":55}},"368":{"start":{"line":432,"column":8},"end":{"line":434,"column":9}},"369":{"start":{"line":433,"column":12},"end":{"line":433,"column":52}},"370":{"start":{"line":435,"column":23},"end":{"line":435,"column":52}},"371":{"start":{"line":436,"column":8},"end":{"line":438,"column":9}},"372":{"start":{"line":437,"column":12},"end":{"line":437,"column":45}},"373":{"start":{"line":439,"column":8},"end":{"line":439,"column":24}},"374":{"start":{"line":441,"column":4},"end":{"line":447,"column":6}},"375":{"start":{"line":443,"column":8},"end":{"line":446,"column":9}},"376":{"start":{"line":444,"column":23},"end":{"line":444,"column":81}},"377":{"start":{"line":445,"column":12},"end":{"line":445,"column":103}},"378":{"start":{"line":448,"column":4},"end":{"line":452,"column":6}},"379":{"start":{"line":449,"column":40},"end":{"line":449,"column":84}},"380":{"start":{"line":450,"column":8},"end":{"line":450,"column":86}},"381":{"start":{"line":451,"column":8},"end":{"line":451,"column":90}},"382":{"start":{"line":453,"column":4},"end":{"line":455,"column":6}},"383":{"start":{"line":454,"column":8},"end":{"line":454,"column":119}},"384":{"start":{"line":454,"column":78},"end":{"line":454,"column":115}},"385":{"start":{"line":456,"column":4},"end":{"line":476,"column":6}},"386":{"start":{"line":457,"column":20},"end":{"line":457,"column":24}},"387":{"start":{"line":458,"column":26},"end":{"line":458,"column":69}},"388":{"start":{"line":459,"column":8},"end":{"line":475,"column":9}},"389":{"start":{"line":460,"column":12},"end":{"line":465,"column":13}},"390":{"start":{"line":461,"column":29},"end":{"line":461,"column":125}},"391":{"start":{"line":462,"column":16},"end":{"line":464,"column":17}},"392":{"start":{"line":463,"column":20},"end":{"line":463,"column":207}},"393":{"start":{"line":463,"column":83},"end":{"line":463,"column":189}},"394":{"start":{"line":466,"column":46},"end":{"line":466,"column":138}},"395":{"start":{"line":467,"column":12},"end":{"line":469,"column":13}},"396":{"start":{"line":468,"column":16},"end":{"line":468,"column":95}},"397":{"start":{"line":472,"column":12},"end":{"line":474,"column":13}},"398":{"start":{"line":473,"column":16},"end":{"line":473,"column":96}},"399":{"start":{"line":477,"column":4},"end":{"line":498,"column":6}},"400":{"start":{"line":478,"column":8},"end":{"line":497,"column":11}},"401":{"start":{"line":480,"column":12},"end":{"line":496,"column":15}},"402":{"start":{"line":481,"column":16},"end":{"line":495,"column":17}},"403":{"start":{"line":483,"column":24},"end":{"line":483,"column":50}},"404":{"start":{"line":484,"column":24},"end":{"line":484,"column":48}},"405":{"start":{"line":486,"column":24},"end":{"line":486,"column":34}},"406":{"start":{"line":487,"column":24},"end":{"line":487,"column":38}},"407":{"start":{"line":489,"column":24},"end":{"line":489,"column":41}},"408":{"start":{"line":490,"column":24},"end":{"line":492,"column":25}},"409":{"start":{"line":491,"column":28},"end":{"line":491,"column":110}},"410":{"start":{"line":493,"column":24},"end":{"line":493,"column":38}},"411":{"start":{"line":494,"column":28},"end":{"line":494,"column":39}},"412":{"start":{"line":499,"column":4},"end":{"line":511,"column":6}},"413":{"start":{"line":500,"column":20},"end":{"line":500,"column":24}},"414":{"start":{"line":501,"column":27},"end":{"line":501,"column":55}},"415":{"start":{"line":502,"column":8},"end":{"line":510,"column":9}},"416":{"start":{"line":503,"column":25},"end":{"line":503,"column":53}},"417":{"start":{"line":504,"column":12},"end":{"line":508,"column":13}},"418":{"start":{"line":505,"column":16},"end":{"line":507,"column":19}},"419":{"start":{"line":506,"column":20},"end":{"line":506,"column":92}},"420":{"start":{"line":509,"column":12},"end":{"line":509,"column":56}},"421":{"start":{"line":512,"column":4},"end":{"line":531,"column":6}},"422":{"start":{"line":513,"column":8},"end":{"line":530,"column":11}},"423":{"start":{"line":515,"column":12},"end":{"line":529,"column":15}},"424":{"start":{"line":516,"column":16},"end":{"line":528,"column":17}},"425":{"start":{"line":518,"column":24},"end":{"line":518,"column":68}},"426":{"start":{"line":519,"column":24},"end":{"line":519,"column":37}},"427":{"start":{"line":521,"column":24},"end":{"line":521,"column":63}},"428":{"start":{"line":521,"column":49},"end":{"line":521,"column":63}},"429":{"start":{"line":522,"column":24},"end":{"line":522,"column":65}},"430":{"start":{"line":524,"column":24},"end":{"line":524,"column":34}},"431":{"start":{"line":525,"column":24},"end":{"line":525,"column":68}},"432":{"start":{"line":526,"column":24},"end":{"line":526,"column":38}},"433":{"start":{"line":527,"column":28},"end":{"line":527,"column":39}},"434":{"start":{"line":532,"column":4},"end":{"line":587,"column":6}},"435":{"start":{"line":533,"column":20},"end":{"line":533,"column":24}},"436":{"start":{"line":534,"column":26},"end":{"line":536,"column":9}},"437":{"start":{"line":535,"column":12},"end":{"line":535,"column":57}},"438":{"start":{"line":537,"column":30},"end":{"line":543,"column":9}},"439":{"start":{"line":538,"column":12},"end":{"line":542,"column":14}},"440":{"start":{"line":539,"column":38},"end":{"line":539,"column":67}},"441":{"start":{"line":540,"column":16},"end":{"line":540,"column":55}},"442":{"start":{"line":541,"column":16},"end":{"line":541,"column":39}},"443":{"start":{"line":544,"column":32},"end":{"line":548,"column":9}},"444":{"start":{"line":545,"column":12},"end":{"line":547,"column":14}},"445":{"start":{"line":546,"column":16},"end":{"line":546,"column":55}},"446":{"start":{"line":549,"column":37},"end":{"line":553,"column":9}},"447":{"start":{"line":550,"column":12},"end":{"line":552,"column":14}},"448":{"start":{"line":551,"column":16},"end":{"line":551,"column":60}},"449":{"start":{"line":554,"column":33},"end":{"line":558,"column":9}},"450":{"start":{"line":555,"column":12},"end":{"line":557,"column":14}},"451":{"start":{"line":556,"column":16},"end":{"line":556,"column":56}},"452":{"start":{"line":559,"column":32},"end":{"line":565,"column":9}},"453":{"start":{"line":560,"column":12},"end":{"line":564,"column":14}},"454":{"start":{"line":561,"column":38},"end":{"line":561,"column":69}},"455":{"start":{"line":562,"column":16},"end":{"line":562,"column":55}},"456":{"start":{"line":563,"column":16},"end":{"line":563,"column":39}},"457":{"start":{"line":566,"column":38},"end":{"line":571,"column":9}},"458":{"start":{"line":567,"column":12},"end":{"line":570,"column":14}},"459":{"start":{"line":568,"column":16},"end":{"line":568,"column":102}},"460":{"start":{"line":569,"column":16},"end":{"line":569,"column":68}},"461":{"start":{"line":572,"column":40},"end":{"line":577,"column":9}},"462":{"start":{"line":573,"column":12},"end":{"line":576,"column":14}},"463":{"start":{"line":574,"column":16},"end":{"line":574,"column":106}},"464":{"start":{"line":575,"column":16},"end":{"line":575,"column":72}},"465":{"start":{"line":578,"column":8},"end":{"line":586,"column":14}},"466":{"start":{"line":578,"column":32},"end":{"line":586,"column":11}},"467":{"start":{"line":588,"column":4},"end":{"line":590,"column":6}},"468":{"start":{"line":589,"column":8},"end":{"line":589,"column":47}},"469":{"start":{"line":591,"column":4},"end":{"line":601,"column":6}},"470":{"start":{"line":592,"column":33},"end":{"line":592,"column":181}},"471":{"start":{"line":592,"column":108},"end":{"line":592,"column":123}},"472":{"start":{"line":593,"column":8},"end":{"line":599,"column":9}},"473":{"start":{"line":594,"column":35},"end":{"line":594,"column":71}},"474":{"start":{"line":595,"column":12},"end":{"line":597,"column":13}},"475":{"start":{"line":596,"column":16},"end":{"line":596,"column":70}},"476":{"start":{"line":598,"column":12},"end":{"line":598,"column":36}},"477":{"start":{"line":600,"column":8},"end":{"line":600,"column":58}},"478":{"start":{"line":602,"column":4},"end":{"line":608,"column":6}},"479":{"start":{"line":603,"column":21},"end":{"line":603,"column":39}},"480":{"start":{"line":604,"column":8},"end":{"line":606,"column":9}},"481":{"start":{"line":605,"column":12},"end":{"line":605,"column":80}},"482":{"start":{"line":607,"column":8},"end":{"line":607,"column":22}},"483":{"start":{"line":609,"column":4},"end":{"line":616,"column":6}},"484":{"start":{"line":610,"column":25},"end":{"line":614,"column":9}},"485":{"start":{"line":615,"column":8},"end":{"line":615,"column":26}},"486":{"start":{"line":617,"column":4},"end":{"line":626,"column":6}},"487":{"start":{"line":618,"column":28},"end":{"line":624,"column":9}},"488":{"start":{"line":625,"column":8},"end":{"line":625,"column":29}},"489":{"start":{"line":627,"column":4},"end":{"line":635,"column":6}},"490":{"start":{"line":628,"column":20},"end":{"line":628,"column":24}},"491":{"start":{"line":629,"column":8},"end":{"line":634,"column":10}},"492":{"start":{"line":630,"column":26},"end":{"line":630,"column":181}},"493":{"start":{"line":631,"column":12},"end":{"line":631,"column":55}},"494":{"start":{"line":632,"column":25},"end":{"line":632,"column":57}},"495":{"start":{"line":633,"column":12},"end":{"line":633,"column":26}},"496":{"start":{"line":636,"column":4},"end":{"line":645,"column":6}},"497":{"start":{"line":637,"column":20},"end":{"line":637,"column":24}},"498":{"start":{"line":638,"column":8},"end":{"line":640,"column":9}},"499":{"start":{"line":639,"column":12},"end":{"line":639,"column":19}},"500":{"start":{"line":641,"column":8},"end":{"line":643,"column":9}},"501":{"start":{"line":642,"column":12},"end":{"line":642,"column":108}},"502":{"start":{"line":642,"column":60},"end":{"line":642,"column":104}},"503":{"start":{"line":644,"column":8},"end":{"line":644,"column":56}},"504":{"start":{"line":646,"column":4},"end":{"line":654,"column":6}},"505":{"start":{"line":647,"column":8},"end":{"line":653,"column":9}},"506":{"start":{"line":647,"column":22},"end":{"line":647,"column":23}},"507":{"start":{"line":647,"column":38},"end":{"line":647,"column":46}},"508":{"start":{"line":648,"column":26},"end":{"line":648,"column":40}},"509":{"start":{"line":649,"column":25},"end":{"line":649,"column":61}},"510":{"start":{"line":650,"column":12},"end":{"line":652,"column":13}},"511":{"start":{"line":651,"column":16},"end":{"line":651,"column":66}},"512":{"start":{"line":655,"column":4},"end":{"line":667,"column":6}},"513":{"start":{"line":656,"column":8},"end":{"line":666,"column":11}},"514":{"start":{"line":657,"column":24},"end":{"line":657,"column":28}},"515":{"start":{"line":658,"column":12},"end":{"line":665,"column":15}},"516":{"start":{"line":659,"column":16},"end":{"line":664,"column":17}},"517":{"start":{"line":660,"column":28},"end":{"line":660,"column":124}},"518":{"start":{"line":660,"column":79},"end":{"line":660,"column":118}},"519":{"start":{"line":662,"column":24},"end":{"line":662,"column":34}},"520":{"start":{"line":663,"column":24},"end":{"line":663,"column":35}},"521":{"start":{"line":668,"column":4},"end":{"line":675,"column":6}},"522":{"start":{"line":669,"column":8},"end":{"line":674,"column":9}},"523":{"start":{"line":670,"column":12},"end":{"line":670,"column":73}},"524":{"start":{"line":673,"column":12},"end":{"line":673,"column":90}},"525":{"start":{"line":676,"column":4},"end":{"line":694,"column":6}},"526":{"start":{"line":677,"column":8},"end":{"line":693,"column":11}},"527":{"start":{"line":678,"column":12},"end":{"line":692,"column":15}},"528":{"start":{"line":679,"column":16},"end":{"line":691,"column":17}},"529":{"start":{"line":681,"column":24},"end":{"line":681,"column":56}},"530":{"start":{"line":681,"column":42},"end":{"line":681,"column":56}},"531":{"start":{"line":682,"column":24},"end":{"line":682,"column":90}},"532":{"start":{"line":684,"column":24},"end":{"line":684,"column":34}},"533":{"start":{"line":685,"column":24},"end":{"line":685,"column":38}},"534":{"start":{"line":686,"column":28},"end":{"line":686,"column":116}},"535":{"start":{"line":688,"column":24},"end":{"line":688,"column":34}},"536":{"start":{"line":689,"column":24},"end":{"line":689,"column":37}},"537":{"start":{"line":690,"column":28},"end":{"line":690,"column":39}},"538":{"start":{"line":695,"column":4},"end":{"line":702,"column":6}},"539":{"start":{"line":696,"column":8},"end":{"line":701,"column":9}},"540":{"start":{"line":697,"column":12},"end":{"line":697,"column":62}},"541":{"start":{"line":700,"column":12},"end":{"line":700,"column":147}},"542":{"start":{"line":703,"column":4},"end":{"line":712,"column":6}},"543":{"start":{"line":704,"column":20},"end":{"line":704,"column":24}},"544":{"start":{"line":705,"column":8},"end":{"line":710,"column":9}},"545":{"start":{"line":706,"column":25},"end":{"line":706,"column":57}},"546":{"start":{"line":707,"column":12},"end":{"line":709,"column":13}},"547":{"start":{"line":708,"column":16},"end":{"line":708,"column":101}},"548":{"start":{"line":708,"column":49},"end":{"line":708,"column":97}},"549":{"start":{"line":711,"column":8},"end":{"line":711,"column":55}},"550":{"start":{"line":713,"column":4},"end":{"line":730,"column":6}},"551":{"start":{"line":714,"column":8},"end":{"line":729,"column":11}},"552":{"start":{"line":715,"column":12},"end":{"line":728,"column":15}},"553":{"start":{"line":716,"column":16},"end":{"line":727,"column":17}},"554":{"start":{"line":718,"column":24},"end":{"line":718,"column":91}},"555":{"start":{"line":718,"column":77},"end":{"line":718,"column":91}},"556":{"start":{"line":719,"column":24},"end":{"line":719,"column":69}},"557":{"start":{"line":721,"column":24},"end":{"line":721,"column":34}},"558":{"start":{"line":722,"column":24},"end":{"line":722,"column":37}},"559":{"start":{"line":723,"column":28},"end":{"line":723,"column":80}},"560":{"start":{"line":725,"column":24},"end":{"line":725,"column":34}},"561":{"start":{"line":726,"column":24},"end":{"line":726,"column":35}},"562":{"start":{"line":731,"column":4},"end":{"line":731,"column":21}},"563":{"start":{"line":733,"column":0},"end":{"line":733,"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":20,"column":1}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":38},"end":{"line":17,"column":39}},"loc":{"start":{"line":17,"column":49},"end":{"line":17,"column":65}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":6},"end":{"line":20,"column":7}},"loc":{"start":{"line":20,"column":28},"end":{"line":23,"column":1}},"line":20},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":80},"end":{"line":24,"column":81}},"loc":{"start":{"line":24,"column":95},"end":{"line":26,"column":1}},"line":24},"6":{"name":"(anonymous_6)","decl":{"start":{"line":26,"column":5},"end":{"line":26,"column":6}},"loc":{"start":{"line":26,"column":20},"end":{"line":28,"column":1}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":29,"column":50},"end":{"line":29,"column":51}},"loc":{"start":{"line":29,"column":65},"end":{"line":35,"column":1}},"line":29},"8":{"name":"(anonymous_8)","decl":{"start":{"line":36,"column":44},"end":{"line":36,"column":45}},"loc":{"start":{"line":36,"column":89},"end":{"line":44,"column":1}},"line":36},"9":{"name":"adopt","decl":{"start":{"line":37,"column":13},"end":{"line":37,"column":18}},"loc":{"start":{"line":37,"column":26},"end":{"line":37,"column":112}},"line":37},"10":{"name":"(anonymous_10)","decl":{"start":{"line":37,"column":70},"end":{"line":37,"column":71}},"loc":{"start":{"line":37,"column":89},"end":{"line":37,"column":108}},"line":37},"11":{"name":"(anonymous_11)","decl":{"start":{"line":38,"column":36},"end":{"line":38,"column":37}},"loc":{"start":{"line":38,"column":63},"end":{"line":43,"column":5}},"line":38},"12":{"name":"fulfilled","decl":{"start":{"line":39,"column":17},"end":{"line":39,"column":26}},"loc":{"start":{"line":39,"column":34},"end":{"line":39,"column":99}},"line":39},"13":{"name":"rejected","decl":{"start":{"line":40,"column":17},"end":{"line":40,"column":25}},"loc":{"start":{"line":40,"column":33},"end":{"line":40,"column":102}},"line":40},"14":{"name":"step","decl":{"start":{"line":41,"column":17},"end":{"line":41,"column":21}},"loc":{"start":{"line":41,"column":30},"end":{"line":41,"column":118}},"line":41},"15":{"name":"(anonymous_15)","decl":{"start":{"line":45,"column":48},"end":{"line":45,"column":49}},"loc":{"start":{"line":45,"column":73},"end":{"line":71,"column":1}},"line":45},"16":{"name":"(anonymous_16)","decl":{"start":{"line":46,"column":30},"end":{"line":46,"column":31}},"loc":{"start":{"line":46,"column":41},"end":{"line":46,"column":83}},"line":46},"17":{"name":"(anonymous_17)","decl":{"start":{"line":47,"column":128},"end":{"line":47,"column":129}},"loc":{"start":{"line":47,"column":139},"end":{"line":47,"column":155}},"line":47},"18":{"name":"verb","decl":{"start":{"line":48,"column":13},"end":{"line":48,"column":17}},"loc":{"start":{"line":48,"column":21},"end":{"line":48,"column":70}},"line":48},"19":{"name":"(anonymous_19)","decl":{"start":{"line":48,"column":30},"end":{"line":48,"column":31}},"loc":{"start":{"line":48,"column":43},"end":{"line":48,"column":67}},"line":48},"20":{"name":"step","decl":{"start":{"line":49,"column":13},"end":{"line":49,"column":17}},"loc":{"start":{"line":49,"column":22},"end":{"line":70,"column":5}},"line":49},"21":{"name":"(anonymous_21)","decl":{"start":{"line":72,"column":52},"end":{"line":72,"column":53}},"loc":{"start":{"line":72,"column":78},"end":{"line":80,"column":1}},"line":72},"22":{"name":"(anonymous_22)","decl":{"start":{"line":97,"column":17},"end":{"line":97,"column":18}},"loc":{"start":{"line":97,"column":29},"end":{"line":732,"column":1}},"line":97},"23":{"name":"Container","decl":{"start":{"line":98,"column":13},"end":{"line":98,"column":22}},"loc":{"start":{"line":98,"column":41},"end":{"line":137,"column":5}},"line":98},"24":{"name":"(anonymous_24)","decl":{"start":{"line":138,"column":22},"end":{"line":138,"column":23}},"loc":{"start":{"line":138,"column":56},"end":{"line":157,"column":5}},"line":138},"25":{"name":"(anonymous_25)","decl":{"start":{"line":144,"column":93},"end":{"line":144,"column":94}},"loc":{"start":{"line":144,"column":120},"end":{"line":144,"column":184}},"line":144},"26":{"name":"copyDictionary","decl":{"start":{"line":146,"column":17},"end":{"line":146,"column":31}},"loc":{"start":{"line":146,"column":53},"end":{"line":152,"column":9}},"line":146},"27":{"name":"(anonymous_27)","decl":{"start":{"line":147,"column":28},"end":{"line":147,"column":29}},"loc":{"start":{"line":147,"column":51},"end":{"line":151,"column":13}},"line":147},"28":{"name":"(anonymous_28)","decl":{"start":{"line":148,"column":30},"end":{"line":148,"column":31}},"loc":{"start":{"line":148,"column":49},"end":{"line":150,"column":17}},"line":148},"29":{"name":"(anonymous_29)","decl":{"start":{"line":153,"column":33},"end":{"line":153,"column":34}},"loc":{"start":{"line":153,"column":68},"end":{"line":155,"column":9}},"line":153},"30":{"name":"(anonymous_30)","decl":{"start":{"line":158,"column":31},"end":{"line":158,"column":32}},"loc":{"start":{"line":158,"column":43},"end":{"line":169,"column":5}},"line":158},"31":{"name":"(anonymous_31)","decl":{"start":{"line":170,"column":36},"end":{"line":170,"column":37}},"loc":{"start":{"line":170,"column":48},"end":{"line":198,"column":5}},"line":170},"32":{"name":"(anonymous_32)","decl":{"start":{"line":175,"column":47},"end":{"line":175,"column":48}},"loc":{"start":{"line":175,"column":59},"end":{"line":197,"column":9}},"line":175},"33":{"name":"(anonymous_33)","decl":{"start":{"line":177,"column":37},"end":{"line":177,"column":38}},"loc":{"start":{"line":177,"column":51},"end":{"line":196,"column":13}},"line":177},"34":{"name":"(anonymous_34)","decl":{"start":{"line":199,"column":33},"end":{"line":199,"column":34}},"loc":{"start":{"line":199,"column":45},"end":{"line":210,"column":5}},"line":199},"35":{"name":"(anonymous_35)","decl":{"start":{"line":205,"column":24},"end":{"line":205,"column":25}},"loc":{"start":{"line":205,"column":42},"end":{"line":209,"column":9}},"line":205},"36":{"name":"(anonymous_36)","decl":{"start":{"line":211,"column":38},"end":{"line":211,"column":39}},"loc":{"start":{"line":211,"column":50},"end":{"line":239,"column":5}},"line":211},"37":{"name":"(anonymous_37)","decl":{"start":{"line":216,"column":47},"end":{"line":216,"column":48}},"loc":{"start":{"line":216,"column":59},"end":{"line":238,"column":9}},"line":216},"38":{"name":"(anonymous_38)","decl":{"start":{"line":218,"column":37},"end":{"line":218,"column":38}},"loc":{"start":{"line":218,"column":51},"end":{"line":237,"column":13}},"line":218},"39":{"name":"(anonymous_39)","decl":{"start":{"line":240,"column":31},"end":{"line":240,"column":32}},"loc":{"start":{"line":240,"column":60},"end":{"line":245,"column":5}},"line":240},"40":{"name":"(anonymous_40)","decl":{"start":{"line":246,"column":33},"end":{"line":246,"column":34}},"loc":{"start":{"line":246,"column":62},"end":{"line":249,"column":5}},"line":246},"41":{"name":"(anonymous_41)","decl":{"start":{"line":250,"column":38},"end":{"line":250,"column":39}},"loc":{"start":{"line":250,"column":67},"end":{"line":261,"column":5}},"line":250},"42":{"name":"(anonymous_42)","decl":{"start":{"line":251,"column":47},"end":{"line":251,"column":48}},"loc":{"start":{"line":251,"column":59},"end":{"line":260,"column":9}},"line":251},"43":{"name":"(anonymous_43)","decl":{"start":{"line":252,"column":37},"end":{"line":252,"column":38}},"loc":{"start":{"line":252,"column":51},"end":{"line":259,"column":13}},"line":252},"44":{"name":"(anonymous_44)","decl":{"start":{"line":262,"column":33},"end":{"line":262,"column":34}},"loc":{"start":{"line":262,"column":62},"end":{"line":268,"column":5}},"line":262},"45":{"name":"(anonymous_45)","decl":{"start":{"line":269,"column":38},"end":{"line":269,"column":39}},"loc":{"start":{"line":269,"column":67},"end":{"line":287,"column":5}},"line":269},"46":{"name":"(anonymous_46)","decl":{"start":{"line":270,"column":47},"end":{"line":270,"column":48}},"loc":{"start":{"line":270,"column":59},"end":{"line":286,"column":9}},"line":270},"47":{"name":"(anonymous_47)","decl":{"start":{"line":272,"column":37},"end":{"line":272,"column":38}},"loc":{"start":{"line":272,"column":51},"end":{"line":285,"column":13}},"line":272},"48":{"name":"(anonymous_48)","decl":{"start":{"line":288,"column":36},"end":{"line":288,"column":37}},"loc":{"start":{"line":288,"column":48},"end":{"line":294,"column":5}},"line":288},"49":{"name":"(anonymous_49)","decl":{"start":{"line":290,"column":41},"end":{"line":290,"column":42}},"loc":{"start":{"line":290,"column":64},"end":{"line":292,"column":9}},"line":290},"50":{"name":"(anonymous_50)","decl":{"start":{"line":295,"column":41},"end":{"line":295,"column":42}},"loc":{"start":{"line":295,"column":53},"end":{"line":314,"column":5}},"line":295},"51":{"name":"(anonymous_51)","decl":{"start":{"line":296,"column":47},"end":{"line":296,"column":48}},"loc":{"start":{"line":296,"column":59},"end":{"line":313,"column":9}},"line":296},"52":{"name":"(anonymous_52)","decl":{"start":{"line":299,"column":37},"end":{"line":299,"column":38}},"loc":{"start":{"line":299,"column":51},"end":{"line":312,"column":13}},"line":299},"53":{"name":"(anonymous_53)","decl":{"start":{"line":303,"column":57},"end":{"line":303,"column":58}},"loc":{"start":{"line":303,"column":80},"end":{"line":305,"column":25}},"line":303},"54":{"name":"(anonymous_54)","decl":{"start":{"line":315,"column":39},"end":{"line":315,"column":40}},"loc":{"start":{"line":315,"column":82},"end":{"line":317,"column":5}},"line":315},"55":{"name":"(anonymous_55)","decl":{"start":{"line":318,"column":41},"end":{"line":318,"column":42}},"loc":{"start":{"line":318,"column":86},"end":{"line":320,"column":5}},"line":318},"56":{"name":"(anonymous_56)","decl":{"start":{"line":321,"column":34},"end":{"line":321,"column":35}},"loc":{"start":{"line":321,"column":63},"end":{"line":327,"column":5}},"line":321},"57":{"name":"(anonymous_57)","decl":{"start":{"line":328,"column":41},"end":{"line":328,"column":42}},"loc":{"start":{"line":328,"column":70},"end":{"line":330,"column":5}},"line":328},"58":{"name":"(anonymous_58)","decl":{"start":{"line":331,"column":39},"end":{"line":331,"column":40}},"loc":{"start":{"line":331,"column":75},"end":{"line":333,"column":5}},"line":331},"59":{"name":"(anonymous_59)","decl":{"start":{"line":334,"column":40},"end":{"line":334,"column":41}},"loc":{"start":{"line":334,"column":81},"end":{"line":345,"column":5}},"line":334},"60":{"name":"(anonymous_60)","decl":{"start":{"line":339,"column":34},"end":{"line":339,"column":35}},"loc":{"start":{"line":339,"column":47},"end":{"line":339,"column":82}},"line":339},"61":{"name":"(anonymous_61)","decl":{"start":{"line":346,"column":35},"end":{"line":346,"column":36}},"loc":{"start":{"line":346,"column":47},"end":{"line":348,"column":5}},"line":346},"62":{"name":"(anonymous_62)","decl":{"start":{"line":349,"column":34},"end":{"line":349,"column":35}},"loc":{"start":{"line":349,"column":46},"end":{"line":359,"column":5}},"line":349},"63":{"name":"(anonymous_63)","decl":{"start":{"line":360,"column":38},"end":{"line":360,"column":39}},"loc":{"start":{"line":360,"column":66},"end":{"line":364,"column":5}},"line":360},"64":{"name":"(anonymous_64)","decl":{"start":{"line":365,"column":42},"end":{"line":365,"column":43}},"loc":{"start":{"line":365,"column":54},"end":{"line":372,"column":5}},"line":365},"65":{"name":"(anonymous_65)","decl":{"start":{"line":371,"column":46},"end":{"line":371,"column":47}},"loc":{"start":{"line":371,"column":68},"end":{"line":371,"column":90}},"line":371},"66":{"name":"(anonymous_66)","decl":{"start":{"line":373,"column":52},"end":{"line":373,"column":53}},"loc":{"start":{"line":373,"column":78},"end":{"line":375,"column":5}},"line":373},"67":{"name":"(anonymous_67)","decl":{"start":{"line":376,"column":30},"end":{"line":376,"column":31}},"loc":{"start":{"line":376,"column":59},"end":{"line":379,"column":5}},"line":376},"68":{"name":"(anonymous_68)","decl":{"start":{"line":380,"column":35},"end":{"line":380,"column":36}},"loc":{"start":{"line":380,"column":64},"end":{"line":388,"column":5}},"line":380},"69":{"name":"(anonymous_69)","decl":{"start":{"line":381,"column":47},"end":{"line":381,"column":48}},"loc":{"start":{"line":381,"column":59},"end":{"line":387,"column":9}},"line":381},"70":{"name":"(anonymous_70)","decl":{"start":{"line":383,"column":37},"end":{"line":383,"column":38}},"loc":{"start":{"line":383,"column":51},"end":{"line":386,"column":13}},"line":383},"71":{"name":"(anonymous_71)","decl":{"start":{"line":389,"column":36},"end":{"line":389,"column":37}},"loc":{"start":{"line":389,"column":77},"end":{"line":392,"column":5}},"line":389},"72":{"name":"(anonymous_72)","decl":{"start":{"line":393,"column":41},"end":{"line":393,"column":42}},"loc":{"start":{"line":393,"column":82},"end":{"line":401,"column":5}},"line":393},"73":{"name":"(anonymous_73)","decl":{"start":{"line":394,"column":47},"end":{"line":394,"column":48}},"loc":{"start":{"line":394,"column":59},"end":{"line":400,"column":9}},"line":394},"74":{"name":"(anonymous_74)","decl":{"start":{"line":396,"column":37},"end":{"line":396,"column":38}},"loc":{"start":{"line":396,"column":51},"end":{"line":399,"column":13}},"line":396},"75":{"name":"(anonymous_75)","decl":{"start":{"line":402,"column":35},"end":{"line":402,"column":36}},"loc":{"start":{"line":402,"column":71},"end":{"line":404,"column":5}},"line":402},"76":{"name":"(anonymous_76)","decl":{"start":{"line":405,"column":40},"end":{"line":405,"column":41}},"loc":{"start":{"line":405,"column":76},"end":{"line":407,"column":5}},"line":405},"77":{"name":"(anonymous_77)","decl":{"start":{"line":408,"column":33},"end":{"line":408,"column":34}},"loc":{"start":{"line":408,"column":62},"end":{"line":411,"column":5}},"line":408},"78":{"name":"(anonymous_78)","decl":{"start":{"line":412,"column":38},"end":{"line":412,"column":39}},"loc":{"start":{"line":412,"column":67},"end":{"line":415,"column":5}},"line":412},"79":{"name":"(anonymous_79)","decl":{"start":{"line":416,"column":39},"end":{"line":416,"column":40}},"loc":{"start":{"line":416,"column":80},"end":{"line":419,"column":5}},"line":416},"80":{"name":"(anonymous_80)","decl":{"start":{"line":420,"column":44},"end":{"line":420,"column":45}},"loc":{"start":{"line":420,"column":85},"end":{"line":423,"column":5}},"line":420},"81":{"name":"(anonymous_81)","decl":{"start":{"line":424,"column":38},"end":{"line":424,"column":39}},"loc":{"start":{"line":424,"column":74},"end":{"line":426,"column":5}},"line":424},"82":{"name":"(anonymous_82)","decl":{"start":{"line":427,"column":43},"end":{"line":427,"column":44}},"loc":{"start":{"line":427,"column":79},"end":{"line":429,"column":5}},"line":427},"83":{"name":"(anonymous_83)","decl":{"start":{"line":430,"column":34},"end":{"line":430,"column":35}},"loc":{"start":{"line":430,"column":65},"end":{"line":440,"column":5}},"line":430},"84":{"name":"(anonymous_84)","decl":{"start":{"line":441,"column":38},"end":{"line":441,"column":39}},"loc":{"start":{"line":441,"column":71},"end":{"line":447,"column":5}},"line":441},"85":{"name":"(anonymous_85)","decl":{"start":{"line":448,"column":48},"end":{"line":448,"column":49}},"loc":{"start":{"line":448,"column":68},"end":{"line":452,"column":5}},"line":448},"86":{"name":"(anonymous_86)","decl":{"start":{"line":453,"column":48},"end":{"line":453,"column":49}},"loc":{"start":{"line":453,"column":68},"end":{"line":455,"column":5}},"line":453},"87":{"name":"(anonymous_87)","decl":{"start":{"line":454,"column":57},"end":{"line":454,"column":58}},"loc":{"start":{"line":454,"column":76},"end":{"line":454,"column":117}},"line":454},"88":{"name":"(anonymous_88)","decl":{"start":{"line":456,"column":38},"end":{"line":456,"column":39}},"loc":{"start":{"line":456,"column":67},"end":{"line":476,"column":5}},"line":456},"89":{"name":"(anonymous_89)","decl":{"start":{"line":463,"column":69},"end":{"line":463,"column":70}},"loc":{"start":{"line":463,"column":81},"end":{"line":463,"column":191}},"line":463},"90":{"name":"(anonymous_90)","decl":{"start":{"line":477,"column":51},"end":{"line":477,"column":52}},"loc":{"start":{"line":477,"column":87},"end":{"line":498,"column":5}},"line":477},"91":{"name":"(anonymous_91)","decl":{"start":{"line":478,"column":47},"end":{"line":478,"column":48}},"loc":{"start":{"line":478,"column":59},"end":{"line":497,"column":9}},"line":478},"92":{"name":"(anonymous_92)","decl":{"start":{"line":480,"column":37},"end":{"line":480,"column":38}},"loc":{"start":{"line":480,"column":51},"end":{"line":496,"column":13}},"line":480},"93":{"name":"(anonymous_93)","decl":{"start":{"line":499,"column":47},"end":{"line":499,"column":48}},"loc":{"start":{"line":499,"column":90},"end":{"line":511,"column":5}},"line":499},"94":{"name":"(anonymous_94)","decl":{"start":{"line":505,"column":35},"end":{"line":505,"column":36}},"loc":{"start":{"line":505,"column":47},"end":{"line":507,"column":17}},"line":505},"95":{"name":"(anonymous_95)","decl":{"start":{"line":512,"column":52},"end":{"line":512,"column":53}},"loc":{"start":{"line":512,"column":95},"end":{"line":531,"column":5}},"line":512},"96":{"name":"(anonymous_96)","decl":{"start":{"line":513,"column":47},"end":{"line":513,"column":48}},"loc":{"start":{"line":513,"column":59},"end":{"line":530,"column":9}},"line":513},"97":{"name":"(anonymous_97)","decl":{"start":{"line":515,"column":37},"end":{"line":515,"column":38}},"loc":{"start":{"line":515,"column":51},"end":{"line":529,"column":13}},"line":515},"98":{"name":"(anonymous_98)","decl":{"start":{"line":532,"column":60},"end":{"line":532,"column":61}},"loc":{"start":{"line":532,"column":72},"end":{"line":587,"column":5}},"line":532},"99":{"name":"(anonymous_99)","decl":{"start":{"line":534,"column":26},"end":{"line":534,"column":27}},"loc":{"start":{"line":534,"column":63},"end":{"line":536,"column":9}},"line":534},"100":{"name":"(anonymous_100)","decl":{"start":{"line":537,"column":30},"end":{"line":537,"column":31}},"loc":{"start":{"line":537,"column":50},"end":{"line":543,"column":9}},"line":537},"101":{"name":"(anonymous_101)","decl":{"start":{"line":538,"column":19},"end":{"line":538,"column":20}},"loc":{"start":{"line":538,"column":48},"end":{"line":542,"column":13}},"line":538},"102":{"name":"(anonymous_102)","decl":{"start":{"line":544,"column":32},"end":{"line":544,"column":33}},"loc":{"start":{"line":544,"column":44},"end":{"line":548,"column":9}},"line":544},"103":{"name":"(anonymous_103)","decl":{"start":{"line":545,"column":19},"end":{"line":545,"column":20}},"loc":{"start":{"line":545,"column":48},"end":{"line":547,"column":13}},"line":545},"104":{"name":"(anonymous_104)","decl":{"start":{"line":549,"column":37},"end":{"line":549,"column":38}},"loc":{"start":{"line":549,"column":49},"end":{"line":553,"column":9}},"line":549},"105":{"name":"(anonymous_105)","decl":{"start":{"line":550,"column":19},"end":{"line":550,"column":20}},"loc":{"start":{"line":550,"column":48},"end":{"line":552,"column":13}},"line":550},"106":{"name":"(anonymous_106)","decl":{"start":{"line":554,"column":33},"end":{"line":554,"column":34}},"loc":{"start":{"line":554,"column":45},"end":{"line":558,"column":9}},"line":554},"107":{"name":"(anonymous_107)","decl":{"start":{"line":555,"column":19},"end":{"line":555,"column":20}},"loc":{"start":{"line":555,"column":48},"end":{"line":557,"column":13}},"line":555},"108":{"name":"(anonymous_108)","decl":{"start":{"line":559,"column":32},"end":{"line":559,"column":33}},"loc":{"start":{"line":559,"column":52},"end":{"line":565,"column":9}},"line":559},"109":{"name":"(anonymous_109)","decl":{"start":{"line":560,"column":19},"end":{"line":560,"column":20}},"loc":{"start":{"line":560,"column":48},"end":{"line":564,"column":13}},"line":560},"110":{"name":"(anonymous_110)","decl":{"start":{"line":566,"column":38},"end":{"line":566,"column":39}},"loc":{"start":{"line":566,"column":58},"end":{"line":571,"column":9}},"line":566},"111":{"name":"(anonymous_111)","decl":{"start":{"line":567,"column":19},"end":{"line":567,"column":20}},"loc":{"start":{"line":567,"column":62},"end":{"line":570,"column":13}},"line":567},"112":{"name":"(anonymous_112)","decl":{"start":{"line":572,"column":40},"end":{"line":572,"column":41}},"loc":{"start":{"line":572,"column":60},"end":{"line":577,"column":9}},"line":572},"113":{"name":"(anonymous_113)","decl":{"start":{"line":573,"column":19},"end":{"line":573,"column":20}},"loc":{"start":{"line":573,"column":64},"end":{"line":576,"column":13}},"line":573},"114":{"name":"(anonymous_114)","decl":{"start":{"line":578,"column":15},"end":{"line":578,"column":16}},"loc":{"start":{"line":578,"column":30},"end":{"line":586,"column":13}},"line":578},"115":{"name":"(anonymous_115)","decl":{"start":{"line":588,"column":34},"end":{"line":588,"column":35}},"loc":{"start":{"line":588,"column":53},"end":{"line":590,"column":5}},"line":588},"116":{"name":"(anonymous_116)","decl":{"start":{"line":591,"column":31},"end":{"line":591,"column":32}},"loc":{"start":{"line":591,"column":50},"end":{"line":601,"column":5}},"line":591},"117":{"name":"(anonymous_117)","decl":{"start":{"line":592,"column":87},"end":{"line":592,"column":88}},"loc":{"start":{"line":592,"column":106},"end":{"line":592,"column":125}},"line":592},"118":{"name":"(anonymous_118)","decl":{"start":{"line":602,"column":46},"end":{"line":602,"column":47}},"loc":{"start":{"line":602,"column":65},"end":{"line":608,"column":5}},"line":602},"119":{"name":"(anonymous_119)","decl":{"start":{"line":609,"column":38},"end":{"line":609,"column":39}},"loc":{"start":{"line":609,"column":67},"end":{"line":616,"column":5}},"line":609},"120":{"name":"(anonymous_120)","decl":{"start":{"line":617,"column":41},"end":{"line":617,"column":42}},"loc":{"start":{"line":617,"column":97},"end":{"line":626,"column":5}},"line":617},"121":{"name":"(anonymous_121)","decl":{"start":{"line":627,"column":42},"end":{"line":627,"column":43}},"loc":{"start":{"line":627,"column":54},"end":{"line":635,"column":5}},"line":627},"122":{"name":"(anonymous_122)","decl":{"start":{"line":629,"column":15},"end":{"line":629,"column":16}},"loc":{"start":{"line":629,"column":31},"end":{"line":634,"column":9}},"line":629},"123":{"name":"(anonymous_123)","decl":{"start":{"line":636,"column":49},"end":{"line":636,"column":50}},"loc":{"start":{"line":636,"column":68},"end":{"line":645,"column":5}},"line":636},"124":{"name":"(anonymous_124)","decl":{"start":{"line":642,"column":38},"end":{"line":642,"column":39}},"loc":{"start":{"line":642,"column":58},"end":{"line":642,"column":106}},"line":642},"125":{"name":"(anonymous_125)","decl":{"start":{"line":646,"column":48},"end":{"line":646,"column":49}},"loc":{"start":{"line":646,"column":68},"end":{"line":654,"column":5}},"line":646},"126":{"name":"(anonymous_126)","decl":{"start":{"line":655,"column":53},"end":{"line":655,"column":54}},"loc":{"start":{"line":655,"column":73},"end":{"line":667,"column":5}},"line":655},"127":{"name":"(anonymous_127)","decl":{"start":{"line":656,"column":47},"end":{"line":656,"column":48}},"loc":{"start":{"line":656,"column":59},"end":{"line":666,"column":9}},"line":656},"128":{"name":"(anonymous_128)","decl":{"start":{"line":658,"column":37},"end":{"line":658,"column":38}},"loc":{"start":{"line":658,"column":51},"end":{"line":665,"column":13}},"line":658},"129":{"name":"(anonymous_129)","decl":{"start":{"line":660,"column":64},"end":{"line":660,"column":65}},"loc":{"start":{"line":660,"column":77},"end":{"line":660,"column":120}},"line":660},"130":{"name":"(anonymous_130)","decl":{"start":{"line":668,"column":82},"end":{"line":668,"column":83}},"loc":{"start":{"line":668,"column":124},"end":{"line":675,"column":5}},"line":668},"131":{"name":"(anonymous_131)","decl":{"start":{"line":676,"column":87},"end":{"line":676,"column":88}},"loc":{"start":{"line":676,"column":129},"end":{"line":694,"column":5}},"line":676},"132":{"name":"(anonymous_132)","decl":{"start":{"line":677,"column":47},"end":{"line":677,"column":48}},"loc":{"start":{"line":677,"column":59},"end":{"line":693,"column":9}},"line":677},"133":{"name":"(anonymous_133)","decl":{"start":{"line":678,"column":37},"end":{"line":678,"column":38}},"loc":{"start":{"line":678,"column":51},"end":{"line":692,"column":13}},"line":678},"134":{"name":"(anonymous_134)","decl":{"start":{"line":695,"column":55},"end":{"line":695,"column":56}},"loc":{"start":{"line":695,"column":84},"end":{"line":702,"column":5}},"line":695},"135":{"name":"(anonymous_135)","decl":{"start":{"line":703,"column":60},"end":{"line":703,"column":61}},"loc":{"start":{"line":703,"column":102},"end":{"line":712,"column":5}},"line":703},"136":{"name":"(anonymous_136)","decl":{"start":{"line":708,"column":35},"end":{"line":708,"column":36}},"loc":{"start":{"line":708,"column":47},"end":{"line":708,"column":99}},"line":708},"137":{"name":"(anonymous_137)","decl":{"start":{"line":713,"column":65},"end":{"line":713,"column":66}},"loc":{"start":{"line":713,"column":107},"end":{"line":730,"column":5}},"line":713},"138":{"name":"(anonymous_138)","decl":{"start":{"line":714,"column":47},"end":{"line":714,"column":48}},"loc":{"start":{"line":714,"column":59},"end":{"line":729,"column":9}},"line":714},"139":{"name":"(anonymous_139)","decl":{"start":{"line":715,"column":37},"end":{"line":715,"column":38}},"loc":{"start":{"line":715,"column":51},"end":{"line":728,"column":13}},"line":715}},"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":{},"end":{}}],"line":6},"3":{"loc":{"start":{"line":13,"column":22},"end":{"line":23,"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":23,"column":2}}],"line":13},"4":{"loc":{"start":{"line":13,"column":57},"end":{"line":23,"column":2}},"type":"cond-expr","locations":[{"start":{"line":13,"column":74},"end":{"line":20,"column":1}},{"start":{"line":20,"column":6},"end":{"line":23,"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":{},"end":{}}],"line":14},"6":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16},"7":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":85}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":13}},{"start":{"line":16,"column":18},"end":{"line":16,"column":84}}],"line":16},"8":{"loc":{"start":{"line":16,"column":18},"end":{"line":16,"column":84}},"type":"cond-expr","locations":[{"start":{"line":16,"column":34},"end":{"line":16,"column":47}},{"start":{"line":16,"column":50},"end":{"line":16,"column":84}}],"line":16},"9":{"loc":{"start":{"line":16,"column":50},"end":{"line":16,"column":84}},"type":"binary-expr","locations":[{"start":{"line":16,"column":50},"end":{"line":16,"column":63}},{"start":{"line":16,"column":67},"end":{"line":16,"column":84}}],"line":16},"10":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":33}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":33}},{"start":{},"end":{}}],"line":21},"11":{"loc":{"start":{"line":24,"column":25},"end":{"line":28,"column":2}},"type":"binary-expr","locations":[{"start":{"line":24,"column":26},"end":{"line":24,"column":30}},{"start":{"line":24,"column":34},"end":{"line":24,"column":57}},{"start":{"line":24,"column":63},"end":{"line":28,"column":1}}],"line":24},"12":{"loc":{"start":{"line":24,"column":63},"end":{"line":28,"column":1}},"type":"cond-expr","locations":[{"start":{"line":24,"column":80},"end":{"line":26,"column":1}},{"start":{"line":26,"column":5},"end":{"line":28,"column":1}}],"line":24},"13":{"loc":{"start":{"line":29,"column":19},"end":{"line":35,"column":1}},"type":"binary-expr","locations":[{"start":{"line":29,"column":20},"end":{"line":29,"column":24}},{"start":{"line":29,"column":28},"end":{"line":29,"column":45}},{"start":{"line":29,"column":50},"end":{"line":35,"column":1}}],"line":29},"14":{"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":42}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":30,"column":42}},{"start":{},"end":{}}],"line":30},"15":{"loc":{"start":{"line":30,"column":8},"end":{"line":30,"column":29}},"type":"binary-expr","locations":[{"start":{"line":30,"column":8},"end":{"line":30,"column":11}},{"start":{"line":30,"column":15},"end":{"line":30,"column":29}}],"line":30},"16":{"loc":{"start":{"line":32,"column":4},"end":{"line":32,"column":141}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":32,"column":141}},{"start":{},"end":{}}],"line":32},"17":{"loc":{"start":{"line":32,"column":40},"end":{"line":32,"column":141}},"type":"if","locations":[{"start":{"line":32,"column":40},"end":{"line":32,"column":141}},{"start":{},"end":{}}],"line":32},"18":{"loc":{"start":{"line":32,"column":44},"end":{"line":32,"column":107}},"type":"binary-expr","locations":[{"start":{"line":32,"column":44},"end":{"line":32,"column":59}},{"start":{"line":32,"column":63},"end":{"line":32,"column":107}}],"line":32},"19":{"loc":{"start":{"line":36,"column":16},"end":{"line":44,"column":1}},"type":"binary-expr","locations":[{"start":{"line":36,"column":17},"end":{"line":36,"column":21}},{"start":{"line":36,"column":25},"end":{"line":36,"column":39}},{"start":{"line":36,"column":44},"end":{"line":44,"column":1}}],"line":36},"20":{"loc":{"start":{"line":37,"column":35},"end":{"line":37,"column":109}},"type":"cond-expr","locations":[{"start":{"line":37,"column":56},"end":{"line":37,"column":61}},{"start":{"line":37,"column":64},"end":{"line":37,"column":109}}],"line":37},"21":{"loc":{"start":{"line":38,"column":16},"end":{"line":38,"column":34}},"type":"binary-expr","locations":[{"start":{"line":38,"column":16},"end":{"line":38,"column":17}},{"start":{"line":38,"column":22},"end":{"line":38,"column":33}}],"line":38},"22":{"loc":{"start":{"line":41,"column":32},"end":{"line":41,"column":115}},"type":"cond-expr","locations":[{"start":{"line":41,"column":46},"end":{"line":41,"column":67}},{"start":{"line":41,"column":70},"end":{"line":41,"column":115}}],"line":41},"23":{"loc":{"start":{"line":42,"column":51},"end":{"line":42,"column":67}},"type":"binary-expr","locations":[{"start":{"line":42,"column":51},"end":{"line":42,"column":61}},{"start":{"line":42,"column":65},"end":{"line":42,"column":67}}],"line":42},"24":{"loc":{"start":{"line":45,"column":18},"end":{"line":71,"column":1}},"type":"binary-expr","locations":[{"start":{"line":45,"column":19},"end":{"line":45,"column":23}},{"start":{"line":45,"column":27},"end":{"line":45,"column":43}},{"start":{"line":45,"column":48},"end":{"line":71,"column":1}}],"line":45},"25":{"loc":{"start":{"line":46,"column":43},"end":{"line":46,"column":68}},"type":"if","locations":[{"start":{"line":46,"column":43},"end":{"line":46,"column":68}},{"start":{},"end":{}}],"line":46},"26":{"loc":{"start":{"line":46,"column":134},"end":{"line":46,"column":184}},"type":"cond-expr","locations":[{"start":{"line":46,"column":167},"end":{"line":46,"column":175}},{"start":{"line":46,"column":178},"end":{"line":46,"column":184}}],"line":46},"27":{"loc":{"start":{"line":47,"column":74},"end":{"line":47,"column":156}},"type":"binary-expr","locations":[{"start":{"line":47,"column":74},"end":{"line":47,"column":102}},{"start":{"line":47,"column":107},"end":{"line":47,"column":155}}],"line":47},"28":{"loc":{"start":{"line":50,"column":8},"end":{"line":50,"column":70}},"type":"if","locations":[{"start":{"line":50,"column":8},"end":{"line":50,"column":70}},{"start":{},"end":{}}],"line":50},"29":{"loc":{"start":{"line":51,"column":15},"end":{"line":51,"column":45}},"type":"binary-expr","locations":[{"start":{"line":51,"column":15},"end":{"line":51,"column":16}},{"start":{"line":51,"column":21},"end":{"line":51,"column":44}}],"line":51},"30":{"loc":{"start":{"line":51,"column":28},"end":{"line":51,"column":44}},"type":"binary-expr","locations":[{"start":{"line":51,"column":28},"end":{"line":51,"column":33}},{"start":{"line":51,"column":38},"end":{"line":51,"column":43}}],"line":51},"31":{"loc":{"start":{"line":52,"column":12},"end":{"line":52,"column":169}},"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":52,"column":169}},{"start":{},"end":{}}],"line":52},"32":{"loc":{"start":{"line":52,"column":23},"end":{"line":52,"column":158}},"type":"binary-expr","locations":[{"start":{"line":52,"column":23},"end":{"line":52,"column":24}},{"start":{"line":52,"column":29},"end":{"line":52,"column":125}},{"start":{"line":52,"column":130},"end":{"line":52,"column":158}}],"line":52},"33":{"loc":{"start":{"line":52,"column":33},"end":{"line":52,"column":125}},"type":"cond-expr","locations":[{"start":{"line":52,"column":45},"end":{"line":52,"column":56}},{"start":{"line":52,"column":59},"end":{"line":52,"column":125}}],"line":52},"34":{"loc":{"start":{"line":52,"column":59},"end":{"line":52,"column":125}},"type":"cond-expr","locations":[{"start":{"line":52,"column":67},"end":{"line":52,"column":116}},{"start":{"line":52,"column":119},"end":{"line":52,"column":125}}],"line":52},"35":{"loc":{"start":{"line":52,"column":67},"end":{"line":52,"column":116}},"type":"binary-expr","locations":[{"start":{"line":52,"column":67},"end":{"line":52,"column":77}},{"start":{"line":52,"column":82},"end":{"line":52,"column":115}}],"line":52},"36":{"loc":{"start":{"line":52,"column":82},"end":{"line":52,"column":112}},"type":"binary-expr","locations":[{"start":{"line":52,"column":83},"end":{"line":52,"column":98}},{"start":{"line":52,"column":103},"end":{"line":52,"column":112}}],"line":52},"37":{"loc":{"start":{"line":53,"column":12},"end":{"line":53,"column":52}},"type":"if","locations":[{"start":{"line":53,"column":12},"end":{"line":53,"column":52}},{"start":{},"end":{}}],"line":53},"38":{"loc":{"start":{"line":54,"column":12},"end":{"line":66,"column":13}},"type":"switch","locations":[{"start":{"line":55,"column":16},"end":{"line":55,"column":23}},{"start":{"line":55,"column":24},"end":{"line":55,"column":46}},{"start":{"line":56,"column":16},"end":{"line":56,"column":72}},{"start":{"line":57,"column":16},"end":{"line":57,"column":65}},{"start":{"line":58,"column":16},"end":{"line":58,"column":65}},{"start":{"line":59,"column":16},"end":{"line":65,"column":43}}],"line":54},"39":{"loc":{"start":{"line":60,"column":20},"end":{"line":60,"column":128}},"type":"if","locations":[{"start":{"line":60,"column":20},"end":{"line":60,"column":128}},{"start":{},"end":{}}],"line":60},"40":{"loc":{"start":{"line":60,"column":24},"end":{"line":60,"column":106}},"type":"binary-expr","locations":[{"start":{"line":60,"column":24},"end":{"line":60,"column":74}},{"start":{"line":60,"column":79},"end":{"line":60,"column":90}},{"start":{"line":60,"column":94},"end":{"line":60,"column":105}}],"line":60},"41":{"loc":{"start":{"line":60,"column":42},"end":{"line":60,"column":73}},"type":"binary-expr","locations":[{"start":{"line":60,"column":42},"end":{"line":60,"column":54}},{"start":{"line":60,"column":58},"end":{"line":60,"column":73}}],"line":60},"42":{"loc":{"start":{"line":61,"column":20},"end":{"line":61,"column":106}},"type":"if","locations":[{"start":{"line":61,"column":20},"end":{"line":61,"column":106}},{"start":{},"end":{}}],"line":61},"43":{"loc":{"start":{"line":61,"column":24},"end":{"line":61,"column":77}},"type":"binary-expr","locations":[{"start":{"line":61,"column":24},"end":{"line":61,"column":35}},{"start":{"line":61,"column":40},"end":{"line":61,"column":42}},{"start":{"line":61,"column":47},"end":{"line":61,"column":59}},{"start":{"line":61,"column":63},"end":{"line":61,"column":75}}],"line":61},"44":{"loc":{"start":{"line":62,"column":20},"end":{"line":62,"column":89}},"type":"if","locations":[{"start":{"line":62,"column":20},"end":{"line":62,"column":89}},{"start":{},"end":{}}],"line":62},"45":{"loc":{"start":{"line":62,"column":24},"end":{"line":62,"column":53}},"type":"binary-expr","locations":[{"start":{"line":62,"column":24},"end":{"line":62,"column":35}},{"start":{"line":62,"column":39},"end":{"line":62,"column":53}}],"line":62},"46":{"loc":{"start":{"line":63,"column":20},"end":{"line":63,"column":87}},"type":"if","locations":[{"start":{"line":63,"column":20},"end":{"line":63,"column":87}},{"start":{},"end":{}}],"line":63},"47":{"loc":{"start":{"line":63,"column":24},"end":{"line":63,"column":43}},"type":"binary-expr","locations":[{"start":{"line":63,"column":24},"end":{"line":63,"column":25}},{"start":{"line":63,"column":29},"end":{"line":63,"column":43}}],"line":63},"48":{"loc":{"start":{"line":64,"column":20},"end":{"line":64,"column":42}},"type":"if","locations":[{"start":{"line":64,"column":20},"end":{"line":64,"column":42}},{"start":{},"end":{}}],"line":64},"49":{"loc":{"start":{"line":69,"column":8},"end":{"line":69,"column":35}},"type":"if","locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":35}},{"start":{},"end":{}}],"line":69},"50":{"loc":{"start":{"line":69,"column":52},"end":{"line":69,"column":74}},"type":"cond-expr","locations":[{"start":{"line":69,"column":60},"end":{"line":69,"column":65}},{"start":{"line":69,"column":68},"end":{"line":69,"column":74}}],"line":69},"51":{"loc":{"start":{"line":72,"column":20},"end":{"line":80,"column":1}},"type":"binary-expr","locations":[{"start":{"line":72,"column":21},"end":{"line":72,"column":25}},{"start":{"line":72,"column":29},"end":{"line":72,"column":47}},{"start":{"line":72,"column":52},"end":{"line":80,"column":1}}],"line":72},"52":{"loc":{"start":{"line":73,"column":4},"end":{"line":78,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":78,"column":5}},{"start":{},"end":{}}],"line":73},"53":{"loc":{"start":{"line":73,"column":8},"end":{"line":73,"column":38}},"type":"binary-expr","locations":[{"start":{"line":73,"column":8},"end":{"line":73,"column":12}},{"start":{"line":73,"column":16},"end":{"line":73,"column":38}}],"line":73},"54":{"loc":{"start":{"line":74,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":74,"column":8},"end":{"line":77,"column":9}},{"start":{},"end":{}}],"line":74},"55":{"loc":{"start":{"line":74,"column":12},"end":{"line":74,"column":30}},"type":"binary-expr","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":14}},{"start":{"line":74,"column":18},"end":{"line":74,"column":30}}],"line":74},"56":{"loc":{"start":{"line":75,"column":12},"end":{"line":75,"column":65}},"type":"if","locations":[{"start":{"line":75,"column":12},"end":{"line":75,"column":65}},{"start":{},"end":{}}],"line":75},"57":{"loc":{"start":{"line":79,"column":21},"end":{"line":79,"column":59}},"type":"binary-expr","locations":[{"start":{"line":79,"column":21},"end":{"line":79,"column":23}},{"start":{"line":79,"column":27},"end":{"line":79,"column":59}}],"line":79},"58":{"loc":{"start":{"line":99,"column":22},"end":{"line":99,"column":44}},"type":"binary-expr","locations":[{"start":{"line":99,"column":22},"end":{"line":99,"column":38}},{"start":{"line":99,"column":42},"end":{"line":99,"column":44}}],"line":99},"59":{"loc":{"start":{"line":100,"column":8},"end":{"line":102,"column":9}},"type":"if","locations":[{"start":{"line":100,"column":8},"end":{"line":102,"column":9}},{"start":{},"end":{}}],"line":100},"60":{"loc":{"start":{"line":103,"column":8},"end":{"line":110,"column":9}},"type":"if","locations":[{"start":{"line":103,"column":8},"end":{"line":110,"column":9}},{"start":{"line":106,"column":13},"end":{"line":110,"column":9}}],"line":103},"61":{"loc":{"start":{"line":106,"column":13},"end":{"line":110,"column":9}},"type":"if","locations":[{"start":{"line":106,"column":13},"end":{"line":110,"column":9}},{"start":{},"end":{}}],"line":106},"62":{"loc":{"start":{"line":106,"column":17},"end":{"line":108,"column":77}},"type":"binary-expr","locations":[{"start":{"line":106,"column":17},"end":{"line":106,"column":84}},{"start":{"line":107,"column":12},"end":{"line":107,"column":79}},{"start":{"line":108,"column":12},"end":{"line":108,"column":77}}],"line":106},"63":{"loc":{"start":{"line":111,"column":8},"end":{"line":116,"column":9}},"type":"if","locations":[{"start":{"line":111,"column":8},"end":{"line":116,"column":9}},{"start":{"line":114,"column":13},"end":{"line":116,"column":9}}],"line":111},"64":{"loc":{"start":{"line":114,"column":13},"end":{"line":116,"column":9}},"type":"if","locations":[{"start":{"line":114,"column":13},"end":{"line":116,"column":9}},{"start":{},"end":{}}],"line":114},"65":{"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":120,"column":13},"end":{"line":122,"column":9}}],"line":117},"66":{"loc":{"start":{"line":120,"column":13},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":120,"column":13},"end":{"line":122,"column":9}},{"start":{},"end":{}}],"line":120},"67":{"loc":{"start":{"line":178,"column":16},"end":{"line":195,"column":17}},"type":"switch","locations":[{"start":{"line":179,"column":20},"end":{"line":182,"column":37}},{"start":{"line":183,"column":20},"end":{"line":187,"column":350}},{"start":{"line":188,"column":20},"end":{"line":190,"column":37}},{"start":{"line":191,"column":20},"end":{"line":193,"column":38}},{"start":{"line":194,"column":20},"end":{"line":194,"column":39}}],"line":178},"68":{"loc":{"start":{"line":184,"column":24},"end":{"line":184,"column":68}},"type":"if","locations":[{"start":{"line":184,"column":24},"end":{"line":184,"column":68}},{"start":{},"end":{}}],"line":184},"69":{"loc":{"start":{"line":219,"column":16},"end":{"line":236,"column":17}},"type":"switch","locations":[{"start":{"line":220,"column":20},"end":{"line":222,"column":37}},{"start":{"line":223,"column":20},"end":{"line":227,"column":83}},{"start":{"line":228,"column":20},"end":{"line":231,"column":37}},{"start":{"line":232,"column":20},"end":{"line":234,"column":38}},{"start":{"line":235,"column":20},"end":{"line":235,"column":39}}],"line":219},"70":{"loc":{"start":{"line":224,"column":24},"end":{"line":224,"column":68}},"type":"if","locations":[{"start":{"line":224,"column":24},"end":{"line":224,"column":68}},{"start":{},"end":{}}],"line":224},"71":{"loc":{"start":{"line":241,"column":20},"end":{"line":241,"column":91}},"type":"binary-expr","locations":[{"start":{"line":241,"column":20},"end":{"line":241,"column":45}},{"start":{"line":241,"column":49},"end":{"line":241,"column":91}}],"line":241},"72":{"loc":{"start":{"line":253,"column":16},"end":{"line":258,"column":17}},"type":"switch","locations":[{"start":{"line":254,"column":20},"end":{"line":254,"column":76}},{"start":{"line":255,"column":20},"end":{"line":257,"column":65}}],"line":253},"73":{"loc":{"start":{"line":263,"column":8},"end":{"line":266,"column":9}},"type":"if","locations":[{"start":{"line":263,"column":8},"end":{"line":266,"column":9}},{"start":{},"end":{}}],"line":263},"74":{"loc":{"start":{"line":273,"column":16},"end":{"line":284,"column":17}},"type":"switch","locations":[{"start":{"line":274,"column":20},"end":{"line":277,"column":78}},{"start":{"line":278,"column":20},"end":{"line":280,"column":37}},{"start":{"line":281,"column":20},"end":{"line":283,"column":35}}],"line":273},"75":{"loc":{"start":{"line":275,"column":24},"end":{"line":275,"column":94}},"type":"if","locations":[{"start":{"line":275,"column":24},"end":{"line":275,"column":94}},{"start":{},"end":{}}],"line":275},"76":{"loc":{"start":{"line":300,"column":16},"end":{"line":311,"column":17}},"type":"switch","locations":[{"start":{"line":301,"column":20},"end":{"line":306,"column":58}},{"start":{"line":307,"column":20},"end":{"line":310,"column":35}}],"line":300},"77":{"loc":{"start":{"line":323,"column":8},"end":{"line":325,"column":9}},"type":"if","locations":[{"start":{"line":323,"column":8},"end":{"line":325,"column":9}},{"start":{},"end":{}}],"line":323},"78":{"loc":{"start":{"line":323,"column":12},"end":{"line":323,"column":33}},"type":"binary-expr","locations":[{"start":{"line":323,"column":12},"end":{"line":323,"column":18}},{"start":{"line":323,"column":22},"end":{"line":323,"column":33}}],"line":323},"79":{"loc":{"start":{"line":336,"column":8},"end":{"line":340,"column":9}},"type":"if","locations":[{"start":{"line":336,"column":8},"end":{"line":340,"column":9}},{"start":{},"end":{}}],"line":336},"80":{"loc":{"start":{"line":341,"column":8},"end":{"line":343,"column":9}},"type":"if","locations":[{"start":{"line":341,"column":8},"end":{"line":343,"column":9}},{"start":{},"end":{}}],"line":341},"81":{"loc":{"start":{"line":341,"column":12},"end":{"line":341,"column":33}},"type":"binary-expr","locations":[{"start":{"line":341,"column":12},"end":{"line":341,"column":18}},{"start":{"line":341,"column":22},"end":{"line":341,"column":33}}],"line":341},"82":{"loc":{"start":{"line":351,"column":8},"end":{"line":353,"column":9}},"type":"if","locations":[{"start":{"line":351,"column":8},"end":{"line":353,"column":9}},{"start":{},"end":{}}],"line":351},"83":{"loc":{"start":{"line":361,"column":34},"end":{"line":361,"column":66}},"type":"binary-expr","locations":[{"start":{"line":361,"column":34},"end":{"line":361,"column":50}},{"start":{"line":361,"column":54},"end":{"line":361,"column":66}}],"line":361},"84":{"loc":{"start":{"line":370,"column":22},"end":{"line":370,"column":84}},"type":"cond-expr","locations":[{"start":{"line":370,"column":43},"end":{"line":370,"column":59}},{"start":{"line":370,"column":62},"end":{"line":370,"column":84}}],"line":370},"85":{"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":{},"end":{}}],"line":432},"86":{"loc":{"start":{"line":436,"column":8},"end":{"line":438,"column":9}},"type":"if","locations":[{"start":{"line":436,"column":8},"end":{"line":438,"column":9}},{"start":{},"end":{}}],"line":436},"87":{"loc":{"start":{"line":443,"column":8},"end":{"line":446,"column":9}},"type":"if","locations":[{"start":{"line":443,"column":8},"end":{"line":446,"column":9}},{"start":{},"end":{}}],"line":443},"88":{"loc":{"start":{"line":445,"column":19},"end":{"line":445,"column":102}},"type":"cond-expr","locations":[{"start":{"line":445,"column":82},"end":{"line":445,"column":88}},{"start":{"line":445,"column":91},"end":{"line":445,"column":102}}],"line":445},"89":{"loc":{"start":{"line":445,"column":19},"end":{"line":445,"column":79}},"type":"binary-expr","locations":[{"start":{"line":445,"column":19},"end":{"line":445,"column":62}},{"start":{"line":445,"column":66},"end":{"line":445,"column":79}}],"line":445},"90":{"loc":{"start":{"line":460,"column":12},"end":{"line":465,"column":13}},"type":"if","locations":[{"start":{"line":460,"column":12},"end":{"line":465,"column":13}},{"start":{},"end":{}}],"line":460},"91":{"loc":{"start":{"line":462,"column":16},"end":{"line":464,"column":17}},"type":"if","locations":[{"start":{"line":462,"column":16},"end":{"line":464,"column":17}},{"start":{},"end":{}}],"line":462},"92":{"loc":{"start":{"line":467,"column":12},"end":{"line":469,"column":13}},"type":"if","locations":[{"start":{"line":467,"column":12},"end":{"line":469,"column":13}},{"start":{},"end":{}}],"line":467},"93":{"loc":{"start":{"line":472,"column":12},"end":{"line":474,"column":13}},"type":"if","locations":[{"start":{"line":472,"column":12},"end":{"line":474,"column":13}},{"start":{},"end":{}}],"line":472},"94":{"loc":{"start":{"line":481,"column":16},"end":{"line":495,"column":17}},"type":"switch","locations":[{"start":{"line":482,"column":20},"end":{"line":484,"column":48}},{"start":{"line":485,"column":20},"end":{"line":487,"column":38}},{"start":{"line":488,"column":20},"end":{"line":493,"column":38}},{"start":{"line":494,"column":20},"end":{"line":494,"column":39}}],"line":481},"95":{"loc":{"start":{"line":490,"column":24},"end":{"line":492,"column":25}},"type":"if","locations":[{"start":{"line":490,"column":24},"end":{"line":492,"column":25}},{"start":{},"end":{}}],"line":490},"96":{"loc":{"start":{"line":504,"column":12},"end":{"line":508,"column":13}},"type":"if","locations":[{"start":{"line":504,"column":12},"end":{"line":508,"column":13}},{"start":{},"end":{}}],"line":504},"97":{"loc":{"start":{"line":516,"column":16},"end":{"line":528,"column":17}},"type":"switch","locations":[{"start":{"line":517,"column":20},"end":{"line":519,"column":37}},{"start":{"line":520,"column":20},"end":{"line":522,"column":65}},{"start":{"line":523,"column":20},"end":{"line":526,"column":38}},{"start":{"line":527,"column":20},"end":{"line":527,"column":39}}],"line":516},"98":{"loc":{"start":{"line":521,"column":24},"end":{"line":521,"column":63}},"type":"if","locations":[{"start":{"line":521,"column":24},"end":{"line":521,"column":63}},{"start":{},"end":{}}],"line":521},"99":{"loc":{"start":{"line":593,"column":8},"end":{"line":599,"column":9}},"type":"if","locations":[{"start":{"line":593,"column":8},"end":{"line":599,"column":9}},{"start":{},"end":{}}],"line":593},"100":{"loc":{"start":{"line":595,"column":12},"end":{"line":597,"column":13}},"type":"if","locations":[{"start":{"line":595,"column":12},"end":{"line":597,"column":13}},{"start":{},"end":{}}],"line":595},"101":{"loc":{"start":{"line":595,"column":16},"end":{"line":595,"column":75}},"type":"binary-expr","locations":[{"start":{"line":595,"column":16},"end":{"line":595,"column":46}},{"start":{"line":595,"column":50},"end":{"line":595,"column":75}}],"line":595},"102":{"loc":{"start":{"line":604,"column":8},"end":{"line":606,"column":9}},"type":"if","locations":[{"start":{"line":604,"column":8},"end":{"line":606,"column":9}},{"start":{},"end":{}}],"line":604},"103":{"loc":{"start":{"line":638,"column":8},"end":{"line":640,"column":9}},"type":"if","locations":[{"start":{"line":638,"column":8},"end":{"line":640,"column":9}},{"start":{},"end":{}}],"line":638},"104":{"loc":{"start":{"line":641,"column":8},"end":{"line":643,"column":9}},"type":"if","locations":[{"start":{"line":641,"column":8},"end":{"line":643,"column":9}},{"start":{},"end":{}}],"line":641},"105":{"loc":{"start":{"line":650,"column":12},"end":{"line":652,"column":13}},"type":"if","locations":[{"start":{"line":650,"column":12},"end":{"line":652,"column":13}},{"start":{},"end":{}}],"line":650},"106":{"loc":{"start":{"line":659,"column":16},"end":{"line":664,"column":17}},"type":"switch","locations":[{"start":{"line":660,"column":20},"end":{"line":660,"column":124}},{"start":{"line":661,"column":20},"end":{"line":663,"column":35}}],"line":659},"107":{"loc":{"start":{"line":669,"column":8},"end":{"line":674,"column":9}},"type":"if","locations":[{"start":{"line":669,"column":8},"end":{"line":674,"column":9}},{"start":{"line":672,"column":13},"end":{"line":674,"column":9}}],"line":669},"108":{"loc":{"start":{"line":679,"column":16},"end":{"line":691,"column":17}},"type":"switch","locations":[{"start":{"line":680,"column":20},"end":{"line":682,"column":90}},{"start":{"line":683,"column":20},"end":{"line":685,"column":38}},{"start":{"line":686,"column":20},"end":{"line":686,"column":116}},{"start":{"line":687,"column":20},"end":{"line":689,"column":37}},{"start":{"line":690,"column":20},"end":{"line":690,"column":39}}],"line":679},"109":{"loc":{"start":{"line":681,"column":24},"end":{"line":681,"column":56}},"type":"if","locations":[{"start":{"line":681,"column":24},"end":{"line":681,"column":56}},{"start":{},"end":{}}],"line":681},"110":{"loc":{"start":{"line":705,"column":8},"end":{"line":710,"column":9}},"type":"if","locations":[{"start":{"line":705,"column":8},"end":{"line":710,"column":9}},{"start":{},"end":{}}],"line":705},"111":{"loc":{"start":{"line":707,"column":12},"end":{"line":709,"column":13}},"type":"if","locations":[{"start":{"line":707,"column":12},"end":{"line":709,"column":13}},{"start":{},"end":{}}],"line":707},"112":{"loc":{"start":{"line":716,"column":16},"end":{"line":727,"column":17}},"type":"switch","locations":[{"start":{"line":717,"column":20},"end":{"line":719,"column":69}},{"start":{"line":720,"column":20},"end":{"line":722,"column":37}},{"start":{"line":723,"column":20},"end":{"line":723,"column":80}},{"start":{"line":724,"column":20},"end":{"line":726,"column":35}}],"line":716},"113":{"loc":{"start":{"line":718,"column":24},"end":{"line":718,"column":91}},"type":"if","locations":[{"start":{"line":718,"column":24},"end":{"line":718,"column":91}},{"start":{},"end":{}}],"line":718}},"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":0,"20":0,"21":0,"22":1,"23":0,"24":0,"25":1,"26":2,"27":2,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":1,"36":88,"37":10,"38":152,"39":85,"40":85,"41":0,"42":3,"43":3,"44":3,"45":236,"46":152,"47":1,"48":152,"49":89,"50":3,"51":86,"52":152,"53":152,"54":0,"55":456,"56":240,"57":240,"58":0,"59":240,"60":572,"61":572,"62":0,"63":572,"64":0,"65":572,"66":240,"67":240,"68":88,"69":88,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":244,"78":152,"79":152,"80":92,"81":66,"82":66,"83":26,"84":1,"85":1,"86":1,"87":25,"88":0,"89":0,"90":0,"91":25,"92":0,"93":25,"94":25,"95":307,"96":5,"97":5,"98":572,"99":152,"100":4,"101":148,"102":1,"103":2,"104":2,"105":2,"106":2,"107":1,"108":0,"109":0,"110":0,"111":2,"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":1,"126":1,"127":1,"128":1,"129":303,"130":303,"131":1,"132":302,"133":268,"134":34,"135":1,"136":301,"137":260,"138":41,"139":1,"140":300,"141":278,"142":22,"143":1,"144":299,"145":299,"146":299,"147":299,"148":299,"149":299,"150":299,"151":299,"152":299,"153":299,"154":1,"155":2,"156":2,"157":2,"158":1,"159":2,"160":2,"161":5,"162":2,"163":5,"164":10,"165":10,"166":2,"167":5,"168":2,"169":1,"170":16,"171":16,"172":16,"173":17,"174":16,"175":16,"176":16,"177":16,"178":17,"179":17,"180":17,"181":1,"182":1,"183":1,"184":1,"185":2,"186":1,"187":1,"188":6,"189":1,"190":1,"191":1,"192":3,"193":1,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":2,"201":1,"202":1,"203":5,"204":5,"205":5,"206":5,"207":5,"208":5,"209":5,"210":5,"211":5,"212":1,"213":3,"214":3,"215":3,"216":3,"217":3,"218":3,"219":12,"220":3,"221":3,"222":6,"223":3,"224":3,"225":3,"226":3,"227":3,"228":3,"229":3,"230":3,"231":3,"232":3,"233":1,"234":24494,"235":24494,"236":24494,"237":24494,"238":1,"239":2,"240":2,"241":1,"242":1,"243":1,"244":2,"245":1,"246":1,"247":1,"248":1,"249":26,"250":25,"251":25,"252":23,"253":1,"254":12,"255":12,"256":24,"257":12,"258":1,"259":11,"260":11,"261":11,"262":10,"263":11,"264":10,"265":1,"266":6,"267":6,"268":7,"269":4,"270":1,"271":3,"272":3,"273":3,"274":6,"275":3,"276":3,"277":3,"278":3,"279":3,"280":3,"281":3,"282":1,"283":32,"284":1,"285":22,"286":1,"287":31,"288":31,"289":3,"290":31,"291":1,"292":2,"293":1,"294":8,"295":1,"296":32,"297":32,"298":16,"299":16,"300":16,"301":20,"302":32,"303":16,"304":32,"305":1,"306":5,"307":1,"308":6,"309":6,"310":1,"311":5,"312":5,"313":5,"314":5,"315":5,"316":1,"317":20,"318":20,"319":20,"320":1,"321":18,"322":18,"323":18,"324":31,"325":18,"326":18,"327":31,"328":1,"329":3,"330":1,"331":587,"332":587,"333":1,"334":51,"335":51,"336":51,"337":51,"338":1,"339":22,"340":22,"341":1,"342":5,"343":5,"344":5,"345":5,"346":1,"347":13,"348":1,"349":2,"350":1,"351":14,"352":14,"353":1,"354":1,"355":1,"356":1,"357":8,"358":8,"359":1,"360":4,"361":4,"362":1,"363":4,"364":1,"365":2,"366":1,"367":9,"368":9,"369":8,"370":9,"371":9,"372":8,"373":9,"374":1,"375":35,"376":8,"377":8,"378":1,"379":8,"380":8,"381":8,"382":1,"383":8,"384":13,"385":1,"386":41,"387":41,"388":41,"389":41,"390":20,"391":20,"392":12,"393":12,"394":29,"395":28,"396":13,"397":1,"398":1,"399":1,"400":25,"401":25,"402":75,"403":25,"404":25,"405":25,"406":24,"407":1,"408":1,"409":1,"410":0,"411":24,"412":1,"413":20,"414":20,"415":20,"416":20,"417":20,"418":12,"419":12,"420":8,"421":1,"422":12,"423":12,"424":26,"425":12,"426":12,"427":13,"428":12,"429":1,"430":1,"431":1,"432":1,"433":12,"434":1,"435":17,"436":17,"437":15,"438":17,"439":19,"440":14,"441":14,"442":14,"443":17,"444":19,"445":2,"446":17,"447":19,"448":1,"449":17,"450":19,"451":2,"452":17,"453":19,"454":1,"455":1,"456":1,"457":17,"458":19,"459":3,"460":3,"461":17,"462":19,"463":8,"464":8,"465":17,"466":19,"467":1,"468":5,"469":1,"470":692,"471":655,"472":692,"473":14,"474":14,"475":1,"476":13,"477":678,"478":1,"479":631,"480":257,"481":5,"482":252,"483":1,"484":15,"485":15,"486":1,"487":677,"488":677,"489":1,"490":693,"491":693,"492":692,"493":655,"494":655,"495":315,"496":1,"497":57,"498":57,"499":20,"500":37,"501":1,"502":1,"503":36,"504":1,"505":37,"506":37,"507":37,"508":39,"509":39,"510":38,"511":4,"512":1,"513":17,"514":17,"515":17,"516":34,"517":17,"518":18,"519":17,"520":16,"521":1,"522":29,"523":2,"524":27,"525":1,"526":12,"527":12,"528":36,"529":12,"530":10,"531":2,"532":2,"533":2,"534":10,"535":10,"536":10,"537":12,"538":1,"539":34,"540":34,"541":2,"542":1,"543":27,"544":27,"545":11,"546":10,"547":7,"548":6,"549":19,"550":1,"551":10,"552":10,"553":30,"554":10,"555":7,"556":3,"557":3,"558":3,"559":10,"560":10,"561":10,"562":1,"563":1},"f":{"0":2,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":2,"8":152,"9":88,"10":10,"11":152,"12":85,"13":3,"14":236,"15":152,"16":89,"17":0,"18":456,"19":240,"20":240,"21":2,"22":1,"23":303,"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":24494,"40":2,"41":1,"42":1,"43":2,"44":26,"45":12,"46":12,"47":24,"48":6,"49":7,"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":587,"68":51,"69":51,"70":51,"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":35,"85":8,"86":8,"87":13,"88":41,"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":692,"117":655,"118":631,"119":15,"120":677,"121":693,"122":692,"123":57,"124":1,"125":37,"126":17,"127":17,"128":34,"129":18,"130":29,"131":12,"132":12,"133":36,"134":34,"135":27,"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":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[1,1,1],"12":[1,0],"13":[1,1,1],"14":[2,0],"15":[2,2],"16":[0,0],"17":[0,0],"18":[0,0],"19":[1,1,1],"20":[78,10],"21":[152,152],"22":[148,88],"23":[152,152],"24":[1,1,1],"25":[3,86],"26":[0,152],"27":[152,152],"28":[0,240],"29":[724,152],"30":[152,0],"31":[0,572],"32":[572,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,572],"38":[237,240,88,0,0,244],"39":[152,92],"40":[244,218,214],"41":[244,26],"42":[66,26],"43":[92,90,24,24],"44":[1,25],"45":[26,2],"46":[0,25],"47":[25,25],"48":[0,25],"49":[4,148],"50":[148,0],"51":[1,1,1],"52":[2,0],"53":[2,0],"54":[0,1],"55":[1,1],"56":[0,0],"57":[2,2],"58":[303,248],"59":[1,302],"60":[268,34],"61":[1,33],"62":[34,20,2],"63":[260,41],"64":[1,40],"65":[278,22],"66":[1,21],"67":[1,3,2,2,1],"68":[1,2],"69":[3,6,3,3,3],"70":[3,3],"71":[24494,1],"72":[1,1],"73":[25,1],"74":[12,11,11],"75":[1,11],"76":[3,3],"77":[3,28],"78":[31,20],"79":[16,16],"80":[16,16],"81":[32,20],"82":[1,5],"83":[20,19],"84":[3,15],"85":[8,1],"86":[8,1],"87":[8,27],"88":[0,8],"89":[8,8],"90":[20,21],"91":[12,8],"92":[13,15],"93":[1,0],"94":[25,25,1,24],"95":[1,0],"96":[12,8],"97":[12,13,1,12],"98":[12,1],"99":[14,678],"100":[1,13],"101":[14,13],"102":[5,252],"103":[20,37],"104":[1,36],"105":[4,34],"106":[17,17],"107":[2,27],"108":[12,2,10,10,12],"109":[10,2],"110":[11,16],"111":[7,3],"112":[10,3,10,10],"113":[7,3]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/container/container.ts","sources":["/home/bob/repos/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<T> = Omit<interfaces.NextArgs<T>, '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<interfaces.Binding<unknown>>;\n private _activations: interfaces.Lookup<interfaces.BindingActivation<unknown>>;\n private _deactivations: interfaces.Lookup<interfaces.BindingDeactivation<unknown>>;\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<interfaces.Binding<unknown>>[] = [container1, container2, ...containers]\n .map((targetContainer) => getBindingDictionary(targetContainer));\n const bindingDictionary: interfaces.Lookup<interfaces.Binding<unknown>> = getBindingDictionary(container);\n\n function copyDictionary(\n origin: interfaces.Lookup<interfaces.Binding<unknown>>,\n destination: interfaces.Lookup<interfaces.Binding<unknown>>\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<interfaces.Binding<unknown>>();\n this._snapshots = [];\n this._middleware = null;\n this._activations = new Lookup<interfaces.BindingActivation<unknown>>();\n this._deactivations = new Lookup<interfaces.BindingDeactivation<unknown>>();\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 as interfaces.Bind,\n containerModuleHelpers.unbindFunction,\n containerModuleHelpers.isboundFunction,\n containerModuleHelpers.rebindFunction as interfaces.Rebind,\n containerModuleHelpers.unbindAsyncFunction,\n containerModuleHelpers.onActivationFunction as interfaces.Container['onActivation'],\n containerModuleHelpers.onDeactivationFunction as interfaces.Container['onDeactivation']\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 as interfaces.Bind,\n containerModuleHelpers.unbindFunction,\n containerModuleHelpers.isboundFunction,\n containerModuleHelpers.rebindFunction as interfaces.Rebind,\n containerModuleHelpers.unbindAsyncFunction,\n containerModuleHelpers.onActivationFunction as interfaces.Container['onActivation'],\n containerModuleHelpers.onDeactivationFunction as interfaces.Container['onDeactivation']\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<void> {\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<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T> {\n const scope = this.options.defaultScope || BindingScopeEnum.Transient;\n const binding = new Binding<T>(serviceIdentifier, scope);\n this._bindingDictionary.add(serviceIdentifier, binding as Binding<unknown>);\n return new BindingToSyntax<T>(binding);\n }\n\n public rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T> {\n this.unbind(serviceIdentifier);\n return this.bind(serviceIdentifier);\n }\n\n public async rebindAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<interfaces.BindingToSyntax<T>> {\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<void> {\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<Binding<unknown>>();\n }\n\n public async unbindAllAsync(): Promise<void> {\n const promises: Promise<void>[] = [];\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<Binding<unknown>>();\n }\n\n public onActivation<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, onActivation: interfaces.BindingActivation<T>) {\n this._activations.add(serviceIdentifier, onActivation as interfaces.BindingActivation<unknown>);\n }\n\n public onDeactivation<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, onDeactivation: interfaces.BindingDeactivation<T>) {\n this._deactivations.add(serviceIdentifier, onDeactivation as interfaces.BindingDeactivation<unknown>);\n }\n\n // Allows to check if there are bindings available for serviceIdentifier\n public isBound(serviceIdentifier: interfaces.ServiceIdentifier<unknown>): 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<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): 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<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false);\n\n return this._getButThrowIfAsync<T>(getArgs) as T;\n }\n\n public async getAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<T> {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false);\n\n return this._get<T>(getArgs) as Promise<T> | T;\n }\n\n public getTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);\n\n return this._getButThrowIfAsync<T>(getArgs) as T;\n }\n\n public async getTaggedAsync<T>(\n serviceIdentifier: interfaces.ServiceIdentifier<T>,\n key: string | number | symbol,\n value: unknown\n ): Promise<T> {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);\n\n return this._get<T>(getArgs) as Promise<T> | T;\n }\n\n public getNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T {\n return this.getTagged<T>(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n public getNamedAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): Promise<T> {\n return this.getTaggedAsync<T>(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<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T[] {\n const getArgs = this._getAllArgs(serviceIdentifier);\n\n return this._getButThrowIfAsync<T>(getArgs) as T[];\n }\n\n public getAllAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<T[]> {\n const getArgs = this._getAllArgs(serviceIdentifier);\n\n return this._getAll(getArgs);\n }\n\n public getAllTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T[] {\n const getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);\n\n return this._getButThrowIfAsync<T>(getArgs) as T[];\n }\n\n public getAllTaggedAsync<T>(\n serviceIdentifier: interfaces.ServiceIdentifier<T>,\n key: string | number | symbol,\n value: unknown\n ): Promise<T[]> {\n const getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);\n\n return this._getAll(getArgs);\n }\n\n public getAllNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T[] {\n return this.getAllTagged<T>(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n public getAllNamedAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): Promise<T[]> {\n return this.getAllTaggedAsync<T>(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n public resolve<T>(constructorFunction: interfaces.Newable<T>) {\n const isBound = this.isBound(constructorFunction);\n if (!isBound) {\n this.bind<T>(constructorFunction).toSelf();\n }\n const resolved = this.get<T>(constructorFunction);\n if (!isBound) {\n this.unbind(constructorFunction);\n }\n return resolved;\n }\n\n private _preDestroy<T>(constructor: NewableFunction, instance: T): Promise<void> | void {\n if (Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constructor)) {\n const data: interfaces.Metadata = Reflect.getMetadata(METADATA_KEY.PRE_DESTROY, constructor);\n return (instance as interfaces.Instance<T>)[(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<unknown>[] {\n return this._bindingDictionary.removeByCondition(binding => binding.moduleId === moduleId);\n }\n\n private _deactivate<T>(binding: Binding<T>, instance: T): void | Promise<void> {\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 if (ex instanceof Error) {\n throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR(constructor.name, ex.message));\n }\n }\n }\n\n private async _handleDeactivationError(asyncResult: Promise<void>, constructor: NewableFunction): Promise<void> {\n try {\n await asyncResult;\n } catch (ex) {\n if (ex instanceof Error) {\n throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR(constructor.name, ex.message));\n }\n }\n }\n\n\n private _deactivateContainer<T>(\n instance: T,\n deactivationsIterator: IterableIterator<interfaces.BindingDeactivation<unknown>>,\n ): void | Promise<void> {\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<T>(\n instance: T,\n deactivationsIterator: IterableIterator<interfaces.BindingDeactivation<unknown>>,\n ): Promise<void> {\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: interfaces.BindingToSyntax<unknown>, moduleId: interfaces.ContainerModuleBase['id']) => {\n // TODO: Implement an internal type `_BindingToSyntax<T>` wherein this member\n // can be public. Let `BindingToSyntax<T>` be the presentational type that\n // depends on it, and does not expose this member as public.\n (bindingToSyntax as unknown as { _binding: { moduleId: interfaces.ContainerModuleBase['id'] } } )._binding.moduleId = moduleId;\n };\n\n const getBindFunction = <T>(moduleId: interfaces.ContainerModuleBase['id']) =>\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\n const bindingToSyntax = this.bind(serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax as BindingToSyntax<T>;\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 = <T = unknown>(moduleId: interfaces.ContainerModuleBase['id']) =>\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\n const bindingToSyntax = this.rebind(serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax as BindingToSyntax<T>;\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<T>(getArgs: GetArgs<T>): Promise<T[]> {\n return Promise.all(this._get<T>(getArgs) as (Promise<T> | 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<T>(getArgs: GetArgs<T>): interfaces.ContainerResolution<T> {\n const planAndResolveArgs: interfaces.NextArgs<T> = {\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 as interfaces.ContainerResolution<T>;\n }\n\n return this._planAndResolve<T>()(planAndResolveArgs);\n }\n\n private _getButThrowIfAsync<T>(\n getArgs: GetArgs<T>,\n ): (T | T[]) {\n const result = this._get<T>(getArgs);\n\n if (isPromiseOrContainsPromise<T>(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<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): GetArgs<T> {\n const getAllArgs: GetArgs<T> = {\n avoidConstraints: true,\n isMultiInject: true,\n serviceIdentifier,\n };\n\n return getAllArgs;\n }\n\n private _getNotAllArgs<T>(\n serviceIdentifier: interfaces.ServiceIdentifier<T>,\n isMultiInject: boolean,\n key?: string | number | symbol | undefined,\n value?: unknown,\n ): GetArgs<T> {\n const getNotAllArgs: GetArgs<T> = {\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<T = unknown>(): (args: interfaces.NextArgs<T>) => interfaces.ContainerResolution<T> {\n return (args: interfaces.NextArgs<T>) => {\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<T>(context);\n\n return result;\n\n };\n }\n\n private _deactivateIfSingleton(binding: Binding<unknown>): Promise<void> | 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<unknown>[]): 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<unknown>[]): Promise<void> {\n await Promise.all(bindings.map(b => this._deactivateIfSingleton(b)))\n }\n\n private _propagateContainerDeactivationThenBindingAndPreDestroy<T>(\n binding: Binding<T>,\n instance: T,\n constructor: NewableFunction\n ): void | Promise<void> {\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<T>(\n binding: Binding<T>,\n instance: T,\n constructor: NewableFunction\n ): Promise<void> {\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<T>(\n binding: Binding<T>,\n instance: T,\n constructor: NewableFunction\n ): void | Promise<void> {\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<T>(\n binding: Binding<T>,\n instance: T,\n constructor: NewableFunction\n ): Promise<void> {\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":"4f8b0eb5c1786e56a29fd23d64375d398ab42ed7","contentHash":"443d7e7ee09ccd6e04276310c342a802b8169d1e1eff0ee9b033851302bf866a"},"/home/bob/repos/InversifyJS/src/bindings/binding.ts":{"path":"/home/bob/repos/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":24556,"6":24556,"7":24556,"8":24556,"9":24556,"10":24556,"11":6842,"12":24556,"13":24556,"14":24556,"15":24556,"16":24556,"17":24556,"18":24556,"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":24556,"2":6842,"3":15},"b":{"0":[2,13]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/bindings/binding.ts","sources":["/home/bob/repos/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<TActivated> implements interfaces.Binding<TActivated> {\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<TActivated>;\n\n // constructor from binding to or toConstructor\n public implementationType: interfaces.Newable<TActivated> | TActivated | null;\n\n // Cache used to allow singleton scope and BindingType.ConstantValue bindings\n public cache: TActivated | Promise<TActivated> | null;\n\n // Cache used to allow BindingType.DynamicValue bindings\n public dynamicValue: interfaces.DynamicValue<TActivated> | 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<unknown> | null;\n\n // An async factory method used in BindingType.Provider bindings\n public provider: interfaces.ProviderCreator<unknown> | 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<TActivated> | null;\n\n // On deactivation handler (invoked just before an instance is unbinded and removed from container)\n public onDeactivation: interfaces.BindingDeactivation<TActivated> | null;\n\n public constructor(serviceIdentifier: interfaces.ServiceIdentifier<TActivated>, 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<TActivated> {\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":"42a0a97a673ba3ebd0f032c93b508b24829d5674","contentHash":"58580806a45d7c5e0e9fc013da944dd0780a97e13bf50353495312861e33e154"},"/home/bob/repos/InversifyJS/src/constants/literal_types.ts":{"path":"/home/bob/repos/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":"/home/bob/repos/InversifyJS/src/constants/literal_types.ts","sources":["/home/bob/repos/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":"0a6ce18860b30d1a87988ea20b6ce3c0bbb8e9d9","contentHash":"7078a39c1d79b151d895ee50ea5f9fa01d2c164cd9a43f08cb7f6a4e33af610c"},"/home/bob/repos/InversifyJS/src/utils/id.ts":{"path":"/home/bob/repos/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":16}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":23}}},"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":46665},"f":{"0":46665},"b":{},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/utils/id.ts","sources":["/home/bob/repos/InversifyJS/src/utils/id.ts"],"names":[],"mappings":";;AAMS,gBAAE;AANX,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,SAAS,EAAE;IACT,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC","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":"c31848544a7825eff7316f2c8466c68c6e94ea7f","contentHash":"eb9d6d9be368f86486478fdb044479fdc7db16c3aa5b9d1dcb8fcc4e8150e777"},"/home/bob/repos/InversifyJS/src/planning/metadata_reader.ts":{"path":"/home/bob/repos/InversifyJS/src/planning/metadata_reader.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":32}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":22},"end":{"line":44,"column":3}},"28":{"start":{"line":31,"column":4},"end":{"line":38,"column":6}},"29":{"start":{"line":32,"column":40},"end":{"line":32,"column":102}},"30":{"start":{"line":33,"column":36},"end":{"line":33,"column":93}},"31":{"start":{"line":34,"column":8},"end":{"line":37,"column":10}},"32":{"start":{"line":39,"column":4},"end":{"line":42,"column":6}},"33":{"start":{"line":40,"column":36},"end":{"line":40,"column":104}},"34":{"start":{"line":41,"column":8},"end":{"line":41,"column":37}},"35":{"start":{"line":43,"column":4},"end":{"line":43,"column":26}},"36":{"start":{"line":45,"column":0},"end":{"line":45,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":28,"column":22},"end":{"line":28,"column":23}},"loc":{"start":{"line":28,"column":34},"end":{"line":44,"column":1}},"line":28},"7":{"name":"MetadataReader","decl":{"start":{"line":29,"column":13},"end":{"line":29,"column":27}},"loc":{"start":{"line":29,"column":30},"end":{"line":30,"column":5}},"line":29},"8":{"name":"(anonymous_8)","decl":{"start":{"line":31,"column":54},"end":{"line":31,"column":55}},"loc":{"start":{"line":31,"column":81},"end":{"line":38,"column":5}},"line":31},"9":{"name":"(anonymous_9)","decl":{"start":{"line":39,"column":53},"end":{"line":39,"column":54}},"loc":{"start":{"line":39,"column":80},"end":{"line":42,"column":5}},"line":39}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":36,"column":35},"end":{"line":36,"column":62}},"type":"binary-expr","locations":[{"start":{"line":36,"column":35},"end":{"line":36,"column":56}},{"start":{"line":36,"column":60},"end":{"line":36,"column":62}}],"line":36},"17":{"loc":{"start":{"line":40,"column":36},"end":{"line":40,"column":104}},"type":"binary-expr","locations":[{"start":{"line":40,"column":36},"end":{"line":40,"column":98}},{"start":{"line":40,"column":102},"end":{"line":40,"column":104}}],"line":40}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":6410,"30":6408,"31":6408,"32":1,"33":6396,"34":6394,"35":1,"36":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":332,"8":6410,"9":6396},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[6408,1992],"17":[6396,6374]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/planning/metadata_reader.ts","sources":["/home/bob/repos/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":"ffab6738cabc718d1d9904cb90d222ce990f5c66","contentHash":"68aba07bb74535b35fec7156efc7cbcf67e57f841c0fc8ef254457072805c20e"},"/home/bob/repos/InversifyJS/src/planning/planner.ts":{"path":"/home/bob/repos/InversifyJS/src/planning/planner.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":20}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":46}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":52}},"28":{"start":{"line":29,"column":22},"end":{"line":29,"column":58}},"29":{"start":{"line":30,"column":17},"end":{"line":30,"column":65}},"30":{"start":{"line":31,"column":22},"end":{"line":31,"column":59}},"31":{"start":{"line":32,"column":19},"end":{"line":32,"column":70}},"32":{"start":{"line":33,"column":19},"end":{"line":33,"column":49}},"33":{"start":{"line":34,"column":22},"end":{"line":34,"column":55}},"34":{"start":{"line":35,"column":16},"end":{"line":35,"column":36}},"35":{"start":{"line":36,"column":17},"end":{"line":36,"column":38}},"36":{"start":{"line":37,"column":13},"end":{"line":37,"column":30}},"37":{"start":{"line":38,"column":25},"end":{"line":38,"column":54}},"38":{"start":{"line":39,"column":16},"end":{"line":39,"column":36}},"39":{"start":{"line":40,"column":15},"end":{"line":40,"column":34}},"40":{"start":{"line":42,"column":4},"end":{"line":42,"column":36}},"41":{"start":{"line":45,"column":22},"end":{"line":45,"column":93}},"42":{"start":{"line":46,"column":25},"end":{"line":46,"column":80}},"43":{"start":{"line":47,"column":17},"end":{"line":47,"column":89}},"44":{"start":{"line":48,"column":4},"end":{"line":51,"column":5}},"45":{"start":{"line":49,"column":26},"end":{"line":49,"column":61}},"46":{"start":{"line":50,"column":8},"end":{"line":50,"column":42}},"47":{"start":{"line":52,"column":4},"end":{"line":52,"column":18}},"48":{"start":{"line":55,"column":19},"end":{"line":55,"column":75}},"49":{"start":{"line":56,"column":25},"end":{"line":56,"column":27}},"50":{"start":{"line":57,"column":4},"end":{"line":63,"column":5}},"51":{"start":{"line":61,"column":8},"end":{"line":61,"column":66}},"52":{"start":{"line":62,"column":8},"end":{"line":62,"column":76}},"53":{"start":{"line":64,"column":4},"end":{"line":72,"column":5}},"54":{"start":{"line":65,"column":8},"end":{"line":68,"column":11}},"55":{"start":{"line":66,"column":26},"end":{"line":66,"column":115}},"56":{"start":{"line":67,"column":12},"end":{"line":67,"column":47}},"57":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"58":{"start":{"line":73,"column":4},"end":{"line":73,"column":101}},"59":{"start":{"line":74,"column":4},"end":{"line":74,"column":26}},"60":{"start":{"line":77,"column":4},"end":{"line":102,"column":5}},"61":{"start":{"line":79,"column":12},"end":{"line":88,"column":13}},"62":{"start":{"line":80,"column":16},"end":{"line":80,"column":32}},"63":{"start":{"line":83,"column":46},"end":{"line":83,"column":114}},"64":{"start":{"line":84,"column":26},"end":{"line":84,"column":51}},"65":{"start":{"line":85,"column":16},"end":{"line":85,"column":99}},"66":{"start":{"line":86,"column":16},"end":{"line":86,"column":136}},"67":{"start":{"line":87,"column":16},"end":{"line":87,"column":37}},"68":{"start":{"line":90,"column":12},"end":{"line":90,"column":28}},"69":{"start":{"line":93,"column":12},"end":{"line":101,"column":13}},"70":{"start":{"line":94,"column":46},"end":{"line":94,"column":114}},"71":{"start":{"line":95,"column":26},"end":{"line":95,"column":100}},"72":{"start":{"line":96,"column":16},"end":{"line":96,"column":136}},"73":{"start":{"line":97,"column":16},"end":{"line":97,"column":37}},"74":{"start":{"line":100,"column":16},"end":{"line":100,"column":32}},"75":{"start":{"line":107,"column":4},"end":{"line":116,"column":5}},"76":{"start":{"line":108,"column":8},"end":{"line":108,"column":101}},"77":{"start":{"line":109,"column":8},"end":{"line":109,"column":103}},"78":{"start":{"line":110,"column":22},"end":{"line":110,"column":60}},"79":{"start":{"line":111,"column":8},"end":{"line":111,"column":33}},"80":{"start":{"line":114,"column":8},"end":{"line":114,"column":110}},"81":{"start":{"line":115,"column":8},"end":{"line":115,"column":103}},"82":{"start":{"line":117,"column":4},"end":{"line":141,"column":7}},"83":{"start":{"line":118,"column":30},"end":{"line":118,"column":34}},"84":{"start":{"line":119,"column":8},"end":{"line":127,"column":9}},"85":{"start":{"line":120,"column":12},"end":{"line":120,"column":103}},"86":{"start":{"line":123,"column":12},"end":{"line":125,"column":13}},"87":{"start":{"line":124,"column":16},"end":{"line":124,"column":23}},"88":{"start":{"line":126,"column":12},"end":{"line":126,"column":43}},"89":{"start":{"line":128,"column":8},"end":{"line":140,"column":9}},"90":{"start":{"line":129,"column":31},"end":{"line":129,"column":114}},"91":{"start":{"line":130,"column":12},"end":{"line":136,"column":13}},"92":{"start":{"line":131,"column":47},"end":{"line":131,"column":142}},"93":{"start":{"line":132,"column":16},"end":{"line":135,"column":17}},"94":{"start":{"line":133,"column":32},"end":{"line":133,"column":137}},"95":{"start":{"line":134,"column":20},"end":{"line":134,"column":43}},"96":{"start":{"line":137,"column":12},"end":{"line":139,"column":15}},"97":{"start":{"line":138,"column":16},"end":{"line":138,"column":126}},"98":{"start":{"line":144,"column":19},"end":{"line":144,"column":21}},"99":{"start":{"line":145,"column":28},"end":{"line":145,"column":59}},"100":{"start":{"line":146,"column":4},"end":{"line":151,"column":5}},"101":{"start":{"line":147,"column":8},"end":{"line":147,"column":60}},"102":{"start":{"line":149,"column":9},"end":{"line":151,"column":5}},"103":{"start":{"line":150,"column":8},"end":{"line":150,"column":68}},"104":{"start":{"line":152,"column":4},"end":{"line":152,"column":20}},"105":{"start":{"line":155,"column":4},"end":{"line":155,"column":66}},"106":{"start":{"line":155,"column":39},"end":{"line":155,"column":64}},"107":{"start":{"line":156,"column":18},"end":{"line":156,"column":50}},"108":{"start":{"line":157,"column":17},"end":{"line":157,"column":92}},"109":{"start":{"line":158,"column":4},"end":{"line":167,"column":5}},"110":{"start":{"line":159,"column":8},"end":{"line":159,"column":103}},"111":{"start":{"line":160,"column":8},"end":{"line":160,"column":23}},"112":{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},"113":{"start":{"line":164,"column":12},"end":{"line":164,"column":89}},"114":{"start":{"line":166,"column":8},"end":{"line":166,"column":20}},"115":{"start":{"line":170,"column":17},"end":{"line":170,"column":137}},"116":{"start":{"line":171,"column":18},"end":{"line":171,"column":50}},"117":{"start":{"line":172,"column":18},"end":{"line":172,"column":85}},"118":{"start":{"line":173,"column":4},"end":{"line":173,"column":19}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"getBindingDictionary","decl":{"start":{"line":41,"column":9},"end":{"line":41,"column":29}},"loc":{"start":{"line":41,"column":37},"end":{"line":43,"column":1}},"line":41},"7":{"name":"_createTarget","decl":{"start":{"line":44,"column":9},"end":{"line":44,"column":22}},"loc":{"start":{"line":44,"column":87},"end":{"line":53,"column":1}},"line":44},"8":{"name":"_getActiveBindings","decl":{"start":{"line":54,"column":9},"end":{"line":54,"column":27}},"loc":{"start":{"line":54,"column":94},"end":{"line":75,"column":1}},"line":54},"9":{"name":"(anonymous_9)","decl":{"start":{"line":65,"column":41},"end":{"line":65,"column":42}},"loc":{"start":{"line":65,"column":60},"end":{"line":68,"column":9}},"line":65},"10":{"name":"_validateActiveBindingCount","decl":{"start":{"line":76,"column":9},"end":{"line":76,"column":36}},"loc":{"start":{"line":76,"column":85},"end":{"line":103,"column":1}},"line":76},"11":{"name":"_createSubRequests","decl":{"start":{"line":104,"column":9},"end":{"line":104,"column":27}},"loc":{"start":{"line":104,"column":113},"end":{"line":142,"column":1}},"line":104},"12":{"name":"(anonymous_12)","decl":{"start":{"line":117,"column":27},"end":{"line":117,"column":28}},"loc":{"start":{"line":117,"column":46},"end":{"line":141,"column":5}},"line":117},"13":{"name":"(anonymous_13)","decl":{"start":{"line":137,"column":33},"end":{"line":137,"column":34}},"loc":{"start":{"line":137,"column":55},"end":{"line":139,"column":13}},"line":137},"14":{"name":"getBindings","decl":{"start":{"line":143,"column":9},"end":{"line":143,"column":20}},"loc":{"start":{"line":143,"column":51},"end":{"line":153,"column":1}},"line":143},"15":{"name":"plan","decl":{"start":{"line":154,"column":9},"end":{"line":154,"column":13}},"loc":{"start":{"line":154,"column":117},"end":{"line":168,"column":1}},"line":154},"16":{"name":"createMockRequest","decl":{"start":{"line":169,"column":9},"end":{"line":169,"column":26}},"loc":{"start":{"line":169,"column":69},"end":{"line":174,"column":1}},"line":169}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":45,"column":22},"end":{"line":45,"column":93}},"type":"cond-expr","locations":[{"start":{"line":45,"column":38},"end":{"line":45,"column":67}},{"start":{"line":45,"column":70},"end":{"line":45,"column":93}}],"line":45},"17":{"loc":{"start":{"line":48,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":51,"column":5}},{"start":{},"end":{}}],"line":48},"18":{"loc":{"start":{"line":57,"column":4},"end":{"line":63,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":63,"column":5}},{"start":{},"end":{}}],"line":57},"19":{"loc":{"start":{"line":57,"column":8},"end":{"line":60,"column":97}},"type":"binary-expr","locations":[{"start":{"line":57,"column":8},"end":{"line":57,"column":76}},{"start":{"line":58,"column":8},"end":{"line":58,"column":52}},{"start":{"line":59,"column":8},"end":{"line":59,"column":54}},{"start":{"line":60,"column":8},"end":{"line":60,"column":97}}],"line":57},"20":{"loc":{"start":{"line":64,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":9},"end":{"line":72,"column":5}}],"line":64},"21":{"loc":{"start":{"line":77,"column":4},"end":{"line":102,"column":5}},"type":"switch","locations":[{"start":{"line":78,"column":8},"end":{"line":88,"column":13}},{"start":{"line":89,"column":8},"end":{"line":90,"column":28}},{"start":{"line":91,"column":8},"end":{"line":91,"column":68}},{"start":{"line":92,"column":8},"end":{"line":101,"column":13}}],"line":77},"22":{"loc":{"start":{"line":79,"column":12},"end":{"line":88,"column":13}},"type":"if","locations":[{"start":{"line":79,"column":12},"end":{"line":88,"column":13}},{"start":{"line":82,"column":17},"end":{"line":88,"column":13}}],"line":79},"23":{"loc":{"start":{"line":93,"column":12},"end":{"line":101,"column":13}},"type":"if","locations":[{"start":{"line":93,"column":12},"end":{"line":101,"column":13}},{"start":{"line":99,"column":17},"end":{"line":101,"column":13}}],"line":93},"24":{"loc":{"start":{"line":107,"column":4},"end":{"line":116,"column":5}},"type":"if","locations":[{"start":{"line":107,"column":4},"end":{"line":116,"column":5}},{"start":{"line":113,"column":9},"end":{"line":116,"column":5}}],"line":107},"25":{"loc":{"start":{"line":119,"column":8},"end":{"line":127,"column":9}},"type":"if","locations":[{"start":{"line":119,"column":8},"end":{"line":127,"column":9}},{"start":{"line":122,"column":13},"end":{"line":127,"column":9}}],"line":119},"26":{"loc":{"start":{"line":123,"column":12},"end":{"line":125,"column":13}},"type":"if","locations":[{"start":{"line":123,"column":12},"end":{"line":125,"column":13}},{"start":{},"end":{}}],"line":123},"27":{"loc":{"start":{"line":128,"column":8},"end":{"line":140,"column":9}},"type":"if","locations":[{"start":{"line":128,"column":8},"end":{"line":140,"column":9}},{"start":{},"end":{}}],"line":128},"28":{"loc":{"start":{"line":128,"column":12},"end":{"line":128,"column":108}},"type":"binary-expr","locations":[{"start":{"line":128,"column":12},"end":{"line":128,"column":69}},{"start":{"line":128,"column":73},"end":{"line":128,"column":108}}],"line":128},"29":{"loc":{"start":{"line":130,"column":12},"end":{"line":136,"column":13}},"type":"if","locations":[{"start":{"line":130,"column":12},"end":{"line":136,"column":13}},{"start":{},"end":{}}],"line":130},"30":{"loc":{"start":{"line":132,"column":16},"end":{"line":135,"column":17}},"type":"if","locations":[{"start":{"line":132,"column":16},"end":{"line":135,"column":17}},{"start":{},"end":{}}],"line":132},"31":{"loc":{"start":{"line":146,"column":4},"end":{"line":151,"column":5}},"type":"if","locations":[{"start":{"line":146,"column":4},"end":{"line":151,"column":5}},{"start":{"line":149,"column":9},"end":{"line":151,"column":5}}],"line":146},"32":{"loc":{"start":{"line":149,"column":9},"end":{"line":151,"column":5}},"type":"if","locations":[{"start":{"line":149,"column":9},"end":{"line":151,"column":5}},{"start":{},"end":{}}],"line":149},"33":{"loc":{"start":{"line":155,"column":4},"end":{"line":155,"column":66}},"type":"if","locations":[{"start":{"line":155,"column":4},"end":{"line":155,"column":66}},{"start":{},"end":{}}],"line":155},"34":{"loc":{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},{"start":{},"end":{}}],"line":163}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":2,"16":2,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":7059,"41":722,"42":722,"43":722,"44":722,"45":39,"46":39,"47":722,"48":6944,"49":6944,"50":6944,"51":25,"52":25,"53":6944,"54":6929,"55":6996,"56":6996,"57":15,"58":6944,"59":6911,"60":6944,"61":33,"62":4,"63":29,"64":29,"65":29,"66":29,"67":29,"68":6886,"69":25,"70":4,"71":4,"72":4,"73":4,"74":21,"75":6944,"76":722,"77":691,"78":691,"79":691,"80":6222,"81":6220,"82":6911,"83":6929,"84":6929,"85":53,"86":6876,"87":103,"88":6773,"89":6826,"90":6372,"91":6364,"92":6362,"93":6361,"94":1,"95":1,"96":6362,"97":6222,"98":7018,"99":7018,"100":7018,"101":6925,"102":93,"103":16,"104":7018,"105":722,"106":30,"107":722,"108":722,"109":722,"110":722,"111":679,"112":43,"113":4,"114":40,"115":16,"116":16,"117":16,"118":16},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":7059,"7":722,"8":6944,"9":6996,"10":6944,"11":6944,"12":6929,"13":6222,"14":7018,"15":722,"16":16},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[2,0],"12":[2,2],"13":[0,0],"14":[0,0],"15":[0,0],"16":[27,695],"17":[39,683],"18":[25,6919],"19":[6944,53,26,26],"20":[6929,15],"21":[33,6886,24,25],"22":[4,29],"23":[4,21],"24":[722,6222],"25":[53,6876],"26":[103,6773],"27":[6372,454],"28":[6826,6372],"29":[6362,2],"30":[1,6360],"31":[6925,93],"32":[16,77],"33":[30,692],"34":[4,39]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/planning/planner.ts","sources":["/home/bob/repos/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 { isStackOverflowException } from '../utils/exceptions';\nimport { circularDependencyToException, getServiceIdentifierAsString, listMetadataForTarget, listRegisteredBindingsForServiceIdentifier } 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<interfaces.Binding<unknown>> {\n return (cntnr as unknown as { _bindingDictionary: interfaces.Lookup<interfaces.Binding<unknown>> })._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<unknown>[] {\n\n let bindings = getBindings(context.container, target.serviceIdentifier);\n let activeBindings: interfaces.Binding<unknown>[] = [];\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<unknown>[],\n target: interfaces.Target,\n container: interfaces.Container\n): interfaces.Binding<unknown>[] {\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<unknown>[];\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 as NewableFunction);\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 as NewableFunction);\n\n if (dependencies.length < baseClassDependencyCount) {\n const error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH(getFunctionName(binding.implementationType as NewableFunction));\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<T>(\n container: interfaces.Container,\n serviceIdentifier: interfaces.ServiceIdentifier<T>\n): interfaces.Binding<T>[] {\n\n let bindings: interfaces.Binding<T>[] = [];\n const bindingDictionary = getBindingDictionary(container);\n\n if (bindingDictionary.hasKey(serviceIdentifier)) {\n\n bindings = bindingDictionary.get(serviceIdentifier) as interfaces.Binding<T>[];\n\n } else if (container.parent !== null) {\n\n // recursively try to get bindings from parent container\n bindings = getBindings<T>(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 isStackOverflowException(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":"49a9d564a7843271fbc6b26e361a4d01397d7dea","contentHash":"33fa185f89058964da82dfe68e8c97d998fb34785067e2cac4f365625ec3be41"},"/home/bob/repos/InversifyJS/src/bindings/binding_count.ts":{"path":"/home/bob/repos/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":0},"end":{"line":8,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/bindings/binding_count.ts","sources":["/home/bob/repos/InversifyJS/src/bindings/binding_count.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,yBAAyB,EAAE,CAAC;IAC5B,mBAAmB,EAAE,CAAC;IACtB,uBAAuB,EAAE,CAAC;CAC3B,CAAC","sourcesContent":["export const BindingCount = {\n MultipleBindingsAvailable: 2,\n NoBindingsAvailable: 0,\n OnlyOneBindingAvailable: 1\n};"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"af3eefae24c980a6811b1f9112fb80160193ad88","contentHash":"c1cb480da60992f18d8f41cb26535cf37eb41add0428ad1f7f03f526030ee53d"},"/home/bob/repos/InversifyJS/src/utils/exceptions.ts":{"path":"/home/bob/repos/InversifyJS/src/utils/exceptions.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":49}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":60}},"27":{"start":{"line":28,"column":17},"end":{"line":28,"column":65}},"28":{"start":{"line":30,"column":4},"end":{"line":31,"column":53}},"29":{"start":{"line":33,"column":38},"end":{"line":43,"column":1}},"30":{"start":{"line":34,"column":4},"end":{"line":42,"column":5}},"31":{"start":{"line":35,"column":8},"end":{"line":35,"column":20}},"32":{"start":{"line":38,"column":8},"end":{"line":40,"column":9}},"33":{"start":{"line":39,"column":12},"end":{"line":39,"column":36}},"34":{"start":{"line":41,"column":8},"end":{"line":41,"column":20}},"35":{"start":{"line":44,"column":0},"end":{"line":44,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"isStackOverflowException","decl":{"start":{"line":29,"column":9},"end":{"line":29,"column":33}},"loc":{"start":{"line":29,"column":41},"end":{"line":32,"column":1}},"line":29},"7":{"name":"(anonymous_7)","decl":{"start":{"line":33,"column":38},"end":{"line":33,"column":39}},"loc":{"start":{"line":33,"column":67},"end":{"line":43,"column":1}},"line":33}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":30,"column":12},"end":{"line":31,"column":51}},"type":"binary-expr","locations":[{"start":{"line":30,"column":12},"end":{"line":30,"column":39}},{"start":{"line":31,"column":8},"end":{"line":31,"column":51}}],"line":30},"17":{"loc":{"start":{"line":38,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":40,"column":9}},{"start":{},"end":{}}],"line":38}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":378,"29":1,"30":415,"31":415,"32":335,"33":15,"34":321,"35":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":378,"7":415},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[378,359],"17":[15,320]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/utils/exceptions.ts","sources":["/home/bob/repos/InversifyJS/src/utils/exceptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,4DAKC;AAPD,kEAAsD;AAEtD,SAAgB,wBAAwB,CAAC,KAAc;IACrD,OAAO,CACL,KAAK,YAAY,UAAU;QAC1B,KAAe,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc,CACvD,CAAC;AACJ,CAAC;AAEM,IAAM,+BAA+B,GAAG,UAAI,EAAW,EAAE,aAA0B;IACxF,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,KAAK,GAAG,aAAa,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAA;AATY,QAAA,+BAA+B,mCAS3C","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\n\nexport function isStackOverflowException(error: unknown): error is RangeError {\n return (\n error instanceof RangeError ||\n (error as Error).message === ERROR_MSGS.STACK_OVERFLOW\n );\n}\n\nexport const tryAndThrowErrorIfStackOverflow = <T>(fn: () => T, errorCallback: () => Error) => {\n try {\n return fn();\n } catch (error) {\n if (isStackOverflowException(error)) {\n error = errorCallback();\n }\n throw error;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"39ec8a70b6632bcde8c724e093238ce6ee794b99","contentHash":"46d8636a6e149725e717736bb0b7e1129bedfec22f262e50c0c3cdcd8a361b48"},"/home/bob/repos/InversifyJS/src/utils/serialization.ts":{"path":"/home/bob/repos/InversifyJS/src/utils/serialization.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":42}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":68}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":96}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":54}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":70}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":52}},"31":{"start":{"line":32,"column":17},"end":{"line":32,"column":65}},"32":{"start":{"line":34,"column":4},"end":{"line":44,"column":5}},"33":{"start":{"line":35,"column":33},"end":{"line":35,"column":50}},"34":{"start":{"line":36,"column":8},"end":{"line":36,"column":39}},"35":{"start":{"line":38,"column":9},"end":{"line":44,"column":5}},"36":{"start":{"line":39,"column":8},"end":{"line":39,"column":44}},"37":{"start":{"line":42,"column":33},"end":{"line":42,"column":50}},"38":{"start":{"line":43,"column":8},"end":{"line":43,"column":34}},"39":{"start":{"line":47,"column":33},"end":{"line":47,"column":35}},"40":{"start":{"line":48,"column":29},"end":{"line":48,"column":70}},"41":{"start":{"line":49,"column":4},"end":{"line":61,"column":5}},"42":{"start":{"line":50,"column":8},"end":{"line":50,"column":58}},"43":{"start":{"line":51,"column":8},"end":{"line":60,"column":11}},"44":{"start":{"line":52,"column":23},"end":{"line":52,"column":31}},"45":{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},"46":{"start":{"line":54,"column":16},"end":{"line":54,"column":67}},"47":{"start":{"line":56,"column":12},"end":{"line":56,"column":91}},"48":{"start":{"line":57,"column":12},"end":{"line":59,"column":13}},"49":{"start":{"line":58,"column":16},"end":{"line":58,"column":118}},"50":{"start":{"line":62,"column":4},"end":{"line":62,"column":34}},"51":{"start":{"line":65,"column":4},"end":{"line":73,"column":5}},"52":{"start":{"line":66,"column":8},"end":{"line":66,"column":21}},"53":{"start":{"line":68,"column":9},"end":{"line":73,"column":5}},"54":{"start":{"line":69,"column":8},"end":{"line":69,"column":20}},"55":{"start":{"line":72,"column":8},"end":{"line":72,"column":80}},"56":{"start":{"line":77,"column":8},"end":{"line":77,"column":47}},"57":{"start":{"line":77,"column":33},"end":{"line":77,"column":45}},"58":{"start":{"line":78,"column":32},"end":{"line":78,"column":83}},"59":{"start":{"line":79,"column":8},"end":{"line":79,"column":39}},"60":{"start":{"line":80,"column":8},"end":{"line":82,"column":9}},"61":{"start":{"line":81,"column":12},"end":{"line":81,"column":63}},"62":{"start":{"line":83,"column":8},"end":{"line":83,"column":22}},"63":{"start":{"line":85,"column":20},"end":{"line":85,"column":45}},"64":{"start":{"line":86,"column":4},"end":{"line":86,"column":45}},"65":{"start":{"line":89,"column":4},"end":{"line":97,"column":7}},"66":{"start":{"line":90,"column":8},"end":{"line":96,"column":9}},"67":{"start":{"line":91,"column":27},"end":{"line":91,"column":64}},"68":{"start":{"line":92,"column":12},"end":{"line":92,"column":93}},"69":{"start":{"line":95,"column":12},"end":{"line":95,"column":56}},"70":{"start":{"line":100,"column":4},"end":{"line":116,"column":5}},"71":{"start":{"line":101,"column":18},"end":{"line":101,"column":20}},"72":{"start":{"line":102,"column":23},"end":{"line":102,"column":43}},"73":{"start":{"line":103,"column":24},"end":{"line":103,"column":46}},"74":{"start":{"line":104,"column":8},"end":{"line":106,"column":9}},"75":{"start":{"line":105,"column":12},"end":{"line":105,"column":46}},"76":{"start":{"line":107,"column":8},"end":{"line":111,"column":9}},"77":{"start":{"line":108,"column":12},"end":{"line":110,"column":15}},"78":{"start":{"line":109,"column":16},"end":{"line":109,"column":45}},"79":{"start":{"line":112,"column":8},"end":{"line":112,"column":109}},"80":{"start":{"line":115,"column":8},"end":{"line":115,"column":51}},"81":{"start":{"line":119,"column":4},"end":{"line":126,"column":5}},"82":{"start":{"line":120,"column":8},"end":{"line":120,"column":25}},"83":{"start":{"line":123,"column":21},"end":{"line":123,"column":36}},"84":{"start":{"line":124,"column":20},"end":{"line":124,"column":57}},"85":{"start":{"line":125,"column":8},"end":{"line":125,"column":72}},"86":{"start":{"line":129,"column":4},"end":{"line":129,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"getServiceIdentifierAsString","decl":{"start":{"line":33,"column":9},"end":{"line":33,"column":37}},"loc":{"start":{"line":33,"column":57},"end":{"line":45,"column":1}},"line":33},"7":{"name":"listRegisteredBindingsForServiceIdentifier","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":51}},"loc":{"start":{"line":46,"column":95},"end":{"line":63,"column":1}},"line":46},"8":{"name":"(anonymous_8)","decl":{"start":{"line":51,"column":35},"end":{"line":51,"column":36}},"loc":{"start":{"line":51,"column":54},"end":{"line":60,"column":9}},"line":51},"9":{"name":"alreadyDependencyChain","decl":{"start":{"line":64,"column":9},"end":{"line":64,"column":31}},"loc":{"start":{"line":64,"column":60},"end":{"line":74,"column":1}},"line":64},"10":{"name":"dependencyChainToString","decl":{"start":{"line":75,"column":9},"end":{"line":75,"column":32}},"loc":{"start":{"line":75,"column":42},"end":{"line":87,"column":1}},"line":75},"11":{"name":"_createStringArr","decl":{"start":{"line":76,"column":13},"end":{"line":76,"column":29}},"loc":{"start":{"line":76,"column":43},"end":{"line":84,"column":5}},"line":76},"12":{"name":"circularDependencyToException","decl":{"start":{"line":88,"column":9},"end":{"line":88,"column":38}},"loc":{"start":{"line":88,"column":48},"end":{"line":98,"column":1}},"line":88},"13":{"name":"(anonymous_13)","decl":{"start":{"line":89,"column":34},"end":{"line":89,"column":35}},"loc":{"start":{"line":89,"column":58},"end":{"line":97,"column":5}},"line":89},"14":{"name":"listMetadataForTarget","decl":{"start":{"line":99,"column":9},"end":{"line":99,"column":30}},"loc":{"start":{"line":99,"column":64},"end":{"line":117,"column":1}},"line":99},"15":{"name":"(anonymous_15)","decl":{"start":{"line":108,"column":30},"end":{"line":108,"column":31}},"loc":{"start":{"line":108,"column":45},"end":{"line":110,"column":13}},"line":108},"16":{"name":"getFunctionName","decl":{"start":{"line":118,"column":9},"end":{"line":118,"column":24}},"loc":{"start":{"line":118,"column":31},"end":{"line":127,"column":1}},"line":118},"17":{"name":"getSymbolDescription","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":29}},"loc":{"start":{"line":128,"column":38},"end":{"line":130,"column":1}},"line":128}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":34,"column":4},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":34,"column":4},"end":{"line":44,"column":5}},{"start":{"line":38,"column":9},"end":{"line":44,"column":5}}],"line":34},"17":{"loc":{"start":{"line":38,"column":9},"end":{"line":44,"column":5}},"type":"if","locations":[{"start":{"line":38,"column":9},"end":{"line":44,"column":5}},{"start":{"line":41,"column":9},"end":{"line":44,"column":5}}],"line":38},"18":{"loc":{"start":{"line":49,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":49},"19":{"loc":{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},"type":"if","locations":[{"start":{"line":53,"column":12},"end":{"line":55,"column":13}},{"start":{},"end":{}}],"line":53},"20":{"loc":{"start":{"line":57,"column":12},"end":{"line":59,"column":13}},"type":"if","locations":[{"start":{"line":57,"column":12},"end":{"line":59,"column":13}},{"start":{},"end":{}}],"line":57},"21":{"loc":{"start":{"line":65,"column":4},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":65,"column":4},"end":{"line":73,"column":5}},{"start":{"line":68,"column":9},"end":{"line":73,"column":5}}],"line":65},"22":{"loc":{"start":{"line":68,"column":9},"end":{"line":73,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":9},"end":{"line":73,"column":5}},{"start":{"line":71,"column":9},"end":{"line":73,"column":5}}],"line":68},"23":{"loc":{"start":{"line":77,"column":8},"end":{"line":77,"column":47}},"type":"if","locations":[{"start":{"line":77,"column":8},"end":{"line":77,"column":47}},{"start":{},"end":{}}],"line":77},"24":{"loc":{"start":{"line":80,"column":8},"end":{"line":82,"column":9}},"type":"if","locations":[{"start":{"line":80,"column":8},"end":{"line":82,"column":9}},{"start":{},"end":{}}],"line":80},"25":{"loc":{"start":{"line":90,"column":8},"end":{"line":96,"column":9}},"type":"if","locations":[{"start":{"line":90,"column":8},"end":{"line":96,"column":9}},{"start":{"line":94,"column":13},"end":{"line":96,"column":9}}],"line":90},"26":{"loc":{"start":{"line":100,"column":4},"end":{"line":116,"column":5}},"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":116,"column":5}},{"start":{"line":114,"column":9},"end":{"line":116,"column":5}}],"line":100},"27":{"loc":{"start":{"line":100,"column":8},"end":{"line":100,"column":45}},"type":"binary-expr","locations":[{"start":{"line":100,"column":8},"end":{"line":100,"column":25}},{"start":{"line":100,"column":29},"end":{"line":100,"column":45}}],"line":100},"28":{"loc":{"start":{"line":104,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":104,"column":8},"end":{"line":106,"column":9}},{"start":{},"end":{}}],"line":104},"29":{"loc":{"start":{"line":107,"column":8},"end":{"line":111,"column":9}},"type":"if","locations":[{"start":{"line":107,"column":8},"end":{"line":111,"column":9}},{"start":{},"end":{}}],"line":107},"30":{"loc":{"start":{"line":119,"column":4},"end":{"line":126,"column":5}},"type":"if","locations":[{"start":{"line":119,"column":4},"end":{"line":126,"column":5}},{"start":{"line":122,"column":9},"end":{"line":126,"column":5}}],"line":119},"31":{"loc":{"start":{"line":125,"column":15},"end":{"line":125,"column":71}},"type":"cond-expr","locations":[{"start":{"line":125,"column":23},"end":{"line":125,"column":31}},{"start":{"line":125,"column":34},"end":{"line":125,"column":71}}],"line":125}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":56,"33":6,"34":6,"35":50,"36":8,"37":42,"38":42,"39":33,"40":33,"41":33,"42":9,"43":9,"44":19,"45":19,"46":17,"47":19,"48":19,"49":13,"50":33,"51":41,"52":12,"53":29,"54":3,"55":26,"56":13,"57":3,"58":13,"59":13,"60":13,"61":10,"62":3,"63":3,"64":3,"65":16,"66":15,"67":3,"68":3,"69":12,"70":30,"71":10,"72":10,"73":10,"74":10,"75":6,"76":10,"77":4,"78":4,"79":10,"80":20,"81":6411,"82":6409,"83":2,"84":2,"85":2,"86":4},"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":16,"13":15,"14":30,"15":4,"16":6411,"17":4},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[6,50],"17":[8,42],"18":[9,24],"19":[17,2],"20":[13,6],"21":[12,29],"22":[3,26],"23":[3,10],"24":[10,3],"25":[3,12],"26":[10,20],"27":[30,26],"28":[6,4],"29":[4,6],"30":[6409,2],"31":[1,1]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/utils/serialization.ts","sources":["/home/bob/repos/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: <T>(\n container: interfaces.Container,\n serviceIdentifier: interfaces.ServiceIdentifier<T>\n ) => interfaces.Binding<T>[]\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<unknown>) => {\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":"e166c595c6056a751de8ae8ea392d578421fd931","contentHash":"f052e9b694b3e3f6d9a6f1f3cd6797cdf5a867ad0cf0ecb12ed5e25b757e1833"},"/home/bob/repos/InversifyJS/src/planning/context.ts":{"path":"/home/bob/repos/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":751,"5":751,"6":1,"7":692,"8":1,"9":1230,"10":1,"11":1},"f":{"0":1,"1":751,"2":692,"3":1230},"b":{},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/planning/context.ts","sources":["/home/bob/repos/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":"2047e54333abc5d20ebcb0693c39ddfed5b23647","contentHash":"75058f99e9832c0936f84cce38eef1c897c4ede6a4b5104d06ef688a36e98ab1"},"/home/bob/repos/InversifyJS/src/planning/metadata.ts":{"path":"/home/bob/repos/InversifyJS/src/planning/metadata.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":26}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":16},"end":{"line":42,"column":3}},"28":{"start":{"line":30,"column":8},"end":{"line":30,"column":23}},"29":{"start":{"line":31,"column":8},"end":{"line":31,"column":27}},"30":{"start":{"line":33,"column":4},"end":{"line":40,"column":6}},"31":{"start":{"line":34,"column":8},"end":{"line":39,"column":9}},"32":{"start":{"line":35,"column":12},"end":{"line":35,"column":72}},"33":{"start":{"line":38,"column":12},"end":{"line":38,"column":110}},"34":{"start":{"line":41,"column":4},"end":{"line":41,"column":20}},"35":{"start":{"line":43,"column":0},"end":{"line":43,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":28,"column":16},"end":{"line":28,"column":17}},"loc":{"start":{"line":28,"column":28},"end":{"line":42,"column":1}},"line":28},"7":{"name":"Metadata","decl":{"start":{"line":29,"column":13},"end":{"line":29,"column":21}},"loc":{"start":{"line":29,"column":34},"end":{"line":32,"column":5}},"line":29},"8":{"name":"(anonymous_8)","decl":{"start":{"line":33,"column":34},"end":{"line":33,"column":35}},"loc":{"start":{"line":33,"column":46},"end":{"line":40,"column":5}},"line":33}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":34,"column":8},"end":{"line":39,"column":9}},"type":"if","locations":[{"start":{"line":34,"column":8},"end":{"line":39,"column":9}},{"start":{"line":37,"column":13},"end":{"line":39,"column":9}}],"line":34}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1240,"29":1240,"30":1,"31":23,"32":15,"33":8,"34":1,"35":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":1240,"8":23},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[15,8]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/planning/metadata.ts","sources":["/home/bob/repos/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,CAAC;YACxC,OAAO,iBAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,MAAG,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,wBAAiB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,sBAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAI,CAAC;QAChF,CAAC;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":"dee81f74b4468b25f8f4ae809ebb272fac69617d","contentHash":"e4e1fb1593cf63a5b1109440006221462816ccd3e475fd436a57a7c2f0c6eb1b"},"/home/bob/repos/InversifyJS/src/planning/plan.ts":{"path":"/home/bob/repos/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":693,"4":693,"5":1,"6":1},"f":{"0":1,"1":693},"b":{},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/planning/plan.ts","sources":["/home/bob/repos/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":"555154f4bd8e92cc5951b94efec49bb153a490fe","contentHash":"93511a427ad4cf26166d056115849273e2077c04f7db37d9e91557c6e9376827"},"/home/bob/repos/InversifyJS/src/planning/reflection_utils.ts":{"path":"/home/bob/repos/InversifyJS/src/planning/reflection_utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":20},"end":{"line":33,"column":1}},"25":{"start":{"line":26,"column":4},"end":{"line":31,"column":5}},"26":{"start":{"line":26,"column":40},"end":{"line":31,"column":5}},"27":{"start":{"line":26,"column":53},"end":{"line":26,"column":54}},"28":{"start":{"line":26,"column":60},"end":{"line":26,"column":71}},"29":{"start":{"line":27,"column":8},"end":{"line":30,"column":9}},"30":{"start":{"line":28,"column":12},"end":{"line":28,"column":65}},"31":{"start":{"line":28,"column":21},"end":{"line":28,"column":65}},"32":{"start":{"line":29,"column":12},"end":{"line":29,"column":28}},"33":{"start":{"line":32,"column":4},"end":{"line":32,"column":61}},"34":{"start":{"line":34,"column":0},"end":{"line":34,"column":62}},"35":{"start":{"line":35,"column":0},"end":{"line":35,"column":33}},"36":{"start":{"line":36,"column":0},"end":{"line":36,"column":42}},"37":{"start":{"line":37,"column":0},"end":{"line":37,"column":66}},"38":{"start":{"line":38,"column":32},"end":{"line":38,"column":80}},"39":{"start":{"line":39,"column":17},"end":{"line":39,"column":65}},"40":{"start":{"line":40,"column":22},"end":{"line":40,"column":59}},"41":{"start":{"line":41,"column":19},"end":{"line":41,"column":70}},"42":{"start":{"line":42,"column":22},"end":{"line":42,"column":55}},"43":{"start":{"line":43,"column":0},"end":{"line":43,"column":134}},"44":{"start":{"line":43,"column":89},"end":{"line":43,"column":128}},"45":{"start":{"line":44,"column":15},"end":{"line":44,"column":34}},"46":{"start":{"line":46,"column":26},"end":{"line":46,"column":68}},"47":{"start":{"line":47,"column":4},"end":{"line":47,"column":68}},"48":{"start":{"line":50,"column":19},"end":{"line":50,"column":62}},"49":{"start":{"line":51,"column":29},"end":{"line":51,"column":63}},"50":{"start":{"line":52,"column":4},"end":{"line":55,"column":5}},"51":{"start":{"line":53,"column":18},"end":{"line":53,"column":103}},"52":{"start":{"line":54,"column":8},"end":{"line":54,"column":29}},"53":{"start":{"line":56,"column":34},"end":{"line":56,"column":64}},"54":{"start":{"line":57,"column":15},"end":{"line":57,"column":51}},"55":{"start":{"line":58,"column":44},"end":{"line":58,"column":80}},"56":{"start":{"line":59,"column":32},"end":{"line":59,"column":57}},"57":{"start":{"line":60,"column":21},"end":{"line":60,"column":108}},"58":{"start":{"line":61,"column":29},"end":{"line":61,"column":143}},"59":{"start":{"line":62,"column":26},"end":{"line":62,"column":87}},"60":{"start":{"line":63,"column":18},"end":{"line":63,"column":99}},"61":{"start":{"line":64,"column":4},"end":{"line":64,"column":19}},"62":{"start":{"line":67,"column":25},"end":{"line":67,"column":72}},"63":{"start":{"line":68,"column":19},"end":{"line":68,"column":55}},"64":{"start":{"line":69,"column":20},"end":{"line":69,"column":47}},"65":{"start":{"line":70,"column":28},"end":{"line":70,"column":53}},"66":{"start":{"line":71,"column":27},"end":{"line":71,"column":66}},"67":{"start":{"line":72,"column":4},"end":{"line":72,"column":82}},"68":{"start":{"line":73,"column":4},"end":{"line":75,"column":5}},"69":{"start":{"line":74,"column":8},"end":{"line":74,"column":55}},"70":{"start":{"line":76,"column":4},"end":{"line":88,"column":5}},"71":{"start":{"line":77,"column":23},"end":{"line":77,"column":51}},"72":{"start":{"line":78,"column":25},"end":{"line":78,"column":55}},"73":{"start":{"line":79,"column":26},"end":{"line":79,"column":57}},"74":{"start":{"line":80,"column":28},"end":{"line":80,"column":65}},"75":{"start":{"line":81,"column":8},"end":{"line":84,"column":9}},"76":{"start":{"line":82,"column":22},"end":{"line":82,"column":140}},"77":{"start":{"line":83,"column":12},"end":{"line":83,"column":33}},"78":{"start":{"line":85,"column":21},"end":{"line":85,"column":132}},"79":{"start":{"line":86,"column":8},"end":{"line":86,"column":41}},"80":{"start":{"line":87,"column":8},"end":{"line":87,"column":22}},"81":{"start":{"line":89,"column":4},"end":{"line":89,"column":16}},"82":{"start":{"line":92,"column":18},"end":{"line":92,"column":20}},"83":{"start":{"line":93,"column":4},"end":{"line":99,"column":5}},"84":{"start":{"line":93,"column":17},"end":{"line":93,"column":18}},"85":{"start":{"line":94,"column":20},"end":{"line":94,"column":21}},"86":{"start":{"line":95,"column":21},"end":{"line":95,"column":129}},"87":{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},"88":{"start":{"line":97,"column":12},"end":{"line":97,"column":33}},"89":{"start":{"line":100,"column":4},"end":{"line":100,"column":19}},"90":{"start":{"line":103,"column":29},"end":{"line":103,"column":50}},"91":{"start":{"line":104,"column":4},"end":{"line":107,"column":5}},"92":{"start":{"line":105,"column":18},"end":{"line":105,"column":153}},"93":{"start":{"line":106,"column":8},"end":{"line":106,"column":29}},"94":{"start":{"line":108,"column":4},"end":{"line":108,"column":29}},"95":{"start":{"line":111,"column":29},"end":{"line":111,"column":82}},"96":{"start":{"line":112,"column":18},"end":{"line":112,"column":20}},"97":{"start":{"line":113,"column":21},"end":{"line":113,"column":69}},"98":{"start":{"line":114,"column":21},"end":{"line":114,"column":52}},"99":{"start":{"line":115,"column":15},"end":{"line":115,"column":44}},"100":{"start":{"line":116,"column":4},"end":{"line":125,"column":5}},"101":{"start":{"line":116,"column":18},"end":{"line":116,"column":19}},"102":{"start":{"line":116,"column":30},"end":{"line":116,"column":34}},"103":{"start":{"line":117,"column":18},"end":{"line":117,"column":28}},"104":{"start":{"line":118,"column":29},"end":{"line":118,"column":52}},"105":{"start":{"line":119,"column":23},"end":{"line":119,"column":59}},"106":{"start":{"line":120,"column":25},"end":{"line":120,"column":51}},"107":{"start":{"line":121,"column":32},"end":{"line":121,"column":125}},"108":{"start":{"line":122,"column":21},"end":{"line":122,"column":117}},"109":{"start":{"line":123,"column":8},"end":{"line":123,"column":41}},"110":{"start":{"line":124,"column":8},"end":{"line":124,"column":29}},"111":{"start":{"line":126,"column":26},"end":{"line":126,"column":86}},"112":{"start":{"line":127,"column":4},"end":{"line":130,"column":5}},"113":{"start":{"line":128,"column":26},"end":{"line":128,"column":98}},"114":{"start":{"line":129,"column":8},"end":{"line":129,"column":85}},"115":{"start":{"line":131,"column":4},"end":{"line":131,"column":19}},"116":{"start":{"line":134,"column":26},"end":{"line":134,"column":75}},"117":{"start":{"line":135,"column":4},"end":{"line":150,"column":5}},"118":{"start":{"line":136,"column":34},"end":{"line":136,"column":87}},"119":{"start":{"line":137,"column":22},"end":{"line":137,"column":92}},"120":{"start":{"line":138,"column":23},"end":{"line":138,"column":141}},"121":{"start":{"line":138,"column":50},"end":{"line":138,"column":138}},"122":{"start":{"line":138,"column":90},"end":{"line":138,"column":134}},"123":{"start":{"line":139,"column":29},"end":{"line":139,"column":65}},"124":{"start":{"line":140,"column":30},"end":{"line":140,"column":61}},"125":{"start":{"line":141,"column":8},"end":{"line":146,"column":9}},"126":{"start":{"line":142,"column":12},"end":{"line":142,"column":35}},"127":{"start":{"line":145,"column":12},"end":{"line":145,"column":80}},"128":{"start":{"line":149,"column":8},"end":{"line":149,"column":17}},"129":{"start":{"line":153,"column":28},"end":{"line":153,"column":30}},"130":{"start":{"line":154,"column":4},"end":{"line":156,"column":7}},"131":{"start":{"line":155,"column":8},"end":{"line":155,"column":54}},"132":{"start":{"line":157,"column":4},"end":{"line":162,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":52},"end":{"line":25,"column":53}},"loc":{"start":{"line":25,"column":78},"end":{"line":33,"column":1}},"line":25},"7":{"name":"(anonymous_7)","decl":{"start":{"line":43,"column":75},"end":{"line":43,"column":76}},"loc":{"start":{"line":43,"column":87},"end":{"line":43,"column":130}},"line":43},"8":{"name":"getDependencies","decl":{"start":{"line":45,"column":9},"end":{"line":45,"column":24}},"loc":{"start":{"line":45,"column":47},"end":{"line":48,"column":1}},"line":45},"9":{"name":"getTargets","decl":{"start":{"line":49,"column":9},"end":{"line":49,"column":19}},"loc":{"start":{"line":49,"column":72},"end":{"line":65,"column":1}},"line":49},"10":{"name":"getConstructorArgsAsTarget","decl":{"start":{"line":66,"column":9},"end":{"line":66,"column":35}},"loc":{"start":{"line":66,"column":118},"end":{"line":90,"column":1}},"line":66},"11":{"name":"getConstructorArgsAsTargets","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":36}},"loc":{"start":{"line":91,"column":124},"end":{"line":101,"column":1}},"line":91},"12":{"name":"_getServiceIdentifierForProperty","decl":{"start":{"line":102,"column":9},"end":{"line":102,"column":41}},"loc":{"start":{"line":102,"column":88},"end":{"line":109,"column":1}},"line":102},"13":{"name":"getClassPropsAsTargets","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":31}},"loc":{"start":{"line":110,"column":82},"end":{"line":132,"column":1}},"line":110},"14":{"name":"getBaseClassDependencyCount","decl":{"start":{"line":133,"column":9},"end":{"line":133,"column":36}},"loc":{"start":{"line":133,"column":59},"end":{"line":151,"column":1}},"line":133},"15":{"name":"(anonymous_15)","decl":{"start":{"line":138,"column":35},"end":{"line":138,"column":36}},"loc":{"start":{"line":138,"column":48},"end":{"line":138,"column":140}},"line":138},"16":{"name":"(anonymous_16)","decl":{"start":{"line":138,"column":75},"end":{"line":138,"column":76}},"loc":{"start":{"line":138,"column":88},"end":{"line":138,"column":136}},"line":138},"17":{"name":"formatTargetMetadata","decl":{"start":{"line":152,"column":9},"end":{"line":152,"column":29}},"loc":{"start":{"line":152,"column":46},"end":{"line":163,"column":1}},"line":152},"18":{"name":"(anonymous_18)","decl":{"start":{"line":154,"column":27},"end":{"line":154,"column":28}},"loc":{"start":{"line":154,"column":40},"end":{"line":156,"column":5}},"line":154}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":25,"column":20},"end":{"line":33,"column":1}},"type":"binary-expr","locations":[{"start":{"line":25,"column":21},"end":{"line":25,"column":25}},{"start":{"line":25,"column":29},"end":{"line":25,"column":47}},{"start":{"line":25,"column":52},"end":{"line":33,"column":1}}],"line":25},"17":{"loc":{"start":{"line":26,"column":4},"end":{"line":31,"column":5}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":31,"column":5}},{"start":{},"end":{}}],"line":26},"18":{"loc":{"start":{"line":26,"column":8},"end":{"line":26,"column":38}},"type":"binary-expr","locations":[{"start":{"line":26,"column":8},"end":{"line":26,"column":12}},{"start":{"line":26,"column":16},"end":{"line":26,"column":38}}],"line":26},"19":{"loc":{"start":{"line":27,"column":8},"end":{"line":30,"column":9}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":30,"column":9}},{"start":{},"end":{}}],"line":27},"20":{"loc":{"start":{"line":27,"column":12},"end":{"line":27,"column":30}},"type":"binary-expr","locations":[{"start":{"line":27,"column":12},"end":{"line":27,"column":14}},{"start":{"line":27,"column":18},"end":{"line":27,"column":30}}],"line":27},"21":{"loc":{"start":{"line":28,"column":12},"end":{"line":28,"column":65}},"type":"if","locations":[{"start":{"line":28,"column":12},"end":{"line":28,"column":65}},{"start":{},"end":{}}],"line":28},"22":{"loc":{"start":{"line":32,"column":21},"end":{"line":32,"column":59}},"type":"binary-expr","locations":[{"start":{"line":32,"column":21},"end":{"line":32,"column":23}},{"start":{"line":32,"column":27},"end":{"line":32,"column":59}}],"line":32},"23":{"loc":{"start":{"line":52,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":52},"24":{"loc":{"start":{"line":58,"column":44},"end":{"line":58,"column":80}},"type":"binary-expr","locations":[{"start":{"line":58,"column":44},"end":{"line":58,"column":61}},{"start":{"line":58,"column":65},"end":{"line":58,"column":80}}],"line":58},"25":{"loc":{"start":{"line":60,"column":21},"end":{"line":60,"column":108}},"type":"cond-expr","locations":[{"start":{"line":60,"column":83},"end":{"line":60,"column":94}},{"start":{"line":60,"column":97},"end":{"line":60,"column":108}}],"line":60},"26":{"loc":{"start":{"line":60,"column":22},"end":{"line":60,"column":79}},"type":"binary-expr","locations":[{"start":{"line":60,"column":22},"end":{"line":60,"column":54}},{"start":{"line":60,"column":58},"end":{"line":60,"column":79}}],"line":60},"27":{"loc":{"start":{"line":67,"column":25},"end":{"line":67,"column":72}},"type":"binary-expr","locations":[{"start":{"line":67,"column":25},"end":{"line":67,"column":66}},{"start":{"line":67,"column":70},"end":{"line":67,"column":72}}],"line":67},"28":{"loc":{"start":{"line":71,"column":27},"end":{"line":71,"column":66}},"type":"binary-expr","locations":[{"start":{"line":71,"column":27},"end":{"line":71,"column":42}},{"start":{"line":71,"column":46},"end":{"line":71,"column":66}}],"line":71},"29":{"loc":{"start":{"line":72,"column":25},"end":{"line":72,"column":80}},"type":"cond-expr","locations":[{"start":{"line":72,"column":44},"end":{"line":72,"column":60}},{"start":{"line":72,"column":63},"end":{"line":72,"column":80}}],"line":72},"30":{"loc":{"start":{"line":73,"column":4},"end":{"line":75,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":75,"column":5}},{"start":{},"end":{}}],"line":73},"31":{"loc":{"start":{"line":76,"column":4},"end":{"line":88,"column":5}},"type":"if","locations":[{"start":{"line":76,"column":4},"end":{"line":88,"column":5}},{"start":{},"end":{}}],"line":76},"32":{"loc":{"start":{"line":80,"column":28},"end":{"line":80,"column":65}},"type":"binary-expr","locations":[{"start":{"line":80,"column":28},"end":{"line":80,"column":36}},{"start":{"line":80,"column":40},"end":{"line":80,"column":50}},{"start":{"line":80,"column":54},"end":{"line":80,"column":65}}],"line":80},"33":{"loc":{"start":{"line":81,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":81,"column":8},"end":{"line":84,"column":9}},{"start":{},"end":{}}],"line":81},"34":{"loc":{"start":{"line":81,"column":12},"end":{"line":81,"column":41}},"type":"binary-expr","locations":[{"start":{"line":81,"column":12},"end":{"line":81,"column":24}},{"start":{"line":81,"column":28},"end":{"line":81,"column":41}}],"line":81},"35":{"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":{},"end":{}}],"line":96},"36":{"loc":{"start":{"line":103,"column":29},"end":{"line":103,"column":50}},"type":"binary-expr","locations":[{"start":{"line":103,"column":29},"end":{"line":103,"column":35}},{"start":{"line":103,"column":39},"end":{"line":103,"column":50}}],"line":103},"37":{"loc":{"start":{"line":104,"column":4},"end":{"line":107,"column":5}},"type":"if","locations":[{"start":{"line":104,"column":4},"end":{"line":107,"column":5}},{"start":{},"end":{}}],"line":104},"38":{"loc":{"start":{"line":120,"column":25},"end":{"line":120,"column":51}},"type":"binary-expr","locations":[{"start":{"line":120,"column":25},"end":{"line":120,"column":44}},{"start":{"line":120,"column":48},"end":{"line":120,"column":51}}],"line":120},"39":{"loc":{"start":{"line":127,"column":4},"end":{"line":130,"column":5}},"type":"if","locations":[{"start":{"line":127,"column":4},"end":{"line":130,"column":5}},{"start":{},"end":{}}],"line":127},"40":{"loc":{"start":{"line":135,"column":4},"end":{"line":150,"column":5}},"type":"if","locations":[{"start":{"line":135,"column":4},"end":{"line":150,"column":5}},{"start":{"line":148,"column":9},"end":{"line":150,"column":5}}],"line":135},"41":{"loc":{"start":{"line":141,"column":8},"end":{"line":146,"column":9}},"type":"if","locations":[{"start":{"line":141,"column":8},"end":{"line":146,"column":9}},{"start":{"line":144,"column":13},"end":{"line":146,"column":9}}],"line":141}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":2,"16":2,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":12798,"26":12798,"27":12798,"28":12798,"29":6243,"30":0,"31":0,"32":0,"33":12798,"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":6374,"47":6374,"48":6390,"49":6388,"50":6388,"51":2,"52":2,"53":6386,"54":6386,"55":6386,"56":6386,"57":6386,"58":6386,"59":6384,"60":6381,"61":6381,"62":6228,"63":6228,"64":6228,"65":6228,"66":6228,"67":6228,"68":6228,"69":1,"70":6228,"71":6219,"72":6219,"73":6219,"74":6219,"75":6219,"76":2,"77":2,"78":6217,"79":6217,"80":6217,"81":9,"82":6386,"83":6386,"84":6386,"85":6228,"86":6228,"87":6226,"88":6217,"89":6384,"90":27,"91":27,"92":1,"93":1,"94":26,"95":6402,"96":6400,"97":6400,"98":6400,"99":6400,"100":6400,"101":6400,"102":6400,"103":27,"104":27,"105":27,"106":27,"107":27,"108":26,"109":26,"110":26,"111":6399,"112":6399,"113":18,"114":18,"115":6399,"116":6367,"117":6367,"118":16,"119":16,"120":15,"121":11,"122":10,"123":15,"124":15,"125":15,"126":10,"127":5,"128":6351,"129":6255,"130":6255,"131":6320,"132":6255},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":12798,"7":1,"8":6374,"9":6390,"10":6228,"11":6386,"12":27,"13":6402,"14":6367,"15":11,"16":10,"17":6255,"18":6320},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[2,0],"12":[2,2],"13":[0,0],"14":[0,0],"15":[0,0],"16":[1,1,1],"17":[12798,0],"18":[12798,0],"19":[0,6243],"20":[6243,6243],"21":[0,0],"22":[12798,12798],"23":[2,6386],"24":[6386,1975],"25":[9,6377],"26":[6386,6377],"27":[6228,23],"28":[6228,40],"29":[6196,32],"30":[1,6227],"31":[6219,9],"32":[6219,6217,6216],"33":[2,6217],"34":[6219,6210],"35":[6217,9],"36":[27,2],"37":[1,26],"38":[27,27],"39":[18,6381],"40":[16,6351],"41":[10,5]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/planning/reflection_utils.ts","sources":["/home/bob/repos/InversifyJS/src/planning/reflection_utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { LazyServiceIdentifier } 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) as interfaces.ServiceIdentifier<unknown> | undefined;\n\n // we unwrap LazyServiceIdentifier wrappers to allow circular dependencies on symbols\n if (serviceIdentifier instanceof LazyServiceIdentifier) {\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(\n TargetTypeEnum.ConstructorArgument,\n metadata.targetName as string | symbol,\n serviceIdentifier as interfaces.ServiceIdentifier\n );\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: string | symbol | unknown,\n multiInject: object | unknown,\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(\n TargetTypeEnum.ClassProperty,\n identifier as string | symbol,\n serviceIdentifier as interfaces.ServiceIdentifier<unknown>\n );\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: Record<string, unknown> = {};\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":"b7b9d288e495b8ee21c934d3a4e0b126f13c5596","contentHash":"09c541ed4f5dfb1857b1b82fcebfa2e39a996124ea6433e8f57fda69a09fc154"},"/home/bob/repos/InversifyJS/src/annotation/lazy_service_identifier.ts":{"path":"/home/bob/repos/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":39}},"2":{"start":{"line":4,"column":29},"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":33}},"7":{"start":{"line":13,"column":0},"end":{"line":13,"column":54}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":29},"end":{"line":4,"column":30}},"loc":{"start":{"line":4,"column":41},"end":{"line":12,"column":1}},"line":4},"1":{"name":"LazyServiceIdentifier","decl":{"start":{"line":5,"column":13},"end":{"line":5,"column":34}},"loc":{"start":{"line":5,"column":39},"end":{"line":7,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":45},"end":{"line":8,"column":46}},"loc":{"start":{"line":8,"column":57},"end":{"line":10,"column":5}},"line":8}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":2,"4":1,"5":2,"6":1,"7":1},"f":{"0":1,"1":2,"2":2},"b":{},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/lazy_service_identifier.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/lazy_service_identifier.ts"],"names":[],"mappings":";;;AAIA;IAEE,+BAAmB,EAAyC;QAC1D,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAEM,sCAAM,GAAb;QACE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACH,4BAAC;AAAD,CAAC,AATD,IASC;AATY,sDAAqB","sourcesContent":["import { interfaces } from '../interfaces/interfaces';\n\nexport type ServiceIdentifierOrFunc<T> = interfaces.ServiceIdentifier<T> | LazyServiceIdentifier<T>;\n\nexport class LazyServiceIdentifier<T = unknown> {\n private _cb: () => interfaces.ServiceIdentifier<T>;\n public constructor(cb: () => interfaces.ServiceIdentifier<T>) {\n this._cb = cb;\n }\n\n public unwrap() {\n return this._cb();\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"43623af1a6d4098f759c516577e5d6bfdb4f4148","contentHash":"13824eb73b48c97a2f6def8f66dcfaee0bcca4aa9808df11058b09e81477b745"},"/home/bob/repos/InversifyJS/src/planning/target.ts":{"path":"/home/bob/repos/InversifyJS/src/planning/target.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":24}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":11},"end":{"line":28,"column":33}},"28":{"start":{"line":29,"column":22},"end":{"line":29,"column":55}},"29":{"start":{"line":30,"column":17},"end":{"line":30,"column":38}},"30":{"start":{"line":31,"column":25},"end":{"line":31,"column":54}},"31":{"start":{"line":32,"column":14},"end":{"line":106,"column":3}},"32":{"start":{"line":34,"column":8},"end":{"line":34,"column":33}},"33":{"start":{"line":35,"column":8},"end":{"line":35,"column":25}},"34":{"start":{"line":36,"column":8},"end":{"line":36,"column":51}},"35":{"start":{"line":37,"column":28},"end":{"line":37,"column":127}},"36":{"start":{"line":38,"column":8},"end":{"line":38,"column":80}},"37":{"start":{"line":39,"column":8},"end":{"line":39,"column":37}},"38":{"start":{"line":40,"column":8},"end":{"line":40,"column":36}},"39":{"start":{"line":41,"column":27},"end":{"line":41,"column":31}},"40":{"start":{"line":42,"column":8},"end":{"line":47,"column":9}},"41":{"start":{"line":43,"column":12},"end":{"line":43,"column":90}},"42":{"start":{"line":45,"column":13},"end":{"line":47,"column":9}},"43":{"start":{"line":46,"column":12},"end":{"line":46,"column":41}},"44":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"45":{"start":{"line":49,"column":12},"end":{"line":49,"column":45}},"46":{"start":{"line":52,"column":4},"end":{"line":60,"column":6}},"47":{"start":{"line":53,"column":8},"end":{"line":58,"column":9}},"48":{"start":{"line":53,"column":22},"end":{"line":53,"column":23}},"49":{"start":{"line":53,"column":30},"end":{"line":53,"column":43}},"50":{"start":{"line":54,"column":20},"end":{"line":54,"column":26}},"51":{"start":{"line":55,"column":12},"end":{"line":57,"column":13}},"52":{"start":{"line":56,"column":16},"end":{"line":56,"column":28}},"53":{"start":{"line":59,"column":8},"end":{"line":59,"column":21}},"54":{"start":{"line":61,"column":4},"end":{"line":63,"column":6}},"55":{"start":{"line":62,"column":8},"end":{"line":62,"column":58}},"56":{"start":{"line":64,"column":4},"end":{"line":66,"column":6}},"57":{"start":{"line":65,"column":8},"end":{"line":65,"column":68}},"58":{"start":{"line":67,"column":4},"end":{"line":69,"column":6}},"59":{"start":{"line":68,"column":8},"end":{"line":68,"column":51}},"60":{"start":{"line":70,"column":4},"end":{"line":72,"column":6}},"61":{"start":{"line":71,"column":8},"end":{"line":71,"column":155}},"62":{"start":{"line":71,"column":56},"end":{"line":71,"column":151}},"63":{"start":{"line":71,"column":119},"end":{"line":71,"column":147}},"64":{"start":{"line":73,"column":4},"end":{"line":75,"column":6}},"65":{"start":{"line":74,"column":8},"end":{"line":74,"column":64}},"66":{"start":{"line":76,"column":4},"end":{"line":81,"column":6}},"67":{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},"68":{"start":{"line":78,"column":12},"end":{"line":78,"column":102}},"69":{"start":{"line":78,"column":55},"end":{"line":78,"column":95}},"70":{"start":{"line":80,"column":8},"end":{"line":80,"column":20}},"71":{"start":{"line":82,"column":4},"end":{"line":89,"column":6}},"72":{"start":{"line":83,"column":8},"end":{"line":88,"column":9}},"73":{"start":{"line":84,"column":12},"end":{"line":84,"column":161}},"74":{"start":{"line":84,"column":62},"end":{"line":84,"column":157}},"75":{"start":{"line":84,"column":125},"end":{"line":84,"column":153}},"76":{"start":{"line":87,"column":12},"end":{"line":87,"column":24}},"77":{"start":{"line":90,"column":4},"end":{"line":92,"column":6}},"78":{"start":{"line":91,"column":8},"end":{"line":91,"column":61}},"79":{"start":{"line":93,"column":4},"end":{"line":104,"column":6}},"80":{"start":{"line":94,"column":20},"end":{"line":94,"column":24}},"81":{"start":{"line":95,"column":8},"end":{"line":103,"column":10}},"82":{"start":{"line":96,"column":12},"end":{"line":101,"column":13}},"83":{"start":{"line":96,"column":26},"end":{"line":96,"column":27}},"84":{"start":{"line":96,"column":34},"end":{"line":96,"column":48}},"85":{"start":{"line":97,"column":24},"end":{"line":97,"column":30}},"86":{"start":{"line":98,"column":16},"end":{"line":100,"column":17}},"87":{"start":{"line":99,"column":20},"end":{"line":99,"column":32}},"88":{"start":{"line":102,"column":12},"end":{"line":102,"column":25}},"89":{"start":{"line":105,"column":4},"end":{"line":105,"column":18}},"90":{"start":{"line":107,"column":0},"end":{"line":107,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":32,"column":14},"end":{"line":32,"column":15}},"loc":{"start":{"line":32,"column":26},"end":{"line":106,"column":1}},"line":32},"7":{"name":"Target","decl":{"start":{"line":33,"column":13},"end":{"line":33,"column":19}},"loc":{"start":{"line":33,"column":72},"end":{"line":51,"column":5}},"line":33},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":30},"end":{"line":52,"column":31}},"loc":{"start":{"line":52,"column":45},"end":{"line":60,"column":5}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":61,"column":31},"end":{"line":61,"column":32}},"loc":{"start":{"line":61,"column":43},"end":{"line":63,"column":5}},"line":61},"10":{"name":"(anonymous_10)","decl":{"start":{"line":64,"column":36},"end":{"line":64,"column":37}},"loc":{"start":{"line":64,"column":52},"end":{"line":66,"column":5}},"line":64},"11":{"name":"(anonymous_11)","decl":{"start":{"line":67,"column":31},"end":{"line":67,"column":32}},"loc":{"start":{"line":67,"column":43},"end":{"line":69,"column":5}},"line":67},"12":{"name":"(anonymous_12)","decl":{"start":{"line":70,"column":32},"end":{"line":70,"column":33}},"loc":{"start":{"line":70,"column":44},"end":{"line":72,"column":5}},"line":70},"13":{"name":"(anonymous_13)","decl":{"start":{"line":71,"column":34},"end":{"line":71,"column":35}},"loc":{"start":{"line":71,"column":54},"end":{"line":71,"column":153}},"line":71},"14":{"name":"(anonymous_14)","decl":{"start":{"line":71,"column":102},"end":{"line":71,"column":103}},"loc":{"start":{"line":71,"column":117},"end":{"line":71,"column":149}},"line":71},"15":{"name":"(anonymous_15)","decl":{"start":{"line":73,"column":34},"end":{"line":73,"column":35}},"loc":{"start":{"line":73,"column":46},"end":{"line":75,"column":5}},"line":73},"16":{"name":"(anonymous_16)","decl":{"start":{"line":76,"column":35},"end":{"line":76,"column":36}},"loc":{"start":{"line":76,"column":47},"end":{"line":81,"column":5}},"line":76},"17":{"name":"(anonymous_17)","decl":{"start":{"line":78,"column":40},"end":{"line":78,"column":41}},"loc":{"start":{"line":78,"column":53},"end":{"line":78,"column":97}},"line":78},"18":{"name":"(anonymous_18)","decl":{"start":{"line":82,"column":37},"end":{"line":82,"column":38}},"loc":{"start":{"line":82,"column":49},"end":{"line":89,"column":5}},"line":82},"19":{"name":"(anonymous_19)","decl":{"start":{"line":84,"column":40},"end":{"line":84,"column":41}},"loc":{"start":{"line":84,"column":60},"end":{"line":84,"column":159}},"line":84},"20":{"name":"(anonymous_20)","decl":{"start":{"line":84,"column":108},"end":{"line":84,"column":109}},"loc":{"start":{"line":84,"column":123},"end":{"line":84,"column":155}},"line":84},"21":{"name":"(anonymous_21)","decl":{"start":{"line":90,"column":39},"end":{"line":90,"column":40}},"loc":{"start":{"line":90,"column":55},"end":{"line":92,"column":5}},"line":90},"22":{"name":"(anonymous_22)","decl":{"start":{"line":93,"column":34},"end":{"line":93,"column":35}},"loc":{"start":{"line":93,"column":49},"end":{"line":104,"column":5}},"line":93},"23":{"name":"(anonymous_23)","decl":{"start":{"line":95,"column":15},"end":{"line":95,"column":16}},"loc":{"start":{"line":95,"column":32},"end":{"line":103,"column":9}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":37,"column":28},"end":{"line":37,"column":127}},"type":"cond-expr","locations":[{"start":{"line":37,"column":61},"end":{"line":37,"column":114}},{"start":{"line":37,"column":117},"end":{"line":37,"column":127}}],"line":37},"17":{"loc":{"start":{"line":38,"column":59},"end":{"line":38,"column":78}},"type":"binary-expr","locations":[{"start":{"line":38,"column":59},"end":{"line":38,"column":72}},{"start":{"line":38,"column":76},"end":{"line":38,"column":78}}],"line":38},"18":{"loc":{"start":{"line":42,"column":8},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":47,"column":9}},{"start":{"line":45,"column":13},"end":{"line":47,"column":9}}],"line":42},"19":{"loc":{"start":{"line":45,"column":13},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":45,"column":13},"end":{"line":47,"column":9}},{"start":{},"end":{}}],"line":45},"20":{"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":{},"end":{}}],"line":48},"21":{"loc":{"start":{"line":55,"column":12},"end":{"line":57,"column":13}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":57,"column":13}},{"start":{},"end":{}}],"line":55},"22":{"loc":{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},"type":"if","locations":[{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},{"start":{},"end":{}}],"line":77},"23":{"loc":{"start":{"line":83,"column":8},"end":{"line":88,"column":9}},"type":"if","locations":[{"start":{"line":83,"column":8},"end":{"line":88,"column":9}},{"start":{"line":86,"column":13},"end":{"line":88,"column":9}}],"line":83},"24":{"loc":{"start":{"line":98,"column":16},"end":{"line":100,"column":17}},"type":"if","locations":[{"start":{"line":98,"column":16},"end":{"line":100,"column":17}},{"start":{},"end":{}}],"line":98},"25":{"loc":{"start":{"line":98,"column":20},"end":{"line":98,"column":54}},"type":"binary-expr","locations":[{"start":{"line":98,"column":20},"end":{"line":98,"column":33}},{"start":{"line":98,"column":37},"end":{"line":98,"column":54}}],"line":98}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":7031,"33":7031,"34":7031,"35":7031,"36":7031,"37":7031,"38":7031,"39":7031,"40":7031,"41":7,"42":7024,"43":750,"44":7031,"45":757,"46":1,"47":8242,"48":8242,"49":8242,"50":8429,"51":8429,"52":178,"53":8064,"54":1,"55":8191,"56":1,"57":556,"58":1,"59":51,"60":1,"61":58,"62":80,"63":222,"64":1,"65":1257,"66":1,"67":12,"68":8,"69":16,"70":4,"71":1,"72":10,"73":4,"74":8,"75":29,"76":6,"77":1,"78":2,"79":1,"80":2014,"81":2014,"82":2014,"83":2014,"84":2014,"85":2240,"86":2240,"87":161,"88":1853,"89":1,"90":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":7031,"8":8242,"9":8191,"10":556,"11":51,"12":58,"13":80,"14":222,"15":1257,"16":12,"17":16,"18":10,"19":8,"20":29,"21":2,"22":2014,"23":2014},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[2,7029],"17":[7031,6929],"18":[7,7024],"19":[750,6274],"20":[757,6274],"21":[178,8251],"22":[8,4],"23":[4,6],"24":[161,2079],"25":[2240,246]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/planning/target.ts","sources":["/home/bob/repos/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<unknown>): 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<string> | null {\n if (this.isNamed()) {\n return this.metadata.filter(\n (m) => m.key === METADATA_KEY.NAMED_TAG,\n )[0] as interfaces.Metadata<string>;\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":"9785371fe03939b69d06918a7cfdbed5fdaf8abe","contentHash":"630bd6c86cfbd3f710e95fdb8d8389b5e856878bb7b6a636bfae0d3eaf8d7e17"},"/home/bob/repos/InversifyJS/src/planning/queryable_string.ts":{"path":"/home/bob/repos/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":7036,"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":7036,"2":8,"3":4,"4":2,"5":7,"6":13},"b":{},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/planning/queryable_string.ts","sources":["/home/bob/repos/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,EAAE,aAAa,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC3E,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":"9f3cd448af9137e88544521972a501308859cdc7","contentHash":"a9b30ca29897b446ca8e93405a062b06ec3b2602b7ad99592d970c472a488322"},"/home/bob/repos/InversifyJS/src/planning/request.ts":{"path":"/home/bob/repos/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":14007,"5":14007,"6":14007,"7":14007,"8":14007,"9":14007,"10":14007,"11":14007,"12":1,"13":6274,"14":6274,"15":6274,"16":1,"17":1},"f":{"0":1,"1":14007,"2":6274},"b":{"0":[6933,7074],"1":[1466,12541]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/planning/request.ts","sources":["/home/bob/repos/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<unknown>[];\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<any> | interfaces.Binding<any>[]),\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<unknown> | interfaces.Binding<unknown>[]),\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":"86b9118e32995d16fa2b6090c5c31b1a139eb0fa","contentHash":"ee3c3c08e90f0bad3b30d4a02a59618c8c115b67b4f18bfbfa6bc4f6a4078748"},"/home/bob/repos/InversifyJS/src/resolution/resolver.ts":{"path":"/home/bob/repos/InversifyJS/src/resolution/resolver.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":16},"end":{"line":33,"column":1}},"25":{"start":{"line":26,"column":28},"end":{"line":26,"column":110}},"26":{"start":{"line":26,"column":91},"end":{"line":26,"column":106}},"27":{"start":{"line":27,"column":4},"end":{"line":32,"column":7}},"28":{"start":{"line":28,"column":36},"end":{"line":28,"column":97}},"29":{"start":{"line":28,"column":42},"end":{"line":28,"column":70}},"30":{"start":{"line":28,"column":85},"end":{"line":28,"column":95}},"31":{"start":{"line":29,"column":35},"end":{"line":29,"column":100}},"32":{"start":{"line":29,"column":41},"end":{"line":29,"column":73}},"33":{"start":{"line":29,"column":88},"end":{"line":29,"column":98}},"34":{"start":{"line":30,"column":32},"end":{"line":30,"column":116}},"35":{"start":{"line":31,"column":8},"end":{"line":31,"column":78}},"36":{"start":{"line":34,"column":18},"end":{"line":60,"column":1}},"37":{"start":{"line":35,"column":12},"end":{"line":35,"column":104}},"38":{"start":{"line":35,"column":43},"end":{"line":35,"column":68}},"39":{"start":{"line":35,"column":57},"end":{"line":35,"column":68}},"40":{"start":{"line":35,"column":69},"end":{"line":35,"column":81}},"41":{"start":{"line":35,"column":119},"end":{"line":35,"column":196}},"42":{"start":{"line":36,"column":4},"end":{"line":36,"column":160}},"43":{"start":{"line":36,"column":141},"end":{"line":36,"column":153}},"44":{"start":{"line":37,"column":23},"end":{"line":37,"column":68}},"45":{"start":{"line":37,"column":45},"end":{"line":37,"column":65}},"46":{"start":{"line":39,"column":8},"end":{"line":39,"column":70}},"47":{"start":{"line":39,"column":15},"end":{"line":39,"column":70}},"48":{"start":{"line":40,"column":8},"end":{"line":57,"column":66}},"49":{"start":{"line":40,"column":50},"end":{"line":57,"column":66}},"50":{"start":{"line":41,"column":12},"end":{"line":41,"column":169}},"51":{"start":{"line":41,"column":160},"end":{"line":41,"column":169}},"52":{"start":{"line":42,"column":12},"end":{"line":42,"column":52}},"53":{"start":{"line":42,"column":26},"end":{"line":42,"column":52}},"54":{"start":{"line":43,"column":12},"end":{"line":55,"column":13}},"55":{"start":{"line":44,"column":32},"end":{"line":44,"column":39}},"56":{"start":{"line":44,"column":40},"end":{"line":44,"column":46}},"57":{"start":{"line":45,"column":24},"end":{"line":45,"column":34}},"58":{"start":{"line":45,"column":35},"end":{"line":45,"column":72}},"59":{"start":{"line":46,"column":24},"end":{"line":46,"column":34}},"60":{"start":{"line":46,"column":35},"end":{"line":46,"column":45}},"61":{"start":{"line":46,"column":46},"end":{"line":46,"column":55}},"62":{"start":{"line":46,"column":56},"end":{"line":46,"column":65}},"63":{"start":{"line":47,"column":24},"end":{"line":47,"column":41}},"64":{"start":{"line":47,"column":42},"end":{"line":47,"column":55}},"65":{"start":{"line":47,"column":56},"end":{"line":47,"column":65}},"66":{"start":{"line":49,"column":20},"end":{"line":49,"column":128}},"67":{"start":{"line":49,"column":110},"end":{"line":49,"column":116}},"68":{"start":{"line":49,"column":117},"end":{"line":49,"column":126}},"69":{"start":{"line":50,"column":20},"end":{"line":50,"column":106}},"70":{"start":{"line":50,"column":81},"end":{"line":50,"column":97}},"71":{"start":{"line":50,"column":98},"end":{"line":50,"column":104}},"72":{"start":{"line":51,"column":20},"end":{"line":51,"column":89}},"73":{"start":{"line":51,"column":57},"end":{"line":51,"column":72}},"74":{"start":{"line":51,"column":73},"end":{"line":51,"column":80}},"75":{"start":{"line":51,"column":81},"end":{"line":51,"column":87}},"76":{"start":{"line":52,"column":20},"end":{"line":52,"column":87}},"77":{"start":{"line":52,"column":47},"end":{"line":52,"column":62}},"78":{"start":{"line":52,"column":63},"end":{"line":52,"column":78}},"79":{"start":{"line":52,"column":79},"end":{"line":52,"column":85}},"80":{"start":{"line":53,"column":20},"end":{"line":53,"column":42}},"81":{"start":{"line":53,"column":30},"end":{"line":53,"column":42}},"82":{"start":{"line":54,"column":20},"end":{"line":54,"column":33}},"83":{"start":{"line":54,"column":34},"end":{"line":54,"column":43}},"84":{"start":{"line":56,"column":12},"end":{"line":56,"column":39}},"85":{"start":{"line":57,"column":22},"end":{"line":57,"column":34}},"86":{"start":{"line":57,"column":35},"end":{"line":57,"column":41}},"87":{"start":{"line":57,"column":54},"end":{"line":57,"column":64}},"88":{"start":{"line":58,"column":8},"end":{"line":58,"column":35}},"89":{"start":{"line":58,"column":23},"end":{"line":58,"column":35}},"90":{"start":{"line":58,"column":36},"end":{"line":58,"column":89}},"91":{"start":{"line":61,"column":0},"end":{"line":61,"column":62}},"92":{"start":{"line":62,"column":0},"end":{"line":62,"column":26}},"93":{"start":{"line":63,"column":17},"end":{"line":63,"column":65}},"94":{"start":{"line":64,"column":22},"end":{"line":64,"column":59}},"95":{"start":{"line":65,"column":16},"end":{"line":65,"column":46}},"96":{"start":{"line":66,"column":14},"end":{"line":66,"column":39}},"97":{"start":{"line":67,"column":14},"end":{"line":67,"column":39}},"98":{"start":{"line":68,"column":22},"end":{"line":68,"column":55}},"99":{"start":{"line":69,"column":19},"end":{"line":69,"column":49}},"100":{"start":{"line":70,"column":22},"end":{"line":70,"column":48}},"101":{"start":{"line":71,"column":22},"end":{"line":95,"column":1}},"102":{"start":{"line":72,"column":4},"end":{"line":94,"column":6}},"103":{"start":{"line":73,"column":8},"end":{"line":73,"column":57}},"104":{"start":{"line":74,"column":23},"end":{"line":74,"column":39}},"105":{"start":{"line":75,"column":28},"end":{"line":75,"column":49}},"106":{"start":{"line":76,"column":30},"end":{"line":76,"column":72}},"107":{"start":{"line":77,"column":39},"end":{"line":80,"column":88}},"108":{"start":{"line":81,"column":8},"end":{"line":93,"column":9}},"109":{"start":{"line":82,"column":12},"end":{"line":85,"column":15}},"110":{"start":{"line":83,"column":25},"end":{"line":83,"column":54}},"111":{"start":{"line":84,"column":16},"end":{"line":84,"column":40}},"112":{"start":{"line":88,"column":12},"end":{"line":90,"column":13}},"113":{"start":{"line":89,"column":16},"end":{"line":89,"column":33}},"114":{"start":{"line":91,"column":26},"end":{"line":91,"column":37}},"115":{"start":{"line":92,"column":12},"end":{"line":92,"column":67}},"116":{"start":{"line":96,"column":33},"end":{"line":99,"column":1}},"117":{"start":{"line":97,"column":25},"end":{"line":97,"column":72}},"118":{"start":{"line":98,"column":4},"end":{"line":98,"column":291}},"119":{"start":{"line":98,"column":75},"end":{"line":98,"column":128}},"120":{"start":{"line":98,"column":146},"end":{"line":98,"column":287}},"121":{"start":{"line":100,"column":30},"end":{"line":119,"column":1}},"122":{"start":{"line":102,"column":24},"end":{"line":102,"column":45}},"123":{"start":{"line":103,"column":4},"end":{"line":103,"column":51}},"124":{"start":{"line":104,"column":4},"end":{"line":117,"column":5}},"125":{"start":{"line":107,"column":12},"end":{"line":107,"column":35}},"126":{"start":{"line":108,"column":12},"end":{"line":108,"column":18}},"127":{"start":{"line":110,"column":12},"end":{"line":110,"column":48}},"128":{"start":{"line":111,"column":12},"end":{"line":111,"column":18}},"129":{"start":{"line":113,"column":12},"end":{"line":113,"column":141}},"130":{"start":{"line":114,"column":12},"end":{"line":114,"column":18}},"131":{"start":{"line":116,"column":12},"end":{"line":116,"column":80}},"132":{"start":{"line":118,"column":4},"end":{"line":118,"column":18}},"133":{"start":{"line":120,"column":22},"end":{"line":128,"column":1}},"134":{"start":{"line":121,"column":17},"end":{"line":121,"column":68}},"135":{"start":{"line":122,"column":4},"end":{"line":124,"column":5}},"136":{"start":{"line":123,"column":8},"end":{"line":123,"column":22}},"137":{"start":{"line":125,"column":4},"end":{"line":125,"column":34}},"138":{"start":{"line":126,"column":4},"end":{"line":126,"column":60}},"139":{"start":{"line":127,"column":4},"end":{"line":127,"column":18}},"140":{"start":{"line":129,"column":22},"end":{"line":140,"column":1}},"141":{"start":{"line":130,"column":4},"end":{"line":139,"column":7}},"142":{"start":{"line":131,"column":21},"end":{"line":131,"column":76}},"143":{"start":{"line":132,"column":8},"end":{"line":137,"column":9}},"144":{"start":{"line":133,"column":12},"end":{"line":133,"column":108}},"145":{"start":{"line":133,"column":55},"end":{"line":133,"column":104}},"146":{"start":{"line":136,"column":12},"end":{"line":136,"column":61}},"147":{"start":{"line":138,"column":8},"end":{"line":138,"column":22}},"148":{"start":{"line":142,"column":17},"end":{"line":142,"column":77}},"149":{"start":{"line":143,"column":29},"end":{"line":143,"column":84}},"150":{"start":{"line":145,"column":35},"end":{"line":145,"column":60}},"151":{"start":{"line":146,"column":4},"end":{"line":158,"column":138}},"152":{"start":{"line":147,"column":8},"end":{"line":147,"column":51}},"153":{"start":{"line":148,"column":24},"end":{"line":148,"column":45}},"154":{"start":{"line":149,"column":32},"end":{"line":149,"column":57}},"155":{"start":{"line":150,"column":34},"end":{"line":150,"column":98}},"156":{"start":{"line":151,"column":8},"end":{"line":156,"column":9}},"157":{"start":{"line":152,"column":12},"end":{"line":152,"column":85}},"158":{"start":{"line":155,"column":12},"end":{"line":155,"column":80}},"159":{"start":{"line":157,"column":8},"end":{"line":157,"column":61}},"160":{"start":{"line":159,"column":4},"end":{"line":159,"column":18}},"161":{"start":{"line":161,"column":25},"end":{"line":170,"column":1}},"162":{"start":{"line":163,"column":4},"end":{"line":168,"column":5}},"163":{"start":{"line":164,"column":8},"end":{"line":164,"column":63}},"164":{"start":{"line":167,"column":8},"end":{"line":167,"column":32}},"165":{"start":{"line":169,"column":4},"end":{"line":169,"column":18}},"166":{"start":{"line":171,"column":25},"end":{"line":181,"column":1}},"167":{"start":{"line":172,"column":21},"end":{"line":172,"column":47}},"168":{"start":{"line":173,"column":4},"end":{"line":179,"column":5}},"169":{"start":{"line":174,"column":8},"end":{"line":174,"column":51}},"170":{"start":{"line":175,"column":8},"end":{"line":177,"column":9}},"171":{"start":{"line":176,"column":12},"end":{"line":176,"column":81}},"172":{"start":{"line":178,"column":8},"end":{"line":178,"column":48}},"173":{"start":{"line":180,"column":4},"end":{"line":180,"column":18}},"174":{"start":{"line":182,"column":30},"end":{"line":201,"column":5}},"175":{"start":{"line":182,"column":87},"end":{"line":201,"column":3}},"176":{"start":{"line":184,"column":4},"end":{"line":200,"column":7}},"177":{"start":{"line":185,"column":8},"end":{"line":199,"column":9}},"178":{"start":{"line":186,"column":20},"end":{"line":186,"column":46}},"179":{"start":{"line":188,"column":16},"end":{"line":188,"column":35}},"180":{"start":{"line":189,"column":16},"end":{"line":189,"column":56}},"181":{"start":{"line":190,"column":16},"end":{"line":190,"column":29}},"182":{"start":{"line":192,"column":16},"end":{"line":192,"column":53}},"183":{"start":{"line":192,"column":39},"end":{"line":192,"column":53}},"184":{"start":{"line":193,"column":16},"end":{"line":193,"column":62}},"185":{"start":{"line":195,"column":16},"end":{"line":195,"column":35}},"186":{"start":{"line":196,"column":16},"end":{"line":196,"column":56}},"187":{"start":{"line":197,"column":16},"end":{"line":197,"column":30}},"188":{"start":{"line":198,"column":20},"end":{"line":198,"column":39}},"189":{"start":{"line":202,"column":41},"end":{"line":205,"column":1}},"190":{"start":{"line":203,"column":22},"end":{"line":203,"column":44}},"191":{"start":{"line":204,"column":4},"end":{"line":204,"column":109}},"192":{"start":{"line":206,"column":29},"end":{"line":226,"column":1}},"193":{"start":{"line":207,"column":26},"end":{"line":207,"column":37}},"194":{"start":{"line":208,"column":17},"end":{"line":208,"column":33}},"195":{"start":{"line":209,"column":4},"end":{"line":212,"column":5}},"196":{"start":{"line":210,"column":8},"end":{"line":210,"column":37}},"197":{"start":{"line":211,"column":8},"end":{"line":211,"column":31}},"198":{"start":{"line":213,"column":27},"end":{"line":221,"column":5}},"199":{"start":{"line":214,"column":28},"end":{"line":214,"column":49}},"200":{"start":{"line":215,"column":8},"end":{"line":220,"column":9}},"201":{"start":{"line":216,"column":12},"end":{"line":216,"column":57}},"202":{"start":{"line":219,"column":12},"end":{"line":219,"column":52}},"203":{"start":{"line":222,"column":29},"end":{"line":224,"column":5}},"204":{"start":{"line":225,"column":4},"end":{"line":225,"column":30}},"205":{"start":{"line":228,"column":13},"end":{"line":228,"column":67}},"206":{"start":{"line":229,"column":4},"end":{"line":229,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":44},"end":{"line":25,"column":45}},"loc":{"start":{"line":25,"column":89},"end":{"line":33,"column":1}},"line":25},"7":{"name":"adopt","decl":{"start":{"line":26,"column":13},"end":{"line":26,"column":18}},"loc":{"start":{"line":26,"column":26},"end":{"line":26,"column":112}},"line":26},"8":{"name":"(anonymous_8)","decl":{"start":{"line":26,"column":70},"end":{"line":26,"column":71}},"loc":{"start":{"line":26,"column":89},"end":{"line":26,"column":108}},"line":26},"9":{"name":"(anonymous_9)","decl":{"start":{"line":27,"column":36},"end":{"line":27,"column":37}},"loc":{"start":{"line":27,"column":63},"end":{"line":32,"column":5}},"line":27},"10":{"name":"fulfilled","decl":{"start":{"line":28,"column":17},"end":{"line":28,"column":26}},"loc":{"start":{"line":28,"column":34},"end":{"line":28,"column":99}},"line":28},"11":{"name":"rejected","decl":{"start":{"line":29,"column":17},"end":{"line":29,"column":25}},"loc":{"start":{"line":29,"column":33},"end":{"line":29,"column":102}},"line":29},"12":{"name":"step","decl":{"start":{"line":30,"column":17},"end":{"line":30,"column":21}},"loc":{"start":{"line":30,"column":30},"end":{"line":30,"column":118}},"line":30},"13":{"name":"(anonymous_13)","decl":{"start":{"line":34,"column":48},"end":{"line":34,"column":49}},"loc":{"start":{"line":34,"column":73},"end":{"line":60,"column":1}},"line":34},"14":{"name":"(anonymous_14)","decl":{"start":{"line":35,"column":30},"end":{"line":35,"column":31}},"loc":{"start":{"line":35,"column":41},"end":{"line":35,"column":83}},"line":35},"15":{"name":"(anonymous_15)","decl":{"start":{"line":36,"column":128},"end":{"line":36,"column":129}},"loc":{"start":{"line":36,"column":139},"end":{"line":36,"column":155}},"line":36},"16":{"name":"verb","decl":{"start":{"line":37,"column":13},"end":{"line":37,"column":17}},"loc":{"start":{"line":37,"column":21},"end":{"line":37,"column":70}},"line":37},"17":{"name":"(anonymous_17)","decl":{"start":{"line":37,"column":30},"end":{"line":37,"column":31}},"loc":{"start":{"line":37,"column":43},"end":{"line":37,"column":67}},"line":37},"18":{"name":"step","decl":{"start":{"line":38,"column":13},"end":{"line":38,"column":17}},"loc":{"start":{"line":38,"column":22},"end":{"line":59,"column":5}},"line":38},"19":{"name":"(anonymous_19)","decl":{"start":{"line":71,"column":22},"end":{"line":71,"column":23}},"loc":{"start":{"line":71,"column":46},"end":{"line":95,"column":1}},"line":71},"20":{"name":"(anonymous_20)","decl":{"start":{"line":72,"column":11},"end":{"line":72,"column":12}},"loc":{"start":{"line":72,"column":30},"end":{"line":94,"column":5}},"line":72},"21":{"name":"(anonymous_21)","decl":{"start":{"line":82,"column":37},"end":{"line":82,"column":38}},"loc":{"start":{"line":82,"column":61},"end":{"line":85,"column":13}},"line":82},"22":{"name":"(anonymous_22)","decl":{"start":{"line":96,"column":33},"end":{"line":96,"column":34}},"loc":{"start":{"line":96,"column":61},"end":{"line":99,"column":1}},"line":96},"23":{"name":"(anonymous_23)","decl":{"start":{"line":98,"column":61},"end":{"line":98,"column":62}},"loc":{"start":{"line":98,"column":73},"end":{"line":98,"column":130}},"line":98},"24":{"name":"(anonymous_24)","decl":{"start":{"line":98,"column":132},"end":{"line":98,"column":133}},"loc":{"start":{"line":98,"column":144},"end":{"line":98,"column":289}},"line":98},"25":{"name":"(anonymous_25)","decl":{"start":{"line":100,"column":30},"end":{"line":100,"column":31}},"loc":{"start":{"line":100,"column":72},"end":{"line":119,"column":1}},"line":100},"26":{"name":"(anonymous_26)","decl":{"start":{"line":120,"column":22},"end":{"line":120,"column":23}},"loc":{"start":{"line":120,"column":75},"end":{"line":128,"column":1}},"line":120},"27":{"name":"(anonymous_27)","decl":{"start":{"line":129,"column":22},"end":{"line":129,"column":23}},"loc":{"start":{"line":129,"column":64},"end":{"line":140,"column":1}},"line":129},"28":{"name":"(anonymous_28)","decl":{"start":{"line":130,"column":50},"end":{"line":130,"column":51}},"loc":{"start":{"line":130,"column":62},"end":{"line":139,"column":5}},"line":130},"29":{"name":"(anonymous_29)","decl":{"start":{"line":133,"column":33},"end":{"line":133,"column":34}},"loc":{"start":{"line":133,"column":53},"end":{"line":133,"column":106}},"line":133},"30":{"name":"_onActivation","decl":{"start":{"line":141,"column":9},"end":{"line":141,"column":22}},"loc":{"start":{"line":141,"column":51},"end":{"line":160,"column":1}},"line":141},"31":{"name":"(anonymous_31)","decl":{"start":{"line":161,"column":25},"end":{"line":161,"column":26}},"loc":{"start":{"line":161,"column":69},"end":{"line":170,"column":1}},"line":161},"32":{"name":"(anonymous_32)","decl":{"start":{"line":171,"column":25},"end":{"line":171,"column":26}},"loc":{"start":{"line":171,"column":73},"end":{"line":181,"column":1}},"line":171},"33":{"name":"(anonymous_33)","decl":{"start":{"line":182,"column":30},"end":{"line":182,"column":31}},"loc":{"start":{"line":182,"column":85},"end":{"line":201,"column":5}},"line":182},"34":{"name":"(anonymous_34)","decl":{"start":{"line":182,"column":128},"end":{"line":182,"column":129}},"loc":{"start":{"line":182,"column":140},"end":{"line":201,"column":1}},"line":182},"35":{"name":"(anonymous_35)","decl":{"start":{"line":184,"column":29},"end":{"line":184,"column":30}},"loc":{"start":{"line":184,"column":43},"end":{"line":200,"column":5}},"line":184},"36":{"name":"(anonymous_36)","decl":{"start":{"line":202,"column":41},"end":{"line":202,"column":42}},"loc":{"start":{"line":202,"column":81},"end":{"line":205,"column":1}},"line":202},"37":{"name":"(anonymous_37)","decl":{"start":{"line":206,"column":29},"end":{"line":206,"column":30}},"loc":{"start":{"line":206,"column":50},"end":{"line":226,"column":1}},"line":206},"38":{"name":"(anonymous_38)","decl":{"start":{"line":213,"column":27},"end":{"line":213,"column":28}},"loc":{"start":{"line":213,"column":39},"end":{"line":221,"column":5}},"line":213},"39":{"name":"resolve","decl":{"start":{"line":227,"column":9},"end":{"line":227,"column":16}},"loc":{"start":{"line":227,"column":26},"end":{"line":230,"column":1}},"line":227}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":25,"column":16},"end":{"line":33,"column":1}},"type":"binary-expr","locations":[{"start":{"line":25,"column":17},"end":{"line":25,"column":21}},{"start":{"line":25,"column":25},"end":{"line":25,"column":39}},{"start":{"line":25,"column":44},"end":{"line":33,"column":1}}],"line":25},"17":{"loc":{"start":{"line":26,"column":35},"end":{"line":26,"column":109}},"type":"cond-expr","locations":[{"start":{"line":26,"column":56},"end":{"line":26,"column":61}},{"start":{"line":26,"column":64},"end":{"line":26,"column":109}}],"line":26},"18":{"loc":{"start":{"line":27,"column":16},"end":{"line":27,"column":34}},"type":"binary-expr","locations":[{"start":{"line":27,"column":16},"end":{"line":27,"column":17}},{"start":{"line":27,"column":22},"end":{"line":27,"column":33}}],"line":27},"19":{"loc":{"start":{"line":30,"column":32},"end":{"line":30,"column":115}},"type":"cond-expr","locations":[{"start":{"line":30,"column":46},"end":{"line":30,"column":67}},{"start":{"line":30,"column":70},"end":{"line":30,"column":115}}],"line":30},"20":{"loc":{"start":{"line":31,"column":51},"end":{"line":31,"column":67}},"type":"binary-expr","locations":[{"start":{"line":31,"column":51},"end":{"line":31,"column":61}},{"start":{"line":31,"column":65},"end":{"line":31,"column":67}}],"line":31},"21":{"loc":{"start":{"line":34,"column":18},"end":{"line":60,"column":1}},"type":"binary-expr","locations":[{"start":{"line":34,"column":19},"end":{"line":34,"column":23}},{"start":{"line":34,"column":27},"end":{"line":34,"column":43}},{"start":{"line":34,"column":48},"end":{"line":60,"column":1}}],"line":34},"22":{"loc":{"start":{"line":35,"column":43},"end":{"line":35,"column":68}},"type":"if","locations":[{"start":{"line":35,"column":43},"end":{"line":35,"column":68}},{"start":{},"end":{}}],"line":35},"23":{"loc":{"start":{"line":35,"column":134},"end":{"line":35,"column":184}},"type":"cond-expr","locations":[{"start":{"line":35,"column":167},"end":{"line":35,"column":175}},{"start":{"line":35,"column":178},"end":{"line":35,"column":184}}],"line":35},"24":{"loc":{"start":{"line":36,"column":74},"end":{"line":36,"column":156}},"type":"binary-expr","locations":[{"start":{"line":36,"column":74},"end":{"line":36,"column":102}},{"start":{"line":36,"column":107},"end":{"line":36,"column":155}}],"line":36},"25":{"loc":{"start":{"line":39,"column":8},"end":{"line":39,"column":70}},"type":"if","locations":[{"start":{"line":39,"column":8},"end":{"line":39,"column":70}},{"start":{},"end":{}}],"line":39},"26":{"loc":{"start":{"line":40,"column":15},"end":{"line":40,"column":45}},"type":"binary-expr","locations":[{"start":{"line":40,"column":15},"end":{"line":40,"column":16}},{"start":{"line":40,"column":21},"end":{"line":40,"column":44}}],"line":40},"27":{"loc":{"start":{"line":40,"column":28},"end":{"line":40,"column":44}},"type":"binary-expr","locations":[{"start":{"line":40,"column":28},"end":{"line":40,"column":33}},{"start":{"line":40,"column":38},"end":{"line":40,"column":43}}],"line":40},"28":{"loc":{"start":{"line":41,"column":12},"end":{"line":41,"column":169}},"type":"if","locations":[{"start":{"line":41,"column":12},"end":{"line":41,"column":169}},{"start":{},"end":{}}],"line":41},"29":{"loc":{"start":{"line":41,"column":23},"end":{"line":41,"column":158}},"type":"binary-expr","locations":[{"start":{"line":41,"column":23},"end":{"line":41,"column":24}},{"start":{"line":41,"column":29},"end":{"line":41,"column":125}},{"start":{"line":41,"column":130},"end":{"line":41,"column":158}}],"line":41},"30":{"loc":{"start":{"line":41,"column":33},"end":{"line":41,"column":125}},"type":"cond-expr","locations":[{"start":{"line":41,"column":45},"end":{"line":41,"column":56}},{"start":{"line":41,"column":59},"end":{"line":41,"column":125}}],"line":41},"31":{"loc":{"start":{"line":41,"column":59},"end":{"line":41,"column":125}},"type":"cond-expr","locations":[{"start":{"line":41,"column":67},"end":{"line":41,"column":116}},{"start":{"line":41,"column":119},"end":{"line":41,"column":125}}],"line":41},"32":{"loc":{"start":{"line":41,"column":67},"end":{"line":41,"column":116}},"type":"binary-expr","locations":[{"start":{"line":41,"column":67},"end":{"line":41,"column":77}},{"start":{"line":41,"column":82},"end":{"line":41,"column":115}}],"line":41},"33":{"loc":{"start":{"line":41,"column":82},"end":{"line":41,"column":112}},"type":"binary-expr","locations":[{"start":{"line":41,"column":83},"end":{"line":41,"column":98}},{"start":{"line":41,"column":103},"end":{"line":41,"column":112}}],"line":41},"34":{"loc":{"start":{"line":42,"column":12},"end":{"line":42,"column":52}},"type":"if","locations":[{"start":{"line":42,"column":12},"end":{"line":42,"column":52}},{"start":{},"end":{}}],"line":42},"35":{"loc":{"start":{"line":43,"column":12},"end":{"line":55,"column":13}},"type":"switch","locations":[{"start":{"line":44,"column":16},"end":{"line":44,"column":23}},{"start":{"line":44,"column":24},"end":{"line":44,"column":46}},{"start":{"line":45,"column":16},"end":{"line":45,"column":72}},{"start":{"line":46,"column":16},"end":{"line":46,"column":65}},{"start":{"line":47,"column":16},"end":{"line":47,"column":65}},{"start":{"line":48,"column":16},"end":{"line":54,"column":43}}],"line":43},"36":{"loc":{"start":{"line":49,"column":20},"end":{"line":49,"column":128}},"type":"if","locations":[{"start":{"line":49,"column":20},"end":{"line":49,"column":128}},{"start":{},"end":{}}],"line":49},"37":{"loc":{"start":{"line":49,"column":24},"end":{"line":49,"column":106}},"type":"binary-expr","locations":[{"start":{"line":49,"column":24},"end":{"line":49,"column":74}},{"start":{"line":49,"column":79},"end":{"line":49,"column":90}},{"start":{"line":49,"column":94},"end":{"line":49,"column":105}}],"line":49},"38":{"loc":{"start":{"line":49,"column":42},"end":{"line":49,"column":73}},"type":"binary-expr","locations":[{"start":{"line":49,"column":42},"end":{"line":49,"column":54}},{"start":{"line":49,"column":58},"end":{"line":49,"column":73}}],"line":49},"39":{"loc":{"start":{"line":50,"column":20},"end":{"line":50,"column":106}},"type":"if","locations":[{"start":{"line":50,"column":20},"end":{"line":50,"column":106}},{"start":{},"end":{}}],"line":50},"40":{"loc":{"start":{"line":50,"column":24},"end":{"line":50,"column":77}},"type":"binary-expr","locations":[{"start":{"line":50,"column":24},"end":{"line":50,"column":35}},{"start":{"line":50,"column":40},"end":{"line":50,"column":42}},{"start":{"line":50,"column":47},"end":{"line":50,"column":59}},{"start":{"line":50,"column":63},"end":{"line":50,"column":75}}],"line":50},"41":{"loc":{"start":{"line":51,"column":20},"end":{"line":51,"column":89}},"type":"if","locations":[{"start":{"line":51,"column":20},"end":{"line":51,"column":89}},{"start":{},"end":{}}],"line":51},"42":{"loc":{"start":{"line":51,"column":24},"end":{"line":51,"column":53}},"type":"binary-expr","locations":[{"start":{"line":51,"column":24},"end":{"line":51,"column":35}},{"start":{"line":51,"column":39},"end":{"line":51,"column":53}}],"line":51},"43":{"loc":{"start":{"line":52,"column":20},"end":{"line":52,"column":87}},"type":"if","locations":[{"start":{"line":52,"column":20},"end":{"line":52,"column":87}},{"start":{},"end":{}}],"line":52},"44":{"loc":{"start":{"line":52,"column":24},"end":{"line":52,"column":43}},"type":"binary-expr","locations":[{"start":{"line":52,"column":24},"end":{"line":52,"column":25}},{"start":{"line":52,"column":29},"end":{"line":52,"column":43}}],"line":52},"45":{"loc":{"start":{"line":53,"column":20},"end":{"line":53,"column":42}},"type":"if","locations":[{"start":{"line":53,"column":20},"end":{"line":53,"column":42}},{"start":{},"end":{}}],"line":53},"46":{"loc":{"start":{"line":58,"column":8},"end":{"line":58,"column":35}},"type":"if","locations":[{"start":{"line":58,"column":8},"end":{"line":58,"column":35}},{"start":{},"end":{}}],"line":58},"47":{"loc":{"start":{"line":58,"column":52},"end":{"line":58,"column":74}},"type":"cond-expr","locations":[{"start":{"line":58,"column":60},"end":{"line":58,"column":65}},{"start":{"line":58,"column":68},"end":{"line":58,"column":74}}],"line":58},"48":{"loc":{"start":{"line":76,"column":30},"end":{"line":76,"column":72}},"type":"binary-expr","locations":[{"start":{"line":76,"column":30},"end":{"line":76,"column":44}},{"start":{"line":76,"column":48},"end":{"line":76,"column":72}}],"line":76},"49":{"loc":{"start":{"line":77,"column":39},"end":{"line":80,"column":88}},"type":"binary-expr","locations":[{"start":{"line":77,"column":39},"end":{"line":77,"column":61}},{"start":{"line":78,"column":12},"end":{"line":78,"column":41}},{"start":{"line":79,"column":12},"end":{"line":79,"column":27}},{"start":{"line":80,"column":12},"end":{"line":80,"column":88}}],"line":77},"50":{"loc":{"start":{"line":81,"column":8},"end":{"line":93,"column":9}},"type":"if","locations":[{"start":{"line":81,"column":8},"end":{"line":93,"column":9}},{"start":{"line":87,"column":13},"end":{"line":93,"column":9}}],"line":81},"51":{"loc":{"start":{"line":81,"column":12},"end":{"line":81,"column":55}},"type":"binary-expr","locations":[{"start":{"line":81,"column":12},"end":{"line":81,"column":27}},{"start":{"line":81,"column":31},"end":{"line":81,"column":55}}],"line":81},"52":{"loc":{"start":{"line":88,"column":12},"end":{"line":90,"column":13}},"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":90,"column":13}},{"start":{},"end":{}}],"line":88},"53":{"loc":{"start":{"line":88,"column":16},"end":{"line":88,"column":68}},"type":"binary-expr","locations":[{"start":{"line":88,"column":16},"end":{"line":88,"column":43}},{"start":{"line":88,"column":47},"end":{"line":88,"column":68}}],"line":88},"54":{"loc":{"start":{"line":104,"column":4},"end":{"line":117,"column":5}},"type":"switch","locations":[{"start":{"line":105,"column":8},"end":{"line":105,"column":59}},{"start":{"line":106,"column":8},"end":{"line":108,"column":18}},{"start":{"line":109,"column":8},"end":{"line":111,"column":18}},{"start":{"line":112,"column":8},"end":{"line":114,"column":18}},{"start":{"line":115,"column":8},"end":{"line":116,"column":80}}],"line":104},"55":{"loc":{"start":{"line":122,"column":4},"end":{"line":124,"column":5}},"type":"if","locations":[{"start":{"line":122,"column":4},"end":{"line":124,"column":5}},{"start":{},"end":{}}],"line":122},"56":{"loc":{"start":{"line":132,"column":8},"end":{"line":137,"column":9}},"type":"if","locations":[{"start":{"line":132,"column":8},"end":{"line":137,"column":9}},{"start":{"line":135,"column":13},"end":{"line":137,"column":9}}],"line":132},"57":{"loc":{"start":{"line":151,"column":8},"end":{"line":156,"column":9}},"type":"if","locations":[{"start":{"line":151,"column":8},"end":{"line":156,"column":9}},{"start":{"line":154,"column":13},"end":{"line":156,"column":9}}],"line":151},"58":{"loc":{"start":{"line":158,"column":13},"end":{"line":158,"column":136}},"type":"binary-expr","locations":[{"start":{"line":158,"column":13},"end":{"line":158,"column":51}},{"start":{"line":158,"column":55},"end":{"line":158,"column":136}}],"line":158},"59":{"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":166,"column":9},"end":{"line":168,"column":5}}],"line":163},"60":{"loc":{"start":{"line":175,"column":8},"end":{"line":177,"column":9}},"type":"if","locations":[{"start":{"line":175,"column":8},"end":{"line":177,"column":9}},{"start":{},"end":{}}],"line":175},"61":{"loc":{"start":{"line":185,"column":8},"end":{"line":199,"column":9}},"type":"switch","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":46}},{"start":{"line":187,"column":12},"end":{"line":190,"column":29}},{"start":{"line":191,"column":12},"end":{"line":193,"column":62}},{"start":{"line":194,"column":12},"end":{"line":197,"column":30}},{"start":{"line":198,"column":12},"end":{"line":198,"column":39}}],"line":185},"62":{"loc":{"start":{"line":192,"column":16},"end":{"line":192,"column":53}},"type":"if","locations":[{"start":{"line":192,"column":16},"end":{"line":192,"column":53}},{"start":{},"end":{}}],"line":192},"63":{"loc":{"start":{"line":204,"column":11},"end":{"line":204,"column":108}},"type":"cond-expr","locations":[{"start":{"line":204,"column":51},"end":{"line":204,"column":94}},{"start":{"line":204,"column":97},"end":{"line":204,"column":108}}],"line":204},"64":{"loc":{"start":{"line":215,"column":8},"end":{"line":220,"column":9}},"type":"if","locations":[{"start":{"line":215,"column":8},"end":{"line":220,"column":9}},{"start":{"line":218,"column":13},"end":{"line":220,"column":9}}],"line":215}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":20,"26":0,"27":17,"28":20,"29":20,"30":0,"31":0,"32":0,"33":0,"34":37,"35":17,"36":1,"37":17,"38":20,"39":0,"40":20,"41":17,"42":17,"43":0,"44":51,"45":37,"46":37,"47":0,"48":37,"49":94,"50":94,"51":0,"52":94,"53":0,"54":94,"55":37,"56":37,"57":20,"58":20,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":37,"67":17,"68":17,"69":20,"70":20,"71":20,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":57,"85":0,"86":0,"87":94,"88":17,"89":0,"90":17,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1362,"103":1230,"104":1230,"105":1230,"106":1230,"107":1230,"108":1230,"109":30,"110":51,"111":51,"112":1200,"113":4,"114":1196,"115":1196,"116":1,"117":415,"118":415,"119":415,"120":2,"121":1,"122":1124,"123":1124,"124":1122,"125":69,"126":69,"127":3,"128":3,"129":635,"130":296,"131":415,"132":448,"133":1,"134":1196,"135":1196,"136":72,"137":1124,"138":448,"139":448,"140":1,"141":1196,"142":1124,"143":448,"144":81,"145":77,"146":367,"147":448,"148":444,"149":444,"150":444,"151":444,"152":456,"153":456,"154":456,"155":456,"156":456,"157":5,"158":451,"159":456,"160":444,"161":1,"162":444,"163":18,"164":426,"165":444,"166":1,"167":451,"168":451,"169":25,"170":25,"171":12,"172":13,"173":439,"174":1,"175":17,"176":17,"177":57,"178":17,"179":17,"180":17,"181":17,"182":20,"183":17,"184":3,"185":3,"186":3,"187":3,"188":17,"189":1,"190":456,"191":456,"192":1,"193":444,"194":444,"195":444,"196":25,"197":25,"198":444,"199":900,"200":900,"201":465,"202":435,"203":444,"204":444,"205":676,"206":676},"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":1362,"20":1230,"21":51,"22":415,"23":415,"24":2,"25":1124,"26":1196,"27":1196,"28":1124,"29":77,"30":444,"31":444,"32":451,"33":17,"34":17,"35":57,"36":456,"37":444,"38":900,"39":676},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[1,1,1],"17":[20,0],"18":[17,17],"19":[17,20],"20":[17,17],"21":[1,1,1],"22":[0,20],"23":[0,17],"24":[17,17],"25":[0,37],"26":[111,17],"27":[17,0],"28":[0,94],"29":[94,0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,94],"35":[37,37,20,0,0,37],"36":[17,20],"37":[37,37,37],"38":[37,0],"39":[20,0],"40":[20,20,0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,17],"47":[17,0],"48":[1230,1230],"49":[1230,554,554,554],"50":[30,1200],"51":[1230,81],"52":[4,1196],"53":[1200,10],"54":[67,69,3,635,415],"55":[72,1124],"56":[81,367],"57":[5,451],"58":[456,21],"59":[18,426],"60":[12,13],"61":[17,17,20,3,17],"62":[17,3],"63":[24,432],"64":[465,435]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/resolution/resolver.ts","sources":["/home/bob/repos/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 = <T>(requestScope: interfaces.RequestScope) =>\n (request: interfaces.Request): undefined | T | Promise<T> | (T | Promise<T>)[] => {\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<T>;\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<T>(requestScope, request, binding as unknown as interfaces.Binding<T>);\n }\n };\n\nconst _resolveFactoryFromBinding = <T>(\n binding: interfaces.Binding<T>,\n context: interfaces.Context\n): T | Promise<T> => {\n const factoryDetails = getFactoryDetails(binding);\n return tryAndThrowErrorIfStackOverflow(\n () => (factoryDetails.factory as interfaces.FactoryTypeFunction<T>).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 = <T = unknown>(\n requestScope: interfaces.RequestScope,\n request: interfaces.Request,\n binding: interfaces.Binding<T>,\n): T | Promise<T> => {\n let result: T | Promise<T> | 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<T>;\n break;\n case BindingTypeEnum.Constructor:\n result = binding.implementationType as T;\n break;\n case BindingTypeEnum.Instance:\n result = resolveInstance<T>(\n binding,\n binding.implementationType as interfaces.Newable<T>,\n childRequests,\n _resolveRequest<T>(requestScope)\n );\n break;\n default:\n result = _resolveFactoryFromBinding(binding, request.parentContext);\n }\n\n return result as T | Promise<T>;\n}\n\nconst _resolveInScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>,\n resolveFromBinding: () => T | Promise<T>\n): T | Promise<T> => {\n let result = tryGetFromScope<T>(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 = <T>(\n requestScope: interfaces.RequestScope,\n request: interfaces.Request,\n binding: interfaces.Binding<T>,\n): T | Promise<T> => {\n return _resolveInScope<T>(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<T>(request, binding, result);\n }\n return result;\n })\n}\n\nfunction _onActivation<T>(request: interfaces.Request, binding: interfaces.Binding<T>, resolved: T): T | Promise<T> {\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<T>(activationsIterator as Iterator<interfaces.BindingActivation<T>>, context, result);\n } else {\n result = _activateContainer<T>(activationsIterator as Iterator<interfaces.BindingActivation<T>>, 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 = <T>(context: interfaces.Context, binding: interfaces.Binding<T>, previousResult: T): T | Promise<T> => {\n let result: T | Promise<T>;\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 = <T>(\n activationsIterator: Iterator<interfaces.BindingActivation<T>>,\n context: interfaces.Context,\n result: T,\n): T | Promise<T> => {\n let activation = activationsIterator.next();\n\n while (!activation.done) {\n result = activation.value(context, result) as T;\n\n if (isPromise<T>(result)) {\n return _activateContainerAsync(activationsIterator, context, result);\n }\n\n activation = activationsIterator.next();\n }\n\n return result;\n}\n\nconst _activateContainerAsync = async<T>(\n activationsIterator: Iterator<interfaces.BindingActivation<T>>,\n context: interfaces.Context,\n resultPromise: Promise<T>,\n): Promise<T> => {\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 = <T>(container: interfaces.Container, serviceIdentifier: interfaces.ServiceIdentifier<T>) => {\n // smell accessing _activations, but similar pattern is done in planner.getBindingDictionary()\n const activations = (container as unknown as { _activations: interfaces.Lookup<interfaces.BindingActivation<unknown>> })._activations;\n\n return activations.hasKey(serviceIdentifier) ? activations.get(serviceIdentifier).values() : [].values();\n}\n\nconst _getContainersIterator = (container: interfaces.Container): Iterator<interfaces.Container> => {\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<interfaces.Container> = () => {\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<interfaces.Container> = {\n next: getNextContainer,\n };\n\n return containersIterator;\n}\n\nfunction resolve<T>(context: interfaces.Context): T | Promise<T> | (T | Promise<T>)[] {\n const _f = _resolveRequest<T>(context.plan.rootRequest.requestScope as interfaces.RequestScope);\n return _f(context.plan.rootRequest) as T | Promise<T> | (T | Promise<T>)[];\n}\n\nexport { resolve };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f886d0ce844caf1520270f9500abf421d6a259be","contentHash":"f2ec92645f09a628e38c2e6d7f67caff4b42b5f934039423db1fd208ba19ff6a"},"/home/bob/repos/InversifyJS/src/scope/scope.ts":{"path":"/home/bob/repos/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":12,"column":119},"end":{"line":12,"column":196}},"18":{"start":{"line":13,"column":4},"end":{"line":13,"column":160}},"19":{"start":{"line":13,"column":141},"end":{"line":13,"column":153}},"20":{"start":{"line":14,"column":23},"end":{"line":14,"column":68}},"21":{"start":{"line":14,"column":45},"end":{"line":14,"column":65}},"22":{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},"23":{"start":{"line":16,"column":15},"end":{"line":16,"column":70}},"24":{"start":{"line":17,"column":8},"end":{"line":34,"column":66}},"25":{"start":{"line":17,"column":50},"end":{"line":34,"column":66}},"26":{"start":{"line":18,"column":12},"end":{"line":18,"column":169}},"27":{"start":{"line":18,"column":160},"end":{"line":18,"column":169}},"28":{"start":{"line":19,"column":12},"end":{"line":19,"column":52}},"29":{"start":{"line":19,"column":26},"end":{"line":19,"column":52}},"30":{"start":{"line":20,"column":12},"end":{"line":32,"column":13}},"31":{"start":{"line":21,"column":32},"end":{"line":21,"column":39}},"32":{"start":{"line":21,"column":40},"end":{"line":21,"column":46}},"33":{"start":{"line":22,"column":24},"end":{"line":22,"column":34}},"34":{"start":{"line":22,"column":35},"end":{"line":22,"column":72}},"35":{"start":{"line":23,"column":24},"end":{"line":23,"column":34}},"36":{"start":{"line":23,"column":35},"end":{"line":23,"column":45}},"37":{"start":{"line":23,"column":46},"end":{"line":23,"column":55}},"38":{"start":{"line":23,"column":56},"end":{"line":23,"column":65}},"39":{"start":{"line":24,"column":24},"end":{"line":24,"column":41}},"40":{"start":{"line":24,"column":42},"end":{"line":24,"column":55}},"41":{"start":{"line":24,"column":56},"end":{"line":24,"column":65}},"42":{"start":{"line":26,"column":20},"end":{"line":26,"column":128}},"43":{"start":{"line":26,"column":110},"end":{"line":26,"column":116}},"44":{"start":{"line":26,"column":117},"end":{"line":26,"column":126}},"45":{"start":{"line":27,"column":20},"end":{"line":27,"column":106}},"46":{"start":{"line":27,"column":81},"end":{"line":27,"column":97}},"47":{"start":{"line":27,"column":98},"end":{"line":27,"column":104}},"48":{"start":{"line":28,"column":20},"end":{"line":28,"column":89}},"49":{"start":{"line":28,"column":57},"end":{"line":28,"column":72}},"50":{"start":{"line":28,"column":73},"end":{"line":28,"column":80}},"51":{"start":{"line":28,"column":81},"end":{"line":28,"column":87}},"52":{"start":{"line":29,"column":20},"end":{"line":29,"column":87}},"53":{"start":{"line":29,"column":47},"end":{"line":29,"column":62}},"54":{"start":{"line":29,"column":63},"end":{"line":29,"column":78}},"55":{"start":{"line":29,"column":79},"end":{"line":29,"column":85}},"56":{"start":{"line":30,"column":20},"end":{"line":30,"column":42}},"57":{"start":{"line":30,"column":30},"end":{"line":30,"column":42}},"58":{"start":{"line":31,"column":20},"end":{"line":31,"column":33}},"59":{"start":{"line":31,"column":34},"end":{"line":31,"column":43}},"60":{"start":{"line":33,"column":12},"end":{"line":33,"column":39}},"61":{"start":{"line":34,"column":22},"end":{"line":34,"column":34}},"62":{"start":{"line":34,"column":35},"end":{"line":34,"column":41}},"63":{"start":{"line":34,"column":54},"end":{"line":34,"column":64}},"64":{"start":{"line":35,"column":8},"end":{"line":35,"column":35}},"65":{"start":{"line":35,"column":23},"end":{"line":35,"column":35}},"66":{"start":{"line":35,"column":36},"end":{"line":35,"column":89}},"67":{"start":{"line":38,"column":0},"end":{"line":38,"column":62}},"68":{"start":{"line":39,"column":0},"end":{"line":39,"column":55}},"69":{"start":{"line":40,"column":22},"end":{"line":40,"column":59}},"70":{"start":{"line":41,"column":14},"end":{"line":41,"column":39}},"71":{"start":{"line":42,"column":22},"end":{"line":51,"column":1}},"72":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"73":{"start":{"line":44,"column":8},"end":{"line":44,"column":29}},"74":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"75":{"start":{"line":48,"column":8},"end":{"line":48,"column":44}},"76":{"start":{"line":50,"column":4},"end":{"line":50,"column":16}},"77":{"start":{"line":52,"column":0},"end":{"line":52,"column":42}},"78":{"start":{"line":53,"column":18},"end":{"line":60,"column":1}},"79":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"80":{"start":{"line":55,"column":8},"end":{"line":55,"column":47}},"81":{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},"82":{"start":{"line":58,"column":8},"end":{"line":58,"column":59}},"83":{"start":{"line":61,"column":0},"end":{"line":61,"column":34}},"84":{"start":{"line":62,"column":26},"end":{"line":66,"column":1}},"85":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"86":{"start":{"line":64,"column":8},"end":{"line":64,"column":45}},"87":{"start":{"line":67,"column":28},"end":{"line":73,"column":1}},"88":{"start":{"line":68,"column":4},"end":{"line":68,"column":27}},"89":{"start":{"line":69,"column":4},"end":{"line":69,"column":29}},"90":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"91":{"start":{"line":71,"column":8},"end":{"line":71,"column":63}},"92":{"start":{"line":74,"column":39},"end":{"line":93,"column":5}},"93":{"start":{"line":74,"column":73},"end":{"line":93,"column":3}},"94":{"start":{"line":76,"column":4},"end":{"line":92,"column":7}},"95":{"start":{"line":77,"column":8},"end":{"line":91,"column":9}},"96":{"start":{"line":79,"column":16},"end":{"line":79,"column":42}},"97":{"start":{"line":80,"column":16},"end":{"line":80,"column":40}},"98":{"start":{"line":82,"column":16},"end":{"line":82,"column":35}},"99":{"start":{"line":83,"column":16},"end":{"line":83,"column":39}},"100":{"start":{"line":84,"column":16},"end":{"line":84,"column":30}},"101":{"start":{"line":86,"column":16},"end":{"line":86,"column":33}},"102":{"start":{"line":87,"column":16},"end":{"line":87,"column":37}},"103":{"start":{"line":88,"column":16},"end":{"line":88,"column":42}},"104":{"start":{"line":89,"column":16},"end":{"line":89,"column":27}},"105":{"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":128},"end":{"line":13,"column":129}},"loc":{"start":{"line":13,"column":139},"end":{"line":13,"column":155}},"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":{},"end":{}}],"line":12},"7":{"loc":{"start":{"line":12,"column":134},"end":{"line":12,"column":184}},"type":"cond-expr","locations":[{"start":{"line":12,"column":167},"end":{"line":12,"column":175}},{"start":{"line":12,"column":178},"end":{"line":12,"column":184}}],"line":12},"8":{"loc":{"start":{"line":13,"column":74},"end":{"line":13,"column":156}},"type":"binary-expr","locations":[{"start":{"line":13,"column":74},"end":{"line":13,"column":102}},{"start":{"line":13,"column":107},"end":{"line":13,"column":155}}],"line":13},"9":{"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":{},"end":{}}],"line":16},"10":{"loc":{"start":{"line":17,"column":15},"end":{"line":17,"column":45}},"type":"binary-expr","locations":[{"start":{"line":17,"column":15},"end":{"line":17,"column":16}},{"start":{"line":17,"column":21},"end":{"line":17,"column":44}}],"line":17},"11":{"loc":{"start":{"line":17,"column":28},"end":{"line":17,"column":44}},"type":"binary-expr","locations":[{"start":{"line":17,"column":28},"end":{"line":17,"column":33}},{"start":{"line":17,"column":38},"end":{"line":17,"column":43}}],"line":17},"12":{"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":{},"end":{}}],"line":18},"13":{"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},"14":{"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},"15":{"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},"16":{"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},"17":{"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},"18":{"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":{},"end":{}}],"line":19},"19":{"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},"20":{"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":{},"end":{}}],"line":26},"21":{"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},"22":{"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},"23":{"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":{},"end":{}}],"line":27},"24":{"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},"25":{"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":{},"end":{}}],"line":28},"26":{"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},"27":{"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":{},"end":{}}],"line":29},"28":{"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},"29":{"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":{},"end":{}}],"line":30},"30":{"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":{},"end":{}}],"line":35},"31":{"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},"32":{"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":{},"end":{}}],"line":43},"33":{"loc":{"start":{"line":43,"column":8},"end":{"line":43,"column":91}},"type":"binary-expr","locations":[{"start":{"line":43,"column":9},"end":{"line":43,"column":69}},{"start":{"line":43,"column":74},"end":{"line":43,"column":91}}],"line":43},"34":{"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":{},"end":{}}],"line":46},"35":{"loc":{"start":{"line":46,"column":8},"end":{"line":47,"column":36}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":66}},{"start":{"line":47,"column":8},"end":{"line":47,"column":36}}],"line":46},"36":{"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":{},"end":{}}],"line":54},"37":{"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":{},"end":{}}],"line":57},"38":{"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":{},"end":{}}],"line":63},"39":{"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":{},"end":{}}],"line":70},"40":{"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":32,"2":1,"3":32,"4":29,"5":29,"6":0,"7":3,"8":3,"9":3,"10":61,"11":32,"12":1,"13":32,"14":35,"15":3,"16":32,"17":32,"18":32,"19":0,"20":96,"21":64,"22":64,"23":0,"24":64,"25":192,"26":192,"27":0,"28":192,"29":0,"30":192,"31":64,"32":64,"33":32,"34":32,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":96,"43":32,"44":32,"45":64,"46":29,"47":29,"48":35,"49":3,"50":3,"51":3,"52":32,"53":0,"54":0,"55":0,"56":32,"57":0,"58":32,"59":32,"60":96,"61":6,"62":6,"63":192,"64":32,"65":3,"66":29,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1196,"73":68,"74":1128,"75":4,"76":1124,"77":1,"78":1,"79":448,"80":146,"81":448,"82":6,"83":1,"84":1,"85":6,"86":6,"87":1,"88":146,"89":146,"90":146,"91":32,"92":1,"93":32,"94":32,"95":96,"96":32,"97":32,"98":32,"99":29,"100":29,"101":3,"102":3,"103":3,"104":3,"105":29},"f":{"0":32,"1":32,"2":1,"3":32,"4":29,"5":3,"6":61,"7":32,"8":35,"9":0,"10":96,"11":64,"12":64,"13":1196,"14":448,"15":6,"16":146,"17":32,"18":32,"19":96},"b":{"0":[1,1,1],"1":[31,1],"2":[32,32],"3":[29,32],"4":[32,32],"5":[1,1,1],"6":[3,32],"7":[0,32],"8":[32,32],"9":[0,64],"10":[224,32],"11":[32,0],"12":[0,192],"13":[192,0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,192],"19":[61,64,32,0,0,96],"20":[32,64],"21":[96,61,58],"22":[96,35],"23":[29,35],"24":[64,58,29,29],"25":[3,32],"26":[35,6],"27":[0,32],"28":[32,32],"29":[0,32],"30":[3,29],"31":[29,0],"32":[68,1128],"33":[1196,884],"34":[4,1124],"35":[1128,12],"36":[146,302],"37":[6,442],"38":[6,0],"39":[32,114],"40":[32,32,3,29]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/scope/scope.ts","sources":["/home/bob/repos/InversifyJS/src/scope/scope.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8D;AAE9D,wCAA2C;AAEpC,IAAM,eAAe,GAAG,UAC7B,YAAqC,EACrC,OAA8B;IAG9B,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACxE,OAAO,OAAO,CAAC,KAAM,CAAC;IACxB,CAAC;IAED,IACE,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO;QAC1C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAC5B,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAmB,CAAC;IACxD,CAAC;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,gCAAgB,CAAC,SAAS,EAAE,CAAC;QACjD,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,IACE,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO,EAC1C,CAAC;QACD,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;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,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;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,CAAC;QACtB,KAAK,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;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 } from '../constants/literal_types';\nimport type { interfaces } from '../interfaces/interfaces'\nimport { isPromise } from '../utils/async';\n\nexport const tryGetFromScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>\n): T | Promise<T> | 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<T>;\n }\n return null;\n}\n\nexport const saveToScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>,\n result: T | Promise<T>\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 = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>,\n result: T | Promise<T>\n): void => {\n if (\n !requestScope.has(binding.id)\n ) {\n requestScope.set(binding.id, result);\n }\n}\n\nconst _saveToSingletonScope = <T>(\n binding: interfaces.Binding<T>,\n result: T | Promise<T>\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 <T>(\n binding: interfaces.Binding<T>,\n asyncResult: Promise<T>\n): Promise<void> => {\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":"65507cea9c626dabef3b0d904c51121dfa897d4e","contentHash":"46f9e83da2efdd3ff9756a1287e1fe5f8f9c712bd916c5553ca0addf631cbfc7"},"/home/bob/repos/InversifyJS/src/utils/async.ts":{"path":"/home/bob/repos/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":30}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":64}},"3":{"start":{"line":6,"column":29},"end":{"line":6,"column":108}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":67}},"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}}},"fnMap":{"0":{"name":"isPromise","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":18}},"loc":{"start":{"line":5,"column":27},"end":{"line":8,"column":1}},"line":5},"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":6,"column":29},"end":{"line":6,"column":108}},"type":"binary-expr","locations":[{"start":{"line":6,"column":30},"end":{"line":6,"column":56}},{"start":{"line":6,"column":60},"end":{"line":6,"column":75}},{"start":{"line":6,"column":80},"end":{"line":6,"column":108}}],"line":6},"1":{"loc":{"start":{"line":7,"column":11},"end":{"line":7,"column":66}},"type":"binary-expr","locations":[{"start":{"line":7,"column":11},"end":{"line":7,"column":29}},{"start":{"line":7,"column":33},"end":{"line":7,"column":66}}],"line":7},"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":{},"end":{}}],"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":1,"3":2280,"4":2280,"5":421,"6":27,"7":394},"f":{"0":2280,"1":421},"b":{"0":[2280,1595,685],"1":[2280,1660],"2":[27,394],"3":[394,28]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/utils/async.ts","sources":["/home/bob/repos/InversifyJS/src/utils/async.ts"],"names":[],"mappings":";;AAcS,8BAAS;AAAE,gEAA0B;AAd9C,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;AAED,SAAS,0BAA0B,CAAI,MAAe;IACpD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC","sourcesContent":["function isPromise<T>(object: unknown): object is Promise<T> {\r\n const isObjectOrFunction = (typeof object === 'object' && object !== null) || typeof object === 'function';\r\n\r\n return isObjectOrFunction && typeof (object as PromiseLike<T>).then === \"function\";\r\n}\r\n\r\nfunction isPromiseOrContainsPromise<T>(object: unknown): object is Promise<T> | (T | Promise<T>)[] {\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":"a3f4fccd9da0c567c8b1b02452dcf50bdbcaa678","contentHash":"c897f019abdb8a50a06966c54c6d06ae6f144fb93b02148971a881a2cc535452"},"/home/bob/repos/InversifyJS/src/utils/binding_utils.ts":{"path":"/home/bob/repos/InversifyJS/src/utils/binding_utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":91}},"26":{"start":{"line":27,"column":22},"end":{"line":27,"column":55}},"27":{"start":{"line":28,"column":17},"end":{"line":28,"column":65}},"28":{"start":{"line":29,"column":22},"end":{"line":29,"column":59}},"29":{"start":{"line":30,"column":21},"end":{"line":30,"column":46}},"30":{"start":{"line":31,"column":25},"end":{"line":41,"column":1}},"31":{"start":{"line":32,"column":4},"end":{"line":40,"column":6}},"32":{"start":{"line":33,"column":8},"end":{"line":39,"column":10}},"33":{"start":{"line":34,"column":24},"end":{"line":34,"column":26}},"34":{"start":{"line":35,"column":12},"end":{"line":37,"column":13}},"35":{"start":{"line":35,"column":26},"end":{"line":35,"column":27}},"36":{"start":{"line":36,"column":16},"end":{"line":36,"column":42}},"37":{"start":{"line":38,"column":12},"end":{"line":38,"column":96}},"38":{"start":{"line":38,"column":48},"end":{"line":38,"column":92}},"39":{"start":{"line":42,"column":0},"end":{"line":42,"column":48}},"40":{"start":{"line":43,"column":23},"end":{"line":68,"column":1}},"41":{"start":{"line":44,"column":21},"end":{"line":44,"column":25}},"42":{"start":{"line":45,"column":4},"end":{"line":63,"column":5}},"43":{"start":{"line":48,"column":12},"end":{"line":48,"column":39}},"44":{"start":{"line":49,"column":12},"end":{"line":49,"column":18}},"45":{"start":{"line":52,"column":12},"end":{"line":52,"column":52}},"46":{"start":{"line":53,"column":12},"end":{"line":53,"column":18}},"47":{"start":{"line":55,"column":12},"end":{"line":55,"column":46}},"48":{"start":{"line":56,"column":12},"end":{"line":56,"column":18}},"49":{"start":{"line":58,"column":12},"end":{"line":58,"column":42}},"50":{"start":{"line":59,"column":12},"end":{"line":59,"column":18}},"51":{"start":{"line":61,"column":12},"end":{"line":61,"column":41}},"52":{"start":{"line":62,"column":12},"end":{"line":62,"column":18}},"53":{"start":{"line":64,"column":4},"end":{"line":67,"column":5}},"54":{"start":{"line":65,"column":40},"end":{"line":65,"column":116}},"55":{"start":{"line":66,"column":8},"end":{"line":66,"column":107}},"56":{"start":{"line":69,"column":0},"end":{"line":69,"column":44}},"57":{"start":{"line":70,"column":24},"end":{"line":81,"column":1}},"58":{"start":{"line":71,"column":4},"end":{"line":80,"column":5}},"59":{"start":{"line":73,"column":12},"end":{"line":73,"column":97}},"60":{"start":{"line":75,"column":12},"end":{"line":75,"column":99}},"61":{"start":{"line":77,"column":12},"end":{"line":77,"column":107}},"62":{"start":{"line":79,"column":12},"end":{"line":79,"column":77}},"63":{"start":{"line":82,"column":0},"end":{"line":82,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":31,"column":25},"end":{"line":31,"column":26}},"loc":{"start":{"line":31,"column":46},"end":{"line":41,"column":1}},"line":31},"7":{"name":"(anonymous_7)","decl":{"start":{"line":32,"column":11},"end":{"line":32,"column":12}},"loc":{"start":{"line":32,"column":30},"end":{"line":40,"column":5}},"line":32},"8":{"name":"(anonymous_8)","decl":{"start":{"line":33,"column":15},"end":{"line":33,"column":16}},"loc":{"start":{"line":33,"column":27},"end":{"line":39,"column":9}},"line":33},"9":{"name":"(anonymous_9)","decl":{"start":{"line":38,"column":33},"end":{"line":38,"column":34}},"loc":{"start":{"line":38,"column":46},"end":{"line":38,"column":94}},"line":38},"10":{"name":"(anonymous_10)","decl":{"start":{"line":43,"column":23},"end":{"line":43,"column":24}},"loc":{"start":{"line":43,"column":42},"end":{"line":68,"column":1}},"line":43},"11":{"name":"(anonymous_11)","decl":{"start":{"line":70,"column":24},"end":{"line":70,"column":25}},"loc":{"start":{"line":70,"column":43},"end":{"line":81,"column":1}},"line":70}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":45,"column":4},"end":{"line":63,"column":5}},"type":"switch","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":59}},{"start":{"line":47,"column":8},"end":{"line":49,"column":18}},{"start":{"line":50,"column":8},"end":{"line":50,"column":57}},{"start":{"line":51,"column":8},"end":{"line":53,"column":18}},{"start":{"line":54,"column":8},"end":{"line":56,"column":18}},{"start":{"line":57,"column":8},"end":{"line":59,"column":18}},{"start":{"line":60,"column":8},"end":{"line":62,"column":18}}],"line":45},"17":{"loc":{"start":{"line":64,"column":4},"end":{"line":67,"column":5}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":67,"column":5}},{"start":{},"end":{}}],"line":64},"18":{"loc":{"start":{"line":71,"column":4},"end":{"line":80,"column":5}},"type":"switch","locations":[{"start":{"line":72,"column":8},"end":{"line":73,"column":97}},{"start":{"line":74,"column":8},"end":{"line":75,"column":99}},{"start":{"line":76,"column":8},"end":{"line":77,"column":107}},{"start":{"line":78,"column":8},"end":{"line":79,"column":77}}],"line":71}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"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":2,"37":1,"38":2,"39":1,"40":1,"41":1124,"42":1124,"43":69,"44":69,"45":638,"46":638,"47":405,"48":405,"49":6,"50":6,"51":4,"52":4,"53":1124,"54":2,"55":2,"56":1,"57":1,"58":416,"59":4,"60":6,"61":405,"62":1,"63":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":1,"8":1,"9":2,"10":1124,"11":416},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[67,69,3,638,405,6,4],"17":[2,1122],"18":[4,6,405,1]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/utils/binding_utils.ts","sources":["/home/bob/repos/InversifyJS/src/utils/binding_utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAsE;AAEtE,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,CAAC;QACrB,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;IACV,CAAC;IACD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAGxB,IAAM,yBAAyB,GAAG,IAAA,4CAA4B,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,UAAG,UAAU,CAAC,oBAAoB,cAAI,yBAAyB,CAAE,CAAC,CAAC;IACrF,CAAC;AACH,CAAC,CAAA;AA5BY,QAAA,gBAAgB,oBA4B5B;AAEM,IAAM,iBAAiB,GAAG,UAAc,OAA8B;IAC3E,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,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,kCAA2B,OAAO,CAAC,IAAI,CAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAA;AAXY,QAAA,iBAAiB,qBAW7B","sourcesContent":["import { getServiceIdentifierAsString } from '../utils/serialization';\nimport type { interfaces } from '../interfaces/interfaces'\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 = <T = unknown>(binding: interfaces.Binding<T>): 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<T>('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 = <T = unknown>(binding: interfaces.Binding<T>): 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":"afc05b3f8ae27b033ce326fac339ab4437d9e7c3","contentHash":"299fa3f90300ca8377a6465edcc3048be0c8fbdfe16cf8d9183c8ca0319456d1"},"/home/bob/repos/InversifyJS/src/utils/factory_type.ts":{"path":"/home/bob/repos/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":60}},"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":3},"end":{"line":9,"column":58}},"type":"binary-expr","locations":[{"start":{"line":9,"column":3},"end":{"line":9,"column":14}},{"start":{"line":9,"column":19},"end":{"line":9,"column":57}}],"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":"/home/bob/repos/InversifyJS/src/utils/factory_type.ts","sources":["/home/bob/repos/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,2BAAX,WAAW,QAItB","sourcesContent":["export enum FactoryType {\n DynamicValue = 'toDynamicValue',\n Factory = 'toFactory',\n Provider = 'toProvider',\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"1893208320435fe7def790ea600889e9c8af613d","contentHash":"38a36b731fa2c612aa1f5f8311469d97d6e957a90f4d260c4720ebd896fba173"},"/home/bob/repos/InversifyJS/src/resolution/instantiation.ts":{"path":"/home/bob/repos/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":23,"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":15},"end":{"line":15,"column":52}},"15":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"16":{"start":{"line":17,"column":6},"end":{"line":17,"column":68}},"17":{"start":{"line":17,"column":51},"end":{"line":17,"column":63}},"18":{"start":{"line":19,"column":4},"end":{"line":19,"column":39}},"19":{"start":{"line":21,"column":4},"end":{"line":21,"column":33}},"20":{"start":{"line":21,"column":26},"end":{"line":21,"column":33}},"21":{"start":{"line":22,"column":4},"end":{"line":22,"column":17}},"22":{"start":{"line":24,"column":25},"end":{"line":28,"column":2}},"23":{"start":{"line":25,"column":4},"end":{"line":25,"column":72}},"24":{"start":{"line":27,"column":4},"end":{"line":27,"column":21}},"25":{"start":{"line":29,"column":19},"end":{"line":35,"column":1}},"26":{"start":{"line":30,"column":4},"end":{"line":30,"column":42}},"27":{"start":{"line":30,"column":31},"end":{"line":30,"column":42}},"28":{"start":{"line":31,"column":17},"end":{"line":31,"column":19}},"29":{"start":{"line":32,"column":4},"end":{"line":32,"column":141}},"30":{"start":{"line":32,"column":21},"end":{"line":32,"column":141}},"31":{"start":{"line":32,"column":40},"end":{"line":32,"column":141}},"32":{"start":{"line":32,"column":109},"end":{"line":32,"column":141}},"33":{"start":{"line":33,"column":4},"end":{"line":33,"column":36}},"34":{"start":{"line":34,"column":4},"end":{"line":34,"column":18}},"35":{"start":{"line":36,"column":16},"end":{"line":44,"column":1}},"36":{"start":{"line":37,"column":28},"end":{"line":37,"column":110}},"37":{"start":{"line":37,"column":91},"end":{"line":37,"column":106}},"38":{"start":{"line":38,"column":4},"end":{"line":43,"column":7}},"39":{"start":{"line":39,"column":36},"end":{"line":39,"column":97}},"40":{"start":{"line":39,"column":42},"end":{"line":39,"column":70}},"41":{"start":{"line":39,"column":85},"end":{"line":39,"column":95}},"42":{"start":{"line":40,"column":35},"end":{"line":40,"column":100}},"43":{"start":{"line":40,"column":41},"end":{"line":40,"column":73}},"44":{"start":{"line":40,"column":88},"end":{"line":40,"column":98}},"45":{"start":{"line":41,"column":32},"end":{"line":41,"column":116}},"46":{"start":{"line":42,"column":8},"end":{"line":42,"column":78}},"47":{"start":{"line":45,"column":18},"end":{"line":71,"column":1}},"48":{"start":{"line":46,"column":12},"end":{"line":46,"column":104}},"49":{"start":{"line":46,"column":43},"end":{"line":46,"column":68}},"50":{"start":{"line":46,"column":57},"end":{"line":46,"column":68}},"51":{"start":{"line":46,"column":69},"end":{"line":46,"column":81}},"52":{"start":{"line":46,"column":119},"end":{"line":46,"column":196}},"53":{"start":{"line":47,"column":4},"end":{"line":47,"column":160}},"54":{"start":{"line":47,"column":141},"end":{"line":47,"column":153}},"55":{"start":{"line":48,"column":23},"end":{"line":48,"column":68}},"56":{"start":{"line":48,"column":45},"end":{"line":48,"column":65}},"57":{"start":{"line":50,"column":8},"end":{"line":50,"column":70}},"58":{"start":{"line":50,"column":15},"end":{"line":50,"column":70}},"59":{"start":{"line":51,"column":8},"end":{"line":68,"column":66}},"60":{"start":{"line":51,"column":50},"end":{"line":68,"column":66}},"61":{"start":{"line":52,"column":12},"end":{"line":52,"column":169}},"62":{"start":{"line":52,"column":160},"end":{"line":52,"column":169}},"63":{"start":{"line":53,"column":12},"end":{"line":53,"column":52}},"64":{"start":{"line":53,"column":26},"end":{"line":53,"column":52}},"65":{"start":{"line":54,"column":12},"end":{"line":66,"column":13}},"66":{"start":{"line":55,"column":32},"end":{"line":55,"column":39}},"67":{"start":{"line":55,"column":40},"end":{"line":55,"column":46}},"68":{"start":{"line":56,"column":24},"end":{"line":56,"column":34}},"69":{"start":{"line":56,"column":35},"end":{"line":56,"column":72}},"70":{"start":{"line":57,"column":24},"end":{"line":57,"column":34}},"71":{"start":{"line":57,"column":35},"end":{"line":57,"column":45}},"72":{"start":{"line":57,"column":46},"end":{"line":57,"column":55}},"73":{"start":{"line":57,"column":56},"end":{"line":57,"column":65}},"74":{"start":{"line":58,"column":24},"end":{"line":58,"column":41}},"75":{"start":{"line":58,"column":42},"end":{"line":58,"column":55}},"76":{"start":{"line":58,"column":56},"end":{"line":58,"column":65}},"77":{"start":{"line":60,"column":20},"end":{"line":60,"column":128}},"78":{"start":{"line":60,"column":110},"end":{"line":60,"column":116}},"79":{"start":{"line":60,"column":117},"end":{"line":60,"column":126}},"80":{"start":{"line":61,"column":20},"end":{"line":61,"column":106}},"81":{"start":{"line":61,"column":81},"end":{"line":61,"column":97}},"82":{"start":{"line":61,"column":98},"end":{"line":61,"column":104}},"83":{"start":{"line":62,"column":20},"end":{"line":62,"column":89}},"84":{"start":{"line":62,"column":57},"end":{"line":62,"column":72}},"85":{"start":{"line":62,"column":73},"end":{"line":62,"column":80}},"86":{"start":{"line":62,"column":81},"end":{"line":62,"column":87}},"87":{"start":{"line":63,"column":20},"end":{"line":63,"column":87}},"88":{"start":{"line":63,"column":47},"end":{"line":63,"column":62}},"89":{"start":{"line":63,"column":63},"end":{"line":63,"column":78}},"90":{"start":{"line":63,"column":79},"end":{"line":63,"column":85}},"91":{"start":{"line":64,"column":20},"end":{"line":64,"column":42}},"92":{"start":{"line":64,"column":30},"end":{"line":64,"column":42}},"93":{"start":{"line":65,"column":20},"end":{"line":65,"column":33}},"94":{"start":{"line":65,"column":34},"end":{"line":65,"column":43}},"95":{"start":{"line":67,"column":12},"end":{"line":67,"column":39}},"96":{"start":{"line":68,"column":22},"end":{"line":68,"column":34}},"97":{"start":{"line":68,"column":35},"end":{"line":68,"column":41}},"98":{"start":{"line":68,"column":54},"end":{"line":68,"column":64}},"99":{"start":{"line":69,"column":8},"end":{"line":69,"column":35}},"100":{"start":{"line":69,"column":23},"end":{"line":69,"column":35}},"101":{"start":{"line":69,"column":36},"end":{"line":69,"column":89}},"102":{"start":{"line":72,"column":20},"end":{"line":80,"column":1}},"103":{"start":{"line":73,"column":4},"end":{"line":78,"column":5}},"104":{"start":{"line":73,"column":40},"end":{"line":78,"column":5}},"105":{"start":{"line":73,"column":53},"end":{"line":73,"column":54}},"106":{"start":{"line":73,"column":60},"end":{"line":73,"column":71}},"107":{"start":{"line":74,"column":8},"end":{"line":77,"column":9}},"108":{"start":{"line":75,"column":12},"end":{"line":75,"column":65}},"109":{"start":{"line":75,"column":21},"end":{"line":75,"column":65}},"110":{"start":{"line":76,"column":12},"end":{"line":76,"column":28}},"111":{"start":{"line":79,"column":4},"end":{"line":79,"column":61}},"112":{"start":{"line":81,"column":0},"end":{"line":81,"column":62}},"113":{"start":{"line":82,"column":0},"end":{"line":82,"column":42}},"114":{"start":{"line":83,"column":19},"end":{"line":83,"column":53}},"115":{"start":{"line":84,"column":22},"end":{"line":84,"column":59}},"116":{"start":{"line":85,"column":19},"end":{"line":85,"column":70}},"117":{"start":{"line":86,"column":14},"end":{"line":86,"column":39}},"118":{"start":{"line":88,"column":4},"end":{"line":102,"column":100}},"119":{"start":{"line":89,"column":24},"end":{"line":89,"column":52}},"120":{"start":{"line":90,"column":25},"end":{"line":90,"column":49}},"121":{"start":{"line":91,"column":8},"end":{"line":97,"column":9}},"122":{"start":{"line":92,"column":12},"end":{"line":92,"column":67}},"123":{"start":{"line":95,"column":12},"end":{"line":95,"column":65}},"124":{"start":{"line":96,"column":12},"end":{"line":96,"column":64}},"125":{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},"126":{"start":{"line":99,"column":12},"end":{"line":99,"column":90}},"127":{"start":{"line":101,"column":8},"end":{"line":101,"column":32}},"128":{"start":{"line":106,"column":4},"end":{"line":118,"column":5}},"129":{"start":{"line":107,"column":23},"end":{"line":107,"column":70}},"130":{"start":{"line":108,"column":46},"end":{"line":108,"column":98}},"131":{"start":{"line":109,"column":8},"end":{"line":114,"column":9}},"132":{"start":{"line":110,"column":12},"end":{"line":110,"column":88}},"133":{"start":{"line":113,"column":12},"end":{"line":113,"column":83}},"134":{"start":{"line":117,"column":8},"end":{"line":117,"column":30}},"135":{"start":{"line":119,"column":4},"end":{"line":119,"column":18}},"136":{"start":{"line":123,"column":19},"end":{"line":123,"column":120}},"137":{"start":{"line":124,"column":4},"end":{"line":130,"column":7}},"138":{"start":{"line":125,"column":23},"end":{"line":125,"column":42}},"139":{"start":{"line":126,"column":24},"end":{"line":126,"column":54}},"140":{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},"141":{"start":{"line":128,"column":12},"end":{"line":128,"column":43}},"142":{"start":{"line":131,"column":4},"end":{"line":131,"column":20}},"143":{"start":{"line":134,"column":4},"end":{"line":147,"column":7}},"144":{"start":{"line":136,"column":8},"end":{"line":146,"column":11}},"145":{"start":{"line":137,"column":12},"end":{"line":145,"column":13}},"146":{"start":{"line":138,"column":24},"end":{"line":138,"column":87}},"147":{"start":{"line":140,"column":20},"end":{"line":140,"column":54}},"148":{"start":{"line":141,"column":20},"end":{"line":141,"column":80}},"149":{"start":{"line":143,"column":20},"end":{"line":143,"column":51}},"150":{"start":{"line":144,"column":20},"end":{"line":144,"column":181}},"151":{"start":{"line":150,"column":4},"end":{"line":165,"column":7}},"152":{"start":{"line":152,"column":8},"end":{"line":164,"column":11}},"153":{"start":{"line":153,"column":12},"end":{"line":153,"column":28}},"154":{"start":{"line":154,"column":12},"end":{"line":162,"column":13}},"155":{"start":{"line":155,"column":16},"end":{"line":155,"column":60}},"156":{"start":{"line":156,"column":16},"end":{"line":161,"column":17}},"157":{"start":{"line":157,"column":20},"end":{"line":157,"column":60}},"158":{"start":{"line":160,"column":20},"end":{"line":160,"column":47}},"159":{"start":{"line":163,"column":12},"end":{"line":163,"column":48}},"160":{"start":{"line":168,"column":30},"end":{"line":168,"column":60}},"161":{"start":{"line":169,"column":4},"end":{"line":174,"column":5}},"162":{"start":{"line":170,"column":8},"end":{"line":170,"column":72}},"163":{"start":{"line":170,"column":54},"end":{"line":170,"column":68}},"164":{"start":{"line":173,"column":8},"end":{"line":173,"column":22}},"165":{"start":{"line":178,"column":4},"end":{"line":188,"column":5}},"166":{"start":{"line":179,"column":19},"end":{"line":179,"column":75}},"167":{"start":{"line":180,"column":8},"end":{"line":187,"column":9}},"168":{"start":{"line":181,"column":12},"end":{"line":181,"column":103}},"169":{"start":{"line":184,"column":12},"end":{"line":186,"column":13}},"170":{"start":{"line":185,"column":16},"end":{"line":185,"column":96}},"171":{"start":{"line":191,"column":4},"end":{"line":193,"column":5}},"172":{"start":{"line":192,"column":8},"end":{"line":192,"column":54}},"173":{"start":{"line":196,"column":28},"end":{"line":198,"column":31}},"174":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"175":{"start":{"line":200,"column":8},"end":{"line":200,"column":97}},"176":{"start":{"line":202,"column":4},"end":{"line":204,"column":5}},"177":{"start":{"line":203,"column":8},"end":{"line":203,"column":93}},"178":{"start":{"line":207,"column":4},"end":{"line":207,"column":49}},"179":{"start":{"line":208,"column":17},"end":{"line":208,"column":71}},"180":{"start":{"line":209,"column":4},"end":{"line":214,"column":5}},"181":{"start":{"line":210,"column":8},"end":{"line":210,"column":121}},"182":{"start":{"line":210,"column":55},"end":{"line":210,"column":117}},"183":{"start":{"line":213,"column":8},"end":{"line":213,"column":62}}},"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":20,"column":1}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":38},"end":{"line":17,"column":39}},"loc":{"start":{"line":17,"column":49},"end":{"line":17,"column":65}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":6},"end":{"line":20,"column":7}},"loc":{"start":{"line":20,"column":28},"end":{"line":23,"column":1}},"line":20},"5":{"name":"(anonymous_5)","decl":{"start":{"line":24,"column":80},"end":{"line":24,"column":81}},"loc":{"start":{"line":24,"column":95},"end":{"line":26,"column":1}},"line":24},"6":{"name":"(anonymous_6)","decl":{"start":{"line":26,"column":5},"end":{"line":26,"column":6}},"loc":{"start":{"line":26,"column":20},"end":{"line":28,"column":1}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":29,"column":50},"end":{"line":29,"column":51}},"loc":{"start":{"line":29,"column":65},"end":{"line":35,"column":1}},"line":29},"8":{"name":"(anonymous_8)","decl":{"start":{"line":36,"column":44},"end":{"line":36,"column":45}},"loc":{"start":{"line":36,"column":89},"end":{"line":44,"column":1}},"line":36},"9":{"name":"adopt","decl":{"start":{"line":37,"column":13},"end":{"line":37,"column":18}},"loc":{"start":{"line":37,"column":26},"end":{"line":37,"column":112}},"line":37},"10":{"name":"(anonymous_10)","decl":{"start":{"line":37,"column":70},"end":{"line":37,"column":71}},"loc":{"start":{"line":37,"column":89},"end":{"line":37,"column":108}},"line":37},"11":{"name":"(anonymous_11)","decl":{"start":{"line":38,"column":36},"end":{"line":38,"column":37}},"loc":{"start":{"line":38,"column":63},"end":{"line":43,"column":5}},"line":38},"12":{"name":"fulfilled","decl":{"start":{"line":39,"column":17},"end":{"line":39,"column":26}},"loc":{"start":{"line":39,"column":34},"end":{"line":39,"column":99}},"line":39},"13":{"name":"rejected","decl":{"start":{"line":40,"column":17},"end":{"line":40,"column":25}},"loc":{"start":{"line":40,"column":33},"end":{"line":40,"column":102}},"line":40},"14":{"name":"step","decl":{"start":{"line":41,"column":17},"end":{"line":41,"column":21}},"loc":{"start":{"line":41,"column":30},"end":{"line":41,"column":118}},"line":41},"15":{"name":"(anonymous_15)","decl":{"start":{"line":45,"column":48},"end":{"line":45,"column":49}},"loc":{"start":{"line":45,"column":73},"end":{"line":71,"column":1}},"line":45},"16":{"name":"(anonymous_16)","decl":{"start":{"line":46,"column":30},"end":{"line":46,"column":31}},"loc":{"start":{"line":46,"column":41},"end":{"line":46,"column":83}},"line":46},"17":{"name":"(anonymous_17)","decl":{"start":{"line":47,"column":128},"end":{"line":47,"column":129}},"loc":{"start":{"line":47,"column":139},"end":{"line":47,"column":155}},"line":47},"18":{"name":"verb","decl":{"start":{"line":48,"column":13},"end":{"line":48,"column":17}},"loc":{"start":{"line":48,"column":21},"end":{"line":48,"column":70}},"line":48},"19":{"name":"(anonymous_19)","decl":{"start":{"line":48,"column":30},"end":{"line":48,"column":31}},"loc":{"start":{"line":48,"column":43},"end":{"line":48,"column":67}},"line":48},"20":{"name":"step","decl":{"start":{"line":49,"column":13},"end":{"line":49,"column":17}},"loc":{"start":{"line":49,"column":22},"end":{"line":70,"column":5}},"line":49},"21":{"name":"(anonymous_21)","decl":{"start":{"line":72,"column":52},"end":{"line":72,"column":53}},"loc":{"start":{"line":72,"column":78},"end":{"line":80,"column":1}},"line":72},"22":{"name":"_resolveRequests","decl":{"start":{"line":87,"column":9},"end":{"line":87,"column":25}},"loc":{"start":{"line":87,"column":57},"end":{"line":103,"column":1}},"line":87},"23":{"name":"(anonymous_23)","decl":{"start":{"line":88,"column":32},"end":{"line":88,"column":33}},"loc":{"start":{"line":88,"column":74},"end":{"line":102,"column":5}},"line":88},"24":{"name":"_createInstance","decl":{"start":{"line":104,"column":9},"end":{"line":104,"column":24}},"loc":{"start":{"line":104,"column":64},"end":{"line":120,"column":1}},"line":104},"25":{"name":"createInstanceWithInjections","decl":{"start":{"line":121,"column":9},"end":{"line":121,"column":37}},"loc":{"start":{"line":121,"column":44},"end":{"line":132,"column":1}},"line":121},"26":{"name":"(anonymous_26)","decl":{"start":{"line":124,"column":34},"end":{"line":124,"column":35}},"loc":{"start":{"line":124,"column":54},"end":{"line":130,"column":5}},"line":124},"27":{"name":"createInstanceWithInjectionsAsync","decl":{"start":{"line":133,"column":9},"end":{"line":133,"column":42}},"loc":{"start":{"line":133,"column":49},"end":{"line":148,"column":1}},"line":133},"28":{"name":"(anonymous_28)","decl":{"start":{"line":134,"column":43},"end":{"line":134,"column":44}},"loc":{"start":{"line":134,"column":55},"end":{"line":147,"column":5}},"line":134},"29":{"name":"(anonymous_29)","decl":{"start":{"line":136,"column":33},"end":{"line":136,"column":34}},"loc":{"start":{"line":136,"column":47},"end":{"line":146,"column":9}},"line":136},"30":{"name":"possiblyWaitInjections","decl":{"start":{"line":149,"column":9},"end":{"line":149,"column":31}},"loc":{"start":{"line":149,"column":59},"end":{"line":166,"column":1}},"line":149},"31":{"name":"(anonymous_31)","decl":{"start":{"line":150,"column":43},"end":{"line":150,"column":44}},"loc":{"start":{"line":150,"column":55},"end":{"line":165,"column":5}},"line":150},"32":{"name":"(anonymous_32)","decl":{"start":{"line":152,"column":33},"end":{"line":152,"column":34}},"loc":{"start":{"line":152,"column":47},"end":{"line":164,"column":9}},"line":152},"33":{"name":"_getInstanceAfterPostConstruct","decl":{"start":{"line":167,"column":9},"end":{"line":167,"column":39}},"loc":{"start":{"line":167,"column":56},"end":{"line":175,"column":1}},"line":167},"34":{"name":"(anonymous_34)","decl":{"start":{"line":170,"column":40},"end":{"line":170,"column":41}},"loc":{"start":{"line":170,"column":52},"end":{"line":170,"column":70}},"line":170},"35":{"name":"_postConstruct","decl":{"start":{"line":176,"column":9},"end":{"line":176,"column":23}},"loc":{"start":{"line":176,"column":42},"end":{"line":189,"column":1}},"line":176},"36":{"name":"_validateInstanceResolution","decl":{"start":{"line":190,"column":9},"end":{"line":190,"column":36}},"loc":{"start":{"line":190,"column":54},"end":{"line":194,"column":1}},"line":190},"37":{"name":"_throwIfHandlingDeactivation","decl":{"start":{"line":195,"column":9},"end":{"line":195,"column":37}},"loc":{"start":{"line":195,"column":55},"end":{"line":205,"column":1}},"line":195},"38":{"name":"resolveInstance","decl":{"start":{"line":206,"column":9},"end":{"line":206,"column":24}},"loc":{"start":{"line":206,"column":73},"end":{"line":215,"column":1}},"line":206},"39":{"name":"(anonymous_39)","decl":{"start":{"line":210,"column":27},"end":{"line":210,"column":28}},"loc":{"start":{"line":210,"column":53},"end":{"line":210,"column":119}},"line":210}},"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":{},"end":{}}],"line":6},"3":{"loc":{"start":{"line":13,"column":22},"end":{"line":23,"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":23,"column":2}}],"line":13},"4":{"loc":{"start":{"line":13,"column":57},"end":{"line":23,"column":2}},"type":"cond-expr","locations":[{"start":{"line":13,"column":74},"end":{"line":20,"column":1}},{"start":{"line":20,"column":6},"end":{"line":23,"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":{},"end":{}}],"line":14},"6":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":16},"7":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":85}},"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":13}},{"start":{"line":16,"column":18},"end":{"line":16,"column":84}}],"line":16},"8":{"loc":{"start":{"line":16,"column":18},"end":{"line":16,"column":84}},"type":"cond-expr","locations":[{"start":{"line":16,"column":34},"end":{"line":16,"column":47}},{"start":{"line":16,"column":50},"end":{"line":16,"column":84}}],"line":16},"9":{"loc":{"start":{"line":16,"column":50},"end":{"line":16,"column":84}},"type":"binary-expr","locations":[{"start":{"line":16,"column":50},"end":{"line":16,"column":63}},{"start":{"line":16,"column":67},"end":{"line":16,"column":84}}],"line":16},"10":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":33}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":33}},{"start":{},"end":{}}],"line":21},"11":{"loc":{"start":{"line":24,"column":25},"end":{"line":28,"column":2}},"type":"binary-expr","locations":[{"start":{"line":24,"column":26},"end":{"line":24,"column":30}},{"start":{"line":24,"column":34},"end":{"line":24,"column":57}},{"start":{"line":24,"column":63},"end":{"line":28,"column":1}}],"line":24},"12":{"loc":{"start":{"line":24,"column":63},"end":{"line":28,"column":1}},"type":"cond-expr","locations":[{"start":{"line":24,"column":80},"end":{"line":26,"column":1}},{"start":{"line":26,"column":5},"end":{"line":28,"column":1}}],"line":24},"13":{"loc":{"start":{"line":29,"column":19},"end":{"line":35,"column":1}},"type":"binary-expr","locations":[{"start":{"line":29,"column":20},"end":{"line":29,"column":24}},{"start":{"line":29,"column":28},"end":{"line":29,"column":45}},{"start":{"line":29,"column":50},"end":{"line":35,"column":1}}],"line":29},"14":{"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":42}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":30,"column":42}},{"start":{},"end":{}}],"line":30},"15":{"loc":{"start":{"line":30,"column":8},"end":{"line":30,"column":29}},"type":"binary-expr","locations":[{"start":{"line":30,"column":8},"end":{"line":30,"column":11}},{"start":{"line":30,"column":15},"end":{"line":30,"column":29}}],"line":30},"16":{"loc":{"start":{"line":32,"column":4},"end":{"line":32,"column":141}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":32,"column":141}},{"start":{},"end":{}}],"line":32},"17":{"loc":{"start":{"line":32,"column":40},"end":{"line":32,"column":141}},"type":"if","locations":[{"start":{"line":32,"column":40},"end":{"line":32,"column":141}},{"start":{},"end":{}}],"line":32},"18":{"loc":{"start":{"line":32,"column":44},"end":{"line":32,"column":107}},"type":"binary-expr","locations":[{"start":{"line":32,"column":44},"end":{"line":32,"column":59}},{"start":{"line":32,"column":63},"end":{"line":32,"column":107}}],"line":32},"19":{"loc":{"start":{"line":36,"column":16},"end":{"line":44,"column":1}},"type":"binary-expr","locations":[{"start":{"line":36,"column":17},"end":{"line":36,"column":21}},{"start":{"line":36,"column":25},"end":{"line":36,"column":39}},{"start":{"line":36,"column":44},"end":{"line":44,"column":1}}],"line":36},"20":{"loc":{"start":{"line":37,"column":35},"end":{"line":37,"column":109}},"type":"cond-expr","locations":[{"start":{"line":37,"column":56},"end":{"line":37,"column":61}},{"start":{"line":37,"column":64},"end":{"line":37,"column":109}}],"line":37},"21":{"loc":{"start":{"line":38,"column":16},"end":{"line":38,"column":34}},"type":"binary-expr","locations":[{"start":{"line":38,"column":16},"end":{"line":38,"column":17}},{"start":{"line":38,"column":22},"end":{"line":38,"column":33}}],"line":38},"22":{"loc":{"start":{"line":41,"column":32},"end":{"line":41,"column":115}},"type":"cond-expr","locations":[{"start":{"line":41,"column":46},"end":{"line":41,"column":67}},{"start":{"line":41,"column":70},"end":{"line":41,"column":115}}],"line":41},"23":{"loc":{"start":{"line":42,"column":51},"end":{"line":42,"column":67}},"type":"binary-expr","locations":[{"start":{"line":42,"column":51},"end":{"line":42,"column":61}},{"start":{"line":42,"column":65},"end":{"line":42,"column":67}}],"line":42},"24":{"loc":{"start":{"line":45,"column":18},"end":{"line":71,"column":1}},"type":"binary-expr","locations":[{"start":{"line":45,"column":19},"end":{"line":45,"column":23}},{"start":{"line":45,"column":27},"end":{"line":45,"column":43}},{"start":{"line":45,"column":48},"end":{"line":71,"column":1}}],"line":45},"25":{"loc":{"start":{"line":46,"column":43},"end":{"line":46,"column":68}},"type":"if","locations":[{"start":{"line":46,"column":43},"end":{"line":46,"column":68}},{"start":{},"end":{}}],"line":46},"26":{"loc":{"start":{"line":46,"column":134},"end":{"line":46,"column":184}},"type":"cond-expr","locations":[{"start":{"line":46,"column":167},"end":{"line":46,"column":175}},{"start":{"line":46,"column":178},"end":{"line":46,"column":184}}],"line":46},"27":{"loc":{"start":{"line":47,"column":74},"end":{"line":47,"column":156}},"type":"binary-expr","locations":[{"start":{"line":47,"column":74},"end":{"line":47,"column":102}},{"start":{"line":47,"column":107},"end":{"line":47,"column":155}}],"line":47},"28":{"loc":{"start":{"line":50,"column":8},"end":{"line":50,"column":70}},"type":"if","locations":[{"start":{"line":50,"column":8},"end":{"line":50,"column":70}},{"start":{},"end":{}}],"line":50},"29":{"loc":{"start":{"line":51,"column":15},"end":{"line":51,"column":45}},"type":"binary-expr","locations":[{"start":{"line":51,"column":15},"end":{"line":51,"column":16}},{"start":{"line":51,"column":21},"end":{"line":51,"column":44}}],"line":51},"30":{"loc":{"start":{"line":51,"column":28},"end":{"line":51,"column":44}},"type":"binary-expr","locations":[{"start":{"line":51,"column":28},"end":{"line":51,"column":33}},{"start":{"line":51,"column":38},"end":{"line":51,"column":43}}],"line":51},"31":{"loc":{"start":{"line":52,"column":12},"end":{"line":52,"column":169}},"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":52,"column":169}},{"start":{},"end":{}}],"line":52},"32":{"loc":{"start":{"line":52,"column":23},"end":{"line":52,"column":158}},"type":"binary-expr","locations":[{"start":{"line":52,"column":23},"end":{"line":52,"column":24}},{"start":{"line":52,"column":29},"end":{"line":52,"column":125}},{"start":{"line":52,"column":130},"end":{"line":52,"column":158}}],"line":52},"33":{"loc":{"start":{"line":52,"column":33},"end":{"line":52,"column":125}},"type":"cond-expr","locations":[{"start":{"line":52,"column":45},"end":{"line":52,"column":56}},{"start":{"line":52,"column":59},"end":{"line":52,"column":125}}],"line":52},"34":{"loc":{"start":{"line":52,"column":59},"end":{"line":52,"column":125}},"type":"cond-expr","locations":[{"start":{"line":52,"column":67},"end":{"line":52,"column":116}},{"start":{"line":52,"column":119},"end":{"line":52,"column":125}}],"line":52},"35":{"loc":{"start":{"line":52,"column":67},"end":{"line":52,"column":116}},"type":"binary-expr","locations":[{"start":{"line":52,"column":67},"end":{"line":52,"column":77}},{"start":{"line":52,"column":82},"end":{"line":52,"column":115}}],"line":52},"36":{"loc":{"start":{"line":52,"column":82},"end":{"line":52,"column":112}},"type":"binary-expr","locations":[{"start":{"line":52,"column":83},"end":{"line":52,"column":98}},{"start":{"line":52,"column":103},"end":{"line":52,"column":112}}],"line":52},"37":{"loc":{"start":{"line":53,"column":12},"end":{"line":53,"column":52}},"type":"if","locations":[{"start":{"line":53,"column":12},"end":{"line":53,"column":52}},{"start":{},"end":{}}],"line":53},"38":{"loc":{"start":{"line":54,"column":12},"end":{"line":66,"column":13}},"type":"switch","locations":[{"start":{"line":55,"column":16},"end":{"line":55,"column":23}},{"start":{"line":55,"column":24},"end":{"line":55,"column":46}},{"start":{"line":56,"column":16},"end":{"line":56,"column":72}},{"start":{"line":57,"column":16},"end":{"line":57,"column":65}},{"start":{"line":58,"column":16},"end":{"line":58,"column":65}},{"start":{"line":59,"column":16},"end":{"line":65,"column":43}}],"line":54},"39":{"loc":{"start":{"line":60,"column":20},"end":{"line":60,"column":128}},"type":"if","locations":[{"start":{"line":60,"column":20},"end":{"line":60,"column":128}},{"start":{},"end":{}}],"line":60},"40":{"loc":{"start":{"line":60,"column":24},"end":{"line":60,"column":106}},"type":"binary-expr","locations":[{"start":{"line":60,"column":24},"end":{"line":60,"column":74}},{"start":{"line":60,"column":79},"end":{"line":60,"column":90}},{"start":{"line":60,"column":94},"end":{"line":60,"column":105}}],"line":60},"41":{"loc":{"start":{"line":60,"column":42},"end":{"line":60,"column":73}},"type":"binary-expr","locations":[{"start":{"line":60,"column":42},"end":{"line":60,"column":54}},{"start":{"line":60,"column":58},"end":{"line":60,"column":73}}],"line":60},"42":{"loc":{"start":{"line":61,"column":20},"end":{"line":61,"column":106}},"type":"if","locations":[{"start":{"line":61,"column":20},"end":{"line":61,"column":106}},{"start":{},"end":{}}],"line":61},"43":{"loc":{"start":{"line":61,"column":24},"end":{"line":61,"column":77}},"type":"binary-expr","locations":[{"start":{"line":61,"column":24},"end":{"line":61,"column":35}},{"start":{"line":61,"column":40},"end":{"line":61,"column":42}},{"start":{"line":61,"column":47},"end":{"line":61,"column":59}},{"start":{"line":61,"column":63},"end":{"line":61,"column":75}}],"line":61},"44":{"loc":{"start":{"line":62,"column":20},"end":{"line":62,"column":89}},"type":"if","locations":[{"start":{"line":62,"column":20},"end":{"line":62,"column":89}},{"start":{},"end":{}}],"line":62},"45":{"loc":{"start":{"line":62,"column":24},"end":{"line":62,"column":53}},"type":"binary-expr","locations":[{"start":{"line":62,"column":24},"end":{"line":62,"column":35}},{"start":{"line":62,"column":39},"end":{"line":62,"column":53}}],"line":62},"46":{"loc":{"start":{"line":63,"column":20},"end":{"line":63,"column":87}},"type":"if","locations":[{"start":{"line":63,"column":20},"end":{"line":63,"column":87}},{"start":{},"end":{}}],"line":63},"47":{"loc":{"start":{"line":63,"column":24},"end":{"line":63,"column":43}},"type":"binary-expr","locations":[{"start":{"line":63,"column":24},"end":{"line":63,"column":25}},{"start":{"line":63,"column":29},"end":{"line":63,"column":43}}],"line":63},"48":{"loc":{"start":{"line":64,"column":20},"end":{"line":64,"column":42}},"type":"if","locations":[{"start":{"line":64,"column":20},"end":{"line":64,"column":42}},{"start":{},"end":{}}],"line":64},"49":{"loc":{"start":{"line":69,"column":8},"end":{"line":69,"column":35}},"type":"if","locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":35}},{"start":{},"end":{}}],"line":69},"50":{"loc":{"start":{"line":69,"column":52},"end":{"line":69,"column":74}},"type":"cond-expr","locations":[{"start":{"line":69,"column":60},"end":{"line":69,"column":65}},{"start":{"line":69,"column":68},"end":{"line":69,"column":74}}],"line":69},"51":{"loc":{"start":{"line":72,"column":20},"end":{"line":80,"column":1}},"type":"binary-expr","locations":[{"start":{"line":72,"column":21},"end":{"line":72,"column":25}},{"start":{"line":72,"column":29},"end":{"line":72,"column":47}},{"start":{"line":72,"column":52},"end":{"line":80,"column":1}}],"line":72},"52":{"loc":{"start":{"line":73,"column":4},"end":{"line":78,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":78,"column":5}},{"start":{},"end":{}}],"line":73},"53":{"loc":{"start":{"line":73,"column":8},"end":{"line":73,"column":38}},"type":"binary-expr","locations":[{"start":{"line":73,"column":8},"end":{"line":73,"column":12}},{"start":{"line":73,"column":16},"end":{"line":73,"column":38}}],"line":73},"54":{"loc":{"start":{"line":74,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":74,"column":8},"end":{"line":77,"column":9}},{"start":{},"end":{}}],"line":74},"55":{"loc":{"start":{"line":74,"column":12},"end":{"line":74,"column":30}},"type":"binary-expr","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":14}},{"start":{"line":74,"column":18},"end":{"line":74,"column":30}}],"line":74},"56":{"loc":{"start":{"line":75,"column":12},"end":{"line":75,"column":65}},"type":"if","locations":[{"start":{"line":75,"column":12},"end":{"line":75,"column":65}},{"start":{},"end":{}}],"line":75},"57":{"loc":{"start":{"line":79,"column":21},"end":{"line":79,"column":59}},"type":"binary-expr","locations":[{"start":{"line":79,"column":21},"end":{"line":79,"column":23}},{"start":{"line":79,"column":27},"end":{"line":79,"column":59}}],"line":79},"58":{"loc":{"start":{"line":91,"column":8},"end":{"line":97,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":97,"column":9}},{"start":{"line":94,"column":13},"end":{"line":97,"column":9}}],"line":91},"59":{"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":{},"end":{}}],"line":98},"60":{"loc":{"start":{"line":106,"column":4},"end":{"line":118,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":4},"end":{"line":118,"column":5}},{"start":{"line":116,"column":9},"end":{"line":118,"column":5}}],"line":106},"61":{"loc":{"start":{"line":109,"column":8},"end":{"line":114,"column":9}},"type":"if","locations":[{"start":{"line":109,"column":8},"end":{"line":114,"column":9}},{"start":{"line":112,"column":13},"end":{"line":114,"column":9}}],"line":109},"62":{"loc":{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},"type":"if","locations":[{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},{"start":{},"end":{}}],"line":127},"63":{"loc":{"start":{"line":127,"column":12},"end":{"line":127,"column":61}},"type":"binary-expr","locations":[{"start":{"line":127,"column":12},"end":{"line":127,"column":34}},{"start":{"line":127,"column":38},"end":{"line":127,"column":61}}],"line":127},"64":{"loc":{"start":{"line":137,"column":12},"end":{"line":145,"column":13}},"type":"switch","locations":[{"start":{"line":138,"column":16},"end":{"line":138,"column":87}},{"start":{"line":139,"column":16},"end":{"line":141,"column":80}},{"start":{"line":142,"column":16},"end":{"line":144,"column":181}}],"line":137},"65":{"loc":{"start":{"line":156,"column":16},"end":{"line":161,"column":17}},"type":"if","locations":[{"start":{"line":156,"column":16},"end":{"line":161,"column":17}},{"start":{"line":159,"column":21},"end":{"line":161,"column":17}}],"line":156},"66":{"loc":{"start":{"line":169,"column":4},"end":{"line":174,"column":5}},"type":"if","locations":[{"start":{"line":169,"column":4},"end":{"line":174,"column":5}},{"start":{"line":172,"column":9},"end":{"line":174,"column":5}}],"line":169},"67":{"loc":{"start":{"line":178,"column":4},"end":{"line":188,"column":5}},"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":188,"column":5}},{"start":{},"end":{}}],"line":178},"68":{"loc":{"start":{"line":181,"column":19},"end":{"line":181,"column":102}},"type":"cond-expr","locations":[{"start":{"line":181,"column":82},"end":{"line":181,"column":88}},{"start":{"line":181,"column":91},"end":{"line":181,"column":102}}],"line":181},"69":{"loc":{"start":{"line":181,"column":19},"end":{"line":181,"column":79}},"type":"binary-expr","locations":[{"start":{"line":181,"column":19},"end":{"line":181,"column":62}},{"start":{"line":181,"column":66},"end":{"line":181,"column":79}}],"line":181},"70":{"loc":{"start":{"line":184,"column":12},"end":{"line":186,"column":13}},"type":"if","locations":[{"start":{"line":184,"column":12},"end":{"line":186,"column":13}},{"start":{},"end":{}}],"line":184},"71":{"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":{},"end":{}}],"line":191},"72":{"loc":{"start":{"line":196,"column":70},"end":{"line":198,"column":19}},"type":"cond-expr","locations":[{"start":{"line":197,"column":8},"end":{"line":197,"column":17}},{"start":{"line":198,"column":8},"end":{"line":198,"column":19}}],"line":196},"73":{"loc":{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},"type":"if","locations":[{"start":{"line":199,"column":4},"end":{"line":201,"column":5}},{"start":{},"end":{}}],"line":199},"74":{"loc":{"start":{"line":202,"column":4},"end":{"line":204,"column":5}},"type":"if","locations":[{"start":{"line":202,"column":4},"end":{"line":204,"column":5}},{"start":{},"end":{}}],"line":202},"75":{"loc":{"start":{"line":209,"column":4},"end":{"line":214,"column":5}},"type":"if","locations":[{"start":{"line":209,"column":4},"end":{"line":214,"column":5}},{"start":{"line":212,"column":9},"end":{"line":214,"column":5}}],"line":209}},"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":0,"20":0,"21":0,"22":1,"23":0,"24":0,"25":1,"26":1,"27":1,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":1,"36":45,"37":0,"38":68,"39":44,"40":44,"41":0,"42":1,"43":1,"44":1,"45":112,"46":68,"47":1,"48":68,"49":45,"50":1,"51":44,"52":68,"53":68,"54":0,"55":204,"56":113,"57":113,"58":0,"59":113,"60":226,"61":226,"62":0,"63":226,"64":0,"65":226,"66":113,"67":113,"68":45,"69":45,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":68,"78":68,"79":68,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":113,"96":1,"97":1,"98":226,"99":68,"100":1,"101":67,"102":1,"103":115,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":115,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":451,"119":503,"120":168,"121":168,"122":144,"123":24,"124":24,"125":168,"126":164,"127":168,"128":632,"129":451,"130":116,"131":116,"132":23,"133":93,"134":181,"135":297,"136":115,"137":115,"138":24,"139":24,"140":24,"141":22,"142":115,"143":23,"144":23,"145":68,"146":23,"147":23,"148":22,"149":22,"150":22,"151":45,"152":45,"153":45,"154":45,"155":28,"156":28,"157":1,"158":27,"159":45,"160":296,"161":295,"162":2,"163":2,"164":293,"165":296,"166":7,"167":7,"168":7,"169":1,"170":1,"171":636,"172":257,"173":257,"174":257,"175":2,"176":255,"177":2,"178":636,"179":632,"180":297,"181":23,"182":22,"183":274},"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":115,"22":451,"23":503,"24":632,"25":115,"26":24,"27":23,"28":23,"29":68,"30":45,"31":45,"32":45,"33":296,"34":2,"35":296,"36":636,"37":257,"38":636,"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":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[1,1,1],"12":[1,0],"13":[1,1,1],"14":[1,0],"15":[1,1],"16":[0,0],"17":[0,0],"18":[0,0],"19":[1,1,1],"20":[45,0],"21":[68,68],"22":[67,45],"23":[68,68],"24":[1,1,1],"25":[1,44],"26":[0,68],"27":[68,68],"28":[0,113],"29":[294,68],"30":[68,0],"31":[0,226],"32":[226,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,226],"38":[112,113,45,0,0,68],"39":[68,0],"40":[68,68,67],"41":[68,0],"42":[0,0],"43":[0,0,0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[1,67],"50":[67,0],"51":[1,1,1],"52":[0,115],"53":[115,115],"54":[0,0],"55":[0,0],"56":[0,0],"57":[115,115],"58":[144,24],"59":[164,4],"60":[451,181],"61":[23,93],"62":[22,2],"63":[24,4],"64":[23,23,22],"65":[1,27],"66":[2,293],"67":[7,289],"68":[0,7],"69":[7,7],"70":[1,0],"71":[257,379],"72":[8,249],"73":[2,255],"74":[2,253],"75":[23,274]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/resolution/instantiation.ts","sources":["/home/bob/repos/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<T> extends InstanceCreationInstruction {\n constr: interfaces.Newable<T>\n}\n\nfunction _resolveRequests(\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): ResolvedRequests {\n return childRequests.reduce<ResolvedRequests>((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<T>(\n constr: interfaces.Newable<T>,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler,\n): T | Promise<T> {\n let result: T | Promise<T>;\n\n if (childRequests.length > 0) {\n const resolved = _resolveRequests(childRequests, resolveRequest)\n const createInstanceWithInjectionsArg: CreateInstanceWithInjectionArg<T> = { ...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<T>(\n args: CreateInstanceWithInjectionArg<T>\n): T {\n const instance = new args.constr(...args.constructorInjections);\n args.propertyRequests.forEach((r: interfaces.Request, index: number) => {\n const property = r.target.identifier;\n const injection = args.propertyInjections[index];\n if (!r.target.isOptional() || injection !== undefined) {\n (instance as Record<string | symbol, unknown>)[property] = injection;\n }\n });\n return instance\n}\n\nasync function createInstanceWithInjectionsAsync<T>(\n args: CreateInstanceWithInjectionArg<T>\n): Promise<T> {\n const constructorInjections = await possiblyWaitInjections(args.constructorInjections)\n const propertyInjections = await possiblyWaitInjections(args.propertyInjections)\n return createInstanceWithInjections<T>({ ...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<T>(constr: interfaces.Newable<T>, result: T): T | Promise<T> {\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<T>(constr: interfaces.Newable<T>, instance: T): void | Promise<void> {\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 interfaces.Instance<T>)[(data.value as string)]?.();\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(POST_CONSTRUCT_ERROR(constr.name, e.message));\n }\n }\n }\n}\n\nfunction _validateInstanceResolution<T = unknown>(binding: interfaces.Binding<T>, constr: interfaces.Newable<T>): void {\n if (binding.scope !== BindingScopeEnum.Singleton) {\n _throwIfHandlingDeactivation(binding, constr);\n }\n}\n\nfunction _throwIfHandlingDeactivation<T = unknown>(binding: interfaces.Binding<T>, constr: interfaces.Newable<T>): 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<T>(\n binding: interfaces.Binding<T>,\n constr: interfaces.Newable<T>,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler,\n): T | Promise<T> {\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":"f109876ad25780088dbeefb0c9cb8c347510594d","contentHash":"a5e7a13f78b5798e5b9861207938b2139071509e9d1b9e0e50ba6580a394c87c"},"/home/bob/repos/InversifyJS/src/syntax/binding_to_syntax.ts":{"path":"/home/bob/repos/InversifyJS/src/syntax/binding_to_syntax.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":33}},"26":{"start":{"line":27,"column":17},"end":{"line":27,"column":65}},"27":{"start":{"line":28,"column":22},"end":{"line":28,"column":59}},"28":{"start":{"line":29,"column":34},"end":{"line":29,"column":72}},"29":{"start":{"line":30,"column":31},"end":{"line":30,"column":66}},"30":{"start":{"line":31,"column":23},"end":{"line":109,"column":3}},"31":{"start":{"line":33,"column":8},"end":{"line":33,"column":32}},"32":{"start":{"line":35,"column":4},"end":{"line":39,"column":6}},"33":{"start":{"line":36,"column":8},"end":{"line":36,"column":70}},"34":{"start":{"line":37,"column":8},"end":{"line":37,"column":55}},"35":{"start":{"line":38,"column":8},"end":{"line":38,"column":84}},"36":{"start":{"line":40,"column":4},"end":{"line":46,"column":6}},"37":{"start":{"line":41,"column":8},"end":{"line":43,"column":9}},"38":{"start":{"line":42,"column":12},"end":{"line":42,"column":73}},"39":{"start":{"line":44,"column":19},"end":{"line":44,"column":50}},"40":{"start":{"line":45,"column":8},"end":{"line":45,"column":29}},"41":{"start":{"line":47,"column":4},"end":{"line":54,"column":6}},"42":{"start":{"line":48,"column":8},"end":{"line":48,"column":75}},"43":{"start":{"line":49,"column":8},"end":{"line":49,"column":36}},"44":{"start":{"line":50,"column":8},"end":{"line":50,"column":42}},"45":{"start":{"line":51,"column":8},"end":{"line":51,"column":48}},"46":{"start":{"line":52,"column":8},"end":{"line":52,"column":73}},"47":{"start":{"line":53,"column":8},"end":{"line":53,"column":79}},"48":{"start":{"line":55,"column":4},"end":{"line":61,"column":6}},"49":{"start":{"line":56,"column":8},"end":{"line":56,"column":74}},"50":{"start":{"line":57,"column":8},"end":{"line":57,"column":35}},"51":{"start":{"line":58,"column":8},"end":{"line":58,"column":42}},"52":{"start":{"line":59,"column":8},"end":{"line":59,"column":48}},"53":{"start":{"line":60,"column":8},"end":{"line":60,"column":84}},"54":{"start":{"line":62,"column":4},"end":{"line":67,"column":6}},"55":{"start":{"line":63,"column":8},"end":{"line":63,"column":73}},"56":{"start":{"line":64,"column":8},"end":{"line":64,"column":55}},"57":{"start":{"line":65,"column":8},"end":{"line":65,"column":73}},"58":{"start":{"line":66,"column":8},"end":{"line":66,"column":79}},"59":{"start":{"line":68,"column":4},"end":{"line":73,"column":6}},"60":{"start":{"line":69,"column":8},"end":{"line":69,"column":69}},"61":{"start":{"line":70,"column":8},"end":{"line":70,"column":40}},"62":{"start":{"line":71,"column":8},"end":{"line":71,"column":73}},"63":{"start":{"line":72,"column":8},"end":{"line":72,"column":79}},"64":{"start":{"line":74,"column":4},"end":{"line":82,"column":6}},"65":{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},"66":{"start":{"line":76,"column":12},"end":{"line":76,"column":65}},"67":{"start":{"line":78,"column":34},"end":{"line":78,"column":60}},"68":{"start":{"line":79,"column":8},"end":{"line":79,"column":70}},"69":{"start":{"line":80,"column":8},"end":{"line":80,"column":73}},"70":{"start":{"line":81,"column":8},"end":{"line":81,"column":35}},"71":{"start":{"line":83,"column":4},"end":{"line":91,"column":6}},"72":{"start":{"line":84,"column":8},"end":{"line":84,"column":69}},"73":{"start":{"line":85,"column":8},"end":{"line":88,"column":10}},"74":{"start":{"line":86,"column":30},"end":{"line":86,"column":94}},"75":{"start":{"line":86,"column":44},"end":{"line":86,"column":92}},"76":{"start":{"line":87,"column":12},"end":{"line":87,"column":31}},"77":{"start":{"line":89,"column":8},"end":{"line":89,"column":73}},"78":{"start":{"line":90,"column":8},"end":{"line":90,"column":79}},"79":{"start":{"line":92,"column":4},"end":{"line":98,"column":6}},"80":{"start":{"line":93,"column":8},"end":{"line":93,"column":69}},"81":{"start":{"line":94,"column":8},"end":{"line":96,"column":10}},"82":{"start":{"line":95,"column":12},"end":{"line":95,"column":101}},"83":{"start":{"line":95,"column":38},"end":{"line":95,"column":98}},"84":{"start":{"line":97,"column":8},"end":{"line":97,"column":79}},"85":{"start":{"line":99,"column":4},"end":{"line":104,"column":6}},"86":{"start":{"line":100,"column":8},"end":{"line":100,"column":70}},"87":{"start":{"line":101,"column":8},"end":{"line":101,"column":42}},"88":{"start":{"line":102,"column":8},"end":{"line":102,"column":73}},"89":{"start":{"line":103,"column":8},"end":{"line":103,"column":79}},"90":{"start":{"line":105,"column":4},"end":{"line":107,"column":6}},"91":{"start":{"line":106,"column":8},"end":{"line":106,"column":91}},"92":{"start":{"line":106,"column":49},"end":{"line":106,"column":87}},"93":{"start":{"line":108,"column":4},"end":{"line":108,"column":27}},"94":{"start":{"line":110,"column":0},"end":{"line":110,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":31,"column":23},"end":{"line":31,"column":24}},"loc":{"start":{"line":31,"column":35},"end":{"line":109,"column":1}},"line":31},"7":{"name":"BindingToSyntax","decl":{"start":{"line":32,"column":13},"end":{"line":32,"column":28}},"loc":{"start":{"line":32,"column":38},"end":{"line":34,"column":5}},"line":32},"8":{"name":"(anonymous_8)","decl":{"start":{"line":35,"column":35},"end":{"line":35,"column":36}},"loc":{"start":{"line":35,"column":58},"end":{"line":39,"column":5}},"line":35},"9":{"name":"(anonymous_9)","decl":{"start":{"line":40,"column":39},"end":{"line":40,"column":40}},"loc":{"start":{"line":40,"column":51},"end":{"line":46,"column":5}},"line":40},"10":{"name":"(anonymous_10)","decl":{"start":{"line":47,"column":48},"end":{"line":47,"column":49}},"loc":{"start":{"line":47,"column":65},"end":{"line":54,"column":5}},"line":47},"11":{"name":"(anonymous_11)","decl":{"start":{"line":55,"column":47},"end":{"line":55,"column":48}},"loc":{"start":{"line":55,"column":63},"end":{"line":61,"column":5}},"line":55},"12":{"name":"(anonymous_12)","decl":{"start":{"line":62,"column":46},"end":{"line":62,"column":47}},"loc":{"start":{"line":62,"column":69},"end":{"line":67,"column":5}},"line":62},"13":{"name":"(anonymous_13)","decl":{"start":{"line":68,"column":42},"end":{"line":68,"column":43}},"loc":{"start":{"line":68,"column":61},"end":{"line":73,"column":5}},"line":68},"14":{"name":"(anonymous_14)","decl":{"start":{"line":74,"column":43},"end":{"line":74,"column":44}},"loc":{"start":{"line":74,"column":59},"end":{"line":82,"column":5}},"line":74},"15":{"name":"(anonymous_15)","decl":{"start":{"line":83,"column":46},"end":{"line":83,"column":47}},"loc":{"start":{"line":83,"column":75},"end":{"line":91,"column":5}},"line":83},"16":{"name":"(anonymous_16)","decl":{"start":{"line":85,"column":32},"end":{"line":85,"column":33}},"loc":{"start":{"line":85,"column":51},"end":{"line":88,"column":9}},"line":85},"17":{"name":"(anonymous_17)","decl":{"start":{"line":86,"column":30},"end":{"line":86,"column":31}},"loc":{"start":{"line":86,"column":42},"end":{"line":86,"column":94}},"line":86},"18":{"name":"(anonymous_18)","decl":{"start":{"line":92,"column":51},"end":{"line":92,"column":52}},"loc":{"start":{"line":92,"column":80},"end":{"line":98,"column":5}},"line":92},"19":{"name":"(anonymous_19)","decl":{"start":{"line":94,"column":32},"end":{"line":94,"column":33}},"loc":{"start":{"line":94,"column":51},"end":{"line":96,"column":9}},"line":94},"20":{"name":"(anonymous_20)","decl":{"start":{"line":95,"column":19},"end":{"line":95,"column":20}},"loc":{"start":{"line":95,"column":36},"end":{"line":95,"column":100}},"line":95},"21":{"name":"(anonymous_21)","decl":{"start":{"line":99,"column":43},"end":{"line":99,"column":44}},"loc":{"start":{"line":99,"column":63},"end":{"line":104,"column":5}},"line":99},"22":{"name":"(anonymous_22)","decl":{"start":{"line":105,"column":42},"end":{"line":105,"column":43}},"loc":{"start":{"line":105,"column":61},"end":{"line":107,"column":5}},"line":105},"23":{"name":"(anonymous_23)","decl":{"start":{"line":106,"column":28},"end":{"line":106,"column":29}},"loc":{"start":{"line":106,"column":47},"end":{"line":106,"column":89}},"line":106}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":41,"column":8},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":41,"column":8},"end":{"line":43,"column":9}},{"start":{},"end":{}}],"line":41},"17":{"loc":{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":77,"column":9}},{"start":{},"end":{}}],"line":75}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":24497,"32":1,"33":331,"34":331,"35":331,"36":1,"37":58,"38":1,"39":57,"40":57,"41":1,"42":24086,"43":24086,"44":24086,"45":24086,"46":24086,"47":24086,"48":1,"49":63,"50":63,"51":63,"52":63,"53":63,"54":1,"55":4,"56":4,"57":4,"58":4,"59":1,"60":4,"61":4,"62":4,"63":4,"64":1,"65":4,"66":1,"67":3,"68":3,"69":3,"70":3,"71":1,"72":3,"73":3,"74":2,"75":1,"76":2,"77":3,"78":3,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":7,"87":7,"88":7,"89":7,"90":1,"91":4,"92":5,"93":1,"94":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":24497,"8":331,"9":58,"10":24086,"11":63,"12":4,"13":4,"14":4,"15":3,"16":2,"17":1,"18":1,"19":1,"20":1,"21":7,"22":4,"23":5},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[1,57],"17":[1,3]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/syntax/binding_to_syntax.ts","sources":["/home/bob/repos/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<T> implements interfaces.BindingToSyntax<T> {\n\n // TODO: Implement an internal type `_BindingToSyntax<T>` wherein this member\n // can be public. Let `BindingToSyntax<T>` be the presentational type that\n // depends on it, and does not expose this member as public.\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n public to(constructor: interfaces.Newable<T>): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Instance;\n this._binding.implementationType = constructor;\n return new BindingInWhenOnSyntax<T>(this._binding);\n }\n\n public toSelf(): interfaces.BindingInWhenOnSyntax<T> {\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<T> {\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<T>(this._binding);\n }\n\n public toDynamicValue(func: interfaces.DynamicValue<T>): interfaces.BindingInWhenOnSyntax<T> {\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<T>(this._binding);\n }\n\n public toConstructor<T2>(constructor: interfaces.Newable<T2>): interfaces.BindingWhenOnSyntax<T> {\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<T>(this._binding);\n }\n\n public toFactory<T2>(factory: interfaces.FactoryCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = factory;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public toFunction(func: T): interfaces.BindingWhenOnSyntax<T> {\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<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = (context) => {\n const autofactory = () => context.container.get<T2>(serviceIdentifier);\n return autofactory;\n };\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public toAutoNamedFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = (context) => {\n return (named: unknown) => context.container.getNamed<T2>(serviceIdentifier, named as string);\n };\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public toProvider<T2>(provider: interfaces.ProviderCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Provider;\n this._binding.provider = provider;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public toService(service: string | symbol | interfaces.Newable<T> | interfaces.Abstract<T>): void {\n this.toDynamicValue(\n (context) => context.container.get<T>(service)\n );\n }\n\n}\n\nexport { BindingToSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f8dc28f0ee64607f97e3f420d8d5a41208e17aa9","contentHash":"5011ff19e0b78d337e8ea9d9842f3a0daaa4160ef9f36dcfba93f9b2c604383b"},"/home/bob/repos/InversifyJS/src/syntax/binding_in_when_on_syntax.ts":{"path":"/home/bob/repos/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":398,"7":398,"8":398,"9":398,"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":398,"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":"/home/bob/repos/InversifyJS/src/syntax/binding_in_when_on_syntax.ts","sources":["/home/bob/repos/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<T> implements interfaces.BindingInSyntax<T>, interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {\n\n private _bindingInSyntax: interfaces.BindingInSyntax<T>;\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\n private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\n this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\n this._bindingInSyntax = new BindingInSyntax<T>(binding);\n }\n\n public inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inRequestScope();\n }\n\n public inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inSingletonScope();\n }\n\n public inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inTransientScope();\n }\n\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.when(constraint);\n }\n\n public whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetIsDefault();\n }\n\n public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n }\n\n public whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenInjectedInto(parent);\n }\n\n public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenParentNamed(name);\n }\n\n public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\n }\n\n public whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n }\n\n public whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n }\n\n public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n }\n\n public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n }\n\n public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n }\n\n public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n }\n\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n }\n\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n }\n\n public onActivation(handler: (context: interfaces.Context, injectable: T) => T | Promise<T>): interfaces.BindingWhenSyntax<T> {\n return this._bindingOnSyntax.onActivation(handler);\n }\n\n public onDeactivation(handler: (injectable: T) => void | Promise<void>): interfaces.BindingWhenSyntax<T> {\n return this._bindingOnSyntax.onDeactivation(handler);\n }\n\n}\n\nexport { BindingInWhenOnSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5f96de40078ad9350b7d925baf5f72620b2c8240","contentHash":"a653d3eafe60f43b2d0e31e61a905ee6ecd7d9adf51e65d31eabc20100750f8b"},"/home/bob/repos/InversifyJS/src/syntax/binding_in_syntax.ts":{"path":"/home/bob/repos/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":400,"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":400,"2":5,"3":45,"4":5},"b":{},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/syntax/binding_in_syntax.ts","sources":["/home/bob/repos/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<T> implements interfaces.BindingInSyntax<T> {\n\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n public inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Request;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Transient;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n}\n\nexport { BindingInSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"2c81c2b8018c8e03e17fc4bb29f04e72401fc82a","contentHash":"2277580d2a942208c7b39c19c8e4e802c753b33dc24f1ea3e71b73a7f353ba54"},"/home/bob/repos/InversifyJS/src/syntax/binding_when_on_syntax.ts":{"path":"/home/bob/repos/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":24163,"6":24163,"7":24163,"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":24163,"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":"/home/bob/repos/InversifyJS/src/syntax/binding_when_on_syntax.ts","sources":["/home/bob/repos/InversifyJS/src/syntax/binding_when_on_syntax.ts"],"names":[],"mappings":"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","sourcesContent":["import { interfaces } from '../interfaces/interfaces';\nimport { BindingOnSyntax } from './binding_on_syntax';\nimport { BindingWhenSyntax } from './binding_when_syntax';\n\nclass BindingWhenOnSyntax<T> implements interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {\n\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\n private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\n this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\n }\n\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.when(constraint);\n }\n\n public whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetIsDefault();\n }\n\n public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n }\n\n public whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenInjectedInto(parent);\n }\n\n public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenParentNamed(name);\n }\n\n public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\n }\n\n public whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n }\n\n public whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n }\n\n public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n }\n\n public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n }\n\n public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n }\n\n public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n }\n\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n }\n\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n }\n\n public onActivation(handler: (context: interfaces.Context, injectable: T) => T): interfaces.BindingWhenSyntax<T> {\n return this._bindingOnSyntax.onActivation(handler);\n }\n\n public onDeactivation(handler: (injectable: T) => Promise<void> | void): interfaces.BindingWhenSyntax<T> {\n return this._bindingOnSyntax.onDeactivation(handler);\n }\n\n}\n\nexport { BindingWhenOnSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e03432d3636f4b03be2a85c1f98b7b82b2a2db1b","contentHash":"2240c4f6a732d2b7b6bc439fd829ccc06605fdf44d89bc0ce979fc2825208496"},"/home/bob/repos/InversifyJS/src/syntax/binding_on_syntax.ts":{"path":"/home/bob/repos/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":24697,"5":1,"6":19,"7":19,"8":1,"9":17,"10":17,"11":1,"12":1},"f":{"0":1,"1":24697,"2":19,"3":17},"b":{},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/syntax/binding_on_syntax.ts","sources":["/home/bob/repos/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<T> implements interfaces.BindingOnSyntax<T> {\n\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n public onActivation(handler: interfaces.BindingActivation<T>): interfaces.BindingWhenSyntax<T> {\n this._binding.onActivation = handler;\n return new BindingWhenSyntax<T>(this._binding);\n }\n\n public onDeactivation(handler: interfaces.BindingDeactivation<T>): interfaces.BindingWhenSyntax<T> {\n this._binding.onDeactivation = handler;\n return new BindingWhenSyntax<T>(this._binding);\n }\n\n}\n\nexport { BindingOnSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"033c43689f175aabde0ace4687288dde4040842b","contentHash":"6110981ec2feac2ca057e04b10b0ba6fe7cee9d0ae5fb9a49f852f99eefb0beb"},"/home/bob/repos/InversifyJS/src/syntax/binding_when_syntax.ts":{"path":"/home/bob/repos/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":{},"end":{}}],"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":24610,"6":1,"7":5,"8":5,"9":1,"10":41,"11":41,"12":1,"13":4,"14":7,"15":1,"16":6,"17":6,"18":4,"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":24610,"2":5,"3":41,"4":4,"5":7,"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":[1,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":"/home/bob/repos/InversifyJS/src/syntax/binding_when_syntax.ts","sources":["/home/bob/repos/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<T> implements interfaces.BindingWhenSyntax<T> {\n\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = constraint as interfaces.ConstraintFunction;\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenTargetNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = namedConstraint(name);\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\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<T>(this._binding);\n }\n\n public whenTargetTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = taggedConstraint(tag)(value);\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && typeConstraint(parent)(request.parentRequest);\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenParentNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && namedConstraint(name)(request.parentRequest);\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenParentTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && taggedConstraint(tag)(value)(request.parentRequest);\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && traverseAncerstors(request, typeConstraint(ancestor));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && !traverseAncerstors(request, typeConstraint(ancestor));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenAnyAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && traverseAncerstors(request, namedConstraint(name));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenNoAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && !traverseAncerstors(request, namedConstraint(name));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && traverseAncerstors(request, taggedConstraint(tag)(value));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenNoAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && !traverseAncerstors(request, taggedConstraint(tag)(value));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request | null) =>\n request !== null && !traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n}\n\nexport { BindingWhenSyntax };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5c74e5ef44a343cd50a61bde2d5881b257ade6f0","contentHash":"02fe71401be656fc2ce5a1f166ab6199a2da6acfb94b5ef8e84f5fb6c25850c6"},"/home/bob/repos/InversifyJS/src/syntax/constraint_helpers.ts":{"path":"/home/bob/repos/InversifyJS/src/syntax/constraint_helpers.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":114}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":17},"end":{"line":28,"column":48}},"28":{"start":{"line":29,"column":25},"end":{"line":37,"column":1}},"29":{"start":{"line":30,"column":17},"end":{"line":30,"column":38}},"30":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"31":{"start":{"line":32,"column":8},"end":{"line":32,"column":82}},"32":{"start":{"line":35,"column":8},"end":{"line":35,"column":21}},"33":{"start":{"line":38,"column":0},"end":{"line":38,"column":48}},"34":{"start":{"line":39,"column":23},"end":{"line":45,"column":4}},"35":{"start":{"line":39,"column":40},"end":{"line":45,"column":2}},"36":{"start":{"line":40,"column":21},"end":{"line":42,"column":5}},"37":{"start":{"line":41,"column":8},"end":{"line":41,"column":100}},"38":{"start":{"line":43,"column":4},"end":{"line":43,"column":62}},"39":{"start":{"line":44,"column":4},"end":{"line":44,"column":22}},"40":{"start":{"line":46,"column":0},"end":{"line":46,"column":44}},"41":{"start":{"line":47,"column":22},"end":{"line":47,"column":62}},"42":{"start":{"line":48,"column":0},"end":{"line":48,"column":42}},"43":{"start":{"line":49,"column":21},"end":{"line":63,"column":4}},"44":{"start":{"line":49,"column":39},"end":{"line":63,"column":2}},"45":{"start":{"line":50,"column":18},"end":{"line":50,"column":22}},"46":{"start":{"line":51,"column":4},"end":{"line":61,"column":5}},"47":{"start":{"line":52,"column":8},"end":{"line":52,"column":38}},"48":{"start":{"line":53,"column":8},"end":{"line":60,"column":9}},"49":{"start":{"line":54,"column":36},"end":{"line":54,"column":61}},"50":{"start":{"line":55,"column":12},"end":{"line":55,"column":46}},"51":{"start":{"line":58,"column":30},"end":{"line":58,"column":68}},"52":{"start":{"line":59,"column":12},"end":{"line":59,"column":40}},"53":{"start":{"line":62,"column":4},"end":{"line":62,"column":17}},"54":{"start":{"line":64,"column":0},"end":{"line":64,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":29,"column":25},"end":{"line":29,"column":26}},"loc":{"start":{"line":29,"column":56},"end":{"line":37,"column":1}},"line":29},"7":{"name":"(anonymous_7)","decl":{"start":{"line":39,"column":23},"end":{"line":39,"column":24}},"loc":{"start":{"line":39,"column":38},"end":{"line":45,"column":4}},"line":39},"8":{"name":"(anonymous_8)","decl":{"start":{"line":39,"column":47},"end":{"line":39,"column":48}},"loc":{"start":{"line":39,"column":64},"end":{"line":45,"column":1}},"line":39},"9":{"name":"(anonymous_9)","decl":{"start":{"line":40,"column":21},"end":{"line":40,"column":22}},"loc":{"start":{"line":40,"column":40},"end":{"line":42,"column":5}},"line":40},"10":{"name":"(anonymous_10)","decl":{"start":{"line":49,"column":21},"end":{"line":49,"column":22}},"loc":{"start":{"line":49,"column":37},"end":{"line":63,"column":4}},"line":49},"11":{"name":"(anonymous_11)","decl":{"start":{"line":49,"column":46},"end":{"line":49,"column":47}},"loc":{"start":{"line":49,"column":65},"end":{"line":63,"column":1}},"line":49}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":36,"column":5}},{"start":{"line":34,"column":9},"end":{"line":36,"column":5}}],"line":31},"17":{"loc":{"start":{"line":32,"column":15},"end":{"line":32,"column":81}},"type":"cond-expr","locations":[{"start":{"line":32,"column":36},"end":{"line":32,"column":40}},{"start":{"line":32,"column":43},"end":{"line":32,"column":81}}],"line":32},"18":{"loc":{"start":{"line":41,"column":15},"end":{"line":41,"column":99}},"type":"binary-expr","locations":[{"start":{"line":41,"column":15},"end":{"line":41,"column":31}},{"start":{"line":41,"column":35},"end":{"line":41,"column":58}},{"start":{"line":41,"column":62},"end":{"line":41,"column":99}}],"line":41},"19":{"loc":{"start":{"line":51,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":51,"column":4},"end":{"line":61,"column":5}},{"start":{},"end":{}}],"line":51},"20":{"loc":{"start":{"line":53,"column":8},"end":{"line":60,"column":9}},"type":"if","locations":[{"start":{"line":53,"column":8},"end":{"line":60,"column":9}},{"start":{"line":57,"column":13},"end":{"line":60,"column":9}}],"line":53}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":104,"30":104,"31":64,"32":40,"33":1,"34":1,"35":54,"36":114,"37":197,"38":114,"39":114,"40":1,"41":1,"42":1,"43":1,"44":50,"45":58,"46":58,"47":57,"48":57,"49":8,"50":8,"51":49,"52":49,"53":1,"54":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":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[64,40],"17":[24,40],"18":[197,197,197],"19":[57,1],"20":[8,49]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/syntax/constraint_helpers.ts","sources":["/home/bob/repos/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,CAAC;QACpB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;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,CAAC;QACrB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAgC,CAAC;QAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YACpD,OAAO,iBAAiB,KAAK,IAAI,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,IAAM,WAAW,GAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAiC,CAAC,kBAAkB,CAAC;YAC5F,OAAO,IAAI,KAAK,WAAW,CAAC;QAC9B,CAAC;IACH,CAAC;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<unknown> | null = null;\n\n if (request !== null) {\n binding = request.bindings[0] as interfaces.Binding<unknown>;\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<unknown>).implementationType;\n return type === constructor;\n }\n }\n\n return false;\n};\n\nexport { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a5846f1c68d03fda865cf639a49f51e8116e820b","contentHash":"da586e94e10b3d69d92dc63c7036f8f8b52f501b74c322532bb6dc4df69e93c3"},"/home/bob/repos/InversifyJS/src/container/container_snapshot.ts":{"path":"/home/bob/repos/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":"/home/bob/repos/InversifyJS/src/container/container_snapshot.ts","sources":["/home/bob/repos/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<interfaces.Binding<unknown>>;\n public activations!: interfaces.Lookup<interfaces.BindingActivation<unknown>>;\n public deactivations!: interfaces.Lookup<interfaces.BindingDeactivation<unknown>>;\n public middleware!: interfaces.Next | null;\n public moduleActivationStore!: interfaces.ModuleActivationStore;\n\n public static of(\n bindings: interfaces.Lookup<interfaces.Binding<unknown>>,\n middleware: interfaces.Next | null,\n activations: interfaces.Lookup<interfaces.BindingActivation<unknown>>,\n deactivations: interfaces.Lookup<interfaces.BindingDeactivation<unknown>>,\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":"40491480a688db6f5ae3a67e986737dd1cc8e36b","contentHash":"cf029d615f95353ba3f3cb77869b25438f845014af2666a951304c88992365e1"},"/home/bob/repos/InversifyJS/src/container/lookup.ts":{"path":"/home/bob/repos/InversifyJS/src/container/lookup.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":24}},"26":{"start":{"line":27,"column":17},"end":{"line":27,"column":65}},"27":{"start":{"line":28,"column":17},"end":{"line":28,"column":45}},"28":{"start":{"line":29,"column":14},"end":{"line":129,"column":3}},"29":{"start":{"line":31,"column":8},"end":{"line":31,"column":30}},"30":{"start":{"line":33,"column":4},"end":{"line":35,"column":6}},"31":{"start":{"line":34,"column":8},"end":{"line":34,"column":25}},"32":{"start":{"line":36,"column":4},"end":{"line":50,"column":6}},"33":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"34":{"start":{"line":38,"column":12},"end":{"line":38,"column":54}},"35":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"36":{"start":{"line":41,"column":12},"end":{"line":41,"column":54}},"37":{"start":{"line":43,"column":20},"end":{"line":43,"column":52}},"38":{"start":{"line":44,"column":8},"end":{"line":49,"column":9}},"39":{"start":{"line":45,"column":12},"end":{"line":45,"column":30}},"40":{"start":{"line":48,"column":12},"end":{"line":48,"column":54}},"41":{"start":{"line":51,"column":4},"end":{"line":62,"column":6}},"42":{"start":{"line":52,"column":8},"end":{"line":54,"column":9}},"43":{"start":{"line":53,"column":12},"end":{"line":53,"column":54}},"44":{"start":{"line":55,"column":20},"end":{"line":55,"column":52}},"45":{"start":{"line":56,"column":8},"end":{"line":61,"column":9}},"46":{"start":{"line":57,"column":12},"end":{"line":57,"column":25}},"47":{"start":{"line":60,"column":12},"end":{"line":60,"column":54}},"48":{"start":{"line":63,"column":4},"end":{"line":70,"column":6}},"49":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"50":{"start":{"line":65,"column":12},"end":{"line":65,"column":54}},"51":{"start":{"line":67,"column":8},"end":{"line":69,"column":9}},"52":{"start":{"line":68,"column":12},"end":{"line":68,"column":54}},"53":{"start":{"line":71,"column":4},"end":{"line":82,"column":6}},"54":{"start":{"line":72,"column":20},"end":{"line":72,"column":24}},"55":{"start":{"line":73,"column":8},"end":{"line":81,"column":11}},"56":{"start":{"line":74,"column":36},"end":{"line":74,"column":112}},"57":{"start":{"line":75,"column":12},"end":{"line":80,"column":13}},"58":{"start":{"line":76,"column":37},"end":{"line":78,"column":18}},"59":{"start":{"line":77,"column":20},"end":{"line":77,"column":125}},"60":{"start":{"line":77,"column":81},"end":{"line":77,"column":121}},"61":{"start":{"line":79,"column":16},"end":{"line":79,"column":67}},"62":{"start":{"line":83,"column":4},"end":{"line":101,"column":6}},"63":{"start":{"line":84,"column":20},"end":{"line":84,"column":24}},"64":{"start":{"line":85,"column":23},"end":{"line":85,"column":25}},"65":{"start":{"line":86,"column":8},"end":{"line":99,"column":11}},"66":{"start":{"line":87,"column":33},"end":{"line":87,"column":35}},"67":{"start":{"line":88,"column":12},"end":{"line":97,"column":13}},"68":{"start":{"line":88,"column":26},"end":{"line":88,"column":27}},"69":{"start":{"line":88,"column":41},"end":{"line":88,"column":48}},"70":{"start":{"line":89,"column":28},"end":{"line":89,"column":41}},"71":{"start":{"line":90,"column":29},"end":{"line":90,"column":45}},"72":{"start":{"line":91,"column":16},"end":{"line":96,"column":17}},"73":{"start":{"line":92,"column":20},"end":{"line":92,"column":41}},"74":{"start":{"line":95,"column":20},"end":{"line":95,"column":47}},"75":{"start":{"line":98,"column":12},"end":{"line":98,"column":49}},"76":{"start":{"line":100,"column":8},"end":{"line":100,"column":24}},"77":{"start":{"line":102,"column":4},"end":{"line":107,"column":6}},"78":{"start":{"line":103,"column":8},"end":{"line":105,"column":9}},"79":{"start":{"line":104,"column":12},"end":{"line":104,"column":54}},"80":{"start":{"line":106,"column":8},"end":{"line":106,"column":48}},"81":{"start":{"line":108,"column":4},"end":{"line":114,"column":6}},"82":{"start":{"line":109,"column":19},"end":{"line":109,"column":31}},"83":{"start":{"line":110,"column":8},"end":{"line":112,"column":11}},"84":{"start":{"line":111,"column":12},"end":{"line":111,"column":113}},"85":{"start":{"line":111,"column":41},"end":{"line":111,"column":109}},"86":{"start":{"line":113,"column":8},"end":{"line":113,"column":20}},"87":{"start":{"line":115,"column":4},"end":{"line":119,"column":6}},"88":{"start":{"line":116,"column":8},"end":{"line":118,"column":11}},"89":{"start":{"line":117,"column":12},"end":{"line":117,"column":29}},"90":{"start":{"line":120,"column":4},"end":{"line":127,"column":6}},"91":{"start":{"line":121,"column":8},"end":{"line":126,"column":9}},"92":{"start":{"line":122,"column":12},"end":{"line":122,"column":52}},"93":{"start":{"line":125,"column":12},"end":{"line":125,"column":48}},"94":{"start":{"line":128,"column":4},"end":{"line":128,"column":18}},"95":{"start":{"line":130,"column":0},"end":{"line":130,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":29,"column":14},"end":{"line":29,"column":15}},"loc":{"start":{"line":29,"column":26},"end":{"line":129,"column":1}},"line":29},"7":{"name":"Lookup","decl":{"start":{"line":30,"column":13},"end":{"line":30,"column":19}},"loc":{"start":{"line":30,"column":22},"end":{"line":32,"column":5}},"line":30},"8":{"name":"(anonymous_8)","decl":{"start":{"line":33,"column":30},"end":{"line":33,"column":31}},"loc":{"start":{"line":33,"column":42},"end":{"line":35,"column":5}},"line":33},"9":{"name":"(anonymous_9)","decl":{"start":{"line":36,"column":27},"end":{"line":36,"column":28}},"loc":{"start":{"line":36,"column":63},"end":{"line":50,"column":5}},"line":36},"10":{"name":"(anonymous_10)","decl":{"start":{"line":51,"column":27},"end":{"line":51,"column":28}},"loc":{"start":{"line":51,"column":56},"end":{"line":62,"column":5}},"line":51},"11":{"name":"(anonymous_11)","decl":{"start":{"line":63,"column":30},"end":{"line":63,"column":31}},"loc":{"start":{"line":63,"column":59},"end":{"line":70,"column":5}},"line":63},"12":{"name":"(anonymous_12)","decl":{"start":{"line":71,"column":42},"end":{"line":71,"column":43}},"loc":{"start":{"line":71,"column":60},"end":{"line":82,"column":5}},"line":71},"13":{"name":"(anonymous_13)","decl":{"start":{"line":73,"column":22},"end":{"line":73,"column":23}},"loc":{"start":{"line":73,"column":58},"end":{"line":81,"column":9}},"line":73},"14":{"name":"(anonymous_14)","decl":{"start":{"line":76,"column":50},"end":{"line":76,"column":51}},"loc":{"start":{"line":76,"column":73},"end":{"line":78,"column":17}},"line":76},"15":{"name":"(anonymous_15)","decl":{"start":{"line":77,"column":51},"end":{"line":77,"column":52}},"loc":{"start":{"line":77,"column":79},"end":{"line":77,"column":123}},"line":77},"16":{"name":"(anonymous_16)","decl":{"start":{"line":83,"column":41},"end":{"line":83,"column":42}},"loc":{"start":{"line":83,"column":62},"end":{"line":101,"column":5}},"line":83},"17":{"name":"(anonymous_17)","decl":{"start":{"line":86,"column":26},"end":{"line":86,"column":27}},"loc":{"start":{"line":86,"column":50},"end":{"line":99,"column":9}},"line":86},"18":{"name":"(anonymous_18)","decl":{"start":{"line":102,"column":30},"end":{"line":102,"column":31}},"loc":{"start":{"line":102,"column":59},"end":{"line":107,"column":5}},"line":102},"19":{"name":"(anonymous_19)","decl":{"start":{"line":108,"column":29},"end":{"line":108,"column":30}},"loc":{"start":{"line":108,"column":41},"end":{"line":114,"column":5}},"line":108},"20":{"name":"(anonymous_20)","decl":{"start":{"line":110,"column":26},"end":{"line":110,"column":27}},"loc":{"start":{"line":110,"column":48},"end":{"line":112,"column":9}},"line":110},"21":{"name":"(anonymous_21)","decl":{"start":{"line":111,"column":26},"end":{"line":111,"column":27}},"loc":{"start":{"line":111,"column":39},"end":{"line":111,"column":111}},"line":111},"22":{"name":"(anonymous_22)","decl":{"start":{"line":115,"column":32},"end":{"line":115,"column":33}},"loc":{"start":{"line":115,"column":48},"end":{"line":119,"column":5}},"line":115},"23":{"name":"(anonymous_23)","decl":{"start":{"line":116,"column":26},"end":{"line":116,"column":27}},"loc":{"start":{"line":116,"column":48},"end":{"line":118,"column":9}},"line":116},"24":{"name":"(anonymous_24)","decl":{"start":{"line":120,"column":33},"end":{"line":120,"column":34}},"loc":{"start":{"line":120,"column":69},"end":{"line":127,"column":5}},"line":120}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"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":{},"end":{}}],"line":37},"17":{"loc":{"start":{"line":37,"column":12},"end":{"line":37,"column":73}},"type":"binary-expr","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":38}},{"start":{"line":37,"column":42},"end":{"line":37,"column":73}}],"line":37},"18":{"loc":{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":42,"column":9}},{"start":{},"end":{}}],"line":40},"19":{"loc":{"start":{"line":40,"column":12},"end":{"line":40,"column":49}},"type":"binary-expr","locations":[{"start":{"line":40,"column":12},"end":{"line":40,"column":26}},{"start":{"line":40,"column":30},"end":{"line":40,"column":49}}],"line":40},"20":{"loc":{"start":{"line":44,"column":8},"end":{"line":49,"column":9}},"type":"if","locations":[{"start":{"line":44,"column":8},"end":{"line":49,"column":9}},{"start":{"line":47,"column":13},"end":{"line":49,"column":9}}],"line":44},"21":{"loc":{"start":{"line":52,"column":8},"end":{"line":54,"column":9}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":54,"column":9}},{"start":{},"end":{}}],"line":52},"22":{"loc":{"start":{"line":52,"column":12},"end":{"line":52,"column":73}},"type":"binary-expr","locations":[{"start":{"line":52,"column":12},"end":{"line":52,"column":38}},{"start":{"line":52,"column":42},"end":{"line":52,"column":73}}],"line":52},"23":{"loc":{"start":{"line":56,"column":8},"end":{"line":61,"column":9}},"type":"if","locations":[{"start":{"line":56,"column":8},"end":{"line":61,"column":9}},{"start":{"line":59,"column":13},"end":{"line":61,"column":9}}],"line":56},"24":{"loc":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},{"start":{},"end":{}}],"line":64},"25":{"loc":{"start":{"line":64,"column":12},"end":{"line":64,"column":73}},"type":"binary-expr","locations":[{"start":{"line":64,"column":12},"end":{"line":64,"column":38}},{"start":{"line":64,"column":42},"end":{"line":64,"column":73}}],"line":64},"26":{"loc":{"start":{"line":67,"column":8},"end":{"line":69,"column":9}},"type":"if","locations":[{"start":{"line":67,"column":8},"end":{"line":69,"column":9}},{"start":{},"end":{}}],"line":67},"27":{"loc":{"start":{"line":74,"column":36},"end":{"line":74,"column":112}},"type":"cond-expr","locations":[{"start":{"line":74,"column":71},"end":{"line":74,"column":100}},{"start":{"line":74,"column":103},"end":{"line":74,"column":112}}],"line":74},"28":{"loc":{"start":{"line":75,"column":12},"end":{"line":80,"column":13}},"type":"if","locations":[{"start":{"line":75,"column":12},"end":{"line":80,"column":13}},{"start":{},"end":{}}],"line":75},"29":{"loc":{"start":{"line":91,"column":16},"end":{"line":96,"column":17}},"type":"if","locations":[{"start":{"line":91,"column":16},"end":{"line":96,"column":17}},{"start":{"line":94,"column":21},"end":{"line":96,"column":17}}],"line":91},"30":{"loc":{"start":{"line":103,"column":8},"end":{"line":105,"column":9}},"type":"if","locations":[{"start":{"line":103,"column":8},"end":{"line":105,"column":9}},{"start":{},"end":{}}],"line":103},"31":{"loc":{"start":{"line":103,"column":12},"end":{"line":103,"column":73}},"type":"binary-expr","locations":[{"start":{"line":103,"column":12},"end":{"line":103,"column":38}},{"start":{"line":103,"column":42},"end":{"line":103,"column":73}}],"line":103},"32":{"loc":{"start":{"line":111,"column":62},"end":{"line":111,"column":107}},"type":"cond-expr","locations":[{"start":{"line":111,"column":94},"end":{"line":111,"column":103}},{"start":{"line":111,"column":106},"end":{"line":111,"column":107}}],"line":111},"33":{"loc":{"start":{"line":121,"column":8},"end":{"line":126,"column":9}},"type":"if","locations":[{"start":{"line":121,"column":8},"end":{"line":126,"column":9}},{"start":{"line":124,"column":13},"end":{"line":126,"column":9}}],"line":121}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":971,"30":1,"31":21,"32":1,"33":24636,"34":1,"35":24635,"36":1,"37":24634,"38":24634,"39":99,"40":24535,"41":1,"42":7042,"43":1,"44":7041,"45":7041,"46":7040,"47":1,"48":1,"49":37,"50":1,"51":36,"52":3,"53":1,"54":17,"55":17,"56":9,"57":9,"58":7,"59":14,"60":21,"61":7,"62":1,"63":11,"64":11,"65":11,"66":17,"67":17,"68":17,"69":17,"70":23,"71":23,"72":23,"73":13,"74":10,"75":17,"76":11,"77":1,"78":7659,"79":1,"80":7658,"81":1,"82":21,"83":21,"84":13,"85":16,"86":21,"87":1,"88":31,"89":29,"90":1,"91":24,"92":15,"93":9,"94":1,"95":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":971,"8":21,"9":24636,"10":7042,"11":37,"12":17,"13":9,"14":14,"15":21,"16":11,"17":17,"18":7659,"19":21,"20":13,"21":16,"22":31,"23":29,"24":24},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[1,24635],"17":[24636,24635],"18":[1,24634],"19":[24635,24634],"20":[99,24535],"21":[1,7041],"22":[7042,7041],"23":[7040,1],"24":[1,36],"25":[37,36],"26":[3,33],"27":[7,2],"28":[7,2],"29":[13,10],"30":[1,7658],"31":[7659,7658],"32":[7,9],"33":[15,9]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/container/lookup.ts","sources":["/home/bob/repos/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<T> implements interfaces.Lookup<T> {\n\n // dictionary used store multiple values for each key <key>\n private _map: Map<interfaces.ServiceIdentifier, T[]>;\n\n public constructor() {\n this._map = new Map<interfaces.ServiceIdentifier, T[]>();\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<T>): void {\n\n this.traverse(\n (serviceIdentifier: interfaces.ServiceIdentifier<unknown>, 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<T> {\n\n const copy = new Lookup<T>();\n\n this._map.forEach((value, key) => {\n value.forEach((b) => copy.add(key, isClonable<T>(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<unknown>, 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":"bba797090d15a09ef8ca07236d61c9e9970c0f8a","contentHash":"34ea3cb42fa5bcae4bb072cc660cf5b7bb513208fb21be0de9326f38a1162824"},"/home/bob/repos/InversifyJS/src/utils/clonable.ts":{"path":"/home/bob/repos/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":32}},"2":{"start":{"line":5,"column":4},"end":{"line":8,"column":43}}},"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},"f":{"0":16},"b":{"0":[16,8,8,7]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/utils/clonable.ts","sources":["/home/bob/repos/InversifyJS/src/utils/clonable.ts"],"names":[],"mappings":";;AASS,gCAAU;AAPnB,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","sourcesContent":["import { interfaces } from '../interfaces/interfaces';\n\nfunction isClonable<T>(obj: unknown): obj is interfaces.Clonable<T> {\n return (typeof obj === 'object')\n && (obj !== null)\n && ('clone' in obj)\n && typeof (obj as interfaces.Clonable<T>).clone === 'function';\n}\n\nexport { isClonable };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6b9564f7759a1a5281a3b88de25b050571307ff2","contentHash":"052c97fbd8dee58e870bb3c13a20398a22c3edf6dc5cb420460860396cc1ba4d"},"/home/bob/repos/InversifyJS/src/container/module_activation_store.ts":{"path":"/home/bob/repos/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":{},"end":{}}],"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":{},"end":{}}],"line":37}},"s":{"0":1,"1":1,"2":1,"3":1,"4":307,"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":307,"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":"/home/bob/repos/InversifyJS/src/container/module_activation_store.ts","sources":["/home/bob/repos/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,CAAC;YAC5B,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;QACnB,CAAC;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,CAAC;YAC3C,wBAAwB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QACpD,CAAC;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<number, interfaces.ModuleActivationHandlers>();\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<unknown>,\n onDeactivation: interfaces.BindingDeactivation<unknown>,\n ) {\n this._getModuleActivationHandlers(moduleId)\n .onDeactivations.add(serviceIdentifier, onDeactivation);\n }\n\n public addActivation(\n moduleId: number,\n serviceIdentifier: interfaces.ServiceIdentifier<unknown>,\n onActivation: interfaces.BindingActivation<unknown>,\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":"9c48c54244bb0a02ad2ef1fa0ab1104d630c228c","contentHash":"941827fa688e282e43384ecad2a0d341878185162400ca47823dc75b656b6d95"},"/home/bob/repos/InversifyJS/src/container/container_module.ts":{"path":"/home/bob/repos/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":"/home/bob/repos/InversifyJS/src/container/container_module.ts","sources":["/home/bob/repos/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":"9f5a71650ad4e3c61d8e7e3462a1d2dfaf1e0f10","contentHash":"d5e194ed2cdc974ba5746002426828d204e772ff36bf975c7254b2cdeed43634"},"/home/bob/repos/InversifyJS/src/annotation/injectable.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/injectable.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":32}},"26":{"start":{"line":27,"column":18},"end":{"line":27,"column":66}},"27":{"start":{"line":28,"column":19},"end":{"line":28,"column":70}},"28":{"start":{"line":30,"column":4},"end":{"line":37,"column":6}},"29":{"start":{"line":31,"column":8},"end":{"line":33,"column":9}},"30":{"start":{"line":32,"column":12},"end":{"line":32,"column":73}},"31":{"start":{"line":34,"column":20},"end":{"line":34,"column":86}},"32":{"start":{"line":35,"column":8},"end":{"line":35,"column":72}},"33":{"start":{"line":36,"column":8},"end":{"line":36,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"injectable","decl":{"start":{"line":29,"column":9},"end":{"line":29,"column":19}},"loc":{"start":{"line":29,"column":22},"end":{"line":38,"column":1}},"line":29},"7":{"name":"(anonymous_7)","decl":{"start":{"line":30,"column":11},"end":{"line":30,"column":12}},"loc":{"start":{"line":30,"column":29},"end":{"line":37,"column":5}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":31,"column":8},"end":{"line":33,"column":9}},"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":33,"column":9}},{"start":{},"end":{}}],"line":31},"17":{"loc":{"start":{"line":34,"column":20},"end":{"line":34,"column":86}},"type":"binary-expr","locations":[{"start":{"line":34,"column":20},"end":{"line":34,"column":80}},{"start":{"line":34,"column":84},"end":{"line":34,"column":86}}],"line":34}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":2,"16":2,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":356,"29":356,"30":1,"31":355,"32":355,"33":355},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":356,"7":356},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[2,0],"12":[2,2],"13":[0,0],"14":[0,0],"15":[0,0],"16":[1,355],"17":[355,184]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/injectable.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/injectable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAiBS,gCAAU;AAjBnB,mEAAuD;AACvD,uEAA2D;AAE3D,SAAS,UAAU;IACjB,OAAO,UAA4D,MAAS;QAE1E,IAAI,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;QAC/D,CAAC;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","sourcesContent":["import * as ERRORS_MSGS from '../constants/error_msgs';\nimport * as METADATA_KEY from '../constants/metadata_keys';\n\nfunction injectable() {\n return function <T extends abstract new (...args: any) => 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":"4a56441eef77f6ec5310d7897fea214a70969e14","contentHash":"69ba6cbe5be52949caa7454790d3e3b43747283fa07a4d35ba624f687c5b1e46"},"/home/bob/repos/InversifyJS/src/annotation/tagged.ts":{"path":"/home/bob/repos/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}}},"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},"f":{"0":25},"b":{},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/tagged.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/tagged.ts"],"names":[],"mappings":";;AAQS,wBAAM;AARf,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","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<T>(metadataKey: string | number | symbol, metadataValue: unknown) {\n return createTaggedDecorator(new Metadata(metadataKey, metadataValue));\n}\n\nexport { tagged };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9096df78a96e2e7f2a02d3d3c8b7300e30a9a3a6","contentHash":"3b12099e240c6a0e5dea8e03bbdfd9371f21fee8df6a75715cd582a73773349d"},"/home/bob/repos/InversifyJS/src/annotation/named.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/named.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":22}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":17},"end":{"line":28,"column":48}},"28":{"start":{"line":29,"column":24},"end":{"line":29,"column":52}},"29":{"start":{"line":31,"column":4},"end":{"line":31,"column":111}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"named","decl":{"start":{"line":30,"column":9},"end":{"line":30,"column":14}},"loc":{"start":{"line":30,"column":21},"end":{"line":32,"column":1}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":26},"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":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/named.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/named.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AASS,sBAAK;AATd,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","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":"928a123c8da70aa8f4e9aafcef70e9907fab0905","contentHash":"83fb03da38c8d6787f719f157207869e4499f31718357f8758b5429e4da144e6"},"/home/bob/repos/InversifyJS/src/annotation/inject.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/inject.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":24}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":20},"end":{"line":28,"column":44}},"28":{"start":{"line":29,"column":13},"end":{"line":29,"column":67}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":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":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/inject.ts","sources":["/home/bob/repos/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":"755419c59363214726ab44a4311d49421a85eb34","contentHash":"445998fb513a81ba661a733b5c828d0b7245c0bdb2b9d795fb988765839529c0"},"/home/bob/repos/InversifyJS/src/annotation/inject_base.ts":{"path":"/home/bob/repos/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":32}},"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}}},"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":{},"end":{}}],"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":181,"7":181,"8":3,"9":3,"10":178},"f":{"0":2,"1":181,"2":181},"b":{"0":[3,178],"1":[2,1]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/inject_base.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/inject_base.ts"],"names":[],"mappings":";;AAKA,gCAiBC;AAtBD,sDAAsE;AACtE,iDAAgD;AAChD,qDAA2E;AAG3E,SAAgB,UAAU,CAAC,WAAmB;IAC5C,OAAO,UAAc,iBAA6C;QAChE,OAAO,UACL,MAAuB,EACvB,SAA2B,EAC3B,yBAA+D;YAE/D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,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;YAC1D,CAAC;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","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 <T = unknown>(serviceIdentifier: ServiceIdentifierOrFunc<T>) => {\n return (\n target: DecoratorTarget,\n targetKey?: string | symbol,\n indexOrPropertyDescriptor?: number | TypedPropertyDescriptor<T>,\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":"af685da73d5eeaab9c986e0f419776bc0fe1e1a9","contentHash":"4538b22dbe7336e96c3621bed211bca78923ca57b278a67ba194051ad1ebab7f"},"/home/bob/repos/InversifyJS/src/annotation/optional.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/optional.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":17},"end":{"line":28,"column":48}},"28":{"start":{"line":29,"column":24},"end":{"line":29,"column":52}},"29":{"start":{"line":31,"column":4},"end":{"line":31,"column":114}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"optional","decl":{"start":{"line":30,"column":9},"end":{"line":30,"column":17}},"loc":{"start":{"line":30,"column":20},"end":{"line":32,"column":1}},"line":30}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":7},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":7},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/optional.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/optional.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAQS,4BAAQ;AARjB,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","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":"10cb27561ce76904c76a0643ea3f29b977743cbc","contentHash":"435e8eb51e80312d002f5c066b46a18ace7c22ac3a0aa1ecdc471ec0d4d23124"},"/home/bob/repos/InversifyJS/src/annotation/unmanaged.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/unmanaged.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":30}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":17},"end":{"line":28,"column":48}},"28":{"start":{"line":29,"column":24},"end":{"line":29,"column":52}},"29":{"start":{"line":31,"column":4},"end":{"line":34,"column":6}},"30":{"start":{"line":32,"column":23},"end":{"line":32,"column":80}},"31":{"start":{"line":33,"column":8},"end":{"line":33,"column":80}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"unmanaged","decl":{"start":{"line":30,"column":9},"end":{"line":30,"column":18}},"loc":{"start":{"line":30,"column":21},"end":{"line":35,"column":1}},"line":30},"7":{"name":"(anonymous_7)","decl":{"start":{"line":31,"column":11},"end":{"line":31,"column":12}},"loc":{"start":{"line":31,"column":47},"end":{"line":34,"column":5}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":6,"30":6,"31":6},"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":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/unmanaged.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/unmanaged.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWS,8BAAS;AAXlB,uEAA2D;AAC3D,iDAAgD;AAChD,qDAAkE;AAElE,SAAS,SAAS;IAChB,OAAO,UAAU,MAAuB,EAAE,SAA6B,EAAE,KAAa;QACpF,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","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 | undefined, 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":"15f28f370bfc8ef3c24fbb7e37b96e2b31ae9687","contentHash":"77afeb38b0a59772ae642e192962a54ae336bdde356f613f0e52bca9055defd7"},"/home/bob/repos/InversifyJS/src/annotation/multi_inject.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/multi_inject.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":29}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":20},"end":{"line":28,"column":44}},"28":{"start":{"line":29,"column":18},"end":{"line":29,"column":78}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":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":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/multi_inject.ts","sources":["/home/bob/repos/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":"a4a329f6d62eac279c466f3186b683638cc6fd51","contentHash":"2e9e4b976c12fdafcb54bc228fea36021fb7d96f84672044040aa908ef5445df"},"/home/bob/repos/InversifyJS/src/annotation/target_name.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/target_name.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":32}},"26":{"start":{"line":27,"column":19},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":17},"end":{"line":28,"column":48}},"28":{"start":{"line":29,"column":24},"end":{"line":29,"column":52}},"29":{"start":{"line":31,"column":4},"end":{"line":34,"column":6}},"30":{"start":{"line":32,"column":23},"end":{"line":32,"column":75}},"31":{"start":{"line":33,"column":8},"end":{"line":33,"column":80}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"targetName","decl":{"start":{"line":30,"column":9},"end":{"line":30,"column":19}},"loc":{"start":{"line":30,"column":26},"end":{"line":35,"column":1}},"line":30},"7":{"name":"(anonymous_7)","decl":{"start":{"line":31,"column":11},"end":{"line":31,"column":12}},"loc":{"start":{"line":31,"column":47},"end":{"line":34,"column":5}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":51,"30":51,"31":51},"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":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/target_name.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/target_name.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAeS,gCAAU;AAfnB,uEAA2D;AAC3D,iDAAgD;AAChD,qDAAkE;AAElE,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,UACL,MAAuB,EACvB,SAA6B,EAC7B,KAAa;QAEb,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","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 (\n target: DecoratorTarget,\n targetKey: string | undefined,\n index: number\n ) {\n const metadata = new Metadata(METADATA_KEY.NAME_TAG, name);\n tagParameter(target, targetKey, index, metadata);\n };\n}\n\nexport { targetName };\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d511ebc83dfc53a220a076a8dae5b87a5d4b5dca","contentHash":"c1fb0b857c0b2950ac09c4cd1a50729d17079aab3b70396c608590ce625ac5c4"},"/home/bob/repos/InversifyJS/src/annotation/post_construct.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/post_construct.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":31}},"26":{"start":{"line":27,"column":18},"end":{"line":27,"column":66}},"27":{"start":{"line":28,"column":19},"end":{"line":28,"column":70}},"28":{"start":{"line":29,"column":33},"end":{"line":29,"column":70}},"29":{"start":{"line":30,"column":20},"end":{"line":30,"column":148}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":2,"16":2,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":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":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[2,0],"12":[2,2],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/post_construct.ts","sources":["/home/bob/repos/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":"f60b049eb63e63f71ce6834a902d1d8f9e80237a","contentHash":"9e87f0d6bfcc148fcf5f036519d61bc4f074e1c1469e94353157fc31a7aa3054"},"/home/bob/repos/InversifyJS/src/annotation/property_event_decorator.ts":{"path":"/home/bob/repos/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":56}},"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}}},"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":{},"end":{}}],"line":9}},"s":{"0":1,"1":1,"2":1,"3":2,"4":21,"5":21,"6":21,"7":1,"8":20},"f":{"0":2,"1":21,"2":21},"b":{"0":[1,20]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/property_event_decorator.ts","sources":["/home/bob/repos/InversifyJS/src/annotation/property_event_decorator.ts"],"names":[],"mappings":";;AAeS,wDAAsB;AAf/B,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,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC","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":"23d481fd47fc3e8e5bb1a06c439ab4c8110cfd68","contentHash":"b992e1a48ef930494461d2c9617ddc70171ac9e9019cae9cfdc2b16896919d1e"},"/home/bob/repos/InversifyJS/src/annotation/pre_destroy.ts":{"path":"/home/bob/repos/InversifyJS/src/annotation/pre_destroy.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":18},"end":{"line":27,"column":66}},"27":{"start":{"line":28,"column":19},"end":{"line":28,"column":70}},"28":{"start":{"line":29,"column":33},"end":{"line":29,"column":70}},"29":{"start":{"line":30,"column":17},"end":{"line":30,"column":139}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"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":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{},"end":{}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{},"end":{}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{},"end":{}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{},"end":{}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":2,"16":2,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":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":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[2,0],"12":[2,2],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/annotation/pre_destroy.ts","sources":["/home/bob/repos/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":"ec800941f39853735fb9821103d92072ee1dc7ea","contentHash":"d41bb1dec9415523a81da0aa62f6c9d43da174183206b0e91a57691d08c542f6"},"/home/bob/repos/InversifyJS/src/interfaces/interfaces.ts":{"path":"/home/bob/repos/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":57}}},"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":55}},"type":"binary-expr","locations":[{"start":{"line":7,"column":3},"end":{"line":7,"column":13}},{"start":{"line":7,"column":18},"end":{"line":7,"column":54}}],"line":7}},"s":{"0":1,"1":1,"2":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"file":"/home/bob/repos/InversifyJS/src/interfaces/interfaces.ts","sources":["/home/bob/repos/InversifyJS/src/interfaces/interfaces.ts"],"names":[],"mappings":";;;AAEA,IAAU,UAAU,CAiXnB;AAjXD,WAAU,UAAU;IA0FjB,CAAC;AAuRJ,CAAC,EAjXS,UAAU,0BAAV,UAAU,QAiXnB","sourcesContent":["import { FactoryType } from '../utils/factory_type';\n\nnamespace interfaces {\n export type DynamicValue<T> = (context: interfaces.Context) => T | Promise<T>;\n export type ContainerResolution<T> = T | Promise<T> | (T | Promise<T>)[];\n\n type AsyncCallback<TCallback> =\n TCallback extends (...args: infer TArgs) => infer TResult ? (...args: TArgs) => Promise<TResult>\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<T> = new (...args: any[]) => T;\n\n export type Instance<T> = T & Record<string, () => void>;\n\n export interface Abstract<T> {\n prototype: T;\n }\n\n export type ServiceIdentifier<T = unknown> = (string | symbol | Newable<T> | Abstract<T>);\n\n export interface Clonable<T> {\n clone(): T;\n }\n\n export type BindingActivation<T = unknown> = (context: interfaces.Context, injectable: T) => T | Promise<T>;\n\n export type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;\n\n export interface Binding<TActivated = unknown> extends Clonable<Binding<TActivated>> {\n id: number;\n moduleId: ContainerModuleBase['id'];\n activated: boolean;\n serviceIdentifier: ServiceIdentifier<TActivated>;\n constraint: ConstraintFunction;\n dynamicValue: DynamicValue<TActivated> | null;\n scope: BindingScope;\n type: BindingType;\n implementationType: Newable<TActivated> | TActivated | null;\n factory: FactoryCreator<unknown> | null;\n provider: ProviderCreator<unknown> | null;\n onActivation: BindingActivation<TActivated> | null;\n onDeactivation: BindingDeactivation<TActivated> | null;\n cache: null | TActivated | Promise<TActivated>;\n }\n\n export type SimpleFactory<T, U extends unknown[] = unknown[]> = (...args: U) => T;\n\n export type MultiFactory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (...args: U) => SimpleFactory<T, V>;\n\n export type Factory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = SimpleFactory<T, U> | MultiFactory<T, U, V>;\n\n export type FactoryCreator<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (context: Context) => Factory<T, U, V>;\n\n export type AutoNamedFactory<T> = SimpleFactory<T, [string]>;\n\n export type AutoFactory<T> = SimpleFactory<T, []>;\n\n export type FactoryTypeFunction<T = unknown> = (context: interfaces.Context) => T | Promise<T>\n\n export interface FactoryDetails {\n factoryType: FactoryType,\n factory: FactoryTypeFunction | null\n };\n\n export type Provider<T> = (...args: any[]) => (((...args: any[]) => Promise<T>) | Promise<T>);\n\n export type ProviderCreator<T> = (context: Context) => Provider<T>;\n\n export interface NextArgs<T = unknown> {\n avoidConstraints: boolean;\n contextInterceptor: ((contexts: Context) => Context);\n isMultiInject: boolean;\n targetType: TargetType;\n serviceIdentifier: interfaces.ServiceIdentifier<T>;\n key?: string | number | symbol | undefined;\n value?: unknown;\n }\n\n export type Next = (args: NextArgs) => (unknown | unknown[]);\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<TValue = unknown> {\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<unknown, unknown>;\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<unknown>[];\n requestScope: RequestScope | null;\n addChildRequest(\n serviceIdentifier: ServiceIdentifier,\n bindings: (Binding<unknown> | Binding<unknown>[]),\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<string> | 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 | undefined;\n skipBaseClassChecks?: boolean;\n }\n\n export interface Container {\n id: number;\n parent: Container | null;\n options: ContainerOptions;\n bind<T>(serviceIdentifier: ServiceIdentifier<T>): BindingToSyntax<T>;\n rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>;\n rebindAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<interfaces.BindingToSyntax<T>>\n unbind(serviceIdentifier: ServiceIdentifier): void;\n unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise<void>;\n unbindAll(): void;\n unbindAllAsync(): Promise<void>;\n isBound(serviceIdentifier: ServiceIdentifier): boolean;\n isCurrentBound<T>(serviceIdentifier: ServiceIdentifier<T>): boolean;\n isBoundNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): boolean;\n isBoundTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): boolean;\n get<T>(serviceIdentifier: ServiceIdentifier<T>): T;\n getNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T;\n getTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T;\n getAll<T>(serviceIdentifier: ServiceIdentifier<T>): T[];\n getAllTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T[];\n getAllNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T[];\n getAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T>;\n getNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T>;\n getTaggedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): Promise<T>;\n getAllAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T[]>;\n getAllTaggedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): Promise<T[]>;\n getAllNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T[]>;\n onActivation<T>(serviceIdentifier: ServiceIdentifier<T>, onActivation: BindingActivation<T>): void;\n onDeactivation<T>(serviceIdentifier: ServiceIdentifier<T>, onDeactivation: BindingDeactivation<T>): void;\n resolve<T>(constructorFunction: interfaces.Newable<T>): T;\n load(...modules: ContainerModule[]): void;\n loadAsync(...modules: AsyncContainerModule[]): Promise<void>;\n unload(...modules: ContainerModuleBase[]): void;\n unloadAsync(...modules: ContainerModuleBase[]): Promise<void>\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 = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\n\n export type Rebind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\n\n export type Unbind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => void;\n\n export type UnbindAsync = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => Promise<void>;\n\n export type IsBound = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => 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<BindingActivation<unknown>>,\n onDeactivations: Lookup<BindingDeactivation<unknown>>\n }\n\n export interface ModuleActivationStore extends Clonable<ModuleActivationStore> {\n addDeactivation(\n moduleId: ContainerModuleBase['id'],\n serviceIdentifier: ServiceIdentifier<unknown>,\n onDeactivation: interfaces.BindingDeactivation<unknown>\n ): void\n addActivation(\n moduleId: ContainerModuleBase['id'],\n serviceIdentifier: ServiceIdentifier<unknown>,\n onActivation: interfaces.BindingActivation<unknown>\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<ContainerModuleCallBack>;\n\n export interface ContainerSnapshot {\n bindings: Lookup<Binding<unknown>>;\n activations: Lookup<BindingActivation<unknown>>;\n deactivations: Lookup<BindingDeactivation<unknown>>;\n middleware: Next | null;\n moduleActivationStore: interfaces.ModuleActivationStore;\n }\n\n export interface Lookup<T> extends Clonable<Lookup<T>> {\n add(serviceIdentifier: ServiceIdentifier, value: T): void;\n getMap(): Map<interfaces.ServiceIdentifier, T[]>;\n get(serviceIdentifier: ServiceIdentifier): T[];\n remove(serviceIdentifier: interfaces.ServiceIdentifier): void;\n removeByCondition(condition: (item: T) => boolean): T[];\n removeIntersection(lookup: interfaces.Lookup<T>): void\n hasKey(serviceIdentifier: ServiceIdentifier): boolean;\n clone(): Lookup<T>;\n traverse(func: (key: interfaces.ServiceIdentifier, value: T[]) => void): void;\n }\n\n export interface BindingOnSyntax<T> {\n onActivation(fn: (context: Context, injectable: T) => T | Promise<T>): BindingWhenSyntax<T>;\n onDeactivation(fn: (injectable: T) => void | Promise<void>): BindingWhenSyntax<T>;\n }\n\n export interface BindingWhenSyntax<T> {\n when(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\n whenTargetNamed(name: string | number | symbol): BindingOnSyntax<T>;\n whenTargetIsDefault(): BindingOnSyntax<T>;\n whenTargetTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n whenInjectedInto(parent: (NewableFunction | string)): BindingOnSyntax<T>;\n whenParentNamed(name: string | number | symbol): BindingOnSyntax<T>;\n whenParentTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n whenAnyAncestorIs(ancestor: (NewableFunction | string)): BindingOnSyntax<T>;\n whenNoAncestorIs(ancestor: (NewableFunction | string)): BindingOnSyntax<T>;\n whenAnyAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;\n whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n whenNoAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;\n whenNoAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n whenAnyAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\n whenNoAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\n }\n\n export interface BindingWhenOnSyntax<T> extends BindingWhenSyntax<T>, BindingOnSyntax<T> { }\n\n export interface BindingInSyntax<T> {\n inSingletonScope(): BindingWhenOnSyntax<T>;\n inTransientScope(): BindingWhenOnSyntax<T>;\n inRequestScope(): BindingWhenOnSyntax<T>;\n }\n\n export interface BindingInWhenOnSyntax<T> extends BindingInSyntax<T>, BindingWhenOnSyntax<T> { }\n\n export interface BindingToSyntax<T> {\n to(constructor: Newable<T>): BindingInWhenOnSyntax<T>;\n toSelf(): BindingInWhenOnSyntax<T>;\n toConstantValue(value: T): BindingWhenOnSyntax<T>;\n toDynamicValue(func: DynamicValue<T>): BindingInWhenOnSyntax<T>;\n toConstructor<T2>(constructor: Newable<T2>): BindingWhenOnSyntax<T>;\n toFactory<T2, T3 extends unknown[] = unknown[], T4 extends unknown[] = unknown[]>(\n factory: FactoryCreator<T2, T3, T4>): BindingWhenOnSyntax<T>;\n toFunction(func: T): BindingWhenOnSyntax<T>;\n toAutoFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;\n toAutoNamedFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;\n toProvider<T2>(provider: ProviderCreator<T2>): BindingWhenOnSyntax<T>;\n toService(service: ServiceIdentifier<T>): 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":"d7b06501ebae5354d89cd18543c09134d7c12a00","contentHash":"026b8270ee6c826f1a9896a5a3a48dc73648b33884dd1d511eba6b17ecf83aac"}}
|