inversify 5.1.1 → 6.0.2
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/.nyc_output/16b95af9-19b9-451c-8475-9a8585677128.json +1 -0
- package/.nyc_output/processinfo/16b95af9-19b9-451c-8475-9a8585677128.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +81 -32
- package/LICENSE +22 -22
- package/README.md +309 -306
- package/amd/annotation/decorator_utils.js +114 -60
- package/amd/annotation/inject.js +27 -31
- package/amd/annotation/inject_base.js +17 -0
- package/amd/annotation/injectable.js +37 -17
- package/amd/annotation/lazy_service_identifier.js +15 -0
- package/amd/annotation/multi_inject.js +27 -18
- package/amd/annotation/named.js +29 -18
- package/amd/annotation/optional.js +29 -18
- package/amd/annotation/post_construct.js +28 -16
- package/amd/annotation/pre_destroy.js +28 -0
- package/amd/annotation/property_event_decorator.js +17 -0
- package/amd/annotation/tagged.js +9 -18
- package/amd/annotation/target_name.js +32 -13
- package/amd/annotation/unmanaged.js +32 -13
- package/amd/bindings/binding.js +39 -38
- package/amd/bindings/binding_count.js +10 -12
- package/amd/constants/error_msgs.js +64 -68
- package/amd/constants/literal_types.js +28 -29
- package/amd/constants/metadata_keys.js +28 -28
- package/amd/container/container.js +719 -332
- package/amd/container/container_module.js +21 -22
- package/amd/container/container_snapshot.js +20 -18
- package/amd/container/lookup.js +127 -82
- package/amd/container/module_activation_store.js +53 -0
- package/amd/interfaces/interfaces.js +10 -5
- package/amd/inversify.js +55 -32
- package/amd/planning/context.js +19 -20
- package/amd/planning/metadata.js +41 -22
- package/amd/planning/metadata_reader.js +43 -24
- package/amd/planning/plan.js +13 -14
- package/amd/planning/planner.js +163 -147
- package/amd/planning/queryable_string.js +30 -31
- package/amd/planning/reflection_utils.js +157 -128
- package/amd/planning/request.js +26 -27
- package/amd/planning/target.js +101 -80
- package/amd/resolution/instantiation.js +211 -56
- package/amd/resolution/resolver.js +222 -99
- package/amd/scope/scope.js +93 -0
- package/amd/syntax/binding_in_syntax.js +24 -25
- package/amd/syntax/binding_in_when_on_syntax.js +75 -73
- package/amd/syntax/binding_on_syntax.js +20 -17
- package/amd/syntax/binding_to_syntax.js +105 -79
- package/amd/syntax/binding_when_on_syntax.js +65 -63
- package/amd/syntax/binding_when_syntax.js +102 -100
- package/amd/syntax/constraint_helpers.js +61 -42
- package/amd/utils/async.js +17 -0
- package/amd/utils/binding_utils.js +77 -18
- package/amd/utils/clonable.js +12 -0
- package/amd/utils/exceptions.js +42 -11
- package/amd/utils/factory_type.js +11 -0
- package/amd/utils/id.js +10 -11
- package/amd/utils/js.js +19 -0
- package/amd/utils/serialization.js +129 -106
- package/es/annotation/decorator_utils.js +88 -55
- package/es/annotation/inject.js +4 -30
- package/es/annotation/inject_base.js +14 -0
- package/es/annotation/injectable.js +13 -14
- package/es/annotation/lazy_service_identifier.js +10 -0
- package/es/annotation/multi_inject.js +4 -16
- package/es/annotation/named.js +7 -16
- package/es/annotation/optional.js +7 -16
- package/es/annotation/post_construct.js +5 -14
- package/es/annotation/pre_destroy.js +5 -0
- package/es/annotation/property_event_decorator.js +13 -0
- package/es/annotation/tagged.js +6 -15
- package/es/annotation/target_name.js +10 -11
- package/es/annotation/unmanaged.js +10 -11
- package/es/bindings/binding.js +36 -35
- package/es/bindings/binding_count.js +5 -7
- package/es/constants/error_msgs.js +52 -59
- package/es/constants/literal_types.js +21 -22
- package/es/constants/metadata_keys.js +23 -23
- package/es/container/container.js +707 -339
- package/es/container/container_module.js +17 -18
- package/es/container/container_snapshot.js +15 -13
- package/es/container/lookup.js +104 -78
- package/es/container/module_activation_store.js +49 -0
- package/es/interfaces/interfaces.js +5 -2
- package/es/inversify.js +25 -21
- package/es/planning/context.js +15 -16
- package/es/planning/metadata.js +17 -18
- package/es/planning/metadata_reader.js +19 -20
- package/es/planning/plan.js +8 -9
- package/es/planning/planner.js +147 -152
- package/es/planning/queryable_string.js +25 -26
- package/es/planning/reflection_utils.js +135 -127
- package/es/planning/request.js +22 -23
- package/es/planning/target.js +81 -79
- package/es/resolution/instantiation.js +190 -54
- package/es/resolution/resolver.js +205 -99
- package/es/scope/scope.js +88 -0
- package/es/syntax/binding_in_syntax.js +21 -22
- package/es/syntax/binding_in_when_on_syntax.js +73 -71
- package/es/syntax/binding_on_syntax.js +16 -13
- package/es/syntax/binding_to_syntax.js +84 -78
- package/es/syntax/binding_when_on_syntax.js +62 -60
- package/es/syntax/binding_when_syntax.js +99 -97
- package/es/syntax/constraint_helpers.js +35 -36
- package/es/utils/async.js +11 -0
- package/es/utils/binding_utils.js +53 -12
- package/es/utils/clonable.js +7 -0
- package/es/utils/exceptions.js +16 -6
- package/es/utils/factory_type.js +6 -0
- package/es/utils/id.js +5 -6
- package/es/utils/js.js +13 -0
- package/es/utils/serialization.js +100 -98
- package/es6/annotation/decorator_utils.js +109 -59
- package/es6/annotation/inject.js +26 -32
- package/es6/annotation/inject_base.js +18 -0
- package/es6/annotation/injectable.js +35 -17
- package/es6/annotation/lazy_service_identifier.js +12 -0
- package/es6/annotation/multi_inject.js +26 -19
- package/es6/annotation/named.js +29 -19
- package/es6/annotation/optional.js +29 -19
- package/es6/annotation/post_construct.js +27 -17
- package/es6/annotation/pre_destroy.js +27 -0
- package/es6/annotation/property_event_decorator.js +16 -0
- package/es6/annotation/tagged.js +9 -18
- package/es6/annotation/target_name.js +32 -14
- package/es6/annotation/unmanaged.js +32 -14
- package/es6/bindings/binding.js +38 -37
- package/es6/bindings/binding_count.js +8 -10
- package/es6/constants/error_msgs.js +53 -46
- package/es6/constants/literal_types.js +26 -27
- package/es6/constants/metadata_keys.js +26 -26
- package/es6/container/container.js +520 -260
- package/es6/container/container_module.js +18 -19
- package/es6/container/container_snapshot.js +15 -13
- package/es6/container/lookup.js +120 -79
- package/es6/container/module_activation_store.js +51 -0
- package/es6/interfaces/interfaces.js +8 -3
- package/es6/inversify.js +76 -49
- package/es6/planning/context.js +17 -18
- package/es6/planning/metadata.js +38 -20
- package/es6/planning/metadata_reader.js +38 -20
- package/es6/planning/plan.js +10 -11
- package/es6/planning/planner.js +170 -156
- package/es6/planning/queryable_string.js +27 -28
- package/es6/planning/reflection_utils.js +155 -128
- package/es6/planning/request.js +24 -25
- package/es6/planning/target.js +99 -78
- package/es6/resolution/instantiation.js +151 -48
- package/es6/resolution/resolver.js +187 -100
- package/es6/scope/scope.js +57 -0
- package/es6/syntax/binding_in_syntax.js +23 -24
- package/es6/syntax/binding_in_when_on_syntax.js +75 -73
- package/es6/syntax/binding_on_syntax.js +18 -15
- package/es6/syntax/binding_to_syntax.js +105 -80
- package/es6/syntax/binding_when_on_syntax.js +64 -62
- package/es6/syntax/binding_when_syntax.js +79 -77
- package/es6/syntax/constraint_helpers.js +58 -40
- package/es6/utils/async.js +15 -0
- package/es6/utils/binding_utils.js +68 -6
- package/es6/utils/clonable.js +10 -0
- package/es6/utils/exceptions.js +40 -10
- package/es6/utils/factory_type.js +9 -0
- package/es6/utils/id.js +8 -9
- package/es6/utils/js.js +16 -0
- package/es6/utils/serialization.js +126 -104
- package/lib/annotation/decorator_utils.d.ts +16 -5
- package/lib/annotation/decorator_utils.js +113 -60
- package/lib/annotation/inject.d.ts +2 -9
- package/lib/annotation/inject.js +26 -33
- package/lib/annotation/inject_base.d.ts +3 -0
- package/lib/annotation/inject_base.js +18 -0
- package/lib/annotation/injectable.d.ts +2 -2
- package/lib/annotation/injectable.js +35 -17
- package/lib/annotation/lazy_service_identifier.d.ts +7 -0
- package/lib/annotation/lazy_service_identifier.js +13 -0
- package/lib/annotation/multi_inject.d.ts +2 -3
- package/lib/annotation/multi_inject.js +26 -19
- package/lib/annotation/named.d.ts +2 -2
- package/lib/annotation/named.js +29 -19
- package/lib/annotation/optional.d.ts +2 -2
- package/lib/annotation/optional.js +29 -19
- package/lib/annotation/post_construct.d.ts +4 -2
- package/lib/annotation/post_construct.js +27 -17
- package/lib/annotation/pre_destroy.d.ts +4 -0
- package/lib/annotation/pre_destroy.js +27 -0
- package/lib/annotation/property_event_decorator.d.ts +4 -0
- package/lib/annotation/property_event_decorator.js +16 -0
- package/lib/annotation/tagged.d.ts +2 -2
- package/lib/annotation/tagged.js +9 -18
- package/lib/annotation/target_name.d.ts +3 -2
- package/lib/annotation/target_name.js +32 -14
- package/lib/annotation/unmanaged.d.ts +3 -2
- package/lib/annotation/unmanaged.js +32 -14
- package/lib/bindings/binding.d.ts +20 -19
- package/lib/bindings/binding.js +39 -38
- package/lib/bindings/binding_count.d.ts +5 -6
- package/lib/bindings/binding_count.js +8 -10
- package/lib/constants/error_msgs.d.ts +32 -27
- package/lib/constants/error_msgs.js +62 -66
- package/lib/constants/literal_types.d.ts +5 -5
- package/lib/constants/literal_types.js +26 -27
- package/lib/constants/metadata_keys.d.ts +13 -12
- package/lib/constants/metadata_keys.js +26 -26
- package/lib/container/container.d.ts +73 -39
- package/lib/container/container.js +729 -342
- package/lib/container/container_module.d.ts +11 -11
- package/lib/container/container_module.js +20 -21
- package/lib/container/container_snapshot.d.ts +10 -7
- package/lib/container/container_snapshot.js +18 -16
- package/lib/container/lookup.d.ts +16 -14
- package/lib/container/lookup.js +126 -81
- package/lib/container/module_activation_store.d.ts +10 -0
- package/lib/container/module_activation_store.js +52 -0
- package/lib/interfaces/interfaces.d.ts +284 -237
- package/lib/interfaces/interfaces.js +8 -3
- package/lib/inversify.d.ts +25 -21
- package/lib/inversify.js +76 -49
- package/lib/planning/context.d.ts +11 -11
- package/lib/planning/context.js +18 -19
- package/lib/planning/metadata.d.ts +8 -8
- package/lib/planning/metadata.js +39 -21
- package/lib/planning/metadata_reader.d.ts +6 -6
- package/lib/planning/metadata_reader.js +41 -23
- package/lib/planning/plan.d.ts +7 -7
- package/lib/planning/plan.js +11 -12
- package/lib/planning/planner.d.ts +5 -5
- package/lib/planning/planner.js +171 -157
- package/lib/planning/queryable_string.d.ts +11 -11
- package/lib/planning/queryable_string.js +28 -29
- package/lib/planning/reflection_utils.d.ts +5 -5
- package/lib/planning/reflection_utils.js +159 -132
- package/lib/planning/request.d.ts +14 -14
- package/lib/planning/request.js +25 -26
- package/lib/planning/target.d.ts +23 -21
- package/lib/planning/target.js +103 -82
- package/lib/resolution/instantiation.d.ts +3 -3
- package/lib/resolution/instantiation.js +212 -57
- package/lib/resolution/resolver.d.ts +3 -3
- package/lib/resolution/resolver.js +227 -102
- package/lib/scope/scope.d.ts +3 -0
- package/lib/scope/scope.js +93 -0
- package/lib/syntax/binding_in_syntax.d.ts +9 -9
- package/lib/syntax/binding_in_syntax.js +24 -25
- package/lib/syntax/binding_in_when_on_syntax.d.ts +29 -28
- package/lib/syntax/binding_in_when_on_syntax.js +76 -74
- package/lib/syntax/binding_on_syntax.d.ts +8 -7
- package/lib/syntax/binding_on_syntax.js +19 -16
- package/lib/syntax/binding_to_syntax.d.ts +18 -16
- package/lib/syntax/binding_to_syntax.js +106 -81
- package/lib/syntax/binding_when_on_syntax.d.ts +25 -24
- package/lib/syntax/binding_when_on_syntax.js +65 -63
- package/lib/syntax/binding_when_syntax.d.ts +21 -21
- package/lib/syntax/binding_when_syntax.js +102 -100
- package/lib/syntax/constraint_helpers.d.ts +6 -6
- package/lib/syntax/constraint_helpers.js +60 -42
- package/lib/tsconfig.tsbuildinfo +1 -719
- package/lib/utils/async.d.ts +3 -0
- package/lib/utils/async.js +15 -0
- package/lib/utils/binding_utils.d.ts +4 -2
- package/lib/utils/binding_utils.js +78 -16
- package/lib/utils/clonable.d.ts +3 -0
- package/lib/utils/clonable.js +10 -0
- package/lib/utils/exceptions.d.ts +2 -1
- package/lib/utils/exceptions.js +40 -10
- package/lib/utils/factory_type.d.ts +5 -0
- package/lib/utils/factory_type.js +9 -0
- package/lib/utils/id.d.ts +2 -2
- package/lib/utils/id.js +8 -9
- package/lib/utils/js.d.ts +1 -0
- package/lib/utils/js.js +17 -0
- package/lib/utils/serialization.d.ts +10 -7
- package/lib/utils/serialization.js +127 -105
- package/package.json +61 -77
- package/.auditignore +0 -2
- package/.nyc_output/4df1ad3a-a319-42b9-bb65-746cefa3318e.json +0 -1
- package/.nyc_output/processinfo/4df1ad3a-a319-42b9-bb65-746cefa3318e.json +0 -1
- package/CODE_OF_CONDUCT.md +0 -46
- package/amd/annotation/decorator_utils.js.map +0 -1
- package/amd/annotation/inject.js.map +0 -1
- package/amd/annotation/injectable.js.map +0 -1
- package/amd/annotation/multi_inject.js.map +0 -1
- package/amd/annotation/named.js.map +0 -1
- package/amd/annotation/optional.js.map +0 -1
- package/amd/annotation/post_construct.js.map +0 -1
- package/amd/annotation/tagged.js.map +0 -1
- package/amd/annotation/target_name.js.map +0 -1
- package/amd/annotation/unmanaged.js.map +0 -1
- package/amd/bindings/binding.js.map +0 -1
- package/amd/bindings/binding_count.js.map +0 -1
- package/amd/constants/error_msgs.js.map +0 -1
- package/amd/constants/literal_types.js.map +0 -1
- package/amd/constants/metadata_keys.js.map +0 -1
- package/amd/container/container.js.map +0 -1
- package/amd/container/container_module.js.map +0 -1
- package/amd/container/container_snapshot.js.map +0 -1
- package/amd/container/lookup.js.map +0 -1
- package/amd/interfaces/interfaces.js.map +0 -1
- package/amd/inversify.js.map +0 -1
- package/amd/planning/context.js.map +0 -1
- package/amd/planning/metadata.js.map +0 -1
- package/amd/planning/metadata_reader.js.map +0 -1
- package/amd/planning/plan.js.map +0 -1
- package/amd/planning/planner.js.map +0 -1
- package/amd/planning/queryable_string.js.map +0 -1
- package/amd/planning/reflection_utils.js.map +0 -1
- package/amd/planning/request.js.map +0 -1
- package/amd/planning/target.js.map +0 -1
- package/amd/resolution/instantiation.js.map +0 -1
- package/amd/resolution/resolver.js.map +0 -1
- package/amd/syntax/binding_in_syntax.js.map +0 -1
- package/amd/syntax/binding_in_when_on_syntax.js.map +0 -1
- package/amd/syntax/binding_on_syntax.js.map +0 -1
- package/amd/syntax/binding_to_syntax.js.map +0 -1
- package/amd/syntax/binding_when_on_syntax.js.map +0 -1
- package/amd/syntax/binding_when_syntax.js.map +0 -1
- package/amd/syntax/constraint_helpers.js.map +0 -1
- package/amd/utils/binding_utils.js.map +0 -1
- package/amd/utils/exceptions.js.map +0 -1
- package/amd/utils/id.js.map +0 -1
- package/amd/utils/serialization.js.map +0 -1
- package/es/annotation/decorator_utils.js.map +0 -1
- package/es/annotation/inject.js.map +0 -1
- package/es/annotation/injectable.js.map +0 -1
- package/es/annotation/multi_inject.js.map +0 -1
- package/es/annotation/named.js.map +0 -1
- package/es/annotation/optional.js.map +0 -1
- package/es/annotation/post_construct.js.map +0 -1
- package/es/annotation/tagged.js.map +0 -1
- package/es/annotation/target_name.js.map +0 -1
- package/es/annotation/unmanaged.js.map +0 -1
- package/es/bindings/binding.js.map +0 -1
- package/es/bindings/binding_count.js.map +0 -1
- package/es/constants/error_msgs.js.map +0 -1
- package/es/constants/literal_types.js.map +0 -1
- package/es/constants/metadata_keys.js.map +0 -1
- package/es/container/container.js.map +0 -1
- package/es/container/container_module.js.map +0 -1
- package/es/container/container_snapshot.js.map +0 -1
- package/es/container/lookup.js.map +0 -1
- package/es/interfaces/interfaces.js.map +0 -1
- package/es/inversify.js.map +0 -1
- package/es/planning/context.js.map +0 -1
- package/es/planning/metadata.js.map +0 -1
- package/es/planning/metadata_reader.js.map +0 -1
- package/es/planning/plan.js.map +0 -1
- package/es/planning/planner.js.map +0 -1
- package/es/planning/queryable_string.js.map +0 -1
- package/es/planning/reflection_utils.js.map +0 -1
- package/es/planning/request.js.map +0 -1
- package/es/planning/target.js.map +0 -1
- package/es/resolution/instantiation.js.map +0 -1
- package/es/resolution/resolver.js.map +0 -1
- package/es/syntax/binding_in_syntax.js.map +0 -1
- package/es/syntax/binding_in_when_on_syntax.js.map +0 -1
- package/es/syntax/binding_on_syntax.js.map +0 -1
- package/es/syntax/binding_to_syntax.js.map +0 -1
- package/es/syntax/binding_when_on_syntax.js.map +0 -1
- package/es/syntax/binding_when_syntax.js.map +0 -1
- package/es/syntax/constraint_helpers.js.map +0 -1
- package/es/utils/binding_utils.js.map +0 -1
- package/es/utils/exceptions.js.map +0 -1
- package/es/utils/id.js.map +0 -1
- package/es/utils/serialization.js.map +0 -1
- package/es6/annotation/decorator_utils.js.map +0 -1
- package/es6/annotation/inject.js.map +0 -1
- package/es6/annotation/injectable.js.map +0 -1
- package/es6/annotation/multi_inject.js.map +0 -1
- package/es6/annotation/named.js.map +0 -1
- package/es6/annotation/optional.js.map +0 -1
- package/es6/annotation/post_construct.js.map +0 -1
- package/es6/annotation/tagged.js.map +0 -1
- package/es6/annotation/target_name.js.map +0 -1
- package/es6/annotation/unmanaged.js.map +0 -1
- package/es6/bindings/binding.js.map +0 -1
- package/es6/bindings/binding_count.js.map +0 -1
- package/es6/constants/error_msgs.js.map +0 -1
- package/es6/constants/literal_types.js.map +0 -1
- package/es6/constants/metadata_keys.js.map +0 -1
- package/es6/container/container.js.map +0 -1
- package/es6/container/container_module.js.map +0 -1
- package/es6/container/container_snapshot.js.map +0 -1
- package/es6/container/lookup.js.map +0 -1
- package/es6/interfaces/interfaces.js.map +0 -1
- package/es6/inversify.js.map +0 -1
- package/es6/planning/context.js.map +0 -1
- package/es6/planning/metadata.js.map +0 -1
- package/es6/planning/metadata_reader.js.map +0 -1
- package/es6/planning/plan.js.map +0 -1
- package/es6/planning/planner.js.map +0 -1
- package/es6/planning/queryable_string.js.map +0 -1
- package/es6/planning/reflection_utils.js.map +0 -1
- package/es6/planning/request.js.map +0 -1
- package/es6/planning/target.js.map +0 -1
- package/es6/resolution/instantiation.js.map +0 -1
- package/es6/resolution/resolver.js.map +0 -1
- package/es6/syntax/binding_in_syntax.js.map +0 -1
- package/es6/syntax/binding_in_when_on_syntax.js.map +0 -1
- package/es6/syntax/binding_on_syntax.js.map +0 -1
- package/es6/syntax/binding_to_syntax.js.map +0 -1
- package/es6/syntax/binding_when_on_syntax.js.map +0 -1
- package/es6/syntax/binding_when_syntax.js.map +0 -1
- package/es6/syntax/constraint_helpers.js.map +0 -1
- package/es6/utils/binding_utils.js.map +0 -1
- package/es6/utils/exceptions.js.map +0 -1
- package/es6/utils/id.js.map +0 -1
- package/es6/utils/serialization.js.map +0 -1
- package/lib/annotation/decorator_utils.js.map +0 -1
- package/lib/annotation/inject.js.map +0 -1
- package/lib/annotation/injectable.js.map +0 -1
- package/lib/annotation/multi_inject.js.map +0 -1
- package/lib/annotation/named.js.map +0 -1
- package/lib/annotation/optional.js.map +0 -1
- package/lib/annotation/post_construct.js.map +0 -1
- package/lib/annotation/tagged.js.map +0 -1
- package/lib/annotation/target_name.js.map +0 -1
- package/lib/annotation/unmanaged.js.map +0 -1
- package/lib/bindings/binding.js.map +0 -1
- package/lib/bindings/binding_count.js.map +0 -1
- package/lib/constants/error_msgs.js.map +0 -1
- package/lib/constants/literal_types.js.map +0 -1
- package/lib/constants/metadata_keys.js.map +0 -1
- package/lib/container/container.js.map +0 -1
- package/lib/container/container_module.js.map +0 -1
- package/lib/container/container_snapshot.js.map +0 -1
- package/lib/container/lookup.js.map +0 -1
- package/lib/interfaces/interfaces.js.map +0 -1
- package/lib/inversify.js.map +0 -1
- package/lib/planning/context.js.map +0 -1
- package/lib/planning/metadata.js.map +0 -1
- package/lib/planning/metadata_reader.js.map +0 -1
- package/lib/planning/plan.js.map +0 -1
- package/lib/planning/planner.js.map +0 -1
- package/lib/planning/queryable_string.js.map +0 -1
- package/lib/planning/reflection_utils.js.map +0 -1
- package/lib/planning/request.js.map +0 -1
- package/lib/planning/target.js.map +0 -1
- package/lib/resolution/instantiation.js.map +0 -1
- package/lib/resolution/resolver.js.map +0 -1
- package/lib/syntax/binding_in_syntax.js.map +0 -1
- package/lib/syntax/binding_in_when_on_syntax.js.map +0 -1
- package/lib/syntax/binding_on_syntax.js.map +0 -1
- package/lib/syntax/binding_to_syntax.js.map +0 -1
- package/lib/syntax/binding_when_on_syntax.js.map +0 -1
- package/lib/syntax/binding_when_syntax.js.map +0 -1
- package/lib/syntax/constraint_helpers.js.map +0 -1
- package/lib/utils/binding_utils.js.map +0 -1
- package/lib/utils/exceptions.js.map +0 -1
- package/lib/utils/id.js.map +0 -1
- package/lib/utils/serialization.js.map +0 -1
- package/mocha.opts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"X:\\Code\\InversifyJS\\src\\annotation\\decorator_utils.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\decorator_utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":103}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":24,"column":19},"end":{"line":24,"column":70}},"25":{"start":{"line":25,"column":11},"end":{"line":25,"column":33}},"26":{"start":{"line":27,"column":4},"end":{"line":27,"column":42}},"27":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"28":{"start":{"line":31,"column":8},"end":{"line":31,"column":64}},"29":{"start":{"line":35,"column":4},"end":{"line":35,"column":43}},"30":{"start":{"line":36,"column":4},"end":{"line":36,"column":104}},"31":{"start":{"line":38,"column":0},"end":{"line":38,"column":36}},"32":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"33":{"start":{"line":41,"column":8},"end":{"line":41,"column":64}},"34":{"start":{"line":43,"column":4},"end":{"line":43,"column":108}},"35":{"start":{"line":45,"column":0},"end":{"line":45,"column":34}},"36":{"start":{"line":47,"column":20},"end":{"line":47,"column":22}},"37":{"start":{"line":48,"column":4},"end":{"line":57,"column":5}},"38":{"start":{"line":49,"column":8},"end":{"line":49,"column":29}},"39":{"start":{"line":50,"column":24},"end":{"line":50,"column":105}},"40":{"start":{"line":50,"column":87},"end":{"line":50,"column":101}},"41":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"42":{"start":{"line":52,"column":12},"end":{"line":52,"column":89}},"43":{"start":{"line":56,"column":8},"end":{"line":56,"column":31}},"44":{"start":{"line":58,"column":4},"end":{"line":58,"column":21}},"45":{"start":{"line":61,"column":20},"end":{"line":61,"column":60}},"46":{"start":{"line":62,"column":37},"end":{"line":62,"column":39}},"47":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"48":{"start":{"line":64,"column":8},"end":{"line":64,"column":88}},"49":{"start":{"line":66,"column":34},"end":{"line":66,"column":65}},"50":{"start":{"line":67,"column":4},"end":{"line":80,"column":5}},"51":{"start":{"line":68,"column":8},"end":{"line":68,"column":37}},"52":{"start":{"line":71,"column":22},"end":{"line":75,"column":9}},"53":{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},"54":{"start":{"line":72,"column":47},"end":{"line":72,"column":71}},"55":{"start":{"line":73,"column":16},"end":{"line":73,"column":89}},"56":{"start":{"line":76,"column":8},"end":{"line":79,"column":9}},"57":{"start":{"line":76,"column":22},"end":{"line":76,"column":23}},"58":{"start":{"line":76,"column":53},"end":{"line":76,"column":76}},"59":{"start":{"line":77,"column":20},"end":{"line":77,"column":49}},"60":{"start":{"line":78,"column":12},"end":{"line":78,"column":23}},"61":{"start":{"line":81,"column":4},"end":{"line":81,"column":75}},"62":{"start":{"line":82,"column":4},"end":{"line":82,"column":62}},"63":{"start":{"line":83,"column":4},"end":{"line":83,"column":86}},"64":{"start":{"line":86,"column":4},"end":{"line":93,"column":6}},"65":{"start":{"line":87,"column":8},"end":{"line":92,"column":9}},"66":{"start":{"line":88,"column":12},"end":{"line":88,"column":81}},"67":{"start":{"line":91,"column":12},"end":{"line":91,"column":53}},"68":{"start":{"line":95,"column":0},"end":{"line":95,"column":54}},"69":{"start":{"line":97,"column":4},"end":{"line":97,"column":41}},"70":{"start":{"line":100,"column":4},"end":{"line":100,"column":74}},"71":{"start":{"line":100,"column":36},"end":{"line":100,"column":71}},"72":{"start":{"line":103,"column":4},"end":{"line":111,"column":5}},"73":{"start":{"line":104,"column":8},"end":{"line":104,"column":73}},"74":{"start":{"line":106,"column":9},"end":{"line":111,"column":5}},"75":{"start":{"line":107,"column":8},"end":{"line":107,"column":72}},"76":{"start":{"line":110,"column":8},"end":{"line":110,"column":39}},"77":{"start":{"line":113,"column":0},"end":{"line":113,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"targetIsConstructorFunction","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":36}},"loc":{"start":{"line":26,"column":45},"end":{"line":28,"column":1}},"line":26},"7":{"name":"_throwIfMethodParameter","decl":{"start":{"line":29,"column":9},"end":{"line":29,"column":32}},"loc":{"start":{"line":29,"column":48},"end":{"line":33,"column":1}},"line":29},"8":{"name":"tagParameter","decl":{"start":{"line":34,"column":9},"end":{"line":34,"column":21}},"loc":{"start":{"line":34,"column":81},"end":{"line":37,"column":1}},"line":34},"9":{"name":"tagProperty","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":20}},"loc":{"start":{"line":39,"column":63},"end":{"line":44,"column":1}},"line":39},"10":{"name":"_ensureNoMetadataKeyDuplicates","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":39}},"loc":{"start":{"line":46,"column":50},"end":{"line":59,"column":1}},"line":46},"11":{"name":"(anonymous_11)","decl":{"start":{"line":50,"column":71},"end":{"line":50,"column":72}},"loc":{"start":{"line":50,"column":85},"end":{"line":50,"column":103}},"line":50},"12":{"name":"_tagParameterOrProperty","decl":{"start":{"line":60,"column":9},"end":{"line":60,"column":32}},"loc":{"start":{"line":60,"column":79},"end":{"line":84,"column":1}},"line":60},"13":{"name":"(anonymous_13)","decl":{"start":{"line":71,"column":22},"end":{"line":71,"column":23}},"loc":{"start":{"line":71,"column":35},"end":{"line":75,"column":9}},"line":71},"14":{"name":"(anonymous_14)","decl":{"start":{"line":72,"column":31},"end":{"line":72,"column":32}},"loc":{"start":{"line":72,"column":45},"end":{"line":72,"column":73}},"line":72},"15":{"name":"createTaggedDecorator","decl":{"start":{"line":85,"column":9},"end":{"line":85,"column":30}},"loc":{"start":{"line":85,"column":41},"end":{"line":94,"column":1}},"line":85},"16":{"name":"(anonymous_16)","decl":{"start":{"line":86,"column":11},"end":{"line":86,"column":12}},"loc":{"start":{"line":86,"column":67},"end":{"line":93,"column":5}},"line":86},"17":{"name":"_decorate","decl":{"start":{"line":96,"column":9},"end":{"line":96,"column":18}},"loc":{"start":{"line":96,"column":39},"end":{"line":98,"column":1}},"line":96},"18":{"name":"_param","decl":{"start":{"line":99,"column":9},"end":{"line":99,"column":15}},"loc":{"start":{"line":99,"column":39},"end":{"line":101,"column":1}},"line":99},"19":{"name":"(anonymous_19)","decl":{"start":{"line":100,"column":11},"end":{"line":100,"column":12}},"loc":{"start":{"line":100,"column":34},"end":{"line":100,"column":73}},"line":100},"20":{"name":"decorate","decl":{"start":{"line":102,"column":9},"end":{"line":102,"column":17}},"loc":{"start":{"line":102,"column":63},"end":{"line":112,"column":1}},"line":102}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},{"start":{"line":30,"column":4},"end":{"line":32,"column":5}}],"line":30},"13":{"loc":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},{"start":{"line":40,"column":4},"end":{"line":42,"column":5}}],"line":40},"14":{"loc":{"start":{"line":48,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":57,"column":5}},{"start":{"line":48,"column":4},"end":{"line":57,"column":5}}],"line":48},"15":{"loc":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},{"start":{"line":51,"column":8},"end":{"line":53,"column":9}}],"line":51},"16":{"loc":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},{"start":{"line":63,"column":4},"end":{"line":65,"column":5}}],"line":63},"17":{"loc":{"start":{"line":67,"column":4},"end":{"line":80,"column":5}},"type":"if","locations":[{"start":{"line":67,"column":4},"end":{"line":80,"column":5}},{"start":{"line":67,"column":4},"end":{"line":80,"column":5}}],"line":67},"18":{"loc":{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},"type":"if","locations":[{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},{"start":{"line":72,"column":12},"end":{"line":74,"column":13}}],"line":72},"19":{"loc":{"start":{"line":87,"column":8},"end":{"line":92,"column":9}},"type":"if","locations":[{"start":{"line":87,"column":8},"end":{"line":92,"column":9}},{"start":{"line":87,"column":8},"end":{"line":92,"column":9}}],"line":87},"20":{"loc":{"start":{"line":103,"column":4},"end":{"line":111,"column":5}},"type":"if","locations":[{"start":{"line":103,"column":4},"end":{"line":111,"column":5}},{"start":{"line":103,"column":4},"end":{"line":111,"column":5}}],"line":103},"21":{"loc":{"start":{"line":106,"column":9},"end":{"line":111,"column":5}},"type":"if","locations":[{"start":{"line":106,"column":9},"end":{"line":111,"column":5}},{"start":{"line":106,"column":9},"end":{"line":111,"column":5}}],"line":106}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":41,"27":357,"28":4,"29":357,"30":353,"31":1,"32":41,"33":1,"34":40,"35":1,"36":393,"37":393,"38":3,"39":3,"40":6,"41":3,"42":2,"43":390,"44":391,"45":393,"46":391,"47":391,"48":190,"49":391,"50":391,"51":284,"52":107,"53":113,"54":114,"55":4,"56":107,"57":107,"58":107,"59":113,"60":113,"61":387,"62":387,"63":387,"64":329,"65":329,"66":291,"67":38,"68":1,"69":18,"70":11,"71":11,"72":20,"73":11,"74":9,"75":2,"76":7,"77":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":41,"7":357,"8":357,"9":41,"10":393,"11":6,"12":393,"13":113,"14":114,"15":329,"16":329,"17":18,"18":11,"19":11,"20":20},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0],"12":[4,353],"13":[1,40],"14":[3,390],"15":[2,1],"16":[190,201],"17":[284,107],"18":[4,109],"19":[291,38],"20":[11,9],"21":[2,7]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/decorator_utils.ts","sources":["X:/Code/InversifyJS/src/annotation/decorator_utils.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { getFirstArrayDuplicate } from '../utils/js';\r\n\r\nfunction targetIsConstructorFunction<T = Object>(target: DecoratorTarget<T>): target is ConstructorFunction<T> {\r\n return (target as ConstructorFunction<T>).prototype !== undefined;\r\n}\r\n\r\ntype Prototype<T> = {\r\n [Property in keyof T]:\r\n T[Property] extends NewableFunction ?\r\n T[Property] :\r\n T[Property] | undefined\r\n} & { constructor: NewableFunction }\r\n\r\ninterface ConstructorFunction<T = Record<string, unknown>> {\r\n new(...args: unknown[]): T,\r\n prototype: Prototype<T>\r\n}\r\n\r\nexport type DecoratorTarget<T = unknown> = ConstructorFunction<T> | Prototype<T>\r\n\r\nfunction _throwIfMethodParameter(parameterName: string | symbol | undefined): void {\r\n if (parameterName !== undefined) {\r\n throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);\r\n }\r\n}\r\n\r\n\r\nfunction tagParameter(\r\n annotationTarget: DecoratorTarget,\r\n parameterName: string | symbol | undefined,\r\n parameterIndex: number,\r\n metadata: interfaces.MetadataOrMetadataArray\r\n) {\r\n _throwIfMethodParameter(parameterName);\r\n _tagParameterOrProperty(METADATA_KEY.TAGGED, annotationTarget as ConstructorFunction, parameterIndex.toString(), metadata);\r\n}\r\n\r\nfunction tagProperty(\r\n annotationTarget: DecoratorTarget,\r\n propertyName: string | symbol,\r\n metadata: interfaces.MetadataOrMetadataArray\r\n) {\r\n if (targetIsConstructorFunction(annotationTarget)) {\r\n throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);\r\n }\r\n _tagParameterOrProperty(METADATA_KEY.TAGGED_PROP, annotationTarget.constructor, propertyName, metadata);\r\n}\r\n\r\nfunction _ensureNoMetadataKeyDuplicates(metadata: interfaces.MetadataOrMetadataArray): interfaces.Metadata[] {\r\n let metadatas: interfaces.Metadata[] = [];\r\n if (Array.isArray(metadata)) {\r\n metadatas = metadata;\r\n const duplicate = getFirstArrayDuplicate(metadatas.map(md => md.key));\r\n if (duplicate !== undefined) {\r\n throw new Error(`${ERROR_MSGS.DUPLICATED_METADATA} ${duplicate.toString()}`);\r\n }\r\n } else {\r\n metadatas = [metadata];\r\n }\r\n return metadatas;\r\n}\r\n\r\nfunction _tagParameterOrProperty(\r\n metadataKey: string,\r\n annotationTarget: NewableFunction,\r\n key: string | symbol,\r\n metadata: interfaces.MetadataOrMetadataArray,\r\n) {\r\n const metadatas: interfaces.Metadata[] = _ensureNoMetadataKeyDuplicates(metadata);\r\n\r\n let paramsOrPropertiesMetadata: Record<string | symbol, interfaces.Metadata[] | undefined> = {};\r\n // read metadata if available\r\n if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) {\r\n paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget);\r\n }\r\n\r\n let paramOrPropertyMetadata: interfaces.Metadata[] | undefined = paramsOrPropertiesMetadata[key as string];\r\n\r\n if (paramOrPropertyMetadata === undefined) {\r\n paramOrPropertyMetadata = [];\r\n } else {\r\n for (const m of paramOrPropertyMetadata) {\r\n if (metadatas.some(md => md.key === m.key)) {\r\n throw new Error(`${ERROR_MSGS.DUPLICATED_METADATA} ${m.key.toString()}`);\r\n }\r\n }\r\n }\r\n\r\n // set metadata\r\n paramOrPropertyMetadata.push(...metadatas);\r\n paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;\r\n Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);\r\n\r\n}\r\n\r\n\r\n\r\nfunction createTaggedDecorator(\r\n metadata: interfaces.MetadataOrMetadataArray,\r\n) {\r\n return <T>(\r\n target: DecoratorTarget,\r\n targetKey?: string | symbol,\r\n indexOrPropertyDescriptor?: number | TypedPropertyDescriptor<T>,\r\n ) => {\r\n if (typeof indexOrPropertyDescriptor === 'number') {\r\n tagParameter(target, targetKey, indexOrPropertyDescriptor, metadata);\r\n } else {\r\n tagProperty(target, targetKey as string | symbol, metadata);\r\n }\r\n };\r\n}\r\n\r\nfunction _decorate(\r\n decorators: (DecoratorTarget | ParameterDecorator | MethodDecorator)[],\r\n target: object | NewableFunction,\r\n): void {\r\n Reflect.decorate(decorators as ClassDecorator[], target as NewableFunction);\r\n}\r\n\r\nfunction _param(paramIndex: number, decorator: ParameterDecorator) {\r\n return function (target: string, key: string) { decorator(target, key, paramIndex); };\r\n}\r\n\r\n// Allows VanillaJS developers to use decorators:\r\n// decorate(injectable(), FooBar);\r\n// decorate(targetName('foo', 'bar'), FooBar);\r\n// decorate(named('foo'), FooBar, 0);\r\n// decorate(tagged('bar'), FooBar, 1);\r\nfunction decorate(\r\n decorator: (DecoratorTarget | ParameterDecorator | MethodDecorator),\r\n target: object,\r\n parameterIndexOrProperty?: number | string): void {\r\n\r\n if (typeof parameterIndexOrProperty === 'number') {\r\n _decorate([_param(parameterIndexOrProperty, decorator as ParameterDecorator)], target);\r\n } else if (typeof parameterIndexOrProperty === 'string') {\r\n Reflect.decorate([decorator as MethodDecorator], target, parameterIndexOrProperty);\r\n } else {\r\n _decorate([decorator], target);\r\n }\r\n}\r\n\r\nexport { decorate, tagParameter, tagProperty, createTaggedDecorator };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f063cdf689cb9690ced65b9fb566c115c60f29d6","contentHash":"3b20f790b5cf47fcc88c1a3e29514ff8c346f1cba34895d20652510b1f9094c1"},"X:\\Code\\InversifyJS\\src\\constants\\error_msgs.ts":{"path":"X:\\Code\\InversifyJS\\src\\constants\\error_msgs.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":1116}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":95}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":85}},"4":{"start":{"line":6,"column":0},"end":{"line":6,"column":40}},"5":{"start":{"line":7,"column":0},"end":{"line":7,"column":40}},"6":{"start":{"line":8,"column":0},"end":{"line":8,"column":73}},"7":{"start":{"line":9,"column":0},"end":{"line":9,"column":62}},"8":{"start":{"line":10,"column":0},"end":{"line":10,"column":77}},"9":{"start":{"line":11,"column":0},"end":{"line":11,"column":86}},"10":{"start":{"line":12,"column":0},"end":{"line":12,"column":94}},"11":{"start":{"line":13,"column":34},"end":{"line":17,"column":1}},"12":{"start":{"line":14,"column":4},"end":{"line":16,"column":36}},"13":{"start":{"line":18,"column":0},"end":{"line":18,"column":66}},"14":{"start":{"line":19,"column":0},"end":{"line":19,"column":59}},"15":{"start":{"line":20,"column":0},"end":{"line":20,"column":78}},"16":{"start":{"line":21,"column":0},"end":{"line":21,"column":55}},"17":{"start":{"line":22,"column":0},"end":{"line":22,"column":74}},"18":{"start":{"line":23,"column":0},"end":{"line":23,"column":97}},"19":{"start":{"line":24,"column":0},"end":{"line":24,"column":92}},"20":{"start":{"line":25,"column":19},"end":{"line":25,"column":154}},"21":{"start":{"line":25,"column":36},"end":{"line":25,"column":152}},"22":{"start":{"line":26,"column":0},"end":{"line":26,"column":36}},"23":{"start":{"line":27,"column":0},"end":{"line":28,"column":33}},"24":{"start":{"line":29,"column":0},"end":{"line":30,"column":84}},"25":{"start":{"line":31,"column":32},"end":{"line":38,"column":1}},"26":{"start":{"line":32,"column":17},"end":{"line":32,"column":19}},"27":{"start":{"line":33,"column":4},"end":{"line":35,"column":5}},"28":{"start":{"line":33,"column":18},"end":{"line":33,"column":19}},"29":{"start":{"line":34,"column":8},"end":{"line":34,"column":35}},"30":{"start":{"line":36,"column":4},"end":{"line":37,"column":96}},"31":{"start":{"line":39,"column":0},"end":{"line":39,"column":62}},"32":{"start":{"line":40,"column":0},"end":{"line":41,"column":25}},"33":{"start":{"line":42,"column":0},"end":{"line":43,"column":48}},"34":{"start":{"line":44,"column":0},"end":{"line":45,"column":19}},"35":{"start":{"line":46,"column":0},"end":{"line":47,"column":19}},"36":{"start":{"line":48,"column":0},"end":{"line":48,"column":109}},"37":{"start":{"line":49,"column":0},"end":{"line":49,"column":115}},"38":{"start":{"line":50,"column":0},"end":{"line":50,"column":128}},"39":{"start":{"line":51,"column":27},"end":{"line":51,"column":132}},"40":{"start":{"line":51,"column":60},"end":{"line":51,"column":130}},"41":{"start":{"line":52,"column":0},"end":{"line":52,"column":52}},"42":{"start":{"line":53,"column":24},"end":{"line":53,"column":126}},"43":{"start":{"line":53,"column":57},"end":{"line":53,"column":124}},"44":{"start":{"line":54,"column":0},"end":{"line":54,"column":46}},"45":{"start":{"line":55,"column":28},"end":{"line":55,"column":135}},"46":{"start":{"line":55,"column":61},"end":{"line":55,"column":133}},"47":{"start":{"line":56,"column":0},"end":{"line":56,"column":54}},"48":{"start":{"line":57,"column":37},"end":{"line":60,"column":1}},"49":{"start":{"line":58,"column":4},"end":{"line":59,"column":60}},"50":{"start":{"line":61,"column":0},"end":{"line":61,"column":72}},"51":{"start":{"line":62,"column":0},"end":{"line":62,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":34},"end":{"line":13,"column":35}},"loc":{"start":{"line":13,"column":50},"end":{"line":17,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":19},"end":{"line":25,"column":20}},"loc":{"start":{"line":25,"column":34},"end":{"line":25,"column":154}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":32},"end":{"line":31,"column":33}},"loc":{"start":{"line":31,"column":44},"end":{"line":38,"column":1}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":27},"end":{"line":51,"column":28}},"loc":{"start":{"line":51,"column":58},"end":{"line":51,"column":132}},"line":51},"4":{"name":"(anonymous_4)","decl":{"start":{"line":53,"column":24},"end":{"line":53,"column":25}},"loc":{"start":{"line":53,"column":55},"end":{"line":53,"column":126}},"line":53},"5":{"name":"(anonymous_5)","decl":{"start":{"line":55,"column":28},"end":{"line":55,"column":29}},"loc":{"start":{"line":55,"column":59},"end":{"line":55,"column":135}},"line":55},"6":{"name":"(anonymous_6)","decl":{"start":{"line":57,"column":37},"end":{"line":57,"column":38}},"loc":{"start":{"line":57,"column":79},"end":{"line":60,"column":1}},"line":57}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":6,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":5,"22":1,"23":1,"24":1,"25":1,"26":6,"27":6,"28":6,"29":6,"30":6,"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},"f":{"0":6,"1":5,"2":6,"3":2,"4":2,"5":6,"6":3},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/constants/error_msgs.ts","sources":["X:/Code/InversifyJS/src/constants/error_msgs.ts"],"names":[],"mappings":";;;AAAa,QAAA,+BAA+B,GAAG,oDAAoD,CAAC;AACvF,QAAA,mBAAmB,GAAG,sDAAsD,CAAC;AAC7E,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,eAAe,GAAG,8CAA8C,CAAC;AACjE,QAAA,aAAa,GAAG,qCAAqC,CAAC;AACtD,QAAA,cAAc,GAAG,mDAAmD,CAAC;AACrE,QAAA,6BAA6B,GAAG,6CAA6C,CAAC;AAC9E,QAAA,yBAAyB,GAAG,yDAAyD,CAAC;AAC5F,IAAM,2BAA2B,GAAG,UAAC,IAAY;IACtD,OAAA,kEAAgE,IAAI,UAAO;QAC3E,yEAAyE;QACzE,2BAA2B;AAF3B,CAE2B,CAAC;AAHjB,QAAA,2BAA2B,+BAGV;AACjB,QAAA,mBAAmB,GAAG,4BAA4B,CAAC;AACnD,QAAA,eAAe,GAAG,mDAAmD,CAAC;AACtE,QAAA,oBAAoB,GAAG,uBAAuB,CAAC;AAC/C,QAAA,2BAA2B,GAAG,mCAAmC,CAAC;AAClE,QAAA,yBAAyB,GAAG,4DAA4D,CAAC;AACzF,QAAA,wBAAwB,GAAG,wDAAwD,CAAC;AAC1F,IAAM,YAAY,GAAG,UAAC,GAAY,IAAK,OAAA,sCAAoC,GAAG,mEAC9C,EADO,CACP,CAAC;AAD3B,QAAA,YAAY,gBACe;AAE3B,QAAA,qBAAqB,GAAG,gEAAgE;IACnG,4BAA4B,CAAC;AAElB,QAAA,2BAA2B,GAAG,yDAAyD;IAClG,+EAA+E,CAAC;AAE3E,IAAM,yBAAyB,GAAG;IAAC,gBAAoB;SAApB,UAAoB,EAApB,qBAAoB,EAApB,IAAoB;QAApB,2BAAoB;;IAAK,OAAA,2DAA2D;SACzH,MAAM,CAAC,CAAC,CAAC,4EAAyE,CAAA;AADpB,CACoB,CAAC;AAD3E,QAAA,yBAAyB,6BACkD;AAE3E,QAAA,mCAAmC,GAAG,4DAA4D;IAC7G,oBAAoB,CAAC;AAEV,QAAA,uCAAuC,GAAG,+CAA+C;IACpG,2CAA2C,CAAC;AAEjC,QAAA,8CAA8C,GAAG,sDAAsD;IAClH,cAAc,CAAC;AAEJ,QAAA,yCAAyC,GAAG,iDAAiD;IACxG,cAAc,CAAC;AAEJ,QAAA,4BAA4B,GAAG,qEAAqE,CAAC;AACrG,QAAA,+BAA+B,GAAG,wEAAwE,CAAC;AAC3G,QAAA,qBAAqB,GAAG,+FAA+F,CAAC;AAC9H,IAAM,oBAAoB,GAAG,UAAC,KAAa,EAAE,YAAoB,IAAK,OAAA,mCAAiC,KAAK,UAAK,YAAc,EAAzD,CAAyD,CAAC;AAA1H,QAAA,oBAAoB,wBAAsG;AAChI,IAAM,iBAAiB,GAAG,UAAC,KAAa,EAAE,YAAoB,IAAK,OAAA,gCAA8B,KAAK,UAAK,YAAc,EAAtD,CAAsD,CAAC;AAApH,QAAA,iBAAiB,qBAAmG;AAC1H,IAAM,qBAAqB,GAAG,UAAC,KAAa,EAAE,YAAoB,IAAK,OAAA,qCAAmC,KAAK,UAAK,YAAc,EAA3D,CAA2D,CAAC;AAA7H,QAAA,qBAAqB,yBAAwG;AAEnI,IAAM,8BAA8B,GAAG,UAAC,WAAmB,EAAE,iBAAyB;IAC3F,OAAA,iEAA+D,WAAW,kDAA+C;SACzH,yBAAuB,iBAAiB,OAAI,CAAA;AAD5C,CAC4C,CAAC;AAFlC,QAAA,8BAA8B,kCAEI;AAElC,QAAA,cAAc,GAAG,kCAAkC,CAAC","sourcesContent":["export const DUPLICATED_INJECTABLE_DECORATOR = 'Cannot apply @injectable decorator multiple times.';\r\nexport const DUPLICATED_METADATA = 'Metadata key was used more than once in a parameter:';\r\nexport const NULL_ARGUMENT = 'NULL argument';\r\nexport const KEY_NOT_FOUND = 'Key Not Found';\r\nexport const AMBIGUOUS_MATCH = 'Ambiguous match found for serviceIdentifier:';\r\nexport const CANNOT_UNBIND = 'Could not unbind serviceIdentifier:';\r\nexport const NOT_REGISTERED = 'No matching bindings found for serviceIdentifier:';\r\nexport const MISSING_INJECTABLE_ANNOTATION = 'Missing required @injectable annotation in:';\r\nexport const MISSING_INJECT_ANNOTATION = 'Missing required @inject or @multiInject annotation in:';\r\nexport const UNDEFINED_INJECT_ANNOTATION = (name: string) =>\r\n `@inject called with undefined this could mean that the class ${name} has ` +\r\n 'a circular dependency problem. You can use a LazyServiceIdentifier to ' +\r\n 'overcome this limitation.';\r\nexport const CIRCULAR_DEPENDENCY = 'Circular dependency found:';\r\nexport const NOT_IMPLEMENTED = 'Sorry, this feature is not fully implemented yet.';\r\nexport const INVALID_BINDING_TYPE = 'Invalid binding type:';\r\nexport const NO_MORE_SNAPSHOTS_AVAILABLE = 'No snapshot available to restore.';\r\nexport const INVALID_MIDDLEWARE_RETURN = 'Invalid return type in middleware. Middleware must return!';\r\nexport const INVALID_FUNCTION_BINDING = 'Value provided to function binding must be a function!';\r\nexport const LAZY_IN_SYNC = (key: unknown) => `You are attempting to construct '${key}' in a synchronous way\r\n but it has asynchronous dependencies.`;\r\n\r\nexport const INVALID_TO_SELF_VALUE = 'The toSelf function can only be applied when a constructor is ' +\r\n 'used as service identifier';\r\n\r\nexport const INVALID_DECORATOR_OPERATION = 'The @inject @multiInject @tagged and @named decorators ' +\r\n 'must be applied to the parameters of a class constructor or a class property.';\r\n\r\nexport const ARGUMENTS_LENGTH_MISMATCH = (...values: unknown[]) => 'The number of constructor arguments in the derived class ' +\r\n `${values[0]} must be >= than the number of constructor arguments of its base class.`;\r\n\r\nexport const CONTAINER_OPTIONS_MUST_BE_AN_OBJECT = 'Invalid Container constructor argument. Container options ' +\r\n 'must be an object.';\r\n\r\nexport const CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE = 'Invalid Container option. Default scope must ' +\r\n 'be a string (\"singleton\" or \"transient\").';\r\n\r\nexport const CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE = 'Invalid Container option. Auto bind injectable must ' +\r\n 'be a boolean';\r\n\r\nexport const CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK = 'Invalid Container option. Skip base check must ' +\r\n 'be a boolean';\r\n\r\nexport const MULTIPLE_PRE_DESTROY_METHODS = 'Cannot apply @preDestroy decorator multiple times in the same class';\r\nexport const MULTIPLE_POST_CONSTRUCT_METHODS = 'Cannot apply @postConstruct decorator multiple times in the same class';\r\nexport const ASYNC_UNBIND_REQUIRED = 'Attempting to unbind dependency with asynchronous destruction (@preDestroy or onDeactivation)';\r\nexport const POST_CONSTRUCT_ERROR = (clazz: string, errorMessage: string) => `@postConstruct error in class ${clazz}: ${errorMessage}`;\r\nexport const PRE_DESTROY_ERROR = (clazz: string, errorMessage: string) => `@preDestroy error in class ${clazz}: ${errorMessage}`;\r\nexport const ON_DEACTIVATION_ERROR = (clazz: string, errorMessage: string) => `onDeactivation() error in class ${clazz}: ${errorMessage}`;\r\n\r\nexport const CIRCULAR_DEPENDENCY_IN_FACTORY = (factoryType: string, serviceIdentifier: string) =>\r\n `It looks like there is a circular dependency in one of the '${factoryType}' bindings. Please investigate bindings with ` +\r\n `service identifier '${serviceIdentifier}'.`;\r\n\r\nexport const STACK_OVERFLOW = 'Maximum call stack size exceeded';\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"1b6016c6fa7158b46694c2f19b28a86247ff117f","contentHash":"7fc3375da6ca6319013b4f8278a696185514f77b302738085e426962e64c0f56"},"X:\\Code\\InversifyJS\\src\\constants\\metadata_keys.ts":{"path":"X:\\Code\\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":"X:/Code/InversifyJS/src/constants/metadata_keys.ts","sources":["X:/Code/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\r\nexport const NAMED_TAG = 'named';\r\n\r\n// The name of the target at design time\r\nexport const NAME_TAG = 'name';\r\n\r\n// The for unmanaged injections (in base classes when using inheritance)\r\nexport const UNMANAGED_TAG = 'unmanaged';\r\n\r\n// The for optional injections\r\nexport const OPTIONAL_TAG = 'optional';\r\n\r\n// The type of the binding at design time\r\nexport const INJECT_TAG = 'inject';\r\n\r\n// The type of the binding at design type for multi-injections\r\nexport const MULTI_INJECT_TAG = 'multi_inject';\r\n\r\n// used to store constructor arguments tags\r\nexport const TAGGED = 'inversify:tagged';\r\n\r\n// used to store class properties tags\r\nexport const TAGGED_PROP = 'inversify:tagged_props';\r\n\r\n// used to store types to be injected\r\nexport const PARAM_TYPES = 'inversify:paramtypes';\r\n\r\n// used to access design time types\r\nexport const DESIGN_PARAM_TYPES = 'design:paramtypes';\r\n\r\n// used to identify postConstruct functions\r\nexport const POST_CONSTRUCT = 'post_construct';\r\n\r\n// used to identify preDestroy functions\r\nexport const PRE_DESTROY = 'pre_destroy';\r\n\r\nfunction getNonCustomTagKeys(): string[] {\r\n return [\r\n INJECT_TAG,\r\n MULTI_INJECT_TAG,\r\n NAME_TAG,\r\n UNMANAGED_TAG,\r\n NAMED_TAG,\r\n OPTIONAL_TAG,\r\n ];\r\n}\r\n\r\nexport const NON_CUSTOM_TAG_KEYS: string[] = getNonCustomTagKeys();\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bcbbf88613fab3c485771a379b886f0aae53747a","contentHash":"d076678d737da59f02b468d023ce7aaac5ff1b1c8cad58686ff9c5ea2cdd3cf0"},"X:\\Code\\InversifyJS\\src\\utils\\js.ts":{"path":"X:\\Code\\InversifyJS\\src\\utils\\js.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"2":{"start":{"line":5,"column":21},"end":{"line":5,"column":30}},"3":{"start":{"line":6,"column":4},"end":{"line":14,"column":5}},"4":{"start":{"line":6,"column":18},"end":{"line":6,"column":19}},"5":{"start":{"line":6,"column":31},"end":{"line":6,"column":36}},"6":{"start":{"line":7,"column":20},"end":{"line":7,"column":31}},"7":{"start":{"line":8,"column":8},"end":{"line":13,"column":9}},"8":{"start":{"line":9,"column":12},"end":{"line":9,"column":25}},"9":{"start":{"line":12,"column":12},"end":{"line":12,"column":34}},"10":{"start":{"line":15,"column":4},"end":{"line":15,"column":21}},"11":{"start":{"line":17,"column":0},"end":{"line":17,"column":56}}},"fnMap":{"0":{"name":"getFirstArrayDuplicate","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":31}},"loc":{"start":{"line":4,"column":39},"end":{"line":16,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":8},"end":{"line":13,"column":9}},"type":"if","locations":[{"start":{"line":8,"column":8},"end":{"line":13,"column":9}},{"start":{"line":8,"column":8},"end":{"line":13,"column":9}}],"line":8}},"s":{"0":1,"1":1,"2":3,"3":3,"4":3,"5":3,"6":6,"7":6,"8":2,"9":4,"10":1,"11":1},"f":{"0":3},"b":{"0":[2,4]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/utils/js.ts","sources":["X:/Code/InversifyJS/src/utils/js.ts"],"names":[],"mappings":";;;AAAA,SAAgB,sBAAsB,CAAI,KAAU;IAClD,IAAM,UAAU,GAAG,IAAI,GAAG,EAAK,CAAA;IAE/B,KAAoB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;QAAtB,IAAM,KAAK,cAAA;QACd,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACvB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,wDAWC","sourcesContent":["export function getFirstArrayDuplicate<T>(array: T[]): T | undefined {\r\n const seenValues = new Set<T>()\r\n\r\n for (const entry of array) {\r\n if (seenValues.has(entry)) {\r\n return entry;\r\n } else {\r\n seenValues.add(entry);\r\n }\r\n }\r\n return undefined;\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bd657abc11d2d14a76809de391a064027c73a02f","contentHash":"cb25042f0def1c1b75aa24dcf826e3bb0d1cb21bf2d64adbc66d972f3b72441d"},"X:\\Code\\InversifyJS\\src\\inversify.ts":{"path":"X:\\Code\\InversifyJS\\src\\inversify.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":731}},"23":{"start":{"line":23,"column":11},"end":{"line":23,"column":61}},"24":{"start":{"line":24,"column":0},"end":{"line":24,"column":28}},"25":{"start":{"line":25,"column":18},"end":{"line":25,"column":50}},"26":{"start":{"line":26,"column":0},"end":{"line":26,"column":118}},"27":{"start":{"line":26,"column":83},"end":{"line":26,"column":112}},"28":{"start":{"line":27,"column":22},"end":{"line":27,"column":58}},"29":{"start":{"line":28,"column":0},"end":{"line":28,"column":136}},"30":{"start":{"line":28,"column":90},"end":{"line":28,"column":130}},"31":{"start":{"line":29,"column":0},"end":{"line":29,"column":134}},"32":{"start":{"line":29,"column":89},"end":{"line":29,"column":128}},"33":{"start":{"line":30,"column":0},"end":{"line":30,"column":132}},"34":{"start":{"line":30,"column":88},"end":{"line":30,"column":126}},"35":{"start":{"line":31,"column":25},"end":{"line":31,"column":64}},"36":{"start":{"line":32,"column":0},"end":{"line":32,"column":147}},"37":{"start":{"line":32,"column":94},"end":{"line":32,"column":141}},"38":{"start":{"line":33,"column":0},"end":{"line":33,"column":137}},"39":{"start":{"line":33,"column":89},"end":{"line":33,"column":131}},"40":{"start":{"line":34,"column":24},"end":{"line":34,"column":63}},"41":{"start":{"line":35,"column":0},"end":{"line":35,"column":148}},"42":{"start":{"line":35,"column":95},"end":{"line":35,"column":142}},"43":{"start":{"line":36,"column":19},"end":{"line":36,"column":53}},"44":{"start":{"line":37,"column":0},"end":{"line":37,"column":121}},"45":{"start":{"line":37,"column":84},"end":{"line":37,"column":115}},"46":{"start":{"line":38,"column":15},"end":{"line":38,"column":45}},"47":{"start":{"line":39,"column":0},"end":{"line":39,"column":109}},"48":{"start":{"line":39,"column":80},"end":{"line":39,"column":103}},"49":{"start":{"line":40,"column":14},"end":{"line":40,"column":43}},"50":{"start":{"line":41,"column":0},"end":{"line":41,"column":106}},"51":{"start":{"line":41,"column":79},"end":{"line":41,"column":100}},"52":{"start":{"line":42,"column":15},"end":{"line":42,"column":45}},"53":{"start":{"line":43,"column":0},"end":{"line":43,"column":109}},"54":{"start":{"line":43,"column":80},"end":{"line":43,"column":103}},"55":{"start":{"line":44,"column":32},"end":{"line":44,"column":79}},"56":{"start":{"line":45,"column":0},"end":{"line":45,"column":156}},"57":{"start":{"line":45,"column":95},"end":{"line":45,"column":150}},"58":{"start":{"line":46,"column":32},"end":{"line":46,"column":79}},"59":{"start":{"line":47,"column":0},"end":{"line":47,"column":155}},"60":{"start":{"line":47,"column":94},"end":{"line":47,"column":149}},"61":{"start":{"line":48,"column":17},"end":{"line":48,"column":49}},"62":{"start":{"line":49,"column":0},"end":{"line":49,"column":115}},"63":{"start":{"line":49,"column":82},"end":{"line":49,"column":109}},"64":{"start":{"line":50,"column":18},"end":{"line":50,"column":51}},"65":{"start":{"line":51,"column":0},"end":{"line":51,"column":118}},"66":{"start":{"line":51,"column":83},"end":{"line":51,"column":112}},"67":{"start":{"line":52,"column":21},"end":{"line":52,"column":57}},"68":{"start":{"line":53,"column":0},"end":{"line":53,"column":125}},"69":{"start":{"line":53,"column":85},"end":{"line":53,"column":119}},"70":{"start":{"line":54,"column":20},"end":{"line":54,"column":55}},"71":{"start":{"line":55,"column":0},"end":{"line":55,"column":122}},"72":{"start":{"line":55,"column":84},"end":{"line":55,"column":116}},"73":{"start":{"line":56,"column":23},"end":{"line":56,"column":61}},"74":{"start":{"line":57,"column":0},"end":{"line":57,"column":131}},"75":{"start":{"line":57,"column":87},"end":{"line":57,"column":125}},"76":{"start":{"line":58,"column":20},"end":{"line":58,"column":55}},"77":{"start":{"line":59,"column":0},"end":{"line":59,"column":122}},"78":{"start":{"line":59,"column":84},"end":{"line":59,"column":116}},"79":{"start":{"line":60,"column":24},"end":{"line":60,"column":61}},"80":{"start":{"line":61,"column":0},"end":{"line":61,"column":134}},"81":{"start":{"line":61,"column":88},"end":{"line":61,"column":128}},"82":{"start":{"line":62,"column":11},"end":{"line":62,"column":32}},"83":{"start":{"line":63,"column":0},"end":{"line":63,"column":97}},"84":{"start":{"line":63,"column":76},"end":{"line":63,"column":91}},"85":{"start":{"line":64,"column":19},"end":{"line":64,"column":53}},"86":{"start":{"line":65,"column":0},"end":{"line":65,"column":121}},"87":{"start":{"line":65,"column":84},"end":{"line":65,"column":115}},"88":{"start":{"line":66,"column":24},"end":{"line":66,"column":63}},"89":{"start":{"line":67,"column":0},"end":{"line":67,"column":122}},"90":{"start":{"line":67,"column":82},"end":{"line":67,"column":116}},"91":{"start":{"line":68,"column":27},"end":{"line":68,"column":65}},"92":{"start":{"line":69,"column":0},"end":{"line":69,"column":145}},"93":{"start":{"line":69,"column":92},"end":{"line":69,"column":139}},"94":{"start":{"line":70,"column":0},"end":{"line":70,"column":141}},"95":{"start":{"line":70,"column":90},"end":{"line":70,"column":135}},"96":{"start":{"line":71,"column":0},"end":{"line":71,"column":139}},"97":{"start":{"line":71,"column":89},"end":{"line":71,"column":133}},"98":{"start":{"line":72,"column":0},"end":{"line":72,"column":137}},"99":{"start":{"line":72,"column":88},"end":{"line":72,"column":131}},"100":{"start":{"line":73,"column":22},"end":{"line":73,"column":54}},"101":{"start":{"line":74,"column":0},"end":{"line":74,"column":160}},"102":{"start":{"line":74,"column":102},"end":{"line":74,"column":154}},"103":{"start":{"line":75,"column":22},"end":{"line":75,"column":54}},"104":{"start":{"line":76,"column":0},"end":{"line":76,"column":140}},"105":{"start":{"line":76,"column":92},"end":{"line":76,"column":134}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":26,"column":69},"end":{"line":26,"column":70}},"loc":{"start":{"line":26,"column":81},"end":{"line":26,"column":114}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":28,"column":76},"end":{"line":28,"column":77}},"loc":{"start":{"line":28,"column":88},"end":{"line":28,"column":132}},"line":28},"8":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":75},"end":{"line":29,"column":76}},"loc":{"start":{"line":29,"column":87},"end":{"line":29,"column":130}},"line":29},"9":{"name":"(anonymous_9)","decl":{"start":{"line":30,"column":74},"end":{"line":30,"column":75}},"loc":{"start":{"line":30,"column":86},"end":{"line":30,"column":128}},"line":30},"10":{"name":"(anonymous_10)","decl":{"start":{"line":32,"column":80},"end":{"line":32,"column":81}},"loc":{"start":{"line":32,"column":92},"end":{"line":32,"column":143}},"line":32},"11":{"name":"(anonymous_11)","decl":{"start":{"line":33,"column":75},"end":{"line":33,"column":76}},"loc":{"start":{"line":33,"column":87},"end":{"line":33,"column":133}},"line":33},"12":{"name":"(anonymous_12)","decl":{"start":{"line":35,"column":81},"end":{"line":35,"column":82}},"loc":{"start":{"line":35,"column":93},"end":{"line":35,"column":144}},"line":35},"13":{"name":"(anonymous_13)","decl":{"start":{"line":37,"column":70},"end":{"line":37,"column":71}},"loc":{"start":{"line":37,"column":82},"end":{"line":37,"column":117}},"line":37},"14":{"name":"(anonymous_14)","decl":{"start":{"line":39,"column":66},"end":{"line":39,"column":67}},"loc":{"start":{"line":39,"column":78},"end":{"line":39,"column":105}},"line":39},"15":{"name":"(anonymous_15)","decl":{"start":{"line":41,"column":65},"end":{"line":41,"column":66}},"loc":{"start":{"line":41,"column":77},"end":{"line":41,"column":102}},"line":41},"16":{"name":"(anonymous_16)","decl":{"start":{"line":43,"column":66},"end":{"line":43,"column":67}},"loc":{"start":{"line":43,"column":78},"end":{"line":43,"column":105}},"line":43},"17":{"name":"(anonymous_17)","decl":{"start":{"line":45,"column":81},"end":{"line":45,"column":82}},"loc":{"start":{"line":45,"column":93},"end":{"line":45,"column":152}},"line":45},"18":{"name":"(anonymous_18)","decl":{"start":{"line":47,"column":80},"end":{"line":47,"column":81}},"loc":{"start":{"line":47,"column":92},"end":{"line":47,"column":151}},"line":47},"19":{"name":"(anonymous_19)","decl":{"start":{"line":49,"column":68},"end":{"line":49,"column":69}},"loc":{"start":{"line":49,"column":80},"end":{"line":49,"column":111}},"line":49},"20":{"name":"(anonymous_20)","decl":{"start":{"line":51,"column":69},"end":{"line":51,"column":70}},"loc":{"start":{"line":51,"column":81},"end":{"line":51,"column":114}},"line":51},"21":{"name":"(anonymous_21)","decl":{"start":{"line":53,"column":71},"end":{"line":53,"column":72}},"loc":{"start":{"line":53,"column":83},"end":{"line":53,"column":121}},"line":53},"22":{"name":"(anonymous_22)","decl":{"start":{"line":55,"column":70},"end":{"line":55,"column":71}},"loc":{"start":{"line":55,"column":82},"end":{"line":55,"column":118}},"line":55},"23":{"name":"(anonymous_23)","decl":{"start":{"line":57,"column":73},"end":{"line":57,"column":74}},"loc":{"start":{"line":57,"column":85},"end":{"line":57,"column":127}},"line":57},"24":{"name":"(anonymous_24)","decl":{"start":{"line":59,"column":70},"end":{"line":59,"column":71}},"loc":{"start":{"line":59,"column":82},"end":{"line":59,"column":118}},"line":59},"25":{"name":"(anonymous_25)","decl":{"start":{"line":61,"column":74},"end":{"line":61,"column":75}},"loc":{"start":{"line":61,"column":86},"end":{"line":61,"column":130}},"line":61},"26":{"name":"(anonymous_26)","decl":{"start":{"line":63,"column":62},"end":{"line":63,"column":63}},"loc":{"start":{"line":63,"column":74},"end":{"line":63,"column":93}},"line":63},"27":{"name":"(anonymous_27)","decl":{"start":{"line":65,"column":70},"end":{"line":65,"column":71}},"loc":{"start":{"line":65,"column":82},"end":{"line":65,"column":117}},"line":65},"28":{"name":"(anonymous_28)","decl":{"start":{"line":67,"column":68},"end":{"line":67,"column":69}},"loc":{"start":{"line":67,"column":80},"end":{"line":67,"column":118}},"line":67},"29":{"name":"(anonymous_29)","decl":{"start":{"line":69,"column":78},"end":{"line":69,"column":79}},"loc":{"start":{"line":69,"column":90},"end":{"line":69,"column":141}},"line":69},"30":{"name":"(anonymous_30)","decl":{"start":{"line":70,"column":76},"end":{"line":70,"column":77}},"loc":{"start":{"line":70,"column":88},"end":{"line":70,"column":137}},"line":70},"31":{"name":"(anonymous_31)","decl":{"start":{"line":71,"column":75},"end":{"line":71,"column":76}},"loc":{"start":{"line":71,"column":87},"end":{"line":71,"column":135}},"line":71},"32":{"name":"(anonymous_32)","decl":{"start":{"line":72,"column":74},"end":{"line":72,"column":75}},"loc":{"start":{"line":72,"column":86},"end":{"line":72,"column":133}},"line":72},"33":{"name":"(anonymous_33)","decl":{"start":{"line":74,"column":88},"end":{"line":74,"column":89}},"loc":{"start":{"line":74,"column":100},"end":{"line":74,"column":156}},"line":74},"34":{"name":"(anonymous_34)","decl":{"start":{"line":76,"column":78},"end":{"line":76,"column":79}},"loc":{"start":{"line":76,"column":90},"end":{"line":76,"column":136}},"line":76}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":131,"28":1,"29":1,"30":1,"31":1,"32":0,"33":1,"34":0,"35":1,"36":1,"37":0,"38":1,"39":2,"40":1,"41":1,"42":0,"43":1,"44":1,"45":301,"46":1,"47":1,"48":15,"49":1,"50":1,"51":20,"52":1,"53":1,"54":137,"55":1,"56":1,"57":4,"58":1,"59":1,"60":0,"61":1,"62":1,"63":7,"64":1,"65":1,"66":8,"67":1,"68":1,"69":16,"70":1,"71":1,"72":7,"73":1,"74":1,"75":0,"76":1,"77":1,"78":0,"79":1,"80":1,"81":1,"82":1,"83":1,"84":0,"85":1,"86":1,"87":0,"88":1,"89":1,"90":11,"91":1,"92":1,"93":0,"94":1,"95":0,"96":1,"97":0,"98":1,"99":2,"100":1,"101":1,"102":0,"103":1,"104":1,"105":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":131,"7":1,"8":0,"9":0,"10":0,"11":2,"12":0,"13":301,"14":15,"15":20,"16":137,"17":4,"18":0,"19":7,"20":8,"21":16,"22":7,"23":0,"24":0,"25":1,"26":0,"27":0,"28":11,"29":0,"30":0,"31":0,"32":2,"33":0,"34":1},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/inversify.ts","sources":["X:/Code/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';\r\nexport const METADATA_KEY = keys;\r\nexport { Container } from './container/container';\r\nexport { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum } from './constants/literal_types';\r\nexport { AsyncContainerModule, ContainerModule } from './container/container_module';\r\nexport { createTaggedDecorator } from './annotation/decorator_utils'\r\nexport { injectable } from './annotation/injectable';\r\nexport { tagged } from './annotation/tagged';\r\nexport { named } from './annotation/named';\r\nexport { inject } from './annotation/inject';\r\nexport { LazyServiceIdentifier } from './annotation/lazy_service_identifier'\r\nexport { LazyServiceIdentifier as LazyServiceIdentifer } from './annotation/lazy_service_identifier'\r\nexport { optional } from './annotation/optional';\r\nexport { unmanaged } from './annotation/unmanaged';\r\nexport { multiInject } from './annotation/multi_inject';\r\nexport { targetName } from './annotation/target_name';\r\nexport { postConstruct } from './annotation/post_construct';\r\nexport { preDestroy } from './annotation/pre_destroy';\r\nexport { MetadataReader } from './planning/metadata_reader';\r\nexport { id } from './utils/id';\r\nexport { interfaces } from './interfaces/interfaces';\r\nexport { decorate } from './annotation/decorator_utils';\r\nexport { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint } from './syntax/constraint_helpers';\r\nexport { getServiceIdentifierAsString } from './utils/serialization';\r\nexport { multiBindToService } from './utils/binding_utils';\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"581c28e0f21c35e5fd717d1e6b7b244e0ba4e238","contentHash":"aaed0ba4a128d4d27f7f0f9c3bcfce09aebf63b65290feae32a91d645ae97f8b"},"X:\\Code\\InversifyJS\\src\\container\\container.ts":{"path":"X:\\Code\\InversifyJS\\src\\container\\container.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":12,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":10,"column":6}},"2":{"start":{"line":4,"column":8},"end":{"line":8,"column":9}},"3":{"start":{"line":4,"column":24},"end":{"line":4,"column":25}},"4":{"start":{"line":4,"column":31},"end":{"line":4,"column":47}},"5":{"start":{"line":5,"column":12},"end":{"line":5,"column":29}},"6":{"start":{"line":6,"column":12},"end":{"line":7,"column":28}},"7":{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},"8":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"9":{"start":{"line":9,"column":8},"end":{"line":9,"column":17}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":43}},"11":{"start":{"line":13,"column":22},"end":{"line":19,"column":3}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},"13":{"start":{"line":14,"column":26},"end":{"line":14,"column":33}},"14":{"start":{"line":15,"column":4},"end":{"line":15,"column":89}},"15":{"start":{"line":15,"column":71},"end":{"line":15,"column":83}},"16":{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},"17":{"start":{"line":17,"column":26},"end":{"line":17,"column":33}},"18":{"start":{"line":18,"column":4},"end":{"line":18,"column":17}},"19":{"start":{"line":20,"column":25},"end":{"line":24,"column":2}},"20":{"start":{"line":21,"column":4},"end":{"line":21,"column":72}},"21":{"start":{"line":23,"column":4},"end":{"line":23,"column":21}},"22":{"start":{"line":25,"column":19},"end":{"line":31,"column":1}},"23":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"24":{"start":{"line":26,"column":31},"end":{"line":26,"column":42}},"25":{"start":{"line":27,"column":17},"end":{"line":27,"column":19}},"26":{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},"27":{"start":{"line":28,"column":21},"end":{"line":28,"column":141}},"28":{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},"29":{"start":{"line":28,"column":109},"end":{"line":28,"column":141}},"30":{"start":{"line":29,"column":4},"end":{"line":29,"column":36}},"31":{"start":{"line":30,"column":4},"end":{"line":30,"column":18}},"32":{"start":{"line":32,"column":16},"end":{"line":40,"column":1}},"33":{"start":{"line":33,"column":28},"end":{"line":33,"column":110}},"34":{"start":{"line":33,"column":91},"end":{"line":33,"column":106}},"35":{"start":{"line":34,"column":4},"end":{"line":39,"column":7}},"36":{"start":{"line":35,"column":36},"end":{"line":35,"column":97}},"37":{"start":{"line":35,"column":42},"end":{"line":35,"column":70}},"38":{"start":{"line":35,"column":85},"end":{"line":35,"column":95}},"39":{"start":{"line":36,"column":35},"end":{"line":36,"column":100}},"40":{"start":{"line":36,"column":41},"end":{"line":36,"column":73}},"41":{"start":{"line":36,"column":88},"end":{"line":36,"column":98}},"42":{"start":{"line":37,"column":32},"end":{"line":37,"column":116}},"43":{"start":{"line":38,"column":8},"end":{"line":38,"column":78}},"44":{"start":{"line":41,"column":18},"end":{"line":67,"column":1}},"45":{"start":{"line":42,"column":12},"end":{"line":42,"column":104}},"46":{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},"47":{"start":{"line":42,"column":57},"end":{"line":42,"column":68}},"48":{"start":{"line":42,"column":69},"end":{"line":42,"column":81}},"49":{"start":{"line":43,"column":4},"end":{"line":43,"column":157}},"50":{"start":{"line":43,"column":138},"end":{"line":43,"column":150}},"51":{"start":{"line":44,"column":23},"end":{"line":44,"column":68}},"52":{"start":{"line":44,"column":45},"end":{"line":44,"column":65}},"53":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"54":{"start":{"line":46,"column":15},"end":{"line":46,"column":70}},"55":{"start":{"line":47,"column":8},"end":{"line":64,"column":66}},"56":{"start":{"line":47,"column":18},"end":{"line":64,"column":66}},"57":{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},"58":{"start":{"line":48,"column":160},"end":{"line":48,"column":169}},"59":{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},"60":{"start":{"line":49,"column":26},"end":{"line":49,"column":52}},"61":{"start":{"line":50,"column":12},"end":{"line":62,"column":13}},"62":{"start":{"line":51,"column":32},"end":{"line":51,"column":39}},"63":{"start":{"line":51,"column":40},"end":{"line":51,"column":46}},"64":{"start":{"line":52,"column":24},"end":{"line":52,"column":34}},"65":{"start":{"line":52,"column":35},"end":{"line":52,"column":72}},"66":{"start":{"line":53,"column":24},"end":{"line":53,"column":34}},"67":{"start":{"line":53,"column":35},"end":{"line":53,"column":45}},"68":{"start":{"line":53,"column":46},"end":{"line":53,"column":55}},"69":{"start":{"line":53,"column":56},"end":{"line":53,"column":65}},"70":{"start":{"line":54,"column":24},"end":{"line":54,"column":41}},"71":{"start":{"line":54,"column":42},"end":{"line":54,"column":55}},"72":{"start":{"line":54,"column":56},"end":{"line":54,"column":65}},"73":{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},"74":{"start":{"line":56,"column":110},"end":{"line":56,"column":116}},"75":{"start":{"line":56,"column":117},"end":{"line":56,"column":126}},"76":{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},"77":{"start":{"line":57,"column":81},"end":{"line":57,"column":97}},"78":{"start":{"line":57,"column":98},"end":{"line":57,"column":104}},"79":{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},"80":{"start":{"line":58,"column":57},"end":{"line":58,"column":72}},"81":{"start":{"line":58,"column":73},"end":{"line":58,"column":80}},"82":{"start":{"line":58,"column":81},"end":{"line":58,"column":87}},"83":{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},"84":{"start":{"line":59,"column":47},"end":{"line":59,"column":62}},"85":{"start":{"line":59,"column":63},"end":{"line":59,"column":78}},"86":{"start":{"line":59,"column":79},"end":{"line":59,"column":85}},"87":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"88":{"start":{"line":60,"column":30},"end":{"line":60,"column":42}},"89":{"start":{"line":61,"column":20},"end":{"line":61,"column":33}},"90":{"start":{"line":61,"column":34},"end":{"line":61,"column":43}},"91":{"start":{"line":63,"column":12},"end":{"line":63,"column":39}},"92":{"start":{"line":64,"column":22},"end":{"line":64,"column":34}},"93":{"start":{"line":64,"column":35},"end":{"line":64,"column":41}},"94":{"start":{"line":64,"column":54},"end":{"line":64,"column":64}},"95":{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},"96":{"start":{"line":65,"column":23},"end":{"line":65,"column":35}},"97":{"start":{"line":65,"column":36},"end":{"line":65,"column":89}},"98":{"start":{"line":68,"column":20},"end":{"line":76,"column":1}},"99":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"100":{"start":{"line":69,"column":40},"end":{"line":74,"column":5}},"101":{"start":{"line":69,"column":53},"end":{"line":69,"column":54}},"102":{"start":{"line":69,"column":60},"end":{"line":69,"column":71}},"103":{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},"104":{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},"105":{"start":{"line":71,"column":21},"end":{"line":71,"column":65}},"106":{"start":{"line":72,"column":12},"end":{"line":72,"column":28}},"107":{"start":{"line":75,"column":4},"end":{"line":75,"column":61}},"108":{"start":{"line":77,"column":0},"end":{"line":77,"column":62}},"109":{"start":{"line":78,"column":0},"end":{"line":78,"column":27}},"110":{"start":{"line":79,"column":16},"end":{"line":79,"column":46}},"111":{"start":{"line":80,"column":17},"end":{"line":80,"column":65}},"112":{"start":{"line":81,"column":22},"end":{"line":81,"column":59}},"113":{"start":{"line":82,"column":19},"end":{"line":82,"column":70}},"114":{"start":{"line":83,"column":24},"end":{"line":83,"column":62}},"115":{"start":{"line":84,"column":16},"end":{"line":84,"column":46}},"116":{"start":{"line":85,"column":17},"end":{"line":85,"column":50}},"117":{"start":{"line":86,"column":26},"end":{"line":86,"column":64}},"118":{"start":{"line":87,"column":14},"end":{"line":87,"column":39}},"119":{"start":{"line":88,"column":11},"end":{"line":88,"column":33}},"120":{"start":{"line":89,"column":22},"end":{"line":89,"column":55}},"121":{"start":{"line":90,"column":27},"end":{"line":90,"column":58}},"122":{"start":{"line":91,"column":15},"end":{"line":91,"column":34}},"123":{"start":{"line":92,"column":32},"end":{"line":92,"column":68}},"124":{"start":{"line":93,"column":17},"end":{"line":728,"column":3}},"125":{"start":{"line":95,"column":22},"end":{"line":95,"column":44}},"126":{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},"127":{"start":{"line":97,"column":12},"end":{"line":97,"column":81}},"128":{"start":{"line":99,"column":8},"end":{"line":106,"column":9}},"129":{"start":{"line":100,"column":12},"end":{"line":100,"column":78}},"130":{"start":{"line":102,"column":13},"end":{"line":106,"column":9}},"131":{"start":{"line":105,"column":12},"end":{"line":105,"column":85}},"132":{"start":{"line":107,"column":8},"end":{"line":112,"column":9}},"133":{"start":{"line":108,"column":12},"end":{"line":108,"column":47}},"134":{"start":{"line":110,"column":13},"end":{"line":112,"column":9}},"135":{"start":{"line":111,"column":12},"end":{"line":111,"column":92}},"136":{"start":{"line":113,"column":8},"end":{"line":118,"column":9}},"137":{"start":{"line":114,"column":12},"end":{"line":114,"column":48}},"138":{"start":{"line":116,"column":13},"end":{"line":118,"column":9}},"139":{"start":{"line":117,"column":12},"end":{"line":117,"column":87}},"140":{"start":{"line":119,"column":8},"end":{"line":123,"column":10}},"141":{"start":{"line":124,"column":8},"end":{"line":124,"column":33}},"142":{"start":{"line":125,"column":8},"end":{"line":125,"column":56}},"143":{"start":{"line":126,"column":8},"end":{"line":126,"column":29}},"144":{"start":{"line":127,"column":8},"end":{"line":127,"column":32}},"145":{"start":{"line":128,"column":8},"end":{"line":128,"column":50}},"146":{"start":{"line":129,"column":8},"end":{"line":129,"column":52}},"147":{"start":{"line":130,"column":8},"end":{"line":130,"column":27}},"148":{"start":{"line":131,"column":8},"end":{"line":131,"column":70}},"149":{"start":{"line":132,"column":8},"end":{"line":132,"column":92}},"150":{"start":{"line":134,"column":4},"end":{"line":153,"column":6}},"151":{"start":{"line":135,"column":25},"end":{"line":135,"column":27}},"152":{"start":{"line":136,"column":8},"end":{"line":138,"column":9}},"153":{"start":{"line":136,"column":22},"end":{"line":136,"column":23}},"154":{"start":{"line":137,"column":12},"end":{"line":137,"column":47}},"155":{"start":{"line":139,"column":24},"end":{"line":139,"column":39}},"156":{"start":{"line":140,"column":31},"end":{"line":140,"column":185}},"157":{"start":{"line":140,"column":122},"end":{"line":140,"column":182}},"158":{"start":{"line":141,"column":32},"end":{"line":141,"column":78}},"159":{"start":{"line":143,"column":12},"end":{"line":147,"column":15}},"160":{"start":{"line":144,"column":16},"end":{"line":146,"column":19}},"161":{"start":{"line":145,"column":20},"end":{"line":145,"column":80}},"162":{"start":{"line":149,"column":8},"end":{"line":151,"column":11}},"163":{"start":{"line":150,"column":12},"end":{"line":150,"column":71}},"164":{"start":{"line":152,"column":8},"end":{"line":152,"column":25}},"165":{"start":{"line":154,"column":4},"end":{"line":165,"column":6}},"166":{"start":{"line":155,"column":22},"end":{"line":155,"column":24}},"167":{"start":{"line":156,"column":8},"end":{"line":158,"column":9}},"168":{"start":{"line":156,"column":22},"end":{"line":156,"column":23}},"169":{"start":{"line":157,"column":12},"end":{"line":157,"column":40}},"170":{"start":{"line":159,"column":25},"end":{"line":159,"column":65}},"171":{"start":{"line":160,"column":8},"end":{"line":164,"column":9}},"172":{"start":{"line":160,"column":22},"end":{"line":160,"column":23}},"173":{"start":{"line":160,"column":37},"end":{"line":160,"column":44}},"174":{"start":{"line":161,"column":32},"end":{"line":161,"column":45}},"175":{"start":{"line":162,"column":41},"end":{"line":162,"column":69}},"176":{"start":{"line":163,"column":12},"end":{"line":163,"column":326}},"177":{"start":{"line":166,"column":4},"end":{"line":194,"column":6}},"178":{"start":{"line":167,"column":22},"end":{"line":167,"column":24}},"179":{"start":{"line":168,"column":8},"end":{"line":170,"column":9}},"180":{"start":{"line":168,"column":22},"end":{"line":168,"column":23}},"181":{"start":{"line":169,"column":12},"end":{"line":169,"column":40}},"182":{"start":{"line":171,"column":8},"end":{"line":193,"column":11}},"183":{"start":{"line":173,"column":12},"end":{"line":192,"column":15}},"184":{"start":{"line":174,"column":16},"end":{"line":191,"column":17}},"185":{"start":{"line":176,"column":24},"end":{"line":176,"column":78}},"186":{"start":{"line":177,"column":24},"end":{"line":177,"column":52}},"187":{"start":{"line":178,"column":24},"end":{"line":178,"column":37}},"188":{"start":{"line":180,"column":24},"end":{"line":180,"column":68}},"189":{"start":{"line":180,"column":54},"end":{"line":180,"column":68}},"190":{"start":{"line":181,"column":24},"end":{"line":181,"column":54}},"191":{"start":{"line":182,"column":24},"end":{"line":182,"column":78}},"192":{"start":{"line":183,"column":24},"end":{"line":183,"column":350}},"193":{"start":{"line":185,"column":24},"end":{"line":185,"column":34}},"194":{"start":{"line":186,"column":24},"end":{"line":186,"column":37}},"195":{"start":{"line":188,"column":24},"end":{"line":188,"column":29}},"196":{"start":{"line":189,"column":24},"end":{"line":189,"column":38}},"197":{"start":{"line":190,"column":28},"end":{"line":190,"column":39}},"198":{"start":{"line":195,"column":4},"end":{"line":206,"column":6}},"199":{"start":{"line":196,"column":20},"end":{"line":196,"column":24}},"200":{"start":{"line":197,"column":22},"end":{"line":197,"column":24}},"201":{"start":{"line":198,"column":8},"end":{"line":200,"column":9}},"202":{"start":{"line":198,"column":22},"end":{"line":198,"column":23}},"203":{"start":{"line":199,"column":12},"end":{"line":199,"column":40}},"204":{"start":{"line":201,"column":8},"end":{"line":205,"column":11}},"205":{"start":{"line":202,"column":32},"end":{"line":202,"column":70}},"206":{"start":{"line":203,"column":12},"end":{"line":203,"column":55}},"207":{"start":{"line":204,"column":12},"end":{"line":204,"column":51}},"208":{"start":{"line":207,"column":4},"end":{"line":235,"column":6}},"209":{"start":{"line":208,"column":22},"end":{"line":208,"column":24}},"210":{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},"211":{"start":{"line":209,"column":22},"end":{"line":209,"column":23}},"212":{"start":{"line":210,"column":12},"end":{"line":210,"column":40}},"213":{"start":{"line":212,"column":8},"end":{"line":234,"column":11}},"214":{"start":{"line":214,"column":12},"end":{"line":233,"column":15}},"215":{"start":{"line":215,"column":16},"end":{"line":232,"column":17}},"216":{"start":{"line":217,"column":24},"end":{"line":217,"column":52}},"217":{"start":{"line":218,"column":24},"end":{"line":218,"column":37}},"218":{"start":{"line":220,"column":24},"end":{"line":220,"column":68}},"219":{"start":{"line":220,"column":54},"end":{"line":220,"column":68}},"220":{"start":{"line":221,"column":24},"end":{"line":221,"column":49}},"221":{"start":{"line":222,"column":24},"end":{"line":222,"column":80}},"222":{"start":{"line":223,"column":24},"end":{"line":223,"column":83}},"223":{"start":{"line":225,"column":24},"end":{"line":225,"column":34}},"224":{"start":{"line":226,"column":24},"end":{"line":226,"column":64}},"225":{"start":{"line":227,"column":24},"end":{"line":227,"column":37}},"226":{"start":{"line":229,"column":24},"end":{"line":229,"column":29}},"227":{"start":{"line":230,"column":24},"end":{"line":230,"column":38}},"228":{"start":{"line":231,"column":28},"end":{"line":231,"column":39}},"229":{"start":{"line":236,"column":4},"end":{"line":241,"column":6}},"230":{"start":{"line":237,"column":20},"end":{"line":237,"column":91}},"231":{"start":{"line":238,"column":22},"end":{"line":238,"column":69}},"232":{"start":{"line":239,"column":8},"end":{"line":239,"column":64}},"233":{"start":{"line":240,"column":8},"end":{"line":240,"column":64}},"234":{"start":{"line":242,"column":4},"end":{"line":245,"column":6}},"235":{"start":{"line":243,"column":8},"end":{"line":243,"column":39}},"236":{"start":{"line":244,"column":8},"end":{"line":244,"column":44}},"237":{"start":{"line":246,"column":4},"end":{"line":257,"column":6}},"238":{"start":{"line":247,"column":8},"end":{"line":256,"column":11}},"239":{"start":{"line":248,"column":12},"end":{"line":255,"column":15}},"240":{"start":{"line":249,"column":16},"end":{"line":254,"column":17}},"241":{"start":{"line":250,"column":28},"end":{"line":250,"column":76}},"242":{"start":{"line":252,"column":24},"end":{"line":252,"column":34}},"243":{"start":{"line":253,"column":24},"end":{"line":253,"column":65}},"244":{"start":{"line":258,"column":4},"end":{"line":264,"column":6}},"245":{"start":{"line":259,"column":8},"end":{"line":262,"column":9}},"246":{"start":{"line":260,"column":27},"end":{"line":260,"column":73}},"247":{"start":{"line":261,"column":12},"end":{"line":261,"column":49}},"248":{"start":{"line":263,"column":8},"end":{"line":263,"column":61}},"249":{"start":{"line":265,"column":4},"end":{"line":283,"column":6}},"250":{"start":{"line":266,"column":8},"end":{"line":282,"column":11}},"251":{"start":{"line":268,"column":12},"end":{"line":281,"column":15}},"252":{"start":{"line":269,"column":16},"end":{"line":280,"column":17}},"253":{"start":{"line":271,"column":24},"end":{"line":271,"column":94}},"254":{"start":{"line":271,"column":80},"end":{"line":271,"column":94}},"255":{"start":{"line":272,"column":24},"end":{"line":272,"column":82}},"256":{"start":{"line":273,"column":24},"end":{"line":273,"column":78}},"257":{"start":{"line":275,"column":24},"end":{"line":275,"column":34}},"258":{"start":{"line":276,"column":24},"end":{"line":276,"column":37}},"259":{"start":{"line":278,"column":24},"end":{"line":278,"column":77}},"260":{"start":{"line":279,"column":24},"end":{"line":279,"column":35}},"261":{"start":{"line":284,"column":4},"end":{"line":290,"column":6}},"262":{"start":{"line":285,"column":20},"end":{"line":285,"column":24}},"263":{"start":{"line":286,"column":8},"end":{"line":288,"column":11}},"264":{"start":{"line":287,"column":12},"end":{"line":287,"column":47}},"265":{"start":{"line":289,"column":8},"end":{"line":289,"column":56}},"266":{"start":{"line":291,"column":4},"end":{"line":310,"column":6}},"267":{"start":{"line":292,"column":8},"end":{"line":309,"column":11}},"268":{"start":{"line":294,"column":24},"end":{"line":294,"column":28}},"269":{"start":{"line":295,"column":12},"end":{"line":308,"column":15}},"270":{"start":{"line":296,"column":16},"end":{"line":307,"column":17}},"271":{"start":{"line":298,"column":24},"end":{"line":298,"column":38}},"272":{"start":{"line":299,"column":24},"end":{"line":301,"column":27}},"273":{"start":{"line":300,"column":28},"end":{"line":300,"column":83}},"274":{"start":{"line":302,"column":24},"end":{"line":302,"column":58}},"275":{"start":{"line":304,"column":24},"end":{"line":304,"column":34}},"276":{"start":{"line":305,"column":24},"end":{"line":305,"column":72}},"277":{"start":{"line":306,"column":24},"end":{"line":306,"column":35}},"278":{"start":{"line":311,"column":4},"end":{"line":313,"column":6}},"279":{"start":{"line":312,"column":8},"end":{"line":312,"column":63}},"280":{"start":{"line":314,"column":4},"end":{"line":316,"column":6}},"281":{"start":{"line":315,"column":8},"end":{"line":315,"column":67}},"282":{"start":{"line":317,"column":4},"end":{"line":323,"column":6}},"283":{"start":{"line":318,"column":20},"end":{"line":318,"column":69}},"284":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"285":{"start":{"line":320,"column":12},"end":{"line":320,"column":59}},"286":{"start":{"line":322,"column":8},"end":{"line":322,"column":21}},"287":{"start":{"line":324,"column":4},"end":{"line":326,"column":6}},"288":{"start":{"line":325,"column":8},"end":{"line":325,"column":65}},"289":{"start":{"line":327,"column":4},"end":{"line":329,"column":6}},"290":{"start":{"line":328,"column":8},"end":{"line":328,"column":84}},"291":{"start":{"line":330,"column":4},"end":{"line":341,"column":6}},"292":{"start":{"line":331,"column":20},"end":{"line":331,"column":25}},"293":{"start":{"line":332,"column":8},"end":{"line":336,"column":9}},"294":{"start":{"line":333,"column":27},"end":{"line":333,"column":73}},"295":{"start":{"line":334,"column":28},"end":{"line":334,"column":97}},"296":{"start":{"line":335,"column":12},"end":{"line":335,"column":84}},"297":{"start":{"line":335,"column":49},"end":{"line":335,"column":80}},"298":{"start":{"line":337,"column":8},"end":{"line":339,"column":9}},"299":{"start":{"line":338,"column":12},"end":{"line":338,"column":77}},"300":{"start":{"line":340,"column":8},"end":{"line":340,"column":21}},"301":{"start":{"line":342,"column":4},"end":{"line":344,"column":6}},"302":{"start":{"line":343,"column":8},"end":{"line":343,"column":216}},"303":{"start":{"line":345,"column":4},"end":{"line":355,"column":6}},"304":{"start":{"line":346,"column":23},"end":{"line":346,"column":44}},"305":{"start":{"line":347,"column":8},"end":{"line":349,"column":9}},"306":{"start":{"line":348,"column":12},"end":{"line":348,"column":68}},"307":{"start":{"line":350,"column":8},"end":{"line":350,"column":52}},"308":{"start":{"line":351,"column":8},"end":{"line":351,"column":49}},"309":{"start":{"line":352,"column":8},"end":{"line":352,"column":53}},"310":{"start":{"line":353,"column":8},"end":{"line":353,"column":47}},"311":{"start":{"line":354,"column":8},"end":{"line":354,"column":69}},"312":{"start":{"line":356,"column":4},"end":{"line":360,"column":6}},"313":{"start":{"line":357,"column":20},"end":{"line":357,"column":67}},"314":{"start":{"line":358,"column":8},"end":{"line":358,"column":28}},"315":{"start":{"line":359,"column":8},"end":{"line":359,"column":21}},"316":{"start":{"line":361,"column":4},"end":{"line":368,"column":6}},"317":{"start":{"line":362,"column":26},"end":{"line":362,"column":28}},"318":{"start":{"line":363,"column":8},"end":{"line":365,"column":9}},"319":{"start":{"line":363,"column":22},"end":{"line":363,"column":23}},"320":{"start":{"line":364,"column":12},"end":{"line":364,"column":44}},"321":{"start":{"line":366,"column":22},"end":{"line":366,"column":84}},"322":{"start":{"line":367,"column":8},"end":{"line":367,"column":101}},"323":{"start":{"line":367,"column":70},"end":{"line":367,"column":88}},"324":{"start":{"line":369,"column":4},"end":{"line":371,"column":6}},"325":{"start":{"line":370,"column":8},"end":{"line":370,"column":46}},"326":{"start":{"line":372,"column":4},"end":{"line":375,"column":6}},"327":{"start":{"line":373,"column":22},"end":{"line":373,"column":67}},"328":{"start":{"line":374,"column":8},"end":{"line":374,"column":49}},"329":{"start":{"line":376,"column":4},"end":{"line":384,"column":6}},"330":{"start":{"line":377,"column":8},"end":{"line":383,"column":11}},"331":{"start":{"line":379,"column":12},"end":{"line":382,"column":15}},"332":{"start":{"line":380,"column":16},"end":{"line":380,"column":72}},"333":{"start":{"line":381,"column":16},"end":{"line":381,"column":47}},"334":{"start":{"line":385,"column":4},"end":{"line":388,"column":6}},"335":{"start":{"line":386,"column":22},"end":{"line":386,"column":79}},"336":{"start":{"line":387,"column":8},"end":{"line":387,"column":49}},"337":{"start":{"line":389,"column":4},"end":{"line":397,"column":6}},"338":{"start":{"line":390,"column":8},"end":{"line":396,"column":11}},"339":{"start":{"line":392,"column":12},"end":{"line":395,"column":15}},"340":{"start":{"line":393,"column":16},"end":{"line":393,"column":84}},"341":{"start":{"line":394,"column":16},"end":{"line":394,"column":47}},"342":{"start":{"line":398,"column":4},"end":{"line":400,"column":6}},"343":{"start":{"line":399,"column":8},"end":{"line":399,"column":80}},"344":{"start":{"line":401,"column":4},"end":{"line":403,"column":6}},"345":{"start":{"line":402,"column":8},"end":{"line":402,"column":85}},"346":{"start":{"line":404,"column":4},"end":{"line":407,"column":6}},"347":{"start":{"line":405,"column":22},"end":{"line":405,"column":57}},"348":{"start":{"line":406,"column":8},"end":{"line":406,"column":49}},"349":{"start":{"line":408,"column":4},"end":{"line":411,"column":6}},"350":{"start":{"line":409,"column":22},"end":{"line":409,"column":57}},"351":{"start":{"line":410,"column":8},"end":{"line":410,"column":37}},"352":{"start":{"line":412,"column":4},"end":{"line":415,"column":6}},"353":{"start":{"line":413,"column":22},"end":{"line":413,"column":78}},"354":{"start":{"line":414,"column":8},"end":{"line":414,"column":49}},"355":{"start":{"line":416,"column":4},"end":{"line":419,"column":6}},"356":{"start":{"line":417,"column":22},"end":{"line":417,"column":78}},"357":{"start":{"line":418,"column":8},"end":{"line":418,"column":37}},"358":{"start":{"line":420,"column":4},"end":{"line":422,"column":6}},"359":{"start":{"line":421,"column":8},"end":{"line":421,"column":83}},"360":{"start":{"line":423,"column":4},"end":{"line":425,"column":6}},"361":{"start":{"line":424,"column":8},"end":{"line":424,"column":88}},"362":{"start":{"line":426,"column":4},"end":{"line":436,"column":6}},"363":{"start":{"line":427,"column":22},"end":{"line":427,"column":55}},"364":{"start":{"line":428,"column":8},"end":{"line":430,"column":9}},"365":{"start":{"line":429,"column":12},"end":{"line":429,"column":52}},"366":{"start":{"line":431,"column":23},"end":{"line":431,"column":52}},"367":{"start":{"line":432,"column":8},"end":{"line":434,"column":9}},"368":{"start":{"line":433,"column":12},"end":{"line":433,"column":45}},"369":{"start":{"line":435,"column":8},"end":{"line":435,"column":24}},"370":{"start":{"line":437,"column":4},"end":{"line":443,"column":6}},"371":{"start":{"line":439,"column":8},"end":{"line":442,"column":9}},"372":{"start":{"line":440,"column":23},"end":{"line":440,"column":81}},"373":{"start":{"line":441,"column":12},"end":{"line":441,"column":103}},"374":{"start":{"line":444,"column":4},"end":{"line":448,"column":6}},"375":{"start":{"line":445,"column":40},"end":{"line":445,"column":84}},"376":{"start":{"line":446,"column":8},"end":{"line":446,"column":86}},"377":{"start":{"line":447,"column":8},"end":{"line":447,"column":90}},"378":{"start":{"line":449,"column":4},"end":{"line":451,"column":6}},"379":{"start":{"line":450,"column":8},"end":{"line":450,"column":119}},"380":{"start":{"line":450,"column":78},"end":{"line":450,"column":115}},"381":{"start":{"line":452,"column":4},"end":{"line":472,"column":6}},"382":{"start":{"line":453,"column":20},"end":{"line":453,"column":24}},"383":{"start":{"line":454,"column":26},"end":{"line":454,"column":69}},"384":{"start":{"line":455,"column":8},"end":{"line":471,"column":9}},"385":{"start":{"line":456,"column":12},"end":{"line":461,"column":13}},"386":{"start":{"line":457,"column":29},"end":{"line":457,"column":125}},"387":{"start":{"line":458,"column":16},"end":{"line":460,"column":17}},"388":{"start":{"line":459,"column":20},"end":{"line":459,"column":207}},"389":{"start":{"line":459,"column":83},"end":{"line":459,"column":189}},"390":{"start":{"line":462,"column":46},"end":{"line":462,"column":138}},"391":{"start":{"line":463,"column":12},"end":{"line":465,"column":13}},"392":{"start":{"line":464,"column":16},"end":{"line":464,"column":95}},"393":{"start":{"line":468,"column":12},"end":{"line":470,"column":13}},"394":{"start":{"line":469,"column":16},"end":{"line":469,"column":96}},"395":{"start":{"line":473,"column":4},"end":{"line":494,"column":6}},"396":{"start":{"line":474,"column":8},"end":{"line":493,"column":11}},"397":{"start":{"line":476,"column":12},"end":{"line":492,"column":15}},"398":{"start":{"line":477,"column":16},"end":{"line":491,"column":17}},"399":{"start":{"line":479,"column":24},"end":{"line":479,"column":50}},"400":{"start":{"line":480,"column":24},"end":{"line":480,"column":48}},"401":{"start":{"line":482,"column":24},"end":{"line":482,"column":34}},"402":{"start":{"line":483,"column":24},"end":{"line":483,"column":38}},"403":{"start":{"line":485,"column":24},"end":{"line":485,"column":41}},"404":{"start":{"line":486,"column":24},"end":{"line":488,"column":25}},"405":{"start":{"line":487,"column":28},"end":{"line":487,"column":110}},"406":{"start":{"line":489,"column":24},"end":{"line":489,"column":38}},"407":{"start":{"line":490,"column":28},"end":{"line":490,"column":39}},"408":{"start":{"line":495,"column":4},"end":{"line":507,"column":6}},"409":{"start":{"line":496,"column":20},"end":{"line":496,"column":24}},"410":{"start":{"line":497,"column":27},"end":{"line":497,"column":55}},"411":{"start":{"line":498,"column":8},"end":{"line":506,"column":9}},"412":{"start":{"line":499,"column":25},"end":{"line":499,"column":53}},"413":{"start":{"line":500,"column":12},"end":{"line":504,"column":13}},"414":{"start":{"line":501,"column":16},"end":{"line":503,"column":19}},"415":{"start":{"line":502,"column":20},"end":{"line":502,"column":92}},"416":{"start":{"line":505,"column":12},"end":{"line":505,"column":56}},"417":{"start":{"line":508,"column":4},"end":{"line":527,"column":6}},"418":{"start":{"line":509,"column":8},"end":{"line":526,"column":11}},"419":{"start":{"line":511,"column":12},"end":{"line":525,"column":15}},"420":{"start":{"line":512,"column":16},"end":{"line":524,"column":17}},"421":{"start":{"line":514,"column":24},"end":{"line":514,"column":68}},"422":{"start":{"line":515,"column":24},"end":{"line":515,"column":37}},"423":{"start":{"line":517,"column":24},"end":{"line":517,"column":63}},"424":{"start":{"line":517,"column":49},"end":{"line":517,"column":63}},"425":{"start":{"line":518,"column":24},"end":{"line":518,"column":65}},"426":{"start":{"line":520,"column":24},"end":{"line":520,"column":34}},"427":{"start":{"line":521,"column":24},"end":{"line":521,"column":68}},"428":{"start":{"line":522,"column":24},"end":{"line":522,"column":38}},"429":{"start":{"line":523,"column":28},"end":{"line":523,"column":39}},"430":{"start":{"line":528,"column":4},"end":{"line":583,"column":6}},"431":{"start":{"line":529,"column":20},"end":{"line":529,"column":24}},"432":{"start":{"line":530,"column":26},"end":{"line":532,"column":9}},"433":{"start":{"line":531,"column":12},"end":{"line":531,"column":57}},"434":{"start":{"line":533,"column":30},"end":{"line":539,"column":9}},"435":{"start":{"line":534,"column":12},"end":{"line":538,"column":14}},"436":{"start":{"line":535,"column":38},"end":{"line":535,"column":67}},"437":{"start":{"line":536,"column":16},"end":{"line":536,"column":55}},"438":{"start":{"line":537,"column":16},"end":{"line":537,"column":39}},"439":{"start":{"line":540,"column":32},"end":{"line":544,"column":9}},"440":{"start":{"line":541,"column":12},"end":{"line":543,"column":14}},"441":{"start":{"line":542,"column":16},"end":{"line":542,"column":55}},"442":{"start":{"line":545,"column":37},"end":{"line":549,"column":9}},"443":{"start":{"line":546,"column":12},"end":{"line":548,"column":14}},"444":{"start":{"line":547,"column":16},"end":{"line":547,"column":60}},"445":{"start":{"line":550,"column":33},"end":{"line":554,"column":9}},"446":{"start":{"line":551,"column":12},"end":{"line":553,"column":14}},"447":{"start":{"line":552,"column":16},"end":{"line":552,"column":56}},"448":{"start":{"line":555,"column":32},"end":{"line":561,"column":9}},"449":{"start":{"line":556,"column":12},"end":{"line":560,"column":14}},"450":{"start":{"line":557,"column":38},"end":{"line":557,"column":69}},"451":{"start":{"line":558,"column":16},"end":{"line":558,"column":55}},"452":{"start":{"line":559,"column":16},"end":{"line":559,"column":39}},"453":{"start":{"line":562,"column":38},"end":{"line":567,"column":9}},"454":{"start":{"line":563,"column":12},"end":{"line":566,"column":14}},"455":{"start":{"line":564,"column":16},"end":{"line":564,"column":102}},"456":{"start":{"line":565,"column":16},"end":{"line":565,"column":68}},"457":{"start":{"line":568,"column":40},"end":{"line":573,"column":9}},"458":{"start":{"line":569,"column":12},"end":{"line":572,"column":14}},"459":{"start":{"line":570,"column":16},"end":{"line":570,"column":106}},"460":{"start":{"line":571,"column":16},"end":{"line":571,"column":72}},"461":{"start":{"line":574,"column":8},"end":{"line":582,"column":14}},"462":{"start":{"line":574,"column":32},"end":{"line":582,"column":11}},"463":{"start":{"line":584,"column":4},"end":{"line":586,"column":6}},"464":{"start":{"line":585,"column":8},"end":{"line":585,"column":47}},"465":{"start":{"line":587,"column":4},"end":{"line":597,"column":6}},"466":{"start":{"line":588,"column":33},"end":{"line":588,"column":181}},"467":{"start":{"line":588,"column":108},"end":{"line":588,"column":123}},"468":{"start":{"line":589,"column":8},"end":{"line":595,"column":9}},"469":{"start":{"line":590,"column":35},"end":{"line":590,"column":71}},"470":{"start":{"line":591,"column":12},"end":{"line":593,"column":13}},"471":{"start":{"line":592,"column":16},"end":{"line":592,"column":70}},"472":{"start":{"line":594,"column":12},"end":{"line":594,"column":36}},"473":{"start":{"line":596,"column":8},"end":{"line":596,"column":58}},"474":{"start":{"line":598,"column":4},"end":{"line":604,"column":6}},"475":{"start":{"line":599,"column":21},"end":{"line":599,"column":39}},"476":{"start":{"line":600,"column":8},"end":{"line":602,"column":9}},"477":{"start":{"line":601,"column":12},"end":{"line":601,"column":80}},"478":{"start":{"line":603,"column":8},"end":{"line":603,"column":22}},"479":{"start":{"line":605,"column":4},"end":{"line":612,"column":6}},"480":{"start":{"line":606,"column":25},"end":{"line":610,"column":9}},"481":{"start":{"line":611,"column":8},"end":{"line":611,"column":26}},"482":{"start":{"line":613,"column":4},"end":{"line":622,"column":6}},"483":{"start":{"line":614,"column":28},"end":{"line":620,"column":9}},"484":{"start":{"line":621,"column":8},"end":{"line":621,"column":29}},"485":{"start":{"line":623,"column":4},"end":{"line":631,"column":6}},"486":{"start":{"line":624,"column":20},"end":{"line":624,"column":24}},"487":{"start":{"line":625,"column":8},"end":{"line":630,"column":10}},"488":{"start":{"line":626,"column":26},"end":{"line":626,"column":181}},"489":{"start":{"line":627,"column":12},"end":{"line":627,"column":55}},"490":{"start":{"line":628,"column":25},"end":{"line":628,"column":57}},"491":{"start":{"line":629,"column":12},"end":{"line":629,"column":26}},"492":{"start":{"line":632,"column":4},"end":{"line":641,"column":6}},"493":{"start":{"line":633,"column":20},"end":{"line":633,"column":24}},"494":{"start":{"line":634,"column":8},"end":{"line":636,"column":9}},"495":{"start":{"line":635,"column":12},"end":{"line":635,"column":19}},"496":{"start":{"line":637,"column":8},"end":{"line":639,"column":9}},"497":{"start":{"line":638,"column":12},"end":{"line":638,"column":108}},"498":{"start":{"line":638,"column":60},"end":{"line":638,"column":104}},"499":{"start":{"line":640,"column":8},"end":{"line":640,"column":56}},"500":{"start":{"line":642,"column":4},"end":{"line":650,"column":6}},"501":{"start":{"line":643,"column":8},"end":{"line":649,"column":9}},"502":{"start":{"line":643,"column":22},"end":{"line":643,"column":23}},"503":{"start":{"line":643,"column":38},"end":{"line":643,"column":46}},"504":{"start":{"line":644,"column":26},"end":{"line":644,"column":40}},"505":{"start":{"line":645,"column":25},"end":{"line":645,"column":61}},"506":{"start":{"line":646,"column":12},"end":{"line":648,"column":13}},"507":{"start":{"line":647,"column":16},"end":{"line":647,"column":66}},"508":{"start":{"line":651,"column":4},"end":{"line":663,"column":6}},"509":{"start":{"line":652,"column":8},"end":{"line":662,"column":11}},"510":{"start":{"line":653,"column":24},"end":{"line":653,"column":28}},"511":{"start":{"line":654,"column":12},"end":{"line":661,"column":15}},"512":{"start":{"line":655,"column":16},"end":{"line":660,"column":17}},"513":{"start":{"line":656,"column":28},"end":{"line":656,"column":124}},"514":{"start":{"line":656,"column":79},"end":{"line":656,"column":118}},"515":{"start":{"line":658,"column":24},"end":{"line":658,"column":34}},"516":{"start":{"line":659,"column":24},"end":{"line":659,"column":35}},"517":{"start":{"line":664,"column":4},"end":{"line":671,"column":6}},"518":{"start":{"line":665,"column":8},"end":{"line":670,"column":9}},"519":{"start":{"line":666,"column":12},"end":{"line":666,"column":73}},"520":{"start":{"line":669,"column":12},"end":{"line":669,"column":90}},"521":{"start":{"line":672,"column":4},"end":{"line":690,"column":6}},"522":{"start":{"line":673,"column":8},"end":{"line":689,"column":11}},"523":{"start":{"line":674,"column":12},"end":{"line":688,"column":15}},"524":{"start":{"line":675,"column":16},"end":{"line":687,"column":17}},"525":{"start":{"line":677,"column":24},"end":{"line":677,"column":56}},"526":{"start":{"line":677,"column":42},"end":{"line":677,"column":56}},"527":{"start":{"line":678,"column":24},"end":{"line":678,"column":90}},"528":{"start":{"line":680,"column":24},"end":{"line":680,"column":34}},"529":{"start":{"line":681,"column":24},"end":{"line":681,"column":38}},"530":{"start":{"line":682,"column":28},"end":{"line":682,"column":116}},"531":{"start":{"line":684,"column":24},"end":{"line":684,"column":34}},"532":{"start":{"line":685,"column":24},"end":{"line":685,"column":37}},"533":{"start":{"line":686,"column":28},"end":{"line":686,"column":39}},"534":{"start":{"line":691,"column":4},"end":{"line":698,"column":6}},"535":{"start":{"line":692,"column":8},"end":{"line":697,"column":9}},"536":{"start":{"line":693,"column":12},"end":{"line":693,"column":62}},"537":{"start":{"line":696,"column":12},"end":{"line":696,"column":131}},"538":{"start":{"line":699,"column":4},"end":{"line":708,"column":6}},"539":{"start":{"line":700,"column":20},"end":{"line":700,"column":24}},"540":{"start":{"line":701,"column":8},"end":{"line":706,"column":9}},"541":{"start":{"line":702,"column":25},"end":{"line":702,"column":57}},"542":{"start":{"line":703,"column":12},"end":{"line":705,"column":13}},"543":{"start":{"line":704,"column":16},"end":{"line":704,"column":101}},"544":{"start":{"line":704,"column":49},"end":{"line":704,"column":97}},"545":{"start":{"line":707,"column":8},"end":{"line":707,"column":55}},"546":{"start":{"line":709,"column":4},"end":{"line":726,"column":6}},"547":{"start":{"line":710,"column":8},"end":{"line":725,"column":11}},"548":{"start":{"line":711,"column":12},"end":{"line":724,"column":15}},"549":{"start":{"line":712,"column":16},"end":{"line":723,"column":17}},"550":{"start":{"line":714,"column":24},"end":{"line":714,"column":91}},"551":{"start":{"line":714,"column":77},"end":{"line":714,"column":91}},"552":{"start":{"line":715,"column":24},"end":{"line":715,"column":69}},"553":{"start":{"line":717,"column":24},"end":{"line":717,"column":34}},"554":{"start":{"line":718,"column":24},"end":{"line":718,"column":37}},"555":{"start":{"line":719,"column":28},"end":{"line":719,"column":80}},"556":{"start":{"line":721,"column":24},"end":{"line":721,"column":34}},"557":{"start":{"line":722,"column":24},"end":{"line":722,"column":35}},"558":{"start":{"line":727,"column":4},"end":{"line":727,"column":21}},"559":{"start":{"line":729,"column":0},"end":{"line":729,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":42},"end":{"line":2,"column":43}},"loc":{"start":{"line":2,"column":54},"end":{"line":12,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":32},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":44},"end":{"line":10,"column":5}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":74},"end":{"line":13,"column":75}},"loc":{"start":{"line":13,"column":96},"end":{"line":16,"column":1}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":58},"end":{"line":15,"column":59}},"loc":{"start":{"line":15,"column":69},"end":{"line":15,"column":85}},"line":15},"4":{"name":"(anonymous_4)","decl":{"start":{"line":16,"column":6},"end":{"line":16,"column":7}},"loc":{"start":{"line":16,"column":28},"end":{"line":19,"column":1}},"line":16},"5":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":80},"end":{"line":20,"column":81}},"loc":{"start":{"line":20,"column":95},"end":{"line":22,"column":1}},"line":20},"6":{"name":"(anonymous_6)","decl":{"start":{"line":22,"column":5},"end":{"line":22,"column":6}},"loc":{"start":{"line":22,"column":20},"end":{"line":24,"column":1}},"line":22},"7":{"name":"(anonymous_7)","decl":{"start":{"line":25,"column":50},"end":{"line":25,"column":51}},"loc":{"start":{"line":25,"column":65},"end":{"line":31,"column":1}},"line":25},"8":{"name":"(anonymous_8)","decl":{"start":{"line":32,"column":44},"end":{"line":32,"column":45}},"loc":{"start":{"line":32,"column":89},"end":{"line":40,"column":1}},"line":32},"9":{"name":"adopt","decl":{"start":{"line":33,"column":13},"end":{"line":33,"column":18}},"loc":{"start":{"line":33,"column":26},"end":{"line":33,"column":112}},"line":33},"10":{"name":"(anonymous_10)","decl":{"start":{"line":33,"column":70},"end":{"line":33,"column":71}},"loc":{"start":{"line":33,"column":89},"end":{"line":33,"column":108}},"line":33},"11":{"name":"(anonymous_11)","decl":{"start":{"line":34,"column":36},"end":{"line":34,"column":37}},"loc":{"start":{"line":34,"column":63},"end":{"line":39,"column":5}},"line":34},"12":{"name":"fulfilled","decl":{"start":{"line":35,"column":17},"end":{"line":35,"column":26}},"loc":{"start":{"line":35,"column":34},"end":{"line":35,"column":99}},"line":35},"13":{"name":"rejected","decl":{"start":{"line":36,"column":17},"end":{"line":36,"column":25}},"loc":{"start":{"line":36,"column":33},"end":{"line":36,"column":102}},"line":36},"14":{"name":"step","decl":{"start":{"line":37,"column":17},"end":{"line":37,"column":21}},"loc":{"start":{"line":37,"column":30},"end":{"line":37,"column":118}},"line":37},"15":{"name":"(anonymous_15)","decl":{"start":{"line":41,"column":48},"end":{"line":41,"column":49}},"loc":{"start":{"line":41,"column":73},"end":{"line":67,"column":1}},"line":41},"16":{"name":"(anonymous_16)","decl":{"start":{"line":42,"column":30},"end":{"line":42,"column":31}},"loc":{"start":{"line":42,"column":41},"end":{"line":42,"column":83}},"line":42},"17":{"name":"(anonymous_17)","decl":{"start":{"line":43,"column":125},"end":{"line":43,"column":126}},"loc":{"start":{"line":43,"column":136},"end":{"line":43,"column":152}},"line":43},"18":{"name":"verb","decl":{"start":{"line":44,"column":13},"end":{"line":44,"column":17}},"loc":{"start":{"line":44,"column":21},"end":{"line":44,"column":70}},"line":44},"19":{"name":"(anonymous_19)","decl":{"start":{"line":44,"column":30},"end":{"line":44,"column":31}},"loc":{"start":{"line":44,"column":43},"end":{"line":44,"column":67}},"line":44},"20":{"name":"step","decl":{"start":{"line":45,"column":13},"end":{"line":45,"column":17}},"loc":{"start":{"line":45,"column":22},"end":{"line":66,"column":5}},"line":45},"21":{"name":"(anonymous_21)","decl":{"start":{"line":68,"column":52},"end":{"line":68,"column":53}},"loc":{"start":{"line":68,"column":78},"end":{"line":76,"column":1}},"line":68},"22":{"name":"(anonymous_22)","decl":{"start":{"line":93,"column":17},"end":{"line":93,"column":18}},"loc":{"start":{"line":93,"column":29},"end":{"line":728,"column":1}},"line":93},"23":{"name":"Container","decl":{"start":{"line":94,"column":13},"end":{"line":94,"column":22}},"loc":{"start":{"line":94,"column":41},"end":{"line":133,"column":5}},"line":94},"24":{"name":"(anonymous_24)","decl":{"start":{"line":134,"column":22},"end":{"line":134,"column":23}},"loc":{"start":{"line":134,"column":56},"end":{"line":153,"column":5}},"line":134},"25":{"name":"(anonymous_25)","decl":{"start":{"line":140,"column":93},"end":{"line":140,"column":94}},"loc":{"start":{"line":140,"column":120},"end":{"line":140,"column":184}},"line":140},"26":{"name":"copyDictionary","decl":{"start":{"line":142,"column":17},"end":{"line":142,"column":31}},"loc":{"start":{"line":142,"column":53},"end":{"line":148,"column":9}},"line":142},"27":{"name":"(anonymous_27)","decl":{"start":{"line":143,"column":28},"end":{"line":143,"column":29}},"loc":{"start":{"line":143,"column":51},"end":{"line":147,"column":13}},"line":143},"28":{"name":"(anonymous_28)","decl":{"start":{"line":144,"column":30},"end":{"line":144,"column":31}},"loc":{"start":{"line":144,"column":49},"end":{"line":146,"column":17}},"line":144},"29":{"name":"(anonymous_29)","decl":{"start":{"line":149,"column":33},"end":{"line":149,"column":34}},"loc":{"start":{"line":149,"column":68},"end":{"line":151,"column":9}},"line":149},"30":{"name":"(anonymous_30)","decl":{"start":{"line":154,"column":31},"end":{"line":154,"column":32}},"loc":{"start":{"line":154,"column":43},"end":{"line":165,"column":5}},"line":154},"31":{"name":"(anonymous_31)","decl":{"start":{"line":166,"column":36},"end":{"line":166,"column":37}},"loc":{"start":{"line":166,"column":48},"end":{"line":194,"column":5}},"line":166},"32":{"name":"(anonymous_32)","decl":{"start":{"line":171,"column":47},"end":{"line":171,"column":48}},"loc":{"start":{"line":171,"column":59},"end":{"line":193,"column":9}},"line":171},"33":{"name":"(anonymous_33)","decl":{"start":{"line":173,"column":37},"end":{"line":173,"column":38}},"loc":{"start":{"line":173,"column":51},"end":{"line":192,"column":13}},"line":173},"34":{"name":"(anonymous_34)","decl":{"start":{"line":195,"column":33},"end":{"line":195,"column":34}},"loc":{"start":{"line":195,"column":45},"end":{"line":206,"column":5}},"line":195},"35":{"name":"(anonymous_35)","decl":{"start":{"line":201,"column":24},"end":{"line":201,"column":25}},"loc":{"start":{"line":201,"column":42},"end":{"line":205,"column":9}},"line":201},"36":{"name":"(anonymous_36)","decl":{"start":{"line":207,"column":38},"end":{"line":207,"column":39}},"loc":{"start":{"line":207,"column":50},"end":{"line":235,"column":5}},"line":207},"37":{"name":"(anonymous_37)","decl":{"start":{"line":212,"column":47},"end":{"line":212,"column":48}},"loc":{"start":{"line":212,"column":59},"end":{"line":234,"column":9}},"line":212},"38":{"name":"(anonymous_38)","decl":{"start":{"line":214,"column":37},"end":{"line":214,"column":38}},"loc":{"start":{"line":214,"column":51},"end":{"line":233,"column":13}},"line":214},"39":{"name":"(anonymous_39)","decl":{"start":{"line":236,"column":31},"end":{"line":236,"column":32}},"loc":{"start":{"line":236,"column":60},"end":{"line":241,"column":5}},"line":236},"40":{"name":"(anonymous_40)","decl":{"start":{"line":242,"column":33},"end":{"line":242,"column":34}},"loc":{"start":{"line":242,"column":62},"end":{"line":245,"column":5}},"line":242},"41":{"name":"(anonymous_41)","decl":{"start":{"line":246,"column":38},"end":{"line":246,"column":39}},"loc":{"start":{"line":246,"column":67},"end":{"line":257,"column":5}},"line":246},"42":{"name":"(anonymous_42)","decl":{"start":{"line":247,"column":47},"end":{"line":247,"column":48}},"loc":{"start":{"line":247,"column":59},"end":{"line":256,"column":9}},"line":247},"43":{"name":"(anonymous_43)","decl":{"start":{"line":248,"column":37},"end":{"line":248,"column":38}},"loc":{"start":{"line":248,"column":51},"end":{"line":255,"column":13}},"line":248},"44":{"name":"(anonymous_44)","decl":{"start":{"line":258,"column":33},"end":{"line":258,"column":34}},"loc":{"start":{"line":258,"column":62},"end":{"line":264,"column":5}},"line":258},"45":{"name":"(anonymous_45)","decl":{"start":{"line":265,"column":38},"end":{"line":265,"column":39}},"loc":{"start":{"line":265,"column":67},"end":{"line":283,"column":5}},"line":265},"46":{"name":"(anonymous_46)","decl":{"start":{"line":266,"column":47},"end":{"line":266,"column":48}},"loc":{"start":{"line":266,"column":59},"end":{"line":282,"column":9}},"line":266},"47":{"name":"(anonymous_47)","decl":{"start":{"line":268,"column":37},"end":{"line":268,"column":38}},"loc":{"start":{"line":268,"column":51},"end":{"line":281,"column":13}},"line":268},"48":{"name":"(anonymous_48)","decl":{"start":{"line":284,"column":36},"end":{"line":284,"column":37}},"loc":{"start":{"line":284,"column":48},"end":{"line":290,"column":5}},"line":284},"49":{"name":"(anonymous_49)","decl":{"start":{"line":286,"column":41},"end":{"line":286,"column":42}},"loc":{"start":{"line":286,"column":64},"end":{"line":288,"column":9}},"line":286},"50":{"name":"(anonymous_50)","decl":{"start":{"line":291,"column":41},"end":{"line":291,"column":42}},"loc":{"start":{"line":291,"column":53},"end":{"line":310,"column":5}},"line":291},"51":{"name":"(anonymous_51)","decl":{"start":{"line":292,"column":47},"end":{"line":292,"column":48}},"loc":{"start":{"line":292,"column":59},"end":{"line":309,"column":9}},"line":292},"52":{"name":"(anonymous_52)","decl":{"start":{"line":295,"column":37},"end":{"line":295,"column":38}},"loc":{"start":{"line":295,"column":51},"end":{"line":308,"column":13}},"line":295},"53":{"name":"(anonymous_53)","decl":{"start":{"line":299,"column":57},"end":{"line":299,"column":58}},"loc":{"start":{"line":299,"column":80},"end":{"line":301,"column":25}},"line":299},"54":{"name":"(anonymous_54)","decl":{"start":{"line":311,"column":39},"end":{"line":311,"column":40}},"loc":{"start":{"line":311,"column":82},"end":{"line":313,"column":5}},"line":311},"55":{"name":"(anonymous_55)","decl":{"start":{"line":314,"column":41},"end":{"line":314,"column":42}},"loc":{"start":{"line":314,"column":86},"end":{"line":316,"column":5}},"line":314},"56":{"name":"(anonymous_56)","decl":{"start":{"line":317,"column":34},"end":{"line":317,"column":35}},"loc":{"start":{"line":317,"column":63},"end":{"line":323,"column":5}},"line":317},"57":{"name":"(anonymous_57)","decl":{"start":{"line":324,"column":41},"end":{"line":324,"column":42}},"loc":{"start":{"line":324,"column":70},"end":{"line":326,"column":5}},"line":324},"58":{"name":"(anonymous_58)","decl":{"start":{"line":327,"column":39},"end":{"line":327,"column":40}},"loc":{"start":{"line":327,"column":75},"end":{"line":329,"column":5}},"line":327},"59":{"name":"(anonymous_59)","decl":{"start":{"line":330,"column":40},"end":{"line":330,"column":41}},"loc":{"start":{"line":330,"column":81},"end":{"line":341,"column":5}},"line":330},"60":{"name":"(anonymous_60)","decl":{"start":{"line":335,"column":34},"end":{"line":335,"column":35}},"loc":{"start":{"line":335,"column":47},"end":{"line":335,"column":82}},"line":335},"61":{"name":"(anonymous_61)","decl":{"start":{"line":342,"column":35},"end":{"line":342,"column":36}},"loc":{"start":{"line":342,"column":47},"end":{"line":344,"column":5}},"line":342},"62":{"name":"(anonymous_62)","decl":{"start":{"line":345,"column":34},"end":{"line":345,"column":35}},"loc":{"start":{"line":345,"column":46},"end":{"line":355,"column":5}},"line":345},"63":{"name":"(anonymous_63)","decl":{"start":{"line":356,"column":38},"end":{"line":356,"column":39}},"loc":{"start":{"line":356,"column":66},"end":{"line":360,"column":5}},"line":356},"64":{"name":"(anonymous_64)","decl":{"start":{"line":361,"column":42},"end":{"line":361,"column":43}},"loc":{"start":{"line":361,"column":54},"end":{"line":368,"column":5}},"line":361},"65":{"name":"(anonymous_65)","decl":{"start":{"line":367,"column":46},"end":{"line":367,"column":47}},"loc":{"start":{"line":367,"column":68},"end":{"line":367,"column":90}},"line":367},"66":{"name":"(anonymous_66)","decl":{"start":{"line":369,"column":52},"end":{"line":369,"column":53}},"loc":{"start":{"line":369,"column":78},"end":{"line":371,"column":5}},"line":369},"67":{"name":"(anonymous_67)","decl":{"start":{"line":372,"column":30},"end":{"line":372,"column":31}},"loc":{"start":{"line":372,"column":59},"end":{"line":375,"column":5}},"line":372},"68":{"name":"(anonymous_68)","decl":{"start":{"line":376,"column":35},"end":{"line":376,"column":36}},"loc":{"start":{"line":376,"column":64},"end":{"line":384,"column":5}},"line":376},"69":{"name":"(anonymous_69)","decl":{"start":{"line":377,"column":47},"end":{"line":377,"column":48}},"loc":{"start":{"line":377,"column":59},"end":{"line":383,"column":9}},"line":377},"70":{"name":"(anonymous_70)","decl":{"start":{"line":379,"column":37},"end":{"line":379,"column":38}},"loc":{"start":{"line":379,"column":51},"end":{"line":382,"column":13}},"line":379},"71":{"name":"(anonymous_71)","decl":{"start":{"line":385,"column":36},"end":{"line":385,"column":37}},"loc":{"start":{"line":385,"column":77},"end":{"line":388,"column":5}},"line":385},"72":{"name":"(anonymous_72)","decl":{"start":{"line":389,"column":41},"end":{"line":389,"column":42}},"loc":{"start":{"line":389,"column":82},"end":{"line":397,"column":5}},"line":389},"73":{"name":"(anonymous_73)","decl":{"start":{"line":390,"column":47},"end":{"line":390,"column":48}},"loc":{"start":{"line":390,"column":59},"end":{"line":396,"column":9}},"line":390},"74":{"name":"(anonymous_74)","decl":{"start":{"line":392,"column":37},"end":{"line":392,"column":38}},"loc":{"start":{"line":392,"column":51},"end":{"line":395,"column":13}},"line":392},"75":{"name":"(anonymous_75)","decl":{"start":{"line":398,"column":35},"end":{"line":398,"column":36}},"loc":{"start":{"line":398,"column":71},"end":{"line":400,"column":5}},"line":398},"76":{"name":"(anonymous_76)","decl":{"start":{"line":401,"column":40},"end":{"line":401,"column":41}},"loc":{"start":{"line":401,"column":76},"end":{"line":403,"column":5}},"line":401},"77":{"name":"(anonymous_77)","decl":{"start":{"line":404,"column":33},"end":{"line":404,"column":34}},"loc":{"start":{"line":404,"column":62},"end":{"line":407,"column":5}},"line":404},"78":{"name":"(anonymous_78)","decl":{"start":{"line":408,"column":38},"end":{"line":408,"column":39}},"loc":{"start":{"line":408,"column":67},"end":{"line":411,"column":5}},"line":408},"79":{"name":"(anonymous_79)","decl":{"start":{"line":412,"column":39},"end":{"line":412,"column":40}},"loc":{"start":{"line":412,"column":80},"end":{"line":415,"column":5}},"line":412},"80":{"name":"(anonymous_80)","decl":{"start":{"line":416,"column":44},"end":{"line":416,"column":45}},"loc":{"start":{"line":416,"column":85},"end":{"line":419,"column":5}},"line":416},"81":{"name":"(anonymous_81)","decl":{"start":{"line":420,"column":38},"end":{"line":420,"column":39}},"loc":{"start":{"line":420,"column":74},"end":{"line":422,"column":5}},"line":420},"82":{"name":"(anonymous_82)","decl":{"start":{"line":423,"column":43},"end":{"line":423,"column":44}},"loc":{"start":{"line":423,"column":79},"end":{"line":425,"column":5}},"line":423},"83":{"name":"(anonymous_83)","decl":{"start":{"line":426,"column":34},"end":{"line":426,"column":35}},"loc":{"start":{"line":426,"column":65},"end":{"line":436,"column":5}},"line":426},"84":{"name":"(anonymous_84)","decl":{"start":{"line":437,"column":38},"end":{"line":437,"column":39}},"loc":{"start":{"line":437,"column":71},"end":{"line":443,"column":5}},"line":437},"85":{"name":"(anonymous_85)","decl":{"start":{"line":444,"column":48},"end":{"line":444,"column":49}},"loc":{"start":{"line":444,"column":68},"end":{"line":448,"column":5}},"line":444},"86":{"name":"(anonymous_86)","decl":{"start":{"line":449,"column":48},"end":{"line":449,"column":49}},"loc":{"start":{"line":449,"column":68},"end":{"line":451,"column":5}},"line":449},"87":{"name":"(anonymous_87)","decl":{"start":{"line":450,"column":57},"end":{"line":450,"column":58}},"loc":{"start":{"line":450,"column":76},"end":{"line":450,"column":117}},"line":450},"88":{"name":"(anonymous_88)","decl":{"start":{"line":452,"column":38},"end":{"line":452,"column":39}},"loc":{"start":{"line":452,"column":67},"end":{"line":472,"column":5}},"line":452},"89":{"name":"(anonymous_89)","decl":{"start":{"line":459,"column":69},"end":{"line":459,"column":70}},"loc":{"start":{"line":459,"column":81},"end":{"line":459,"column":191}},"line":459},"90":{"name":"(anonymous_90)","decl":{"start":{"line":473,"column":51},"end":{"line":473,"column":52}},"loc":{"start":{"line":473,"column":87},"end":{"line":494,"column":5}},"line":473},"91":{"name":"(anonymous_91)","decl":{"start":{"line":474,"column":47},"end":{"line":474,"column":48}},"loc":{"start":{"line":474,"column":59},"end":{"line":493,"column":9}},"line":474},"92":{"name":"(anonymous_92)","decl":{"start":{"line":476,"column":37},"end":{"line":476,"column":38}},"loc":{"start":{"line":476,"column":51},"end":{"line":492,"column":13}},"line":476},"93":{"name":"(anonymous_93)","decl":{"start":{"line":495,"column":47},"end":{"line":495,"column":48}},"loc":{"start":{"line":495,"column":90},"end":{"line":507,"column":5}},"line":495},"94":{"name":"(anonymous_94)","decl":{"start":{"line":501,"column":35},"end":{"line":501,"column":36}},"loc":{"start":{"line":501,"column":47},"end":{"line":503,"column":17}},"line":501},"95":{"name":"(anonymous_95)","decl":{"start":{"line":508,"column":52},"end":{"line":508,"column":53}},"loc":{"start":{"line":508,"column":95},"end":{"line":527,"column":5}},"line":508},"96":{"name":"(anonymous_96)","decl":{"start":{"line":509,"column":47},"end":{"line":509,"column":48}},"loc":{"start":{"line":509,"column":59},"end":{"line":526,"column":9}},"line":509},"97":{"name":"(anonymous_97)","decl":{"start":{"line":511,"column":37},"end":{"line":511,"column":38}},"loc":{"start":{"line":511,"column":51},"end":{"line":525,"column":13}},"line":511},"98":{"name":"(anonymous_98)","decl":{"start":{"line":528,"column":60},"end":{"line":528,"column":61}},"loc":{"start":{"line":528,"column":72},"end":{"line":583,"column":5}},"line":528},"99":{"name":"(anonymous_99)","decl":{"start":{"line":530,"column":26},"end":{"line":530,"column":27}},"loc":{"start":{"line":530,"column":63},"end":{"line":532,"column":9}},"line":530},"100":{"name":"(anonymous_100)","decl":{"start":{"line":533,"column":30},"end":{"line":533,"column":31}},"loc":{"start":{"line":533,"column":50},"end":{"line":539,"column":9}},"line":533},"101":{"name":"(anonymous_101)","decl":{"start":{"line":534,"column":19},"end":{"line":534,"column":20}},"loc":{"start":{"line":534,"column":48},"end":{"line":538,"column":13}},"line":534},"102":{"name":"(anonymous_102)","decl":{"start":{"line":540,"column":32},"end":{"line":540,"column":33}},"loc":{"start":{"line":540,"column":44},"end":{"line":544,"column":9}},"line":540},"103":{"name":"(anonymous_103)","decl":{"start":{"line":541,"column":19},"end":{"line":541,"column":20}},"loc":{"start":{"line":541,"column":48},"end":{"line":543,"column":13}},"line":541},"104":{"name":"(anonymous_104)","decl":{"start":{"line":545,"column":37},"end":{"line":545,"column":38}},"loc":{"start":{"line":545,"column":49},"end":{"line":549,"column":9}},"line":545},"105":{"name":"(anonymous_105)","decl":{"start":{"line":546,"column":19},"end":{"line":546,"column":20}},"loc":{"start":{"line":546,"column":48},"end":{"line":548,"column":13}},"line":546},"106":{"name":"(anonymous_106)","decl":{"start":{"line":550,"column":33},"end":{"line":550,"column":34}},"loc":{"start":{"line":550,"column":45},"end":{"line":554,"column":9}},"line":550},"107":{"name":"(anonymous_107)","decl":{"start":{"line":551,"column":19},"end":{"line":551,"column":20}},"loc":{"start":{"line":551,"column":48},"end":{"line":553,"column":13}},"line":551},"108":{"name":"(anonymous_108)","decl":{"start":{"line":555,"column":32},"end":{"line":555,"column":33}},"loc":{"start":{"line":555,"column":52},"end":{"line":561,"column":9}},"line":555},"109":{"name":"(anonymous_109)","decl":{"start":{"line":556,"column":19},"end":{"line":556,"column":20}},"loc":{"start":{"line":556,"column":48},"end":{"line":560,"column":13}},"line":556},"110":{"name":"(anonymous_110)","decl":{"start":{"line":562,"column":38},"end":{"line":562,"column":39}},"loc":{"start":{"line":562,"column":58},"end":{"line":567,"column":9}},"line":562},"111":{"name":"(anonymous_111)","decl":{"start":{"line":563,"column":19},"end":{"line":563,"column":20}},"loc":{"start":{"line":563,"column":62},"end":{"line":566,"column":13}},"line":563},"112":{"name":"(anonymous_112)","decl":{"start":{"line":568,"column":40},"end":{"line":568,"column":41}},"loc":{"start":{"line":568,"column":60},"end":{"line":573,"column":9}},"line":568},"113":{"name":"(anonymous_113)","decl":{"start":{"line":569,"column":19},"end":{"line":569,"column":20}},"loc":{"start":{"line":569,"column":64},"end":{"line":572,"column":13}},"line":569},"114":{"name":"(anonymous_114)","decl":{"start":{"line":574,"column":15},"end":{"line":574,"column":16}},"loc":{"start":{"line":574,"column":30},"end":{"line":582,"column":13}},"line":574},"115":{"name":"(anonymous_115)","decl":{"start":{"line":584,"column":34},"end":{"line":584,"column":35}},"loc":{"start":{"line":584,"column":53},"end":{"line":586,"column":5}},"line":584},"116":{"name":"(anonymous_116)","decl":{"start":{"line":587,"column":31},"end":{"line":587,"column":32}},"loc":{"start":{"line":587,"column":50},"end":{"line":597,"column":5}},"line":587},"117":{"name":"(anonymous_117)","decl":{"start":{"line":588,"column":87},"end":{"line":588,"column":88}},"loc":{"start":{"line":588,"column":106},"end":{"line":588,"column":125}},"line":588},"118":{"name":"(anonymous_118)","decl":{"start":{"line":598,"column":46},"end":{"line":598,"column":47}},"loc":{"start":{"line":598,"column":65},"end":{"line":604,"column":5}},"line":598},"119":{"name":"(anonymous_119)","decl":{"start":{"line":605,"column":38},"end":{"line":605,"column":39}},"loc":{"start":{"line":605,"column":67},"end":{"line":612,"column":5}},"line":605},"120":{"name":"(anonymous_120)","decl":{"start":{"line":613,"column":41},"end":{"line":613,"column":42}},"loc":{"start":{"line":613,"column":97},"end":{"line":622,"column":5}},"line":613},"121":{"name":"(anonymous_121)","decl":{"start":{"line":623,"column":42},"end":{"line":623,"column":43}},"loc":{"start":{"line":623,"column":54},"end":{"line":631,"column":5}},"line":623},"122":{"name":"(anonymous_122)","decl":{"start":{"line":625,"column":15},"end":{"line":625,"column":16}},"loc":{"start":{"line":625,"column":31},"end":{"line":630,"column":9}},"line":625},"123":{"name":"(anonymous_123)","decl":{"start":{"line":632,"column":49},"end":{"line":632,"column":50}},"loc":{"start":{"line":632,"column":68},"end":{"line":641,"column":5}},"line":632},"124":{"name":"(anonymous_124)","decl":{"start":{"line":638,"column":38},"end":{"line":638,"column":39}},"loc":{"start":{"line":638,"column":58},"end":{"line":638,"column":106}},"line":638},"125":{"name":"(anonymous_125)","decl":{"start":{"line":642,"column":48},"end":{"line":642,"column":49}},"loc":{"start":{"line":642,"column":68},"end":{"line":650,"column":5}},"line":642},"126":{"name":"(anonymous_126)","decl":{"start":{"line":651,"column":53},"end":{"line":651,"column":54}},"loc":{"start":{"line":651,"column":73},"end":{"line":663,"column":5}},"line":651},"127":{"name":"(anonymous_127)","decl":{"start":{"line":652,"column":47},"end":{"line":652,"column":48}},"loc":{"start":{"line":652,"column":59},"end":{"line":662,"column":9}},"line":652},"128":{"name":"(anonymous_128)","decl":{"start":{"line":654,"column":37},"end":{"line":654,"column":38}},"loc":{"start":{"line":654,"column":51},"end":{"line":661,"column":13}},"line":654},"129":{"name":"(anonymous_129)","decl":{"start":{"line":656,"column":64},"end":{"line":656,"column":65}},"loc":{"start":{"line":656,"column":77},"end":{"line":656,"column":120}},"line":656},"130":{"name":"(anonymous_130)","decl":{"start":{"line":664,"column":82},"end":{"line":664,"column":83}},"loc":{"start":{"line":664,"column":124},"end":{"line":671,"column":5}},"line":664},"131":{"name":"(anonymous_131)","decl":{"start":{"line":672,"column":87},"end":{"line":672,"column":88}},"loc":{"start":{"line":672,"column":129},"end":{"line":690,"column":5}},"line":672},"132":{"name":"(anonymous_132)","decl":{"start":{"line":673,"column":47},"end":{"line":673,"column":48}},"loc":{"start":{"line":673,"column":59},"end":{"line":689,"column":9}},"line":673},"133":{"name":"(anonymous_133)","decl":{"start":{"line":674,"column":37},"end":{"line":674,"column":38}},"loc":{"start":{"line":674,"column":51},"end":{"line":688,"column":13}},"line":674},"134":{"name":"(anonymous_134)","decl":{"start":{"line":691,"column":55},"end":{"line":691,"column":56}},"loc":{"start":{"line":691,"column":84},"end":{"line":698,"column":5}},"line":691},"135":{"name":"(anonymous_135)","decl":{"start":{"line":699,"column":60},"end":{"line":699,"column":61}},"loc":{"start":{"line":699,"column":102},"end":{"line":708,"column":5}},"line":699},"136":{"name":"(anonymous_136)","decl":{"start":{"line":704,"column":35},"end":{"line":704,"column":36}},"loc":{"start":{"line":704,"column":47},"end":{"line":704,"column":99}},"line":704},"137":{"name":"(anonymous_137)","decl":{"start":{"line":709,"column":65},"end":{"line":709,"column":66}},"loc":{"start":{"line":709,"column":107},"end":{"line":726,"column":5}},"line":709},"138":{"name":"(anonymous_138)","decl":{"start":{"line":710,"column":47},"end":{"line":710,"column":48}},"loc":{"start":{"line":710,"column":59},"end":{"line":725,"column":9}},"line":710},"139":{"name":"(anonymous_139)","decl":{"start":{"line":711,"column":37},"end":{"line":711,"column":38}},"loc":{"start":{"line":711,"column":51},"end":{"line":724,"column":13}},"line":711}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":15},"end":{"line":12,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":16},"end":{"line":2,"column":20}},{"start":{"line":2,"column":24},"end":{"line":2,"column":37}},{"start":{"line":2,"column":42},"end":{"line":12,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":15},"end":{"line":10,"column":5}},"type":"binary-expr","locations":[{"start":{"line":3,"column":15},"end":{"line":3,"column":28}},{"start":{"line":3,"column":32},"end":{"line":10,"column":5}}],"line":3},"2":{"loc":{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},"type":"if","locations":[{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},{"start":{"line":6,"column":29},"end":{"line":7,"column":28}}],"line":6},"3":{"loc":{"start":{"line":13,"column":22},"end":{"line":19,"column":3}},"type":"binary-expr","locations":[{"start":{"line":13,"column":23},"end":{"line":13,"column":27}},{"start":{"line":13,"column":31},"end":{"line":13,"column":51}},{"start":{"line":13,"column":57},"end":{"line":19,"column":2}}],"line":13},"4":{"loc":{"start":{"line":13,"column":57},"end":{"line":19,"column":2}},"type":"cond-expr","locations":[{"start":{"line":13,"column":74},"end":{"line":16,"column":1}},{"start":{"line":16,"column":6},"end":{"line":19,"column":1}}],"line":13},"5":{"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},{"start":{"line":14,"column":4},"end":{"line":14,"column":33}}],"line":14},"6":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},{"start":{"line":17,"column":4},"end":{"line":17,"column":33}}],"line":17},"7":{"loc":{"start":{"line":20,"column":25},"end":{"line":24,"column":2}},"type":"binary-expr","locations":[{"start":{"line":20,"column":26},"end":{"line":20,"column":30}},{"start":{"line":20,"column":34},"end":{"line":20,"column":57}},{"start":{"line":20,"column":63},"end":{"line":24,"column":1}}],"line":20},"8":{"loc":{"start":{"line":20,"column":63},"end":{"line":24,"column":1}},"type":"cond-expr","locations":[{"start":{"line":20,"column":80},"end":{"line":22,"column":1}},{"start":{"line":22,"column":5},"end":{"line":24,"column":1}}],"line":20},"9":{"loc":{"start":{"line":25,"column":19},"end":{"line":31,"column":1}},"type":"binary-expr","locations":[{"start":{"line":25,"column":20},"end":{"line":25,"column":24}},{"start":{"line":25,"column":28},"end":{"line":25,"column":45}},{"start":{"line":25,"column":50},"end":{"line":31,"column":1}}],"line":25},"10":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},{"start":{"line":26,"column":4},"end":{"line":26,"column":42}}],"line":26},"11":{"loc":{"start":{"line":26,"column":8},"end":{"line":26,"column":29}},"type":"binary-expr","locations":[{"start":{"line":26,"column":8},"end":{"line":26,"column":11}},{"start":{"line":26,"column":15},"end":{"line":26,"column":29}}],"line":26},"12":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},{"start":{"line":28,"column":4},"end":{"line":28,"column":141}}],"line":28},"13":{"loc":{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},"type":"if","locations":[{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},{"start":{"line":28,"column":40},"end":{"line":28,"column":141}}],"line":28},"14":{"loc":{"start":{"line":28,"column":44},"end":{"line":28,"column":107}},"type":"binary-expr","locations":[{"start":{"line":28,"column":44},"end":{"line":28,"column":59}},{"start":{"line":28,"column":63},"end":{"line":28,"column":107}}],"line":28},"15":{"loc":{"start":{"line":32,"column":16},"end":{"line":40,"column":1}},"type":"binary-expr","locations":[{"start":{"line":32,"column":17},"end":{"line":32,"column":21}},{"start":{"line":32,"column":25},"end":{"line":32,"column":39}},{"start":{"line":32,"column":44},"end":{"line":40,"column":1}}],"line":32},"16":{"loc":{"start":{"line":33,"column":35},"end":{"line":33,"column":109}},"type":"cond-expr","locations":[{"start":{"line":33,"column":56},"end":{"line":33,"column":61}},{"start":{"line":33,"column":64},"end":{"line":33,"column":109}}],"line":33},"17":{"loc":{"start":{"line":34,"column":16},"end":{"line":34,"column":34}},"type":"binary-expr","locations":[{"start":{"line":34,"column":16},"end":{"line":34,"column":17}},{"start":{"line":34,"column":22},"end":{"line":34,"column":33}}],"line":34},"18":{"loc":{"start":{"line":37,"column":32},"end":{"line":37,"column":115}},"type":"cond-expr","locations":[{"start":{"line":37,"column":46},"end":{"line":37,"column":67}},{"start":{"line":37,"column":70},"end":{"line":37,"column":115}}],"line":37},"19":{"loc":{"start":{"line":38,"column":51},"end":{"line":38,"column":67}},"type":"binary-expr","locations":[{"start":{"line":38,"column":51},"end":{"line":38,"column":61}},{"start":{"line":38,"column":65},"end":{"line":38,"column":67}}],"line":38},"20":{"loc":{"start":{"line":41,"column":18},"end":{"line":67,"column":1}},"type":"binary-expr","locations":[{"start":{"line":41,"column":19},"end":{"line":41,"column":23}},{"start":{"line":41,"column":27},"end":{"line":41,"column":43}},{"start":{"line":41,"column":48},"end":{"line":67,"column":1}}],"line":41},"21":{"loc":{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},"type":"if","locations":[{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},{"start":{"line":42,"column":43},"end":{"line":42,"column":68}}],"line":42},"22":{"loc":{"start":{"line":43,"column":71},"end":{"line":43,"column":153}},"type":"binary-expr","locations":[{"start":{"line":43,"column":71},"end":{"line":43,"column":99}},{"start":{"line":43,"column":104},"end":{"line":43,"column":152}}],"line":43},"23":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},{"start":{"line":46,"column":8},"end":{"line":46,"column":70}}],"line":46},"24":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},"type":"if","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},{"start":{"line":48,"column":12},"end":{"line":48,"column":169}}],"line":48},"25":{"loc":{"start":{"line":48,"column":23},"end":{"line":48,"column":158}},"type":"binary-expr","locations":[{"start":{"line":48,"column":23},"end":{"line":48,"column":24}},{"start":{"line":48,"column":29},"end":{"line":48,"column":125}},{"start":{"line":48,"column":130},"end":{"line":48,"column":158}}],"line":48},"26":{"loc":{"start":{"line":48,"column":33},"end":{"line":48,"column":125}},"type":"cond-expr","locations":[{"start":{"line":48,"column":45},"end":{"line":48,"column":56}},{"start":{"line":48,"column":59},"end":{"line":48,"column":125}}],"line":48},"27":{"loc":{"start":{"line":48,"column":59},"end":{"line":48,"column":125}},"type":"cond-expr","locations":[{"start":{"line":48,"column":67},"end":{"line":48,"column":116}},{"start":{"line":48,"column":119},"end":{"line":48,"column":125}}],"line":48},"28":{"loc":{"start":{"line":48,"column":67},"end":{"line":48,"column":116}},"type":"binary-expr","locations":[{"start":{"line":48,"column":67},"end":{"line":48,"column":77}},{"start":{"line":48,"column":82},"end":{"line":48,"column":115}}],"line":48},"29":{"loc":{"start":{"line":48,"column":82},"end":{"line":48,"column":112}},"type":"binary-expr","locations":[{"start":{"line":48,"column":83},"end":{"line":48,"column":98}},{"start":{"line":48,"column":103},"end":{"line":48,"column":112}}],"line":48},"30":{"loc":{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},{"start":{"line":49,"column":12},"end":{"line":49,"column":52}}],"line":49},"31":{"loc":{"start":{"line":50,"column":12},"end":{"line":62,"column":13}},"type":"switch","locations":[{"start":{"line":51,"column":16},"end":{"line":51,"column":23}},{"start":{"line":51,"column":24},"end":{"line":51,"column":46}},{"start":{"line":52,"column":16},"end":{"line":52,"column":72}},{"start":{"line":53,"column":16},"end":{"line":53,"column":65}},{"start":{"line":54,"column":16},"end":{"line":54,"column":65}},{"start":{"line":55,"column":16},"end":{"line":61,"column":43}}],"line":50},"32":{"loc":{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},"type":"if","locations":[{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},{"start":{"line":56,"column":20},"end":{"line":56,"column":128}}],"line":56},"33":{"loc":{"start":{"line":56,"column":24},"end":{"line":56,"column":106}},"type":"binary-expr","locations":[{"start":{"line":56,"column":24},"end":{"line":56,"column":74}},{"start":{"line":56,"column":79},"end":{"line":56,"column":90}},{"start":{"line":56,"column":94},"end":{"line":56,"column":105}}],"line":56},"34":{"loc":{"start":{"line":56,"column":42},"end":{"line":56,"column":73}},"type":"binary-expr","locations":[{"start":{"line":56,"column":42},"end":{"line":56,"column":54}},{"start":{"line":56,"column":58},"end":{"line":56,"column":73}}],"line":56},"35":{"loc":{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},"type":"if","locations":[{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},{"start":{"line":57,"column":20},"end":{"line":57,"column":106}}],"line":57},"36":{"loc":{"start":{"line":57,"column":24},"end":{"line":57,"column":77}},"type":"binary-expr","locations":[{"start":{"line":57,"column":24},"end":{"line":57,"column":35}},{"start":{"line":57,"column":40},"end":{"line":57,"column":42}},{"start":{"line":57,"column":47},"end":{"line":57,"column":59}},{"start":{"line":57,"column":63},"end":{"line":57,"column":75}}],"line":57},"37":{"loc":{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},"type":"if","locations":[{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},{"start":{"line":58,"column":20},"end":{"line":58,"column":89}}],"line":58},"38":{"loc":{"start":{"line":58,"column":24},"end":{"line":58,"column":53}},"type":"binary-expr","locations":[{"start":{"line":58,"column":24},"end":{"line":58,"column":35}},{"start":{"line":58,"column":39},"end":{"line":58,"column":53}}],"line":58},"39":{"loc":{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},"type":"if","locations":[{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},{"start":{"line":59,"column":20},"end":{"line":59,"column":87}}],"line":59},"40":{"loc":{"start":{"line":59,"column":24},"end":{"line":59,"column":43}},"type":"binary-expr","locations":[{"start":{"line":59,"column":24},"end":{"line":59,"column":25}},{"start":{"line":59,"column":29},"end":{"line":59,"column":43}}],"line":59},"41":{"loc":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"type":"if","locations":[{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},{"start":{"line":60,"column":20},"end":{"line":60,"column":42}}],"line":60},"42":{"loc":{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},"type":"if","locations":[{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},{"start":{"line":65,"column":8},"end":{"line":65,"column":35}}],"line":65},"43":{"loc":{"start":{"line":65,"column":52},"end":{"line":65,"column":74}},"type":"cond-expr","locations":[{"start":{"line":65,"column":60},"end":{"line":65,"column":65}},{"start":{"line":65,"column":68},"end":{"line":65,"column":74}}],"line":65},"44":{"loc":{"start":{"line":68,"column":20},"end":{"line":76,"column":1}},"type":"binary-expr","locations":[{"start":{"line":68,"column":21},"end":{"line":68,"column":25}},{"start":{"line":68,"column":29},"end":{"line":68,"column":47}},{"start":{"line":68,"column":52},"end":{"line":76,"column":1}}],"line":68},"45":{"loc":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},{"start":{"line":69,"column":4},"end":{"line":74,"column":5}}],"line":69},"46":{"loc":{"start":{"line":69,"column":8},"end":{"line":69,"column":38}},"type":"binary-expr","locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":12}},{"start":{"line":69,"column":16},"end":{"line":69,"column":38}}],"line":69},"47":{"loc":{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},{"start":{"line":70,"column":8},"end":{"line":73,"column":9}}],"line":70},"48":{"loc":{"start":{"line":70,"column":12},"end":{"line":70,"column":30}},"type":"binary-expr","locations":[{"start":{"line":70,"column":12},"end":{"line":70,"column":14}},{"start":{"line":70,"column":18},"end":{"line":70,"column":30}}],"line":70},"49":{"loc":{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},{"start":{"line":71,"column":12},"end":{"line":71,"column":65}}],"line":71},"50":{"loc":{"start":{"line":75,"column":21},"end":{"line":75,"column":59}},"type":"binary-expr","locations":[{"start":{"line":75,"column":21},"end":{"line":75,"column":23}},{"start":{"line":75,"column":27},"end":{"line":75,"column":59}}],"line":75},"51":{"loc":{"start":{"line":95,"column":22},"end":{"line":95,"column":44}},"type":"binary-expr","locations":[{"start":{"line":95,"column":22},"end":{"line":95,"column":38}},{"start":{"line":95,"column":42},"end":{"line":95,"column":44}}],"line":95},"52":{"loc":{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},{"start":{"line":96,"column":8},"end":{"line":98,"column":9}}],"line":96},"53":{"loc":{"start":{"line":99,"column":8},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":99,"column":8},"end":{"line":106,"column":9}},{"start":{"line":99,"column":8},"end":{"line":106,"column":9}}],"line":99},"54":{"loc":{"start":{"line":102,"column":13},"end":{"line":106,"column":9}},"type":"if","locations":[{"start":{"line":102,"column":13},"end":{"line":106,"column":9}},{"start":{"line":102,"column":13},"end":{"line":106,"column":9}}],"line":102},"55":{"loc":{"start":{"line":102,"column":17},"end":{"line":104,"column":77}},"type":"binary-expr","locations":[{"start":{"line":102,"column":17},"end":{"line":102,"column":84}},{"start":{"line":103,"column":12},"end":{"line":103,"column":79}},{"start":{"line":104,"column":12},"end":{"line":104,"column":77}}],"line":102},"56":{"loc":{"start":{"line":107,"column":8},"end":{"line":112,"column":9}},"type":"if","locations":[{"start":{"line":107,"column":8},"end":{"line":112,"column":9}},{"start":{"line":107,"column":8},"end":{"line":112,"column":9}}],"line":107},"57":{"loc":{"start":{"line":110,"column":13},"end":{"line":112,"column":9}},"type":"if","locations":[{"start":{"line":110,"column":13},"end":{"line":112,"column":9}},{"start":{"line":110,"column":13},"end":{"line":112,"column":9}}],"line":110},"58":{"loc":{"start":{"line":113,"column":8},"end":{"line":118,"column":9}},"type":"if","locations":[{"start":{"line":113,"column":8},"end":{"line":118,"column":9}},{"start":{"line":113,"column":8},"end":{"line":118,"column":9}}],"line":113},"59":{"loc":{"start":{"line":116,"column":13},"end":{"line":118,"column":9}},"type":"if","locations":[{"start":{"line":116,"column":13},"end":{"line":118,"column":9}},{"start":{"line":116,"column":13},"end":{"line":118,"column":9}}],"line":116},"60":{"loc":{"start":{"line":174,"column":16},"end":{"line":191,"column":17}},"type":"switch","locations":[{"start":{"line":175,"column":20},"end":{"line":178,"column":37}},{"start":{"line":179,"column":20},"end":{"line":183,"column":350}},{"start":{"line":184,"column":20},"end":{"line":186,"column":37}},{"start":{"line":187,"column":20},"end":{"line":189,"column":38}},{"start":{"line":190,"column":20},"end":{"line":190,"column":39}}],"line":174},"61":{"loc":{"start":{"line":180,"column":24},"end":{"line":180,"column":68}},"type":"if","locations":[{"start":{"line":180,"column":24},"end":{"line":180,"column":68}},{"start":{"line":180,"column":24},"end":{"line":180,"column":68}}],"line":180},"62":{"loc":{"start":{"line":215,"column":16},"end":{"line":232,"column":17}},"type":"switch","locations":[{"start":{"line":216,"column":20},"end":{"line":218,"column":37}},{"start":{"line":219,"column":20},"end":{"line":223,"column":83}},{"start":{"line":224,"column":20},"end":{"line":227,"column":37}},{"start":{"line":228,"column":20},"end":{"line":230,"column":38}},{"start":{"line":231,"column":20},"end":{"line":231,"column":39}}],"line":215},"63":{"loc":{"start":{"line":220,"column":24},"end":{"line":220,"column":68}},"type":"if","locations":[{"start":{"line":220,"column":24},"end":{"line":220,"column":68}},{"start":{"line":220,"column":24},"end":{"line":220,"column":68}}],"line":220},"64":{"loc":{"start":{"line":237,"column":20},"end":{"line":237,"column":91}},"type":"binary-expr","locations":[{"start":{"line":237,"column":20},"end":{"line":237,"column":45}},{"start":{"line":237,"column":49},"end":{"line":237,"column":91}}],"line":237},"65":{"loc":{"start":{"line":249,"column":16},"end":{"line":254,"column":17}},"type":"switch","locations":[{"start":{"line":250,"column":20},"end":{"line":250,"column":76}},{"start":{"line":251,"column":20},"end":{"line":253,"column":65}}],"line":249},"66":{"loc":{"start":{"line":259,"column":8},"end":{"line":262,"column":9}},"type":"if","locations":[{"start":{"line":259,"column":8},"end":{"line":262,"column":9}},{"start":{"line":259,"column":8},"end":{"line":262,"column":9}}],"line":259},"67":{"loc":{"start":{"line":269,"column":16},"end":{"line":280,"column":17}},"type":"switch","locations":[{"start":{"line":270,"column":20},"end":{"line":273,"column":78}},{"start":{"line":274,"column":20},"end":{"line":276,"column":37}},{"start":{"line":277,"column":20},"end":{"line":279,"column":35}}],"line":269},"68":{"loc":{"start":{"line":271,"column":24},"end":{"line":271,"column":94}},"type":"if","locations":[{"start":{"line":271,"column":24},"end":{"line":271,"column":94}},{"start":{"line":271,"column":24},"end":{"line":271,"column":94}}],"line":271},"69":{"loc":{"start":{"line":296,"column":16},"end":{"line":307,"column":17}},"type":"switch","locations":[{"start":{"line":297,"column":20},"end":{"line":302,"column":58}},{"start":{"line":303,"column":20},"end":{"line":306,"column":35}}],"line":296},"70":{"loc":{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},"type":"if","locations":[{"start":{"line":319,"column":8},"end":{"line":321,"column":9}},{"start":{"line":319,"column":8},"end":{"line":321,"column":9}}],"line":319},"71":{"loc":{"start":{"line":319,"column":12},"end":{"line":319,"column":33}},"type":"binary-expr","locations":[{"start":{"line":319,"column":12},"end":{"line":319,"column":18}},{"start":{"line":319,"column":22},"end":{"line":319,"column":33}}],"line":319},"72":{"loc":{"start":{"line":332,"column":8},"end":{"line":336,"column":9}},"type":"if","locations":[{"start":{"line":332,"column":8},"end":{"line":336,"column":9}},{"start":{"line":332,"column":8},"end":{"line":336,"column":9}}],"line":332},"73":{"loc":{"start":{"line":337,"column":8},"end":{"line":339,"column":9}},"type":"if","locations":[{"start":{"line":337,"column":8},"end":{"line":339,"column":9}},{"start":{"line":337,"column":8},"end":{"line":339,"column":9}}],"line":337},"74":{"loc":{"start":{"line":337,"column":12},"end":{"line":337,"column":33}},"type":"binary-expr","locations":[{"start":{"line":337,"column":12},"end":{"line":337,"column":18}},{"start":{"line":337,"column":22},"end":{"line":337,"column":33}}],"line":337},"75":{"loc":{"start":{"line":347,"column":8},"end":{"line":349,"column":9}},"type":"if","locations":[{"start":{"line":347,"column":8},"end":{"line":349,"column":9}},{"start":{"line":347,"column":8},"end":{"line":349,"column":9}}],"line":347},"76":{"loc":{"start":{"line":357,"column":34},"end":{"line":357,"column":66}},"type":"binary-expr","locations":[{"start":{"line":357,"column":34},"end":{"line":357,"column":50}},{"start":{"line":357,"column":54},"end":{"line":357,"column":66}}],"line":357},"77":{"loc":{"start":{"line":366,"column":22},"end":{"line":366,"column":84}},"type":"cond-expr","locations":[{"start":{"line":366,"column":43},"end":{"line":366,"column":59}},{"start":{"line":366,"column":62},"end":{"line":366,"column":84}}],"line":366},"78":{"loc":{"start":{"line":428,"column":8},"end":{"line":430,"column":9}},"type":"if","locations":[{"start":{"line":428,"column":8},"end":{"line":430,"column":9}},{"start":{"line":428,"column":8},"end":{"line":430,"column":9}}],"line":428},"79":{"loc":{"start":{"line":432,"column":8},"end":{"line":434,"column":9}},"type":"if","locations":[{"start":{"line":432,"column":8},"end":{"line":434,"column":9}},{"start":{"line":432,"column":8},"end":{"line":434,"column":9}}],"line":432},"80":{"loc":{"start":{"line":439,"column":8},"end":{"line":442,"column":9}},"type":"if","locations":[{"start":{"line":439,"column":8},"end":{"line":442,"column":9}},{"start":{"line":439,"column":8},"end":{"line":442,"column":9}}],"line":439},"81":{"loc":{"start":{"line":441,"column":19},"end":{"line":441,"column":102}},"type":"cond-expr","locations":[{"start":{"line":441,"column":82},"end":{"line":441,"column":88}},{"start":{"line":441,"column":91},"end":{"line":441,"column":102}}],"line":441},"82":{"loc":{"start":{"line":441,"column":19},"end":{"line":441,"column":79}},"type":"binary-expr","locations":[{"start":{"line":441,"column":19},"end":{"line":441,"column":62}},{"start":{"line":441,"column":66},"end":{"line":441,"column":79}}],"line":441},"83":{"loc":{"start":{"line":456,"column":12},"end":{"line":461,"column":13}},"type":"if","locations":[{"start":{"line":456,"column":12},"end":{"line":461,"column":13}},{"start":{"line":456,"column":12},"end":{"line":461,"column":13}}],"line":456},"84":{"loc":{"start":{"line":458,"column":16},"end":{"line":460,"column":17}},"type":"if","locations":[{"start":{"line":458,"column":16},"end":{"line":460,"column":17}},{"start":{"line":458,"column":16},"end":{"line":460,"column":17}}],"line":458},"85":{"loc":{"start":{"line":463,"column":12},"end":{"line":465,"column":13}},"type":"if","locations":[{"start":{"line":463,"column":12},"end":{"line":465,"column":13}},{"start":{"line":463,"column":12},"end":{"line":465,"column":13}}],"line":463},"86":{"loc":{"start":{"line":468,"column":12},"end":{"line":470,"column":13}},"type":"if","locations":[{"start":{"line":468,"column":12},"end":{"line":470,"column":13}},{"start":{"line":468,"column":12},"end":{"line":470,"column":13}}],"line":468},"87":{"loc":{"start":{"line":477,"column":16},"end":{"line":491,"column":17}},"type":"switch","locations":[{"start":{"line":478,"column":20},"end":{"line":480,"column":48}},{"start":{"line":481,"column":20},"end":{"line":483,"column":38}},{"start":{"line":484,"column":20},"end":{"line":489,"column":38}},{"start":{"line":490,"column":20},"end":{"line":490,"column":39}}],"line":477},"88":{"loc":{"start":{"line":486,"column":24},"end":{"line":488,"column":25}},"type":"if","locations":[{"start":{"line":486,"column":24},"end":{"line":488,"column":25}},{"start":{"line":486,"column":24},"end":{"line":488,"column":25}}],"line":486},"89":{"loc":{"start":{"line":500,"column":12},"end":{"line":504,"column":13}},"type":"if","locations":[{"start":{"line":500,"column":12},"end":{"line":504,"column":13}},{"start":{"line":500,"column":12},"end":{"line":504,"column":13}}],"line":500},"90":{"loc":{"start":{"line":512,"column":16},"end":{"line":524,"column":17}},"type":"switch","locations":[{"start":{"line":513,"column":20},"end":{"line":515,"column":37}},{"start":{"line":516,"column":20},"end":{"line":518,"column":65}},{"start":{"line":519,"column":20},"end":{"line":522,"column":38}},{"start":{"line":523,"column":20},"end":{"line":523,"column":39}}],"line":512},"91":{"loc":{"start":{"line":517,"column":24},"end":{"line":517,"column":63}},"type":"if","locations":[{"start":{"line":517,"column":24},"end":{"line":517,"column":63}},{"start":{"line":517,"column":24},"end":{"line":517,"column":63}}],"line":517},"92":{"loc":{"start":{"line":589,"column":8},"end":{"line":595,"column":9}},"type":"if","locations":[{"start":{"line":589,"column":8},"end":{"line":595,"column":9}},{"start":{"line":589,"column":8},"end":{"line":595,"column":9}}],"line":589},"93":{"loc":{"start":{"line":591,"column":12},"end":{"line":593,"column":13}},"type":"if","locations":[{"start":{"line":591,"column":12},"end":{"line":593,"column":13}},{"start":{"line":591,"column":12},"end":{"line":593,"column":13}}],"line":591},"94":{"loc":{"start":{"line":591,"column":16},"end":{"line":591,"column":75}},"type":"binary-expr","locations":[{"start":{"line":591,"column":16},"end":{"line":591,"column":46}},{"start":{"line":591,"column":50},"end":{"line":591,"column":75}}],"line":591},"95":{"loc":{"start":{"line":600,"column":8},"end":{"line":602,"column":9}},"type":"if","locations":[{"start":{"line":600,"column":8},"end":{"line":602,"column":9}},{"start":{"line":600,"column":8},"end":{"line":602,"column":9}}],"line":600},"96":{"loc":{"start":{"line":634,"column":8},"end":{"line":636,"column":9}},"type":"if","locations":[{"start":{"line":634,"column":8},"end":{"line":636,"column":9}},{"start":{"line":634,"column":8},"end":{"line":636,"column":9}}],"line":634},"97":{"loc":{"start":{"line":637,"column":8},"end":{"line":639,"column":9}},"type":"if","locations":[{"start":{"line":637,"column":8},"end":{"line":639,"column":9}},{"start":{"line":637,"column":8},"end":{"line":639,"column":9}}],"line":637},"98":{"loc":{"start":{"line":646,"column":12},"end":{"line":648,"column":13}},"type":"if","locations":[{"start":{"line":646,"column":12},"end":{"line":648,"column":13}},{"start":{"line":646,"column":12},"end":{"line":648,"column":13}}],"line":646},"99":{"loc":{"start":{"line":655,"column":16},"end":{"line":660,"column":17}},"type":"switch","locations":[{"start":{"line":656,"column":20},"end":{"line":656,"column":124}},{"start":{"line":657,"column":20},"end":{"line":659,"column":35}}],"line":655},"100":{"loc":{"start":{"line":665,"column":8},"end":{"line":670,"column":9}},"type":"if","locations":[{"start":{"line":665,"column":8},"end":{"line":670,"column":9}},{"start":{"line":665,"column":8},"end":{"line":670,"column":9}}],"line":665},"101":{"loc":{"start":{"line":675,"column":16},"end":{"line":687,"column":17}},"type":"switch","locations":[{"start":{"line":676,"column":20},"end":{"line":678,"column":90}},{"start":{"line":679,"column":20},"end":{"line":681,"column":38}},{"start":{"line":682,"column":20},"end":{"line":682,"column":116}},{"start":{"line":683,"column":20},"end":{"line":685,"column":37}},{"start":{"line":686,"column":20},"end":{"line":686,"column":39}}],"line":675},"102":{"loc":{"start":{"line":677,"column":24},"end":{"line":677,"column":56}},"type":"if","locations":[{"start":{"line":677,"column":24},"end":{"line":677,"column":56}},{"start":{"line":677,"column":24},"end":{"line":677,"column":56}}],"line":677},"103":{"loc":{"start":{"line":701,"column":8},"end":{"line":706,"column":9}},"type":"if","locations":[{"start":{"line":701,"column":8},"end":{"line":706,"column":9}},{"start":{"line":701,"column":8},"end":{"line":706,"column":9}}],"line":701},"104":{"loc":{"start":{"line":703,"column":12},"end":{"line":705,"column":13}},"type":"if","locations":[{"start":{"line":703,"column":12},"end":{"line":705,"column":13}},{"start":{"line":703,"column":12},"end":{"line":705,"column":13}}],"line":703},"105":{"loc":{"start":{"line":712,"column":16},"end":{"line":723,"column":17}},"type":"switch","locations":[{"start":{"line":713,"column":20},"end":{"line":715,"column":69}},{"start":{"line":716,"column":20},"end":{"line":718,"column":37}},{"start":{"line":719,"column":20},"end":{"line":719,"column":80}},{"start":{"line":720,"column":20},"end":{"line":722,"column":35}}],"line":712},"106":{"loc":{"start":{"line":714,"column":24},"end":{"line":714,"column":91}},"type":"if","locations":[{"start":{"line":714,"column":24},"end":{"line":714,"column":91}},{"start":{"line":714,"column":24},"end":{"line":714,"column":91}}],"line":714}},"s":{"0":1,"1":2,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":2,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":1,"20":0,"21":0,"22":1,"23":2,"24":2,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":1,"33":88,"34":10,"35":152,"36":85,"37":85,"38":0,"39":3,"40":3,"41":3,"42":236,"43":152,"44":1,"45":152,"46":89,"47":3,"48":86,"49":152,"50":0,"51":456,"52":240,"53":240,"54":0,"55":240,"56":572,"57":572,"58":0,"59":572,"60":0,"61":572,"62":240,"63":240,"64":88,"65":88,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":244,"74":152,"75":152,"76":92,"77":66,"78":66,"79":26,"80":1,"81":1,"82":1,"83":25,"84":0,"85":0,"86":0,"87":25,"88":0,"89":25,"90":25,"91":307,"92":5,"93":5,"94":572,"95":152,"96":4,"97":148,"98":1,"99":2,"100":2,"101":2,"102":2,"103":1,"104":0,"105":0,"106":0,"107":2,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":355,"126":355,"127":1,"128":354,"129":320,"130":34,"131":1,"132":353,"133":312,"134":41,"135":1,"136":352,"137":330,"138":22,"139":1,"140":351,"141":351,"142":351,"143":351,"144":351,"145":351,"146":351,"147":351,"148":351,"149":351,"150":1,"151":2,"152":2,"153":2,"154":1,"155":2,"156":2,"157":5,"158":2,"159":5,"160":10,"161":10,"162":2,"163":5,"164":2,"165":1,"166":17,"167":17,"168":17,"169":19,"170":17,"171":17,"172":17,"173":17,"174":19,"175":19,"176":19,"177":1,"178":1,"179":1,"180":1,"181":2,"182":1,"183":1,"184":6,"185":1,"186":1,"187":1,"188":3,"189":1,"190":2,"191":2,"192":2,"193":2,"194":2,"195":2,"196":2,"197":1,"198":1,"199":7,"200":7,"201":7,"202":7,"203":7,"204":7,"205":7,"206":7,"207":7,"208":1,"209":3,"210":3,"211":3,"212":3,"213":3,"214":3,"215":12,"216":3,"217":3,"218":6,"219":3,"220":3,"221":3,"222":3,"223":3,"224":3,"225":3,"226":3,"227":3,"228":3,"229":1,"230":24688,"231":24688,"232":24688,"233":24688,"234":1,"235":2,"236":2,"237":1,"238":1,"239":1,"240":2,"241":1,"242":1,"243":1,"244":1,"245":27,"246":26,"247":26,"248":24,"249":1,"250":12,"251":12,"252":24,"253":12,"254":1,"255":11,"256":11,"257":11,"258":10,"259":11,"260":10,"261":1,"262":6,"263":6,"264":7,"265":4,"266":1,"267":3,"268":3,"269":3,"270":6,"271":3,"272":3,"273":3,"274":3,"275":3,"276":3,"277":3,"278":1,"279":32,"280":1,"281":22,"282":1,"283":31,"284":31,"285":3,"286":31,"287":1,"288":2,"289":1,"290":8,"291":1,"292":32,"293":32,"294":16,"295":16,"296":16,"297":20,"298":32,"299":16,"300":32,"301":1,"302":5,"303":1,"304":6,"305":6,"306":1,"307":5,"308":5,"309":5,"310":5,"311":5,"312":1,"313":20,"314":20,"315":20,"316":1,"317":18,"318":18,"319":18,"320":31,"321":18,"322":18,"323":31,"324":1,"325":3,"326":1,"327":640,"328":640,"329":1,"330":51,"331":51,"332":51,"333":51,"334":1,"335":53,"336":53,"337":1,"338":5,"339":5,"340":5,"341":5,"342":1,"343":22,"344":1,"345":2,"346":1,"347":14,"348":14,"349":1,"350":1,"351":1,"352":1,"353":8,"354":8,"355":1,"356":4,"357":4,"358":1,"359":4,"360":1,"361":2,"362":1,"363":9,"364":9,"365":8,"366":9,"367":9,"368":8,"369":9,"370":1,"371":35,"372":8,"373":8,"374":1,"375":10,"376":10,"377":10,"378":1,"379":10,"380":18,"381":1,"382":41,"383":41,"384":41,"385":41,"386":20,"387":20,"388":12,"389":12,"390":29,"391":28,"392":13,"393":1,"394":1,"395":1,"396":25,"397":25,"398":75,"399":25,"400":25,"401":25,"402":24,"403":1,"404":1,"405":1,"406":0,"407":24,"408":1,"409":20,"410":20,"411":20,"412":20,"413":20,"414":12,"415":12,"416":8,"417":1,"418":12,"419":12,"420":26,"421":12,"422":12,"423":13,"424":12,"425":1,"426":1,"427":1,"428":1,"429":12,"430":1,"431":18,"432":18,"433":18,"434":18,"435":21,"436":17,"437":17,"438":17,"439":18,"440":21,"441":2,"442":18,"443":21,"444":1,"445":18,"446":21,"447":2,"448":18,"449":21,"450":1,"451":1,"452":1,"453":18,"454":21,"455":3,"456":3,"457":18,"458":21,"459":8,"460":8,"461":18,"462":21,"463":1,"464":5,"465":1,"466":776,"467":733,"468":776,"469":14,"470":14,"471":1,"472":13,"473":762,"474":1,"475":715,"476":336,"477":5,"478":331,"479":1,"480":15,"481":15,"482":1,"483":761,"484":761,"485":1,"486":777,"487":777,"488":776,"489":733,"490":733,"491":394,"492":1,"493":61,"494":61,"495":24,"496":37,"497":1,"498":1,"499":36,"500":1,"501":40,"502":40,"503":40,"504":43,"505":43,"506":42,"507":4,"508":1,"509":17,"510":17,"511":17,"512":34,"513":17,"514":18,"515":17,"516":16,"517":1,"518":29,"519":2,"520":27,"521":1,"522":12,"523":12,"524":36,"525":12,"526":10,"527":2,"528":2,"529":2,"530":10,"531":10,"532":10,"533":12,"534":1,"535":35,"536":35,"537":2,"538":1,"539":27,"540":27,"541":11,"542":10,"543":7,"544":6,"545":19,"546":1,"547":10,"548":10,"549":30,"550":10,"551":7,"552":3,"553":3,"554":3,"555":10,"556":10,"557":10,"558":1,"559":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":355,"24":2,"25":5,"26":5,"27":10,"28":10,"29":5,"30":17,"31":1,"32":1,"33":6,"34":7,"35":7,"36":3,"37":3,"38":12,"39":24688,"40":2,"41":1,"42":1,"43":2,"44":27,"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":640,"68":51,"69":51,"70":51,"71":53,"72":5,"73":5,"74":5,"75":22,"76":2,"77":14,"78":1,"79":8,"80":4,"81":4,"82":2,"83":9,"84":35,"85":10,"86":10,"87":18,"88":41,"89":12,"90":25,"91":25,"92":75,"93":20,"94":12,"95":12,"96":12,"97":26,"98":18,"99":18,"100":21,"101":17,"102":21,"103":2,"104":21,"105":1,"106":21,"107":2,"108":21,"109":1,"110":21,"111":3,"112":21,"113":8,"114":21,"115":5,"116":776,"117":733,"118":715,"119":15,"120":761,"121":777,"122":776,"123":61,"124":1,"125":40,"126":17,"127":17,"128":34,"129":18,"130":29,"131":12,"132":12,"133":36,"134":35,"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":[1,1,1],"8":[1,0],"9":[1,1,1],"10":[2,0],"11":[2,2],"12":[0,0],"13":[0,0],"14":[0,0],"15":[1,1,1],"16":[78,10],"17":[152,152],"18":[148,88],"19":[152,152],"20":[1,1,1],"21":[3,86],"22":[152,152],"23":[0,240],"24":[0,572],"25":[572,0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,572],"31":[237,240,88,0,0,244],"32":[152,92],"33":[244,218,214],"34":[244,26],"35":[66,26],"36":[92,90,24,24],"37":[1,25],"38":[26,2],"39":[0,25],"40":[25,25],"41":[0,25],"42":[4,148],"43":[148,0],"44":[1,1,1],"45":[2,0],"46":[2,0],"47":[0,1],"48":[1,1],"49":[0,0],"50":[2,2],"51":[355,300],"52":[1,354],"53":[320,34],"54":[1,33],"55":[34,20,2],"56":[312,41],"57":[1,40],"58":[330,22],"59":[1,21],"60":[1,3,2,2,1],"61":[1,2],"62":[3,6,3,3,3],"63":[3,3],"64":[24688,1],"65":[1,1],"66":[26,1],"67":[12,11,11],"68":[1,11],"69":[3,3],"70":[3,28],"71":[31,20],"72":[16,16],"73":[16,16],"74":[32,20],"75":[1,5],"76":[20,19],"77":[3,15],"78":[8,1],"79":[8,1],"80":[8,27],"81":[0,8],"82":[8,8],"83":[20,21],"84":[12,8],"85":[13,15],"86":[1,0],"87":[25,25,1,24],"88":[1,0],"89":[12,8],"90":[12,13,1,12],"91":[12,1],"92":[14,762],"93":[1,13],"94":[14,13],"95":[5,331],"96":[24,37],"97":[1,36],"98":[4,38],"99":[17,17],"100":[2,27],"101":[12,2,10,10,12],"102":[10,2],"103":[11,16],"104":[7,3],"105":[10,3,10,10],"106":[7,3]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/container/container.ts","sources":["X:/Code/InversifyJS/src/container/container.ts"],"names":[],"mappings":"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","sourcesContent":["import { Binding } from '../bindings/binding';\r\nimport * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { BindingScopeEnum, TargetTypeEnum } from '../constants/literal_types';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { MetadataReader } from '../planning/metadata_reader';\r\nimport { createMockRequest, getBindingDictionary, plan } from '../planning/planner';\r\nimport { resolve } from '../resolution/resolver';\r\nimport { BindingToSyntax } from '../syntax/binding_to_syntax';\r\nimport { isPromise, isPromiseOrContainsPromise } from '../utils/async';\r\nimport { id } from '../utils/id';\r\nimport { getServiceIdentifierAsString } from '../utils/serialization';\r\nimport { ContainerSnapshot } from './container_snapshot';\r\nimport { Lookup } from './lookup';\r\nimport { ModuleActivationStore } from './module_activation_store';\r\n\r\ntype GetArgs<T> = Omit<interfaces.NextArgs<T>, 'contextInterceptor' | 'targetType'>\r\n\r\nclass Container implements interfaces.Container {\r\n\r\n public id: number;\r\n public parent: interfaces.Container | null;\r\n public readonly options: interfaces.ContainerOptions;\r\n private _middleware: interfaces.Next | null;\r\n private _bindingDictionary: interfaces.Lookup<interfaces.Binding<unknown>>;\r\n private _activations: interfaces.Lookup<interfaces.BindingActivation<unknown>>;\r\n private _deactivations: interfaces.Lookup<interfaces.BindingDeactivation<unknown>>;\r\n private _snapshots: interfaces.ContainerSnapshot[];\r\n private _metadataReader: interfaces.MetadataReader;\r\n private _moduleActivationStore: interfaces.ModuleActivationStore\r\n\r\n public static merge(\r\n container1: interfaces.Container,\r\n container2: interfaces.Container,\r\n ...containers: interfaces.Container[]\r\n ): interfaces.Container {\r\n const container = new Container();\r\n const targetContainers: interfaces.Lookup<interfaces.Binding<unknown>>[] = [container1, container2, ...containers]\r\n .map((targetContainer) => getBindingDictionary(targetContainer));\r\n const bindingDictionary: interfaces.Lookup<interfaces.Binding<unknown>> = getBindingDictionary(container);\r\n\r\n function copyDictionary(\r\n origin: interfaces.Lookup<interfaces.Binding<unknown>>,\r\n destination: interfaces.Lookup<interfaces.Binding<unknown>>\r\n ) {\r\n\r\n origin.traverse((_key, value) => {\r\n value.forEach((binding) => {\r\n destination.add(binding.serviceIdentifier, binding.clone());\r\n });\r\n });\r\n\r\n }\r\n\r\n targetContainers.forEach((targetBindingDictionary) => {\r\n copyDictionary(targetBindingDictionary, bindingDictionary);\r\n });\r\n\r\n return container;\r\n }\r\n\r\n public constructor(containerOptions?: interfaces.ContainerOptions) {\r\n const options = containerOptions || {};\r\n if (typeof options !== 'object') {\r\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT}`);\r\n }\r\n\r\n if (options.defaultScope === undefined) {\r\n options.defaultScope = BindingScopeEnum.Transient;\r\n } else if (\r\n options.defaultScope !== BindingScopeEnum.Singleton &&\r\n options.defaultScope !== BindingScopeEnum.Transient &&\r\n options.defaultScope !== BindingScopeEnum.Request\r\n ) {\r\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE}`);\r\n }\r\n\r\n if (options.autoBindInjectable === undefined) {\r\n options.autoBindInjectable = false;\r\n } else if (\r\n typeof options.autoBindInjectable !== 'boolean'\r\n ) {\r\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE}`);\r\n }\r\n\r\n if (options.skipBaseClassChecks === undefined) {\r\n options.skipBaseClassChecks = false;\r\n } else if (\r\n typeof options.skipBaseClassChecks !== 'boolean'\r\n ) {\r\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK}`);\r\n }\r\n\r\n this.options = {\r\n autoBindInjectable: options.autoBindInjectable,\r\n defaultScope: options.defaultScope,\r\n skipBaseClassChecks: options.skipBaseClassChecks\r\n };\r\n\r\n this.id = id();\r\n this._bindingDictionary = new Lookup<interfaces.Binding<unknown>>();\r\n this._snapshots = [];\r\n this._middleware = null;\r\n this._activations = new Lookup<interfaces.BindingActivation<unknown>>();\r\n this._deactivations = new Lookup<interfaces.BindingDeactivation<unknown>>();\r\n this.parent = null;\r\n this._metadataReader = new MetadataReader();\r\n this._moduleActivationStore = new ModuleActivationStore()\r\n }\r\n\r\n public load(...modules: interfaces.ContainerModule[]) {\r\n\r\n const getHelpers = this._getContainerModuleHelpersFactory();\r\n\r\n for (const currentModule of modules) {\r\n\r\n const containerModuleHelpers = getHelpers(currentModule.id);\r\n\r\n currentModule.registry(\r\n containerModuleHelpers.bindFunction as interfaces.Bind,\r\n containerModuleHelpers.unbindFunction,\r\n containerModuleHelpers.isboundFunction,\r\n containerModuleHelpers.rebindFunction as interfaces.Rebind,\r\n containerModuleHelpers.unbindAsyncFunction,\r\n containerModuleHelpers.onActivationFunction as interfaces.Container['onActivation'],\r\n containerModuleHelpers.onDeactivationFunction as interfaces.Container['onDeactivation']\r\n );\r\n\r\n }\r\n\r\n }\r\n\r\n public async loadAsync(...modules: interfaces.AsyncContainerModule[]) {\r\n\r\n const getHelpers = this._getContainerModuleHelpersFactory();\r\n\r\n for (const currentModule of modules) {\r\n\r\n const containerModuleHelpers = getHelpers(currentModule.id);\r\n\r\n await currentModule.registry(\r\n containerModuleHelpers.bindFunction as interfaces.Bind,\r\n containerModuleHelpers.unbindFunction,\r\n containerModuleHelpers.isboundFunction,\r\n containerModuleHelpers.rebindFunction as interfaces.Rebind,\r\n containerModuleHelpers.unbindAsyncFunction,\r\n containerModuleHelpers.onActivationFunction as interfaces.Container['onActivation'],\r\n containerModuleHelpers.onDeactivationFunction as interfaces.Container['onDeactivation']\r\n );\r\n\r\n }\r\n\r\n }\r\n\r\n public unload(...modules: interfaces.ContainerModuleBase[]): void {\r\n modules.forEach((module) => {\r\n const deactivations = this._removeModuleBindings(module.id)\r\n this._deactivateSingletons(deactivations);\r\n\r\n this._removeModuleHandlers(module.id);\r\n });\r\n\r\n }\r\n\r\n public async unloadAsync(...modules: interfaces.ContainerModuleBase[]): Promise<void> {\r\n for (const module of modules) {\r\n const deactivations = this._removeModuleBindings(module.id)\r\n await this._deactivateSingletonsAsync(deactivations)\r\n\r\n this._removeModuleHandlers(module.id);\r\n }\r\n\r\n }\r\n\r\n // Registers a type binding\r\n public bind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T> {\r\n const scope = this.options.defaultScope || BindingScopeEnum.Transient;\r\n const binding = new Binding<T>(serviceIdentifier, scope);\r\n this._bindingDictionary.add(serviceIdentifier, binding as Binding<unknown>);\r\n return new BindingToSyntax<T>(binding);\r\n }\r\n\r\n public rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T> {\r\n this.unbind(serviceIdentifier);\r\n return this.bind(serviceIdentifier);\r\n }\r\n\r\n public async rebindAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<interfaces.BindingToSyntax<T>> {\r\n await this.unbindAsync(serviceIdentifier);\r\n return this.bind(serviceIdentifier);\r\n }\r\n\r\n // Removes a type binding from the registry by its key\r\n public unbind(serviceIdentifier: interfaces.ServiceIdentifier): void {\r\n if (this._bindingDictionary.hasKey(serviceIdentifier)) {\r\n const bindings = this._bindingDictionary.get(serviceIdentifier);\r\n\r\n this._deactivateSingletons(bindings);\r\n }\r\n\r\n this._removeServiceFromDictionary(serviceIdentifier);\r\n }\r\n\r\n public async unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise<void> {\r\n if (this._bindingDictionary.hasKey(serviceIdentifier)) {\r\n const bindings = this._bindingDictionary.get(serviceIdentifier);\r\n\r\n await this._deactivateSingletonsAsync(bindings);\r\n }\r\n\r\n this._removeServiceFromDictionary(serviceIdentifier);\r\n }\r\n\r\n // Removes all the type bindings from the registry\r\n public unbindAll(): void {\r\n this._bindingDictionary.traverse((_key, value) => {\r\n this._deactivateSingletons(value);\r\n });\r\n\r\n this._bindingDictionary = new Lookup<Binding<unknown>>();\r\n }\r\n\r\n public async unbindAllAsync(): Promise<void> {\r\n const promises: Promise<void>[] = [];\r\n\r\n this._bindingDictionary.traverse((_key, value) => {\r\n promises.push(this._deactivateSingletonsAsync(value));\r\n });\r\n\r\n await Promise.all(promises);\r\n\r\n this._bindingDictionary = new Lookup<Binding<unknown>>();\r\n }\r\n\r\n public onActivation<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, onActivation: interfaces.BindingActivation<T>) {\r\n this._activations.add(serviceIdentifier, onActivation as interfaces.BindingActivation<unknown>);\r\n }\r\n\r\n public onDeactivation<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, onDeactivation: interfaces.BindingDeactivation<T>) {\r\n this._deactivations.add(serviceIdentifier, onDeactivation as interfaces.BindingDeactivation<unknown>);\r\n }\r\n\r\n // Allows to check if there are bindings available for serviceIdentifier\r\n public isBound(serviceIdentifier: interfaces.ServiceIdentifier<unknown>): boolean {\r\n let bound = this._bindingDictionary.hasKey(serviceIdentifier);\r\n if (!bound && this.parent) {\r\n bound = this.parent.isBound(serviceIdentifier);\r\n }\r\n return bound;\r\n }\r\n\r\n // check binding dependency only in current container\r\n public isCurrentBound<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): boolean {\r\n return this._bindingDictionary.hasKey(serviceIdentifier);\r\n }\r\n\r\n public isBoundNamed(serviceIdentifier: interfaces.ServiceIdentifier, named: string | number | symbol): boolean {\r\n return this.isBoundTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n }\r\n\r\n // Check if a binding with a complex constraint is available without throwing a error. Ancestors are also verified.\r\n public isBoundTagged(serviceIdentifier: interfaces.ServiceIdentifier, key: string | number | symbol, value: unknown): boolean {\r\n let bound = false;\r\n\r\n // verify if there are bindings available for serviceIdentifier on current binding dictionary\r\n if (this._bindingDictionary.hasKey(serviceIdentifier)) {\r\n const bindings = this._bindingDictionary.get(serviceIdentifier);\r\n const request = createMockRequest(this, serviceIdentifier, key, value);\r\n bound = bindings.some((b) => b.constraint(request));\r\n }\r\n\r\n // verify if there is a parent container that could solve the request\r\n if (!bound && this.parent) {\r\n bound = this.parent.isBoundTagged(serviceIdentifier, key, value);\r\n }\r\n\r\n return bound;\r\n }\r\n\r\n public snapshot(): void {\r\n this._snapshots.push(ContainerSnapshot.of(\r\n this._bindingDictionary.clone(),\r\n this._middleware,\r\n this._activations.clone(),\r\n this._deactivations.clone(),\r\n this._moduleActivationStore.clone()\r\n ));\r\n }\r\n\r\n public restore(): void {\r\n const snapshot = this._snapshots.pop();\r\n if (snapshot === undefined) {\r\n throw new Error(ERROR_MSGS.NO_MORE_SNAPSHOTS_AVAILABLE);\r\n }\r\n this._bindingDictionary = snapshot.bindings;\r\n this._activations = snapshot.activations;\r\n this._deactivations = snapshot.deactivations;\r\n this._middleware = snapshot.middleware;\r\n this._moduleActivationStore = snapshot.moduleActivationStore\r\n }\r\n\r\n public createChild(containerOptions?: interfaces.ContainerOptions): Container {\r\n const child = new Container(containerOptions || this.options);\r\n child.parent = this;\r\n return child;\r\n }\r\n\r\n public applyMiddleware(...middlewares: interfaces.Middleware[]): void {\r\n const initial: interfaces.Next = (this._middleware) ? this._middleware : this._planAndResolve();\r\n this._middleware = middlewares.reduce(\r\n (prev, curr) => curr(prev),\r\n initial);\r\n }\r\n\r\n public applyCustomMetadataReader(metadataReader: interfaces.MetadataReader) {\r\n this._metadataReader = metadataReader;\r\n }\r\n\r\n // Resolves a dependency by its runtime identifier\r\n // The runtime identifier must be associated with only one binding\r\n // use getAll when the runtime identifier is associated with multiple bindings\r\n public get<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T {\r\n const getArgs = this._getNotAllArgs(serviceIdentifier, false);\r\n\r\n return this._getButThrowIfAsync<T>(getArgs) as T;\r\n }\r\n\r\n public async getAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<T> {\r\n const getArgs = this._getNotAllArgs(serviceIdentifier, false);\r\n\r\n return this._get<T>(getArgs) as Promise<T> | T;\r\n }\r\n\r\n public getTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T {\r\n const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);\r\n\r\n return this._getButThrowIfAsync<T>(getArgs) as T;\r\n }\r\n\r\n public async getTaggedAsync<T>(\r\n serviceIdentifier: interfaces.ServiceIdentifier<T>,\r\n key: string | number | symbol,\r\n value: unknown\r\n ): Promise<T> {\r\n const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);\r\n\r\n return this._get<T>(getArgs) as Promise<T> | T;\r\n }\r\n\r\n public getNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T {\r\n return this.getTagged<T>(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n }\r\n\r\n public getNamedAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): Promise<T> {\r\n return this.getTaggedAsync<T>(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n }\r\n\r\n // Resolves a dependency by its runtime identifier\r\n // The runtime identifier can be associated with one or multiple bindings\r\n public getAll<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T[] {\r\n const getArgs = this._getAllArgs(serviceIdentifier);\r\n\r\n return this._getButThrowIfAsync<T>(getArgs) as T[];\r\n }\r\n\r\n public getAllAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<T[]> {\r\n const getArgs = this._getAllArgs(serviceIdentifier);\r\n\r\n return this._getAll(getArgs);\r\n }\r\n\r\n public getAllTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T[] {\r\n const getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);\r\n\r\n return this._getButThrowIfAsync<T>(getArgs) as T[];\r\n }\r\n\r\n public getAllTaggedAsync<T>(\r\n serviceIdentifier: interfaces.ServiceIdentifier<T>,\r\n key: string | number | symbol,\r\n value: unknown\r\n ): Promise<T[]> {\r\n const getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);\r\n\r\n return this._getAll(getArgs);\r\n }\r\n\r\n public getAllNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T[] {\r\n return this.getAllTagged<T>(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n }\r\n\r\n public getAllNamedAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): Promise<T[]> {\r\n return this.getAllTaggedAsync<T>(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\r\n }\r\n\r\n public resolve<T>(constructorFunction: interfaces.Newable<T>) {\r\n const isBound = this.isBound(constructorFunction);\r\n if (!isBound) {\r\n this.bind<T>(constructorFunction).toSelf();\r\n }\r\n const resolved = this.get<T>(constructorFunction);\r\n if (!isBound) {\r\n this.unbind(constructorFunction);\r\n }\r\n return resolved;\r\n }\r\n\r\n private _preDestroy<T>(constructor: NewableFunction, instance: T): Promise<void> | void {\r\n if (Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constructor)) {\r\n const data: interfaces.Metadata = Reflect.getMetadata(METADATA_KEY.PRE_DESTROY, constructor);\r\n return (instance as interfaces.Instance<T>)[(data.value as string)]?.();\r\n }\r\n }\r\n private _removeModuleHandlers(moduleId: number): void {\r\n const moduleActivationsHandlers = this._moduleActivationStore.remove(moduleId);\r\n\r\n this._activations.removeIntersection(moduleActivationsHandlers.onActivations);\r\n this._deactivations.removeIntersection(moduleActivationsHandlers.onDeactivations);\r\n }\r\n\r\n private _removeModuleBindings(moduleId: number): interfaces.Binding<unknown>[] {\r\n return this._bindingDictionary.removeByCondition(binding => binding.moduleId === moduleId);\r\n }\r\n\r\n private _deactivate<T>(binding: Binding<T>, instance: T): void | Promise<void> {\r\n const constructor: NewableFunction = Object.getPrototypeOf(instance).constructor;\r\n\r\n try {\r\n if (this._deactivations.hasKey(binding.serviceIdentifier)) {\r\n const result = this._deactivateContainer(\r\n instance,\r\n this._deactivations.get(binding.serviceIdentifier).values(),\r\n );\r\n\r\n if (isPromise(result)) {\r\n return this._handleDeactivationError(\r\n result.then(() => this._propagateContainerDeactivationThenBindingAndPreDestroyAsync(\r\n binding, instance, constructor)),\r\n constructor\r\n );\r\n }\r\n }\r\n\r\n const propagateDeactivationResult = this._propagateContainerDeactivationThenBindingAndPreDestroy(\r\n binding, instance, constructor);\r\n\r\n if (isPromise(propagateDeactivationResult)) {\r\n return this._handleDeactivationError(propagateDeactivationResult, constructor);\r\n }\r\n } catch (ex) {\r\n if (ex instanceof Error) {\r\n throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR(constructor.name, ex.message));\r\n }\r\n }\r\n }\r\n\r\n private async _handleDeactivationError(asyncResult: Promise<void>, constructor: NewableFunction): Promise<void> {\r\n try {\r\n await asyncResult;\r\n } catch (ex) {\r\n if (ex instanceof Error) {\r\n throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR(constructor.name, ex.message));\r\n }\r\n }\r\n }\r\n\r\n\r\n private _deactivateContainer<T>(\r\n instance: T,\r\n deactivationsIterator: IterableIterator<interfaces.BindingDeactivation<unknown>>,\r\n ): void | Promise<void> {\r\n let deactivation = deactivationsIterator.next();\r\n\r\n while (deactivation.value) {\r\n const result = deactivation.value(instance);\r\n\r\n if (isPromise(result)) {\r\n return result.then(() =>\r\n this._deactivateContainerAsync(instance, deactivationsIterator),\r\n );\r\n }\r\n\r\n deactivation = deactivationsIterator.next();\r\n }\r\n }\r\n\r\n private async _deactivateContainerAsync<T>(\r\n instance: T,\r\n deactivationsIterator: IterableIterator<interfaces.BindingDeactivation<unknown>>,\r\n ): Promise<void> {\r\n let deactivation = deactivationsIterator.next();\r\n\r\n while (deactivation.value) {\r\n await deactivation.value(instance);\r\n deactivation = deactivationsIterator.next();\r\n }\r\n }\r\n\r\n private _getContainerModuleHelpersFactory() {\r\n\r\n const setModuleId = (bindingToSyntax: interfaces.BindingToSyntax<unknown>, moduleId: interfaces.ContainerModuleBase['id']) => {\r\n // TODO: Implement an internal type `_BindingToSyntax<T>` wherein this member\r\n // can be public. Let `BindingToSyntax<T>` be the presentational type that\r\n // depends on it, and does not expose this member as public.\r\n (bindingToSyntax as unknown as { _binding: { moduleId: interfaces.ContainerModuleBase['id'] } } )._binding.moduleId = moduleId;\r\n };\r\n\r\n const getBindFunction = <T>(moduleId: interfaces.ContainerModuleBase['id']) =>\r\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\r\n const bindingToSyntax = this.bind(serviceIdentifier);\r\n setModuleId(bindingToSyntax, moduleId);\r\n return bindingToSyntax as BindingToSyntax<T>;\r\n };\r\n\r\n const getUnbindFunction = () =>\r\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\r\n return this.unbind(serviceIdentifier);\r\n };\r\n\r\n const getUnbindAsyncFunction = () =>\r\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\r\n return this.unbindAsync(serviceIdentifier);\r\n };\r\n\r\n const getIsboundFunction = () =>\r\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\r\n return this.isBound(serviceIdentifier)\r\n };\r\n\r\n const getRebindFunction = <T = unknown>(moduleId: interfaces.ContainerModuleBase['id']) =>\r\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\r\n const bindingToSyntax = this.rebind(serviceIdentifier);\r\n setModuleId(bindingToSyntax, moduleId);\r\n return bindingToSyntax as BindingToSyntax<T>;\r\n };\r\n\r\n const getOnActivationFunction = (moduleId: interfaces.ContainerModuleBase['id']) =>\r\n (serviceIdentifier: interfaces.ServiceIdentifier, onActivation: interfaces.BindingActivation) => {\r\n this._moduleActivationStore.addActivation(moduleId, serviceIdentifier, onActivation);\r\n this.onActivation(serviceIdentifier, onActivation);\r\n }\r\n\r\n const getOnDeactivationFunction = (moduleId: interfaces.ContainerModuleBase['id']) =>\r\n (serviceIdentifier: interfaces.ServiceIdentifier, onDeactivation: interfaces.BindingDeactivation) => {\r\n this._moduleActivationStore.addDeactivation(moduleId, serviceIdentifier, onDeactivation);\r\n this.onDeactivation(serviceIdentifier, onDeactivation);\r\n }\r\n\r\n return (mId: interfaces.ContainerModuleBase['id']) => ({\r\n bindFunction: getBindFunction(mId),\r\n isboundFunction: getIsboundFunction(),\r\n onActivationFunction: getOnActivationFunction(mId),\r\n onDeactivationFunction: getOnDeactivationFunction(mId),\r\n rebindFunction: getRebindFunction(mId),\r\n unbindFunction: getUnbindFunction(),\r\n unbindAsyncFunction: getUnbindAsyncFunction()\r\n });\r\n\r\n }\r\n private _getAll<T>(getArgs: GetArgs<T>): Promise<T[]> {\r\n return Promise.all(this._get<T>(getArgs) as (Promise<T> | T)[]);\r\n }\r\n // Prepares arguments required for resolution and\r\n // delegates resolution to _middleware if available\r\n // otherwise it delegates resolution to _planAndResolve\r\n private _get<T>(getArgs: GetArgs<T>): interfaces.ContainerResolution<T> {\r\n const planAndResolveArgs: interfaces.NextArgs<T> = {\r\n ...getArgs,\r\n contextInterceptor: (context) => context,\r\n targetType: TargetTypeEnum.Variable\r\n }\r\n if (this._middleware) {\r\n const middlewareResult = this._middleware(planAndResolveArgs);\r\n if (middlewareResult === undefined || middlewareResult === null) {\r\n throw new Error(ERROR_MSGS.INVALID_MIDDLEWARE_RETURN);\r\n }\r\n return middlewareResult as interfaces.ContainerResolution<T>;\r\n }\r\n\r\n return this._planAndResolve<T>()(planAndResolveArgs);\r\n }\r\n\r\n private _getButThrowIfAsync<T>(\r\n getArgs: GetArgs<T>,\r\n ): (T | T[]) {\r\n const result = this._get<T>(getArgs);\r\n\r\n if (isPromiseOrContainsPromise<T>(result)) {\r\n throw new Error(ERROR_MSGS.LAZY_IN_SYNC(getArgs.serviceIdentifier));\r\n }\r\n\r\n return result as (T | T[]);\r\n }\r\n\r\n private _getAllArgs<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): GetArgs<T> {\r\n const getAllArgs: GetArgs<T> = {\r\n avoidConstraints: true,\r\n isMultiInject: true,\r\n serviceIdentifier,\r\n };\r\n\r\n return getAllArgs;\r\n }\r\n\r\n private _getNotAllArgs<T>(\r\n serviceIdentifier: interfaces.ServiceIdentifier<T>,\r\n isMultiInject: boolean,\r\n key?: string | number | symbol | undefined,\r\n value?: unknown,\r\n ): GetArgs<T> {\r\n const getNotAllArgs: GetArgs<T> = {\r\n avoidConstraints: false,\r\n isMultiInject,\r\n serviceIdentifier,\r\n key,\r\n value,\r\n };\r\n\r\n return getNotAllArgs;\r\n }\r\n\r\n // Planner creates a plan and Resolver resolves a plan\r\n // one of the jobs of the Container is to links the Planner\r\n // with the Resolver and that is what this function is about\r\n private _planAndResolve<T = unknown>(): (args: interfaces.NextArgs<T>) => interfaces.ContainerResolution<T> {\r\n return (args: interfaces.NextArgs<T>) => {\r\n\r\n // create a plan\r\n let context = plan(\r\n this._metadataReader,\r\n this,\r\n args.isMultiInject,\r\n args.targetType,\r\n args.serviceIdentifier,\r\n args.key,\r\n args.value,\r\n args.avoidConstraints\r\n );\r\n\r\n // apply context interceptor\r\n context = args.contextInterceptor(context);\r\n\r\n // resolve plan\r\n const result = resolve<T>(context);\r\n\r\n return result;\r\n\r\n };\r\n }\r\n\r\n private _deactivateIfSingleton(binding: Binding<unknown>): Promise<void> | void {\r\n if (!binding.activated) {\r\n return;\r\n }\r\n\r\n if (isPromise(binding.cache)) {\r\n return binding.cache.then((resolved) => this._deactivate(binding, resolved));\r\n }\r\n\r\n return this._deactivate(binding, binding.cache);\r\n }\r\n\r\n private _deactivateSingletons(bindings: Binding<unknown>[]): void {\r\n for (const binding of bindings) {\r\n const result = this._deactivateIfSingleton(binding);\r\n\r\n if (isPromise(result)) {\r\n throw new Error(ERROR_MSGS.ASYNC_UNBIND_REQUIRED);\r\n }\r\n }\r\n }\r\n\r\n private async _deactivateSingletonsAsync(bindings: Binding<unknown>[]): Promise<void> {\r\n await Promise.all(bindings.map(b => this._deactivateIfSingleton(b)))\r\n }\r\n\r\n private _propagateContainerDeactivationThenBindingAndPreDestroy<T>(\r\n binding: Binding<T>,\r\n instance: T,\r\n constructor: NewableFunction\r\n ): void | Promise<void> {\r\n if (this.parent) {\r\n return this._deactivate.bind(this.parent)(binding, instance);\r\n } else {\r\n return this._bindingDeactivationAndPreDestroy(binding, instance, constructor);\r\n }\r\n }\r\n\r\n private async _propagateContainerDeactivationThenBindingAndPreDestroyAsync<T>(\r\n binding: Binding<T>,\r\n instance: T,\r\n constructor: NewableFunction\r\n ): Promise<void> {\r\n if (this.parent) {\r\n await this._deactivate.bind(this.parent)(binding, instance);\r\n } else {\r\n await this._bindingDeactivationAndPreDestroyAsync(binding, instance, constructor);\r\n }\r\n }\r\n\r\n private _removeServiceFromDictionary(serviceIdentifier: interfaces.ServiceIdentifier): void {\r\n try {\r\n this._bindingDictionary.remove(serviceIdentifier);\r\n } catch (e) {\r\n throw new Error(`${ERROR_MSGS.CANNOT_UNBIND} ${getServiceIdentifierAsString(serviceIdentifier)}`);\r\n }\r\n }\r\n\r\n private _bindingDeactivationAndPreDestroy<T>(\r\n binding: Binding<T>,\r\n instance: T,\r\n constructor: NewableFunction\r\n ): void | Promise<void> {\r\n if (typeof binding.onDeactivation === 'function') {\r\n const result = binding.onDeactivation(instance);\r\n\r\n if (isPromise(result)) {\r\n return result.then(() => this._preDestroy(constructor, instance));\r\n }\r\n }\r\n\r\n return this._preDestroy(constructor, instance);\r\n }\r\n\r\n private async _bindingDeactivationAndPreDestroyAsync<T>(\r\n binding: Binding<T>,\r\n instance: T,\r\n constructor: NewableFunction\r\n ): Promise<void> {\r\n if (typeof binding.onDeactivation === 'function') {\r\n await binding.onDeactivation(instance);\r\n }\r\n\r\n await this._preDestroy(constructor, instance);\r\n }\r\n\r\n}\r\n\r\nexport { Container };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f4e6c833bf780ab9bb844ead9e58efce2b3c1262","contentHash":"6a0886e0042f9973e3c35e67354dce99dcf265de3d0ab99a4aa4bd1f49d71e6d"},"X:\\Code\\InversifyJS\\src\\bindings\\binding.ts":{"path":"X:\\Code\\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":24750,"6":24750,"7":24750,"8":24750,"9":24750,"10":24750,"11":7020,"12":24750,"13":24750,"14":24750,"15":24750,"16":24750,"17":24750,"18":24750,"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":24750,"2":7020,"3":15},"b":{"0":[2,13]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/bindings/binding.ts","sources":["X:/Code/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';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { id } from '../utils/id';\r\n\r\nclass Binding<TActivated> implements interfaces.Binding<TActivated> {\r\n\r\n public id: number;\r\n public moduleId!: interfaces.ContainerModuleBase['id'];\r\n\r\n // Determines weather the bindings has been already activated\r\n // The activation action takes place when an instance is resolved\r\n // If the scope is singleton it only happens once\r\n public activated: boolean;\r\n\r\n // A runtime identifier because at runtime we don't have interfaces\r\n public serviceIdentifier: interfaces.ServiceIdentifier<TActivated>;\r\n\r\n // constructor from binding to or toConstructor\r\n public implementationType: interfaces.Newable<TActivated> | TActivated | null;\r\n\r\n // Cache used to allow singleton scope and BindingType.ConstantValue bindings\r\n public cache: TActivated | Promise<TActivated> | null;\r\n\r\n // Cache used to allow BindingType.DynamicValue bindings\r\n public dynamicValue: interfaces.DynamicValue<TActivated> | null;\r\n\r\n // The scope mode to be used\r\n public scope: interfaces.BindingScope;\r\n\r\n // The kind of binding\r\n public type: interfaces.BindingType;\r\n\r\n // A factory method used in BindingType.Factory bindings\r\n public factory: interfaces.FactoryCreator<unknown> | null;\r\n\r\n // An async factory method used in BindingType.Provider bindings\r\n public provider: interfaces.ProviderCreator<unknown> | null;\r\n\r\n // A constraint used to limit the contexts in which this binding is applicable\r\n public constraint: interfaces.ConstraintFunction;\r\n\r\n // On activation handler (invoked just before an instance is added to cache and injected)\r\n public onActivation: interfaces.BindingActivation<TActivated> | null;\r\n\r\n // On deactivation handler (invoked just before an instance is unbinded and removed from container)\r\n public onDeactivation: interfaces.BindingDeactivation<TActivated> | null;\r\n\r\n public constructor(serviceIdentifier: interfaces.ServiceIdentifier<TActivated>, scope: interfaces.BindingScope) {\r\n this.id = id();\r\n this.activated = false;\r\n this.serviceIdentifier = serviceIdentifier;\r\n this.scope = scope;\r\n this.type = BindingTypeEnum.Invalid;\r\n this.constraint = (request: interfaces.Request | null) => true;\r\n this.implementationType = null;\r\n this.cache = null;\r\n this.factory = null;\r\n this.provider = null;\r\n this.onActivation = null;\r\n this.onDeactivation = null;\r\n this.dynamicValue = null;\r\n }\r\n\r\n public clone(): interfaces.Binding<TActivated> {\r\n const clone = new Binding(this.serviceIdentifier, this.scope);\r\n clone.activated = (clone.scope === BindingScopeEnum.Singleton) ? this.activated : false;\r\n clone.implementationType = this.implementationType;\r\n clone.dynamicValue = this.dynamicValue;\r\n clone.scope = this.scope;\r\n clone.type = this.type;\r\n clone.factory = this.factory;\r\n clone.provider = this.provider;\r\n clone.constraint = this.constraint;\r\n clone.onActivation = this.onActivation;\r\n clone.onDeactivation = this.onDeactivation;\r\n clone.cache = this.cache;\r\n return clone;\r\n }\r\n\r\n}\r\n\r\nexport { Binding };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f6875ced4d22673a7f941ce95ab7fc0dd15e58aa","contentHash":"37fb5eae8810c186463bae41239ce985653f6744238cde930a6cd25f2d25288e"},"X:\\Code\\InversifyJS\\src\\constants\\literal_types.ts":{"path":"X:\\Code\\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":"X:/Code/InversifyJS/src/constants/literal_types.ts","sources":["X:/Code/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';\r\n\r\nconst BindingScopeEnum: interfaces.BindingScopeEnum = {\r\n Request: 'Request',\r\n Singleton: 'Singleton',\r\n Transient: 'Transient'\r\n};\r\n\r\nconst BindingTypeEnum: interfaces.BindingTypeEnum = {\r\n ConstantValue: 'ConstantValue',\r\n Constructor: 'Constructor',\r\n DynamicValue: 'DynamicValue',\r\n Factory: 'Factory',\r\n Function: 'Function',\r\n Instance: 'Instance',\r\n Invalid: 'Invalid',\r\n Provider: 'Provider'\r\n};\r\n\r\nconst TargetTypeEnum: interfaces.TargetTypeEnum = {\r\n ClassProperty: 'ClassProperty',\r\n ConstructorArgument: 'ConstructorArgument',\r\n Variable: 'Variable'\r\n};\r\n\r\nexport { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"2eb713ea4bf095927da312c463138d140ea1b16f","contentHash":"f6210619464d56614febb3b2b37d674a3696e3c3f928e463542d5fcf87222262"},"X:\\Code\\InversifyJS\\src\\utils\\id.ts":{"path":"X:\\Code\\InversifyJS\\src\\utils\\id.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":20}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":23}},"4":{"start":{"line":8,"column":0},"end":{"line":8,"column":16}}},"fnMap":{"0":{"name":"id","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":11}},"loc":{"start":{"line":5,"column":14},"end":{"line":7,"column":1}},"line":5}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":47785,"4":1},"f":{"0":47785},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/utils/id.ts","sources":["X:/Code/InversifyJS/src/utils/id.ts"],"names":[],"mappings":";;;AAAA,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,SAAS,EAAE;IACT,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAEQ,gBAAE","sourcesContent":["let idCounter = 0;\r\n\r\nfunction id(): number {\r\n return idCounter++;\r\n}\r\n\r\nexport { id };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7a540cd717eadb378efad7c5ede070546fe198cc","contentHash":"f90dd684d924aaa2f95e89f3595ca41addc138dc984bca9e173248c8548599e0"},"X:\\Code\\InversifyJS\\src\\planning\\metadata_reader.ts":{"path":"X:\\Code\\InversifyJS\\src\\planning\\metadata_reader.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":32}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":22},"end":{"line":40,"column":3}},"25":{"start":{"line":27,"column":4},"end":{"line":34,"column":6}},"26":{"start":{"line":28,"column":40},"end":{"line":28,"column":102}},"27":{"start":{"line":29,"column":36},"end":{"line":29,"column":93}},"28":{"start":{"line":30,"column":8},"end":{"line":33,"column":10}},"29":{"start":{"line":35,"column":4},"end":{"line":38,"column":6}},"30":{"start":{"line":36,"column":36},"end":{"line":36,"column":104}},"31":{"start":{"line":37,"column":8},"end":{"line":37,"column":37}},"32":{"start":{"line":39,"column":4},"end":{"line":39,"column":26}},"33":{"start":{"line":41,"column":0},"end":{"line":41,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":24,"column":22},"end":{"line":24,"column":23}},"loc":{"start":{"line":24,"column":34},"end":{"line":40,"column":1}},"line":24},"7":{"name":"MetadataReader","decl":{"start":{"line":25,"column":13},"end":{"line":25,"column":27}},"loc":{"start":{"line":25,"column":30},"end":{"line":26,"column":5}},"line":25},"8":{"name":"(anonymous_8)","decl":{"start":{"line":27,"column":54},"end":{"line":27,"column":55}},"loc":{"start":{"line":27,"column":81},"end":{"line":34,"column":5}},"line":27},"9":{"name":"(anonymous_9)","decl":{"start":{"line":35,"column":53},"end":{"line":35,"column":54}},"loc":{"start":{"line":35,"column":80},"end":{"line":38,"column":5}},"line":35}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":32,"column":35},"end":{"line":32,"column":62}},"type":"binary-expr","locations":[{"start":{"line":32,"column":35},"end":{"line":32,"column":56}},{"start":{"line":32,"column":60},"end":{"line":32,"column":62}}],"line":32},"13":{"loc":{"start":{"line":36,"column":36},"end":{"line":36,"column":104}},"type":"binary-expr","locations":[{"start":{"line":36,"column":36},"end":{"line":36,"column":98}},{"start":{"line":36,"column":102},"end":{"line":36,"column":104}}],"line":36}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":6643,"27":6642,"28":6642,"29":1,"30":6639,"31":6638,"32":1,"33":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":384,"8":6643,"9":6639},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[6642,2124],"13":[6639,6616]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/planning/metadata_reader.ts","sources":["X:/Code/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';\r\nimport { interfaces } from '../interfaces/interfaces';\r\n\r\nclass MetadataReader implements interfaces.MetadataReader {\r\n\r\n public getConstructorMetadata(constructorFunc: NewableFunction): interfaces.ConstructorMetadata {\r\n\r\n // TypeScript compiler generated annotations\r\n const compilerGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.PARAM_TYPES, constructorFunc);\r\n\r\n // User generated constructor annotations\r\n const userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED, constructorFunc);\r\n\r\n return {\r\n compilerGeneratedMetadata,\r\n userGeneratedMetadata: userGeneratedMetadata || {}\r\n };\r\n\r\n }\r\n\r\n public getPropertiesMetadata(constructorFunc: NewableFunction): interfaces.MetadataMap {\r\n // User generated properties annotations\r\n const userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc) || [];\r\n return userGeneratedMetadata;\r\n }\r\n\r\n}\r\n\r\nexport { MetadataReader };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7371d510f0163452f61b114f428356d187c960d1","contentHash":"cdbe131f7fd055a9364229f6be2363bd7f38a3d36c2a8eea53e490ddb4199ff7"},"X:\\Code\\InversifyJS\\src\\planning\\planner.ts":{"path":"X:\\Code\\InversifyJS\\src\\planning\\planner.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":81}},"23":{"start":{"line":23,"column":22},"end":{"line":23,"column":58}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":65}},"25":{"start":{"line":25,"column":22},"end":{"line":25,"column":59}},"26":{"start":{"line":26,"column":19},"end":{"line":26,"column":70}},"27":{"start":{"line":27,"column":19},"end":{"line":27,"column":49}},"28":{"start":{"line":28,"column":22},"end":{"line":28,"column":55}},"29":{"start":{"line":29,"column":16},"end":{"line":29,"column":36}},"30":{"start":{"line":30,"column":17},"end":{"line":30,"column":38}},"31":{"start":{"line":31,"column":13},"end":{"line":31,"column":30}},"32":{"start":{"line":32,"column":25},"end":{"line":32,"column":54}},"33":{"start":{"line":33,"column":16},"end":{"line":33,"column":36}},"34":{"start":{"line":34,"column":15},"end":{"line":34,"column":34}},"35":{"start":{"line":36,"column":4},"end":{"line":36,"column":36}},"36":{"start":{"line":38,"column":0},"end":{"line":38,"column":52}},"37":{"start":{"line":40,"column":22},"end":{"line":40,"column":93}},"38":{"start":{"line":41,"column":25},"end":{"line":41,"column":80}},"39":{"start":{"line":42,"column":17},"end":{"line":42,"column":89}},"40":{"start":{"line":43,"column":4},"end":{"line":46,"column":5}},"41":{"start":{"line":44,"column":26},"end":{"line":44,"column":61}},"42":{"start":{"line":45,"column":8},"end":{"line":45,"column":42}},"43":{"start":{"line":47,"column":4},"end":{"line":47,"column":18}},"44":{"start":{"line":50,"column":19},"end":{"line":50,"column":75}},"45":{"start":{"line":51,"column":25},"end":{"line":51,"column":27}},"46":{"start":{"line":52,"column":4},"end":{"line":58,"column":5}},"47":{"start":{"line":56,"column":8},"end":{"line":56,"column":66}},"48":{"start":{"line":57,"column":8},"end":{"line":57,"column":76}},"49":{"start":{"line":59,"column":4},"end":{"line":67,"column":5}},"50":{"start":{"line":60,"column":8},"end":{"line":63,"column":11}},"51":{"start":{"line":61,"column":26},"end":{"line":61,"column":115}},"52":{"start":{"line":62,"column":12},"end":{"line":62,"column":47}},"53":{"start":{"line":66,"column":8},"end":{"line":66,"column":34}},"54":{"start":{"line":68,"column":4},"end":{"line":68,"column":101}},"55":{"start":{"line":69,"column":4},"end":{"line":69,"column":26}},"56":{"start":{"line":72,"column":4},"end":{"line":97,"column":5}},"57":{"start":{"line":74,"column":12},"end":{"line":83,"column":13}},"58":{"start":{"line":75,"column":16},"end":{"line":75,"column":32}},"59":{"start":{"line":78,"column":46},"end":{"line":78,"column":114}},"60":{"start":{"line":79,"column":26},"end":{"line":79,"column":51}},"61":{"start":{"line":80,"column":16},"end":{"line":80,"column":99}},"62":{"start":{"line":81,"column":16},"end":{"line":81,"column":136}},"63":{"start":{"line":82,"column":16},"end":{"line":82,"column":37}},"64":{"start":{"line":85,"column":12},"end":{"line":85,"column":28}},"65":{"start":{"line":88,"column":12},"end":{"line":96,"column":13}},"66":{"start":{"line":89,"column":46},"end":{"line":89,"column":114}},"67":{"start":{"line":90,"column":26},"end":{"line":90,"column":84}},"68":{"start":{"line":91,"column":16},"end":{"line":91,"column":136}},"69":{"start":{"line":92,"column":16},"end":{"line":92,"column":37}},"70":{"start":{"line":95,"column":16},"end":{"line":95,"column":32}},"71":{"start":{"line":102,"column":4},"end":{"line":111,"column":5}},"72":{"start":{"line":103,"column":8},"end":{"line":103,"column":101}},"73":{"start":{"line":104,"column":8},"end":{"line":104,"column":103}},"74":{"start":{"line":105,"column":22},"end":{"line":105,"column":60}},"75":{"start":{"line":106,"column":8},"end":{"line":106,"column":33}},"76":{"start":{"line":109,"column":8},"end":{"line":109,"column":110}},"77":{"start":{"line":110,"column":8},"end":{"line":110,"column":103}},"78":{"start":{"line":112,"column":4},"end":{"line":136,"column":7}},"79":{"start":{"line":113,"column":30},"end":{"line":113,"column":34}},"80":{"start":{"line":114,"column":8},"end":{"line":122,"column":9}},"81":{"start":{"line":115,"column":12},"end":{"line":115,"column":103}},"82":{"start":{"line":118,"column":12},"end":{"line":120,"column":13}},"83":{"start":{"line":119,"column":16},"end":{"line":119,"column":23}},"84":{"start":{"line":121,"column":12},"end":{"line":121,"column":43}},"85":{"start":{"line":123,"column":8},"end":{"line":135,"column":9}},"86":{"start":{"line":124,"column":31},"end":{"line":124,"column":114}},"87":{"start":{"line":125,"column":12},"end":{"line":131,"column":13}},"88":{"start":{"line":126,"column":47},"end":{"line":126,"column":142}},"89":{"start":{"line":127,"column":16},"end":{"line":130,"column":17}},"90":{"start":{"line":128,"column":32},"end":{"line":128,"column":137}},"91":{"start":{"line":129,"column":20},"end":{"line":129,"column":43}},"92":{"start":{"line":132,"column":12},"end":{"line":134,"column":15}},"93":{"start":{"line":133,"column":16},"end":{"line":133,"column":126}},"94":{"start":{"line":139,"column":19},"end":{"line":139,"column":21}},"95":{"start":{"line":140,"column":28},"end":{"line":140,"column":59}},"96":{"start":{"line":141,"column":4},"end":{"line":146,"column":5}},"97":{"start":{"line":142,"column":8},"end":{"line":142,"column":60}},"98":{"start":{"line":144,"column":9},"end":{"line":146,"column":5}},"99":{"start":{"line":145,"column":8},"end":{"line":145,"column":68}},"100":{"start":{"line":147,"column":4},"end":{"line":147,"column":20}},"101":{"start":{"line":150,"column":4},"end":{"line":150,"column":66}},"102":{"start":{"line":150,"column":39},"end":{"line":150,"column":64}},"103":{"start":{"line":151,"column":18},"end":{"line":151,"column":50}},"104":{"start":{"line":152,"column":17},"end":{"line":152,"column":92}},"105":{"start":{"line":153,"column":4},"end":{"line":162,"column":5}},"106":{"start":{"line":154,"column":8},"end":{"line":154,"column":103}},"107":{"start":{"line":155,"column":8},"end":{"line":155,"column":23}},"108":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"109":{"start":{"line":159,"column":12},"end":{"line":159,"column":89}},"110":{"start":{"line":161,"column":8},"end":{"line":161,"column":20}},"111":{"start":{"line":164,"column":0},"end":{"line":164,"column":20}},"112":{"start":{"line":166,"column":17},"end":{"line":166,"column":137}},"113":{"start":{"line":167,"column":18},"end":{"line":167,"column":50}},"114":{"start":{"line":168,"column":18},"end":{"line":168,"column":85}},"115":{"start":{"line":169,"column":4},"end":{"line":169,"column":19}},"116":{"start":{"line":171,"column":0},"end":{"line":171,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"getBindingDictionary","decl":{"start":{"line":35,"column":9},"end":{"line":35,"column":29}},"loc":{"start":{"line":35,"column":37},"end":{"line":37,"column":1}},"line":35},"7":{"name":"_createTarget","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":22}},"loc":{"start":{"line":39,"column":87},"end":{"line":48,"column":1}},"line":39},"8":{"name":"_getActiveBindings","decl":{"start":{"line":49,"column":9},"end":{"line":49,"column":27}},"loc":{"start":{"line":49,"column":94},"end":{"line":70,"column":1}},"line":49},"9":{"name":"(anonymous_9)","decl":{"start":{"line":60,"column":41},"end":{"line":60,"column":42}},"loc":{"start":{"line":60,"column":60},"end":{"line":63,"column":9}},"line":60},"10":{"name":"_validateActiveBindingCount","decl":{"start":{"line":71,"column":9},"end":{"line":71,"column":36}},"loc":{"start":{"line":71,"column":85},"end":{"line":98,"column":1}},"line":71},"11":{"name":"_createSubRequests","decl":{"start":{"line":99,"column":9},"end":{"line":99,"column":27}},"loc":{"start":{"line":99,"column":113},"end":{"line":137,"column":1}},"line":99},"12":{"name":"(anonymous_12)","decl":{"start":{"line":112,"column":27},"end":{"line":112,"column":28}},"loc":{"start":{"line":112,"column":46},"end":{"line":136,"column":5}},"line":112},"13":{"name":"(anonymous_13)","decl":{"start":{"line":132,"column":33},"end":{"line":132,"column":34}},"loc":{"start":{"line":132,"column":55},"end":{"line":134,"column":13}},"line":132},"14":{"name":"getBindings","decl":{"start":{"line":138,"column":9},"end":{"line":138,"column":20}},"loc":{"start":{"line":138,"column":51},"end":{"line":148,"column":1}},"line":138},"15":{"name":"plan","decl":{"start":{"line":149,"column":9},"end":{"line":149,"column":13}},"loc":{"start":{"line":149,"column":117},"end":{"line":163,"column":1}},"line":149},"16":{"name":"createMockRequest","decl":{"start":{"line":165,"column":9},"end":{"line":165,"column":26}},"loc":{"start":{"line":165,"column":69},"end":{"line":170,"column":1}},"line":165}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":40,"column":22},"end":{"line":40,"column":93}},"type":"cond-expr","locations":[{"start":{"line":40,"column":38},"end":{"line":40,"column":67}},{"start":{"line":40,"column":70},"end":{"line":40,"column":93}}],"line":40},"13":{"loc":{"start":{"line":43,"column":4},"end":{"line":46,"column":5}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":46,"column":5}},{"start":{"line":43,"column":4},"end":{"line":46,"column":5}}],"line":43},"14":{"loc":{"start":{"line":52,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":4},"end":{"line":58,"column":5}},{"start":{"line":52,"column":4},"end":{"line":58,"column":5}}],"line":52},"15":{"loc":{"start":{"line":52,"column":8},"end":{"line":55,"column":97}},"type":"binary-expr","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":76}},{"start":{"line":53,"column":8},"end":{"line":53,"column":52}},{"start":{"line":54,"column":8},"end":{"line":54,"column":54}},{"start":{"line":55,"column":8},"end":{"line":55,"column":97}}],"line":52},"16":{"loc":{"start":{"line":59,"column":4},"end":{"line":67,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":67,"column":5}},{"start":{"line":59,"column":4},"end":{"line":67,"column":5}}],"line":59},"17":{"loc":{"start":{"line":72,"column":4},"end":{"line":97,"column":5}},"type":"switch","locations":[{"start":{"line":73,"column":8},"end":{"line":83,"column":13}},{"start":{"line":84,"column":8},"end":{"line":85,"column":28}},{"start":{"line":86,"column":8},"end":{"line":86,"column":68}},{"start":{"line":87,"column":8},"end":{"line":96,"column":13}}],"line":72},"18":{"loc":{"start":{"line":74,"column":12},"end":{"line":83,"column":13}},"type":"if","locations":[{"start":{"line":74,"column":12},"end":{"line":83,"column":13}},{"start":{"line":74,"column":12},"end":{"line":83,"column":13}}],"line":74},"19":{"loc":{"start":{"line":88,"column":12},"end":{"line":96,"column":13}},"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":96,"column":13}},{"start":{"line":88,"column":12},"end":{"line":96,"column":13}}],"line":88},"20":{"loc":{"start":{"line":102,"column":4},"end":{"line":111,"column":5}},"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":111,"column":5}},{"start":{"line":102,"column":4},"end":{"line":111,"column":5}}],"line":102},"21":{"loc":{"start":{"line":114,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":122,"column":9}},{"start":{"line":114,"column":8},"end":{"line":122,"column":9}}],"line":114},"22":{"loc":{"start":{"line":118,"column":12},"end":{"line":120,"column":13}},"type":"if","locations":[{"start":{"line":118,"column":12},"end":{"line":120,"column":13}},{"start":{"line":118,"column":12},"end":{"line":120,"column":13}}],"line":118},"23":{"loc":{"start":{"line":123,"column":8},"end":{"line":135,"column":9}},"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":135,"column":9}},{"start":{"line":123,"column":8},"end":{"line":135,"column":9}}],"line":123},"24":{"loc":{"start":{"line":123,"column":12},"end":{"line":123,"column":108}},"type":"binary-expr","locations":[{"start":{"line":123,"column":12},"end":{"line":123,"column":69}},{"start":{"line":123,"column":73},"end":{"line":123,"column":108}}],"line":123},"25":{"loc":{"start":{"line":125,"column":12},"end":{"line":131,"column":13}},"type":"if","locations":[{"start":{"line":125,"column":12},"end":{"line":131,"column":13}},{"start":{"line":125,"column":12},"end":{"line":131,"column":13}}],"line":125},"26":{"loc":{"start":{"line":127,"column":16},"end":{"line":130,"column":17}},"type":"if","locations":[{"start":{"line":127,"column":16},"end":{"line":130,"column":17}},{"start":{"line":127,"column":16},"end":{"line":130,"column":17}}],"line":127},"27":{"loc":{"start":{"line":141,"column":4},"end":{"line":146,"column":5}},"type":"if","locations":[{"start":{"line":141,"column":4},"end":{"line":146,"column":5}},{"start":{"line":141,"column":4},"end":{"line":146,"column":5}}],"line":141},"28":{"loc":{"start":{"line":144,"column":9},"end":{"line":146,"column":5}},"type":"if","locations":[{"start":{"line":144,"column":9},"end":{"line":146,"column":5}},{"start":{"line":144,"column":9},"end":{"line":146,"column":5}}],"line":144},"29":{"loc":{"start":{"line":150,"column":4},"end":{"line":150,"column":66}},"type":"if","locations":[{"start":{"line":150,"column":4},"end":{"line":150,"column":66}},{"start":{"line":150,"column":4},"end":{"line":150,"column":66}}],"line":150},"30":{"loc":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"type":"if","locations":[{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},{"start":{"line":158,"column":8},"end":{"line":160,"column":9}}],"line":158}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":7291,"36":1,"37":806,"38":806,"39":806,"40":806,"41":70,"42":70,"43":806,"44":7172,"45":7172,"46":7172,"47":25,"48":25,"49":7172,"50":7157,"51":7296,"52":7296,"53":15,"54":7172,"55":7135,"56":7172,"57":37,"58":4,"59":33,"60":33,"61":33,"62":33,"63":33,"64":7095,"65":40,"66":4,"67":4,"68":4,"69":4,"70":36,"71":7172,"72":806,"73":771,"74":771,"75":771,"76":6366,"77":6364,"78":7135,"79":7168,"80":7168,"81":86,"82":7082,"83":110,"84":6972,"85":7058,"86":6596,"87":6589,"88":6587,"89":6585,"90":3,"91":3,"92":6584,"93":6366,"94":7250,"95":7250,"96":7250,"97":7149,"98":101,"99":16,"100":7250,"101":806,"102":30,"103":806,"104":806,"105":806,"106":806,"107":757,"108":49,"109":3,"110":46,"111":1,"112":16,"113":16,"114":16,"115":16,"116":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":7291,"7":806,"8":7172,"9":7296,"10":7172,"11":7172,"12":7168,"13":6366,"14":7250,"15":806,"16":16},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0],"12":[27,779],"13":[70,736],"14":[25,7147],"15":[7172,57,26,26],"16":[7157,15],"17":[37,7095,39,40],"18":[4,33],"19":[4,36],"20":[806,6366],"21":[86,7082],"22":[110,6972],"23":[6596,462],"24":[7058,6596],"25":[6587,2],"26":[3,6582],"27":[7149,101],"28":[16,85],"29":[30,776],"30":[3,46]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/planning/planner.ts","sources":["X:/Code/InversifyJS/src/planning/planner.ts"],"names":[],"mappings":"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","sourcesContent":["import { BindingCount } from '../bindings/binding_count';\r\nimport * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { BindingTypeEnum, TargetTypeEnum } from '../constants/literal_types';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { isStackOverflowExeption } from '../utils/exceptions';\r\nimport { circularDependencyToException, getServiceIdentifierAsString, listMetadataForTarget, listRegisteredBindingsForServiceIdentifier } from '../utils/serialization';\r\nimport { Context } from './context';\r\nimport { Metadata } from './metadata';\r\nimport { Plan } from './plan';\r\nimport { getBaseClassDependencyCount, getDependencies, getFunctionName } from './reflection_utils';\r\nimport { Request } from './request';\r\nimport { Target } from './target';\r\n\r\nfunction getBindingDictionary(cntnr: interfaces.Container): interfaces.Lookup<interfaces.Binding<unknown>> {\r\n return (cntnr as unknown as { _bindingDictionary: interfaces.Lookup<interfaces.Binding<unknown>> })._bindingDictionary;\r\n}\r\n\r\nfunction _createTarget(\r\n isMultiInject: boolean,\r\n targetType: interfaces.TargetType,\r\n serviceIdentifier: interfaces.ServiceIdentifier,\r\n name: string,\r\n key?: string | number | symbol,\r\n value?: unknown\r\n): interfaces.Target {\r\n\r\n const metadataKey = isMultiInject ? METADATA_KEY.MULTI_INJECT_TAG : METADATA_KEY.INJECT_TAG;\r\n const injectMetadata = new Metadata(metadataKey, serviceIdentifier);\r\n const target = new Target(targetType, name, serviceIdentifier, injectMetadata);\r\n\r\n if (key !== undefined) {\r\n const tagMetadata = new Metadata(key, value);\r\n target.metadata.push(tagMetadata);\r\n }\r\n\r\n return target;\r\n\r\n}\r\n\r\nfunction _getActiveBindings(\r\n metadataReader: interfaces.MetadataReader,\r\n avoidConstraints: boolean,\r\n context: interfaces.Context,\r\n parentRequest: interfaces.Request | null,\r\n target: interfaces.Target\r\n): interfaces.Binding<unknown>[] {\r\n\r\n let bindings = getBindings(context.container, target.serviceIdentifier);\r\n let activeBindings: interfaces.Binding<unknown>[] = [];\r\n\r\n // automatic binding\r\n if (bindings.length === BindingCount.NoBindingsAvailable &&\r\n context.container.options.autoBindInjectable &&\r\n typeof target.serviceIdentifier === 'function' &&\r\n metadataReader.getConstructorMetadata(target.serviceIdentifier).compilerGeneratedMetadata\r\n ) {\r\n context.container.bind(target.serviceIdentifier).toSelf();\r\n bindings = getBindings(context.container, target.serviceIdentifier);\r\n }\r\n\r\n // multiple bindings available\r\n if (!avoidConstraints) {\r\n\r\n // apply constraints if available to reduce the number of active bindings\r\n activeBindings = bindings.filter((binding) => {\r\n\r\n const request = new Request(\r\n binding.serviceIdentifier,\r\n context,\r\n parentRequest,\r\n binding,\r\n target\r\n );\r\n\r\n return binding.constraint(request);\r\n\r\n });\r\n\r\n } else {\r\n // simple injection or multi-injection without constraints\r\n activeBindings = bindings;\r\n }\r\n\r\n // validate active bindings\r\n _validateActiveBindingCount(target.serviceIdentifier, activeBindings, target, context.container);\r\n\r\n return activeBindings;\r\n}\r\n\r\nfunction _validateActiveBindingCount(\r\n serviceIdentifier: interfaces.ServiceIdentifier,\r\n bindings: interfaces.Binding<unknown>[],\r\n target: interfaces.Target,\r\n container: interfaces.Container\r\n): interfaces.Binding<unknown>[] {\r\n\r\n switch (bindings.length) {\r\n\r\n case BindingCount.NoBindingsAvailable:\r\n if (target.isOptional()) {\r\n return bindings;\r\n } else {\r\n const serviceIdentifierString = getServiceIdentifierAsString(serviceIdentifier);\r\n let msg = ERROR_MSGS.NOT_REGISTERED;\r\n msg += listMetadataForTarget(serviceIdentifierString, target);\r\n msg += listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\r\n throw new Error(msg);\r\n }\r\n\r\n case BindingCount.OnlyOneBindingAvailable:\r\n return bindings;\r\n case BindingCount.MultipleBindingsAvailable:\r\n default:\r\n if (!target.isArray()) {\r\n const serviceIdentifierString = getServiceIdentifierAsString(serviceIdentifier);\r\n let msg = `${ERROR_MSGS.AMBIGUOUS_MATCH} ${serviceIdentifierString}`;\r\n msg += listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\r\n throw new Error(msg);\r\n } else {\r\n return bindings;\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction _createSubRequests(\r\n metadataReader: interfaces.MetadataReader,\r\n avoidConstraints: boolean,\r\n serviceIdentifier: interfaces.ServiceIdentifier,\r\n context: interfaces.Context,\r\n parentRequest: interfaces.Request | null,\r\n target: interfaces.Target\r\n) {\r\n\r\n let activeBindings: interfaces.Binding<unknown>[];\r\n let childRequest: interfaces.Request;\r\n\r\n if (parentRequest === null) {\r\n\r\n activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, null, target);\r\n\r\n childRequest = new Request(\r\n serviceIdentifier,\r\n context,\r\n null,\r\n activeBindings,\r\n target\r\n );\r\n\r\n const thePlan = new Plan(context, childRequest);\r\n context.addPlan(thePlan);\r\n\r\n } else {\r\n activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target);\r\n childRequest = parentRequest.addChildRequest(target.serviceIdentifier, activeBindings, target);\r\n }\r\n\r\n activeBindings.forEach((binding) => {\r\n\r\n let subChildRequest: interfaces.Request | null = null;\r\n\r\n if (target.isArray()) {\r\n subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target);\r\n } else {\r\n if (binding.cache) {\r\n return;\r\n }\r\n subChildRequest = childRequest;\r\n }\r\n\r\n if (binding.type === BindingTypeEnum.Instance && binding.implementationType !== null) {\r\n\r\n const dependencies = getDependencies(metadataReader, binding.implementationType as NewableFunction);\r\n\r\n if (!context.container.options.skipBaseClassChecks) {\r\n // Throw if a derived class does not implement its constructor explicitly\r\n // We do this to prevent errors when a base class (parent) has dependencies\r\n // and one of the derived classes (children) has no dependencies\r\n const baseClassDependencyCount = getBaseClassDependencyCount(metadataReader, binding.implementationType as NewableFunction);\r\n\r\n if (dependencies.length < baseClassDependencyCount) {\r\n const error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH(getFunctionName(binding.implementationType as NewableFunction));\r\n throw new Error(error);\r\n }\r\n }\r\n\r\n dependencies.forEach((dependency: interfaces.Target) => {\r\n _createSubRequests(metadataReader, false, dependency.serviceIdentifier, context, subChildRequest, dependency);\r\n });\r\n\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\nfunction getBindings<T>(\r\n container: interfaces.Container,\r\n serviceIdentifier: interfaces.ServiceIdentifier<T>\r\n): interfaces.Binding<T>[] {\r\n\r\n let bindings: interfaces.Binding<T>[] = [];\r\n const bindingDictionary = getBindingDictionary(container);\r\n\r\n if (bindingDictionary.hasKey(serviceIdentifier)) {\r\n\r\n bindings = bindingDictionary.get(serviceIdentifier) as interfaces.Binding<T>[];\r\n\r\n } else if (container.parent !== null) {\r\n\r\n // recursively try to get bindings from parent container\r\n bindings = getBindings<T>(container.parent, serviceIdentifier);\r\n\r\n }\r\n\r\n return bindings;\r\n}\r\n\r\nfunction plan(\r\n metadataReader: interfaces.MetadataReader,\r\n container: interfaces.Container,\r\n isMultiInject: boolean,\r\n targetType: interfaces.TargetType,\r\n serviceIdentifier: interfaces.ServiceIdentifier,\r\n key?: string | number | symbol,\r\n value?: unknown,\r\n avoidConstraints = false\r\n): interfaces.Context {\r\n\r\n const context = new Context(container);\r\n const target = _createTarget(isMultiInject, targetType, serviceIdentifier, '', key, value);\r\n\r\n try {\r\n _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, null, target);\r\n return context;\r\n } catch (error) {\r\n if (\r\n isStackOverflowExeption(error)\r\n ) {\r\n circularDependencyToException(context.plan.rootRequest);\r\n }\r\n throw error;\r\n }\r\n\r\n}\r\n\r\nfunction createMockRequest(\r\n container: interfaces.Container,\r\n serviceIdentifier: interfaces.ServiceIdentifier,\r\n key: string | number | symbol,\r\n value: unknown\r\n): interfaces.Request {\r\n\r\n const target = new Target(TargetTypeEnum.Variable, '', serviceIdentifier, new Metadata(key, value));\r\n const context = new Context(container);\r\n const request = new Request(serviceIdentifier, context, null, [], target);\r\n return request;\r\n}\r\n\r\nexport { plan, createMockRequest, getBindingDictionary };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d078721ed6531d6a8910ae63f9cbb71e17b0db7c","contentHash":"9a7ed4e0e674252590a645a55513439b5c61110c93a4380cb69882e899623047"},"X:\\Code\\InversifyJS\\src\\bindings\\binding_count.ts":{"path":"X:\\Code\\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":"X:/Code/InversifyJS/src/bindings/binding_count.ts","sources":["X:/Code/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 = {\r\n MultipleBindingsAvailable: 2,\r\n NoBindingsAvailable: 0,\r\n OnlyOneBindingAvailable: 1\r\n};"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"27da32b855c1fb86459f4115ffa8c44b334f812b","contentHash":"b1b6d83e269f42eadf82bdfdb3fce914f15f4b1f7e83893a5a64563fb857f21d"},"X:\\Code\\InversifyJS\\src\\utils\\exceptions.ts":{"path":"X:\\Code\\InversifyJS\\src\\utils\\exceptions.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":83}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":25,"column":4},"end":{"line":26,"column":53}},"25":{"start":{"line":28,"column":0},"end":{"line":28,"column":58}},"26":{"start":{"line":29,"column":38},"end":{"line":39,"column":1}},"27":{"start":{"line":30,"column":4},"end":{"line":38,"column":5}},"28":{"start":{"line":31,"column":8},"end":{"line":31,"column":20}},"29":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"30":{"start":{"line":35,"column":12},"end":{"line":35,"column":36}},"31":{"start":{"line":37,"column":8},"end":{"line":37,"column":20}},"32":{"start":{"line":40,"column":0},"end":{"line":40,"column":74}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"isStackOverflowExeption","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":32}},"loc":{"start":{"line":24,"column":40},"end":{"line":27,"column":1}},"line":24},"7":{"name":"(anonymous_7)","decl":{"start":{"line":29,"column":38},"end":{"line":29,"column":39}},"loc":{"start":{"line":29,"column":67},"end":{"line":39,"column":1}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":25,"column":12},"end":{"line":26,"column":51}},"type":"binary-expr","locations":[{"start":{"line":25,"column":12},"end":{"line":25,"column":39}},{"start":{"line":26,"column":8},"end":{"line":26,"column":51}}],"line":25},"13":{"loc":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"type":"if","locations":[{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},{"start":{"line":34,"column":8},"end":{"line":36,"column":9}}],"line":34}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":382,"25":1,"26":1,"27":421,"28":421,"29":333,"30":14,"31":320,"32":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":382,"7":421},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[382,365],"13":[14,319]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/utils/exceptions.ts","sources":["X:/Code/InversifyJS/src/utils/exceptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAsD;AAEtD,SAAgB,uBAAuB,CAAC,KAAc;IACpD,OAAO,CACL,KAAK,YAAY,UAAU;QAC1B,KAAe,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc,CACvD,CAAC;AACJ,CAAC;AALD,0DAKC;AAEM,IAAM,+BAA+B,GAAG,UAAI,EAAW,EAAE,aAA0B;IACxF,IAAI;QACF,OAAO,EAAE,EAAE,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE;YAClC,KAAK,GAAG,aAAa,EAAE,CAAC;SACzB;QACD,MAAM,KAAK,CAAC;KACb;AACH,CAAC,CAAA;AATY,QAAA,+BAA+B,mCAS3C","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\r\n\r\nexport function isStackOverflowExeption(error: unknown): error is RangeError {\r\n return (\r\n error instanceof RangeError ||\r\n (error as Error).message === ERROR_MSGS.STACK_OVERFLOW\r\n );\r\n}\r\n\r\nexport const tryAndThrowErrorIfStackOverflow = <T>(fn: () => T, errorCallback: () => Error) => {\r\n try {\r\n return fn();\r\n } catch (error) {\r\n if (isStackOverflowExeption(error)) {\r\n error = errorCallback();\r\n }\r\n throw error;\r\n }\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"dad350b5c09c2f0a0967482b45b7109e82815c20","contentHash":"da07038867502a18073c46e04f78451b5b25bf32bd86e39f963efbd1e02fe28c"},"X:\\Code\\InversifyJS\\src\\utils\\serialization.ts":{"path":"X:\\Code\\InversifyJS\\src\\utils\\serialization.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":228}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":25,"column":4},"end":{"line":35,"column":5}},"25":{"start":{"line":26,"column":33},"end":{"line":26,"column":50}},"26":{"start":{"line":27,"column":8},"end":{"line":27,"column":39}},"27":{"start":{"line":29,"column":9},"end":{"line":35,"column":5}},"28":{"start":{"line":30,"column":8},"end":{"line":30,"column":44}},"29":{"start":{"line":33,"column":33},"end":{"line":33,"column":50}},"30":{"start":{"line":34,"column":8},"end":{"line":34,"column":34}},"31":{"start":{"line":37,"column":0},"end":{"line":37,"column":68}},"32":{"start":{"line":39,"column":33},"end":{"line":39,"column":35}},"33":{"start":{"line":40,"column":29},"end":{"line":40,"column":70}},"34":{"start":{"line":41,"column":4},"end":{"line":53,"column":5}},"35":{"start":{"line":42,"column":8},"end":{"line":42,"column":58}},"36":{"start":{"line":43,"column":8},"end":{"line":52,"column":11}},"37":{"start":{"line":44,"column":23},"end":{"line":44,"column":31}},"38":{"start":{"line":45,"column":12},"end":{"line":47,"column":13}},"39":{"start":{"line":46,"column":16},"end":{"line":46,"column":67}},"40":{"start":{"line":48,"column":12},"end":{"line":48,"column":75}},"41":{"start":{"line":49,"column":12},"end":{"line":51,"column":13}},"42":{"start":{"line":50,"column":16},"end":{"line":50,"column":102}},"43":{"start":{"line":54,"column":4},"end":{"line":54,"column":34}},"44":{"start":{"line":56,"column":0},"end":{"line":56,"column":96}},"45":{"start":{"line":58,"column":4},"end":{"line":66,"column":5}},"46":{"start":{"line":59,"column":8},"end":{"line":59,"column":21}},"47":{"start":{"line":61,"column":9},"end":{"line":66,"column":5}},"48":{"start":{"line":62,"column":8},"end":{"line":62,"column":20}},"49":{"start":{"line":65,"column":8},"end":{"line":65,"column":80}},"50":{"start":{"line":70,"column":8},"end":{"line":70,"column":47}},"51":{"start":{"line":70,"column":33},"end":{"line":70,"column":45}},"52":{"start":{"line":71,"column":32},"end":{"line":71,"column":83}},"53":{"start":{"line":72,"column":8},"end":{"line":72,"column":39}},"54":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"55":{"start":{"line":74,"column":12},"end":{"line":74,"column":63}},"56":{"start":{"line":76,"column":8},"end":{"line":76,"column":22}},"57":{"start":{"line":78,"column":20},"end":{"line":78,"column":45}},"58":{"start":{"line":79,"column":4},"end":{"line":79,"column":45}},"59":{"start":{"line":82,"column":4},"end":{"line":90,"column":7}},"60":{"start":{"line":83,"column":8},"end":{"line":89,"column":9}},"61":{"start":{"line":84,"column":27},"end":{"line":84,"column":64}},"62":{"start":{"line":85,"column":12},"end":{"line":85,"column":77}},"63":{"start":{"line":88,"column":12},"end":{"line":88,"column":56}},"64":{"start":{"line":92,"column":0},"end":{"line":92,"column":70}},"65":{"start":{"line":94,"column":4},"end":{"line":110,"column":5}},"66":{"start":{"line":95,"column":18},"end":{"line":95,"column":20}},"67":{"start":{"line":96,"column":23},"end":{"line":96,"column":43}},"68":{"start":{"line":97,"column":24},"end":{"line":97,"column":46}},"69":{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},"70":{"start":{"line":99,"column":12},"end":{"line":99,"column":46}},"71":{"start":{"line":101,"column":8},"end":{"line":105,"column":9}},"72":{"start":{"line":102,"column":12},"end":{"line":104,"column":15}},"73":{"start":{"line":103,"column":16},"end":{"line":103,"column":45}},"74":{"start":{"line":106,"column":8},"end":{"line":106,"column":93}},"75":{"start":{"line":109,"column":8},"end":{"line":109,"column":45}},"76":{"start":{"line":112,"column":0},"end":{"line":112,"column":54}},"77":{"start":{"line":114,"column":4},"end":{"line":121,"column":5}},"78":{"start":{"line":115,"column":8},"end":{"line":115,"column":25}},"79":{"start":{"line":118,"column":21},"end":{"line":118,"column":36}},"80":{"start":{"line":119,"column":20},"end":{"line":119,"column":57}},"81":{"start":{"line":120,"column":8},"end":{"line":120,"column":66}},"82":{"start":{"line":123,"column":0},"end":{"line":123,"column":42}},"83":{"start":{"line":125,"column":4},"end":{"line":125,"column":42}},"84":{"start":{"line":127,"column":0},"end":{"line":127,"column":52}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"getServiceIdentifierAsString","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":37}},"loc":{"start":{"line":24,"column":57},"end":{"line":36,"column":1}},"line":24},"7":{"name":"listRegisteredBindingsForServiceIdentifier","decl":{"start":{"line":38,"column":9},"end":{"line":38,"column":51}},"loc":{"start":{"line":38,"column":95},"end":{"line":55,"column":1}},"line":38},"8":{"name":"(anonymous_8)","decl":{"start":{"line":43,"column":35},"end":{"line":43,"column":36}},"loc":{"start":{"line":43,"column":54},"end":{"line":52,"column":9}},"line":43},"9":{"name":"alreadyDependencyChain","decl":{"start":{"line":57,"column":9},"end":{"line":57,"column":31}},"loc":{"start":{"line":57,"column":60},"end":{"line":67,"column":1}},"line":57},"10":{"name":"dependencyChainToString","decl":{"start":{"line":68,"column":9},"end":{"line":68,"column":32}},"loc":{"start":{"line":68,"column":42},"end":{"line":80,"column":1}},"line":68},"11":{"name":"_createStringArr","decl":{"start":{"line":69,"column":13},"end":{"line":69,"column":29}},"loc":{"start":{"line":69,"column":43},"end":{"line":77,"column":5}},"line":69},"12":{"name":"circularDependencyToException","decl":{"start":{"line":81,"column":9},"end":{"line":81,"column":38}},"loc":{"start":{"line":81,"column":48},"end":{"line":91,"column":1}},"line":81},"13":{"name":"(anonymous_13)","decl":{"start":{"line":82,"column":34},"end":{"line":82,"column":35}},"loc":{"start":{"line":82,"column":58},"end":{"line":90,"column":5}},"line":82},"14":{"name":"listMetadataForTarget","decl":{"start":{"line":93,"column":9},"end":{"line":93,"column":30}},"loc":{"start":{"line":93,"column":64},"end":{"line":111,"column":1}},"line":93},"15":{"name":"(anonymous_15)","decl":{"start":{"line":102,"column":30},"end":{"line":102,"column":31}},"loc":{"start":{"line":102,"column":45},"end":{"line":104,"column":13}},"line":102},"16":{"name":"getFunctionName","decl":{"start":{"line":113,"column":9},"end":{"line":113,"column":24}},"loc":{"start":{"line":113,"column":31},"end":{"line":122,"column":1}},"line":113},"17":{"name":"getSymbolDescription","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":29}},"loc":{"start":{"line":124,"column":38},"end":{"line":126,"column":1}},"line":124}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":25,"column":4},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":35,"column":5}},{"start":{"line":25,"column":4},"end":{"line":35,"column":5}}],"line":25},"13":{"loc":{"start":{"line":29,"column":9},"end":{"line":35,"column":5}},"type":"if","locations":[{"start":{"line":29,"column":9},"end":{"line":35,"column":5}},{"start":{"line":29,"column":9},"end":{"line":35,"column":5}}],"line":29},"14":{"loc":{"start":{"line":41,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":53,"column":5}},{"start":{"line":41,"column":4},"end":{"line":53,"column":5}}],"line":41},"15":{"loc":{"start":{"line":45,"column":12},"end":{"line":47,"column":13}},"type":"if","locations":[{"start":{"line":45,"column":12},"end":{"line":47,"column":13}},{"start":{"line":45,"column":12},"end":{"line":47,"column":13}}],"line":45},"16":{"loc":{"start":{"line":49,"column":12},"end":{"line":51,"column":13}},"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":51,"column":13}},{"start":{"line":49,"column":12},"end":{"line":51,"column":13}}],"line":49},"17":{"loc":{"start":{"line":58,"column":4},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":58,"column":4},"end":{"line":66,"column":5}},{"start":{"line":58,"column":4},"end":{"line":66,"column":5}}],"line":58},"18":{"loc":{"start":{"line":61,"column":9},"end":{"line":66,"column":5}},"type":"if","locations":[{"start":{"line":61,"column":9},"end":{"line":66,"column":5}},{"start":{"line":61,"column":9},"end":{"line":66,"column":5}}],"line":61},"19":{"loc":{"start":{"line":70,"column":8},"end":{"line":70,"column":47}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":70,"column":47}},{"start":{"line":70,"column":8},"end":{"line":70,"column":47}}],"line":70},"20":{"loc":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},{"start":{"line":73,"column":8},"end":{"line":75,"column":9}}],"line":73},"21":{"loc":{"start":{"line":83,"column":8},"end":{"line":89,"column":9}},"type":"if","locations":[{"start":{"line":83,"column":8},"end":{"line":89,"column":9}},{"start":{"line":83,"column":8},"end":{"line":89,"column":9}}],"line":83},"22":{"loc":{"start":{"line":94,"column":4},"end":{"line":110,"column":5}},"type":"if","locations":[{"start":{"line":94,"column":4},"end":{"line":110,"column":5}},{"start":{"line":94,"column":4},"end":{"line":110,"column":5}}],"line":94},"23":{"loc":{"start":{"line":94,"column":8},"end":{"line":94,"column":45}},"type":"binary-expr","locations":[{"start":{"line":94,"column":8},"end":{"line":94,"column":25}},{"start":{"line":94,"column":29},"end":{"line":94,"column":45}}],"line":94},"24":{"loc":{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},"type":"if","locations":[{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},{"start":{"line":98,"column":8},"end":{"line":100,"column":9}}],"line":98},"25":{"loc":{"start":{"line":101,"column":8},"end":{"line":105,"column":9}},"type":"if","locations":[{"start":{"line":101,"column":8},"end":{"line":105,"column":9}},{"start":{"line":101,"column":8},"end":{"line":105,"column":9}}],"line":101},"26":{"loc":{"start":{"line":114,"column":4},"end":{"line":121,"column":5}},"type":"if","locations":[{"start":{"line":114,"column":4},"end":{"line":121,"column":5}},{"start":{"line":114,"column":4},"end":{"line":121,"column":5}}],"line":114},"27":{"loc":{"start":{"line":120,"column":15},"end":{"line":120,"column":65}},"type":"cond-expr","locations":[{"start":{"line":120,"column":23},"end":{"line":120,"column":31}},{"start":{"line":120,"column":34},"end":{"line":120,"column":65}}],"line":120}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":60,"25":6,"26":6,"27":54,"28":8,"29":46,"30":46,"31":1,"32":37,"33":37,"34":37,"35":9,"36":9,"37":19,"38":19,"39":17,"40":19,"41":19,"42":13,"43":37,"44":1,"45":41,"46":12,"47":29,"48":3,"49":26,"50":13,"51":3,"52":13,"53":13,"54":13,"55":10,"56":3,"57":3,"58":3,"59":15,"60":15,"61":3,"62":3,"63":12,"64":1,"65":34,"66":10,"67":10,"68":10,"69":10,"70":6,"71":10,"72":4,"73":4,"74":10,"75":24,"76":1,"77":6647,"78":6645,"79":2,"80":2,"81":2,"82":1,"83":4,"84":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":60,"7":37,"8":19,"9":41,"10":3,"11":13,"12":15,"13":15,"14":34,"15":4,"16":6647,"17":4},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[6,54],"13":[8,46],"14":[9,28],"15":[17,2],"16":[13,6],"17":[12,29],"18":[3,26],"19":[3,10],"20":[10,3],"21":[3,12],"22":[10,24],"23":[34,30],"24":[6,4],"25":[4,6],"26":[6645,2],"27":[1,1]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/utils/serialization.ts","sources":["X:/Code/InversifyJS/src/utils/serialization.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { interfaces } from '../interfaces/interfaces';\r\n\r\nfunction getServiceIdentifierAsString(serviceIdentifier: interfaces.ServiceIdentifier): string {\r\n if (typeof serviceIdentifier === 'function') {\r\n const _serviceIdentifier = serviceIdentifier;\r\n return _serviceIdentifier.name;\r\n } else if (typeof serviceIdentifier === 'symbol') {\r\n return serviceIdentifier.toString();\r\n } else { // string\r\n const _serviceIdentifier = serviceIdentifier;\r\n return _serviceIdentifier as string;\r\n }\r\n}\r\n\r\nfunction listRegisteredBindingsForServiceIdentifier(\r\n container: interfaces.Container,\r\n serviceIdentifier: string,\r\n getBindings: <T>(\r\n container: interfaces.Container,\r\n serviceIdentifier: interfaces.ServiceIdentifier<T>\r\n ) => interfaces.Binding<T>[]\r\n): string {\r\n\r\n let registeredBindingsList = '';\r\n const registeredBindings = getBindings(container, serviceIdentifier);\r\n\r\n if (registeredBindings.length !== 0) {\r\n\r\n registeredBindingsList = '\\nRegistered bindings:';\r\n\r\n registeredBindings.forEach((binding: interfaces.Binding<unknown>) => {\r\n\r\n // Use 'Object as name of constant value injections'\r\n let name = 'Object';\r\n\r\n // Use function name if available\r\n if (binding.implementationType !== null) {\r\n name = getFunctionName(binding.implementationType as { name: string | null });\r\n }\r\n\r\n registeredBindingsList = `${registeredBindingsList}\\n ${name}`;\r\n\r\n if (binding.constraint.metaData) {\r\n registeredBindingsList = `${registeredBindingsList} - ${binding.constraint.metaData}`;\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n return registeredBindingsList;\r\n}\r\n\r\nfunction alreadyDependencyChain(\r\n request: interfaces.Request,\r\n serviceIdentifier: interfaces.ServiceIdentifier\r\n): boolean {\r\n if (request.parentRequest === null) {\r\n return false;\r\n } else if (request.parentRequest.serviceIdentifier === serviceIdentifier) {\r\n return true;\r\n } else {\r\n return alreadyDependencyChain(request.parentRequest, serviceIdentifier);\r\n }\r\n}\r\n\r\nfunction dependencyChainToString(\r\n request: interfaces.Request\r\n) {\r\n\r\n function _createStringArr(\r\n req: interfaces.Request,\r\n result: string[] = []\r\n ): string[] {\r\n const serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);\r\n result.push(serviceIdentifier);\r\n if (req.parentRequest !== null) {\r\n return _createStringArr(req.parentRequest, result);\r\n }\r\n return result;\r\n }\r\n\r\n const stringArr = _createStringArr(request);\r\n return stringArr.reverse().join(' --> ');\r\n\r\n}\r\n\r\nfunction circularDependencyToException(\r\n request: interfaces.Request\r\n) {\r\n request.childRequests.forEach((childRequest) => {\r\n if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {\r\n const services = dependencyChainToString(childRequest);\r\n throw new Error(`${ERROR_MSGS.CIRCULAR_DEPENDENCY} ${services}`);\r\n } else {\r\n circularDependencyToException(childRequest);\r\n }\r\n });\r\n}\r\n\r\nfunction listMetadataForTarget(serviceIdentifierString: string, target: interfaces.Target): string {\r\n if (target.isTagged() || target.isNamed()) {\r\n\r\n let m = '';\r\n\r\n const namedTag = target.getNamedTag();\r\n const otherTags = target.getCustomTags();\r\n\r\n if (namedTag !== null) {\r\n m += namedTag.toString() + '\\n';\r\n }\r\n\r\n if (otherTags !== null) {\r\n otherTags.forEach((tag) => {\r\n m += tag.toString() + '\\n';\r\n });\r\n }\r\n\r\n return ` ${serviceIdentifierString}\\n ${serviceIdentifierString} - ${m}`;\r\n\r\n } else {\r\n return ` ${serviceIdentifierString}`;\r\n }\r\n}\r\n\r\n\r\nfunction getFunctionName(func: { name: string | null }): string {\r\n if (func.name) {\r\n return func.name;\r\n } else {\r\n const name = func.toString();\r\n const match = name.match(/^function\\s*([^\\s(]+)/);\r\n return match ? (match[1] as string) : `Anonymous function: ${name}`;\r\n }\r\n}\r\n\r\nfunction getSymbolDescription(symbol: Symbol) {\r\n return symbol.toString().slice(7, -1);\r\n}\r\n\r\nexport {\r\n getFunctionName,\r\n getServiceIdentifierAsString,\r\n listRegisteredBindingsForServiceIdentifier,\r\n listMetadataForTarget,\r\n circularDependencyToException,\r\n getSymbolDescription\r\n};\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9f46a857fc54427b1425f40b88657f6c95b093df","contentHash":"b513186db860e1dd652b95e8936d5cfb2d874cff4e390732f634d8f5b5992634"},"X:\\Code\\InversifyJS\\src\\planning\\context.ts":{"path":"X:\\Code\\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":835,"5":835,"6":1,"7":772,"8":1,"9":1482,"10":1,"11":1},"f":{"0":1,"1":835,"2":772,"3":1482},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/planning/context.ts","sources":["X:/Code/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';\r\nimport { id } from '../utils/id';\r\n\r\nclass Context implements interfaces.Context {\r\n\r\n public id: number;\r\n public container: interfaces.Container;\r\n public plan!: interfaces.Plan;\r\n public currentRequest!: interfaces.Request;\r\n\r\n public constructor(\r\n container: interfaces.Container) {\r\n this.id = id();\r\n this.container = container;\r\n }\r\n\r\n public addPlan(plan: interfaces.Plan) {\r\n this.plan = plan;\r\n }\r\n\r\n public setCurrentRequest(currentRequest: interfaces.Request) {\r\n this.currentRequest = currentRequest;\r\n }\r\n\r\n}\r\n\r\nexport { Context };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9c22dabf969800c93c7a8936d7832231b99a92c2","contentHash":"a5d4837e69405b81e8a90e39ceb747fd61ce4404726ef21e21a088fa55f2c009"},"X:\\Code\\InversifyJS\\src\\planning\\metadata.ts":{"path":"X:\\Code\\InversifyJS\\src\\planning\\metadata.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":26}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":16},"end":{"line":38,"column":3}},"25":{"start":{"line":26,"column":8},"end":{"line":26,"column":23}},"26":{"start":{"line":27,"column":8},"end":{"line":27,"column":27}},"27":{"start":{"line":29,"column":4},"end":{"line":36,"column":6}},"28":{"start":{"line":30,"column":8},"end":{"line":35,"column":9}},"29":{"start":{"line":31,"column":12},"end":{"line":31,"column":67}},"30":{"start":{"line":34,"column":12},"end":{"line":34,"column":100}},"31":{"start":{"line":37,"column":4},"end":{"line":37,"column":20}},"32":{"start":{"line":39,"column":0},"end":{"line":39,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":24,"column":16},"end":{"line":24,"column":17}},"loc":{"start":{"line":24,"column":28},"end":{"line":38,"column":1}},"line":24},"7":{"name":"Metadata","decl":{"start":{"line":25,"column":13},"end":{"line":25,"column":21}},"loc":{"start":{"line":25,"column":34},"end":{"line":28,"column":5}},"line":25},"8":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":34},"end":{"line":29,"column":35}},"loc":{"start":{"line":29,"column":46},"end":{"line":36,"column":5}},"line":29}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":30,"column":8},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":30,"column":8},"end":{"line":35,"column":9}},{"start":{"line":30,"column":8},"end":{"line":35,"column":9}}],"line":30}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1515,"26":1515,"27":1,"28":23,"29":15,"30":8,"31":1,"32":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":1515,"8":23},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[15,8]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/planning/metadata.ts","sources":["X:/Code/InversifyJS/src/planning/metadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAI3D;IAKE,kBACE,GAA6B,EAC7B,KAAc;QAEd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,2BAAQ,GAAf;QACE,IAAI,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,SAAS,EAAE;YACvC,OAAO,YAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,MAAG,CAAC;SACnD;aAAM;YACL,OAAO,mBAAiB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAI,CAAC;SAC/E;IACH,CAAC;IACH,eAAC;AAAD,CAAC,AApBD,IAoBC;AAEQ,4BAAQ","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { interfaces } from '../interfaces/interfaces';\r\n\r\n\r\nclass Metadata implements interfaces.Metadata {\r\n\r\n public key: string | number | symbol;\r\n public value: unknown;\r\n\r\n public constructor(\r\n key: string | number | symbol,\r\n value: unknown\r\n ) {\r\n this.key = key;\r\n this.value = value;\r\n }\r\n\r\n public toString() {\r\n if (this.key === METADATA_KEY.NAMED_TAG) {\r\n return `named: ${String(this.value).toString()} `;\r\n } else {\r\n return `tagged: { key:${this.key.toString()}, value: ${String(this.value)} }`;\r\n }\r\n }\r\n}\r\n\r\nexport { Metadata };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4940cefbf10267694ff9a8d138760f150b40d102","contentHash":"7467f4f2f01ab27c31ef254893a95b82b8fef9183c2e9cb51b1f3200892a6c53"},"X:\\Code\\InversifyJS\\src\\planning\\plan.ts":{"path":"X:\\Code\\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":773,"4":773,"5":1,"6":1},"f":{"0":1,"1":773},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/planning/plan.ts","sources":["X:/Code/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';\r\n\r\nclass Plan implements interfaces.Plan {\r\n\r\n public parentContext: interfaces.Context;\r\n public rootRequest: interfaces.Request;\r\n\r\n public constructor(parentContext: interfaces.Context, rootRequest: interfaces.Request) {\r\n this.parentContext = parentContext;\r\n this.rootRequest = rootRequest;\r\n }\r\n}\r\n\r\nexport { Plan };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"cb626f9eadd393d679e25f8a60ffaa527024efc9","contentHash":"aefc49a8034d4121e9600a5a4801c39778349ed03d5fe072511049f78a437210"},"X:\\Code\\InversifyJS\\src\\planning\\reflection_utils.ts":{"path":"X:\\Code\\InversifyJS\\src\\planning\\reflection_utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":20},"end":{"line":29,"column":1}},"22":{"start":{"line":22,"column":4},"end":{"line":27,"column":5}},"23":{"start":{"line":22,"column":40},"end":{"line":27,"column":5}},"24":{"start":{"line":22,"column":53},"end":{"line":22,"column":54}},"25":{"start":{"line":22,"column":60},"end":{"line":22,"column":71}},"26":{"start":{"line":23,"column":8},"end":{"line":26,"column":9}},"27":{"start":{"line":24,"column":12},"end":{"line":24,"column":65}},"28":{"start":{"line":24,"column":21},"end":{"line":24,"column":65}},"29":{"start":{"line":25,"column":12},"end":{"line":25,"column":28}},"30":{"start":{"line":28,"column":4},"end":{"line":28,"column":61}},"31":{"start":{"line":30,"column":0},"end":{"line":30,"column":62}},"32":{"start":{"line":31,"column":0},"end":{"line":31,"column":97}},"33":{"start":{"line":32,"column":32},"end":{"line":32,"column":80}},"34":{"start":{"line":33,"column":17},"end":{"line":33,"column":65}},"35":{"start":{"line":34,"column":22},"end":{"line":34,"column":59}},"36":{"start":{"line":35,"column":19},"end":{"line":35,"column":70}},"37":{"start":{"line":36,"column":22},"end":{"line":36,"column":55}},"38":{"start":{"line":37,"column":0},"end":{"line":37,"column":134}},"39":{"start":{"line":37,"column":89},"end":{"line":37,"column":128}},"40":{"start":{"line":38,"column":15},"end":{"line":38,"column":34}},"41":{"start":{"line":40,"column":26},"end":{"line":40,"column":68}},"42":{"start":{"line":41,"column":4},"end":{"line":41,"column":68}},"43":{"start":{"line":43,"column":0},"end":{"line":43,"column":42}},"44":{"start":{"line":45,"column":19},"end":{"line":45,"column":62}},"45":{"start":{"line":46,"column":29},"end":{"line":46,"column":63}},"46":{"start":{"line":47,"column":4},"end":{"line":50,"column":5}},"47":{"start":{"line":48,"column":18},"end":{"line":48,"column":88}},"48":{"start":{"line":49,"column":8},"end":{"line":49,"column":29}},"49":{"start":{"line":51,"column":34},"end":{"line":51,"column":64}},"50":{"start":{"line":52,"column":15},"end":{"line":52,"column":51}},"51":{"start":{"line":53,"column":44},"end":{"line":53,"column":80}},"52":{"start":{"line":54,"column":32},"end":{"line":54,"column":57}},"53":{"start":{"line":55,"column":21},"end":{"line":55,"column":108}},"54":{"start":{"line":56,"column":29},"end":{"line":56,"column":143}},"55":{"start":{"line":57,"column":26},"end":{"line":57,"column":87}},"56":{"start":{"line":58,"column":18},"end":{"line":58,"column":99}},"57":{"start":{"line":59,"column":4},"end":{"line":59,"column":19}},"58":{"start":{"line":62,"column":25},"end":{"line":62,"column":72}},"59":{"start":{"line":63,"column":19},"end":{"line":63,"column":55}},"60":{"start":{"line":64,"column":20},"end":{"line":64,"column":47}},"61":{"start":{"line":65,"column":28},"end":{"line":65,"column":53}},"62":{"start":{"line":66,"column":27},"end":{"line":66,"column":66}},"63":{"start":{"line":67,"column":4},"end":{"line":67,"column":82}},"64":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"65":{"start":{"line":69,"column":8},"end":{"line":69,"column":55}},"66":{"start":{"line":71,"column":4},"end":{"line":83,"column":5}},"67":{"start":{"line":72,"column":23},"end":{"line":72,"column":51}},"68":{"start":{"line":73,"column":25},"end":{"line":73,"column":55}},"69":{"start":{"line":74,"column":26},"end":{"line":74,"column":57}},"70":{"start":{"line":75,"column":28},"end":{"line":75,"column":65}},"71":{"start":{"line":76,"column":8},"end":{"line":79,"column":9}},"72":{"start":{"line":77,"column":22},"end":{"line":77,"column":120}},"73":{"start":{"line":78,"column":12},"end":{"line":78,"column":33}},"74":{"start":{"line":80,"column":21},"end":{"line":80,"column":132}},"75":{"start":{"line":81,"column":8},"end":{"line":81,"column":41}},"76":{"start":{"line":82,"column":8},"end":{"line":82,"column":22}},"77":{"start":{"line":84,"column":4},"end":{"line":84,"column":16}},"78":{"start":{"line":87,"column":18},"end":{"line":87,"column":20}},"79":{"start":{"line":88,"column":4},"end":{"line":94,"column":5}},"80":{"start":{"line":88,"column":17},"end":{"line":88,"column":18}},"81":{"start":{"line":89,"column":20},"end":{"line":89,"column":21}},"82":{"start":{"line":90,"column":21},"end":{"line":90,"column":129}},"83":{"start":{"line":91,"column":8},"end":{"line":93,"column":9}},"84":{"start":{"line":92,"column":12},"end":{"line":92,"column":33}},"85":{"start":{"line":95,"column":4},"end":{"line":95,"column":19}},"86":{"start":{"line":98,"column":29},"end":{"line":98,"column":50}},"87":{"start":{"line":99,"column":4},"end":{"line":102,"column":5}},"88":{"start":{"line":100,"column":18},"end":{"line":100,"column":133}},"89":{"start":{"line":101,"column":8},"end":{"line":101,"column":29}},"90":{"start":{"line":103,"column":4},"end":{"line":103,"column":29}},"91":{"start":{"line":106,"column":29},"end":{"line":106,"column":82}},"92":{"start":{"line":107,"column":18},"end":{"line":107,"column":20}},"93":{"start":{"line":108,"column":21},"end":{"line":108,"column":69}},"94":{"start":{"line":109,"column":21},"end":{"line":109,"column":52}},"95":{"start":{"line":110,"column":15},"end":{"line":110,"column":44}},"96":{"start":{"line":111,"column":4},"end":{"line":120,"column":5}},"97":{"start":{"line":111,"column":18},"end":{"line":111,"column":19}},"98":{"start":{"line":111,"column":30},"end":{"line":111,"column":34}},"99":{"start":{"line":112,"column":18},"end":{"line":112,"column":28}},"100":{"start":{"line":113,"column":29},"end":{"line":113,"column":52}},"101":{"start":{"line":114,"column":23},"end":{"line":114,"column":59}},"102":{"start":{"line":115,"column":25},"end":{"line":115,"column":51}},"103":{"start":{"line":116,"column":32},"end":{"line":116,"column":125}},"104":{"start":{"line":117,"column":21},"end":{"line":117,"column":117}},"105":{"start":{"line":118,"column":8},"end":{"line":118,"column":41}},"106":{"start":{"line":119,"column":8},"end":{"line":119,"column":29}},"107":{"start":{"line":121,"column":26},"end":{"line":121,"column":86}},"108":{"start":{"line":122,"column":4},"end":{"line":125,"column":5}},"109":{"start":{"line":123,"column":26},"end":{"line":123,"column":98}},"110":{"start":{"line":124,"column":8},"end":{"line":124,"column":85}},"111":{"start":{"line":126,"column":4},"end":{"line":126,"column":19}},"112":{"start":{"line":129,"column":26},"end":{"line":129,"column":75}},"113":{"start":{"line":130,"column":4},"end":{"line":145,"column":5}},"114":{"start":{"line":131,"column":34},"end":{"line":131,"column":87}},"115":{"start":{"line":132,"column":22},"end":{"line":132,"column":92}},"116":{"start":{"line":133,"column":23},"end":{"line":133,"column":141}},"117":{"start":{"line":133,"column":50},"end":{"line":133,"column":138}},"118":{"start":{"line":133,"column":90},"end":{"line":133,"column":134}},"119":{"start":{"line":134,"column":29},"end":{"line":134,"column":65}},"120":{"start":{"line":135,"column":30},"end":{"line":135,"column":61}},"121":{"start":{"line":136,"column":8},"end":{"line":141,"column":9}},"122":{"start":{"line":137,"column":12},"end":{"line":137,"column":35}},"123":{"start":{"line":140,"column":12},"end":{"line":140,"column":80}},"124":{"start":{"line":144,"column":8},"end":{"line":144,"column":17}},"125":{"start":{"line":147,"column":0},"end":{"line":147,"column":66}},"126":{"start":{"line":149,"column":28},"end":{"line":149,"column":30}},"127":{"start":{"line":150,"column":4},"end":{"line":152,"column":7}},"128":{"start":{"line":151,"column":8},"end":{"line":151,"column":54}},"129":{"start":{"line":153,"column":4},"end":{"line":158,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":21,"column":52},"end":{"line":21,"column":53}},"loc":{"start":{"line":21,"column":78},"end":{"line":29,"column":1}},"line":21},"7":{"name":"(anonymous_7)","decl":{"start":{"line":37,"column":75},"end":{"line":37,"column":76}},"loc":{"start":{"line":37,"column":87},"end":{"line":37,"column":130}},"line":37},"8":{"name":"getDependencies","decl":{"start":{"line":39,"column":9},"end":{"line":39,"column":24}},"loc":{"start":{"line":39,"column":47},"end":{"line":42,"column":1}},"line":39},"9":{"name":"getTargets","decl":{"start":{"line":44,"column":9},"end":{"line":44,"column":19}},"loc":{"start":{"line":44,"column":72},"end":{"line":60,"column":1}},"line":44},"10":{"name":"getConstructorArgsAsTarget","decl":{"start":{"line":61,"column":9},"end":{"line":61,"column":35}},"loc":{"start":{"line":61,"column":118},"end":{"line":85,"column":1}},"line":61},"11":{"name":"getConstructorArgsAsTargets","decl":{"start":{"line":86,"column":9},"end":{"line":86,"column":36}},"loc":{"start":{"line":86,"column":124},"end":{"line":96,"column":1}},"line":86},"12":{"name":"_getServiceIdentifierForProperty","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":41}},"loc":{"start":{"line":97,"column":88},"end":{"line":104,"column":1}},"line":97},"13":{"name":"getClassPropsAsTargets","decl":{"start":{"line":105,"column":9},"end":{"line":105,"column":31}},"loc":{"start":{"line":105,"column":82},"end":{"line":127,"column":1}},"line":105},"14":{"name":"getBaseClassDependencyCount","decl":{"start":{"line":128,"column":9},"end":{"line":128,"column":36}},"loc":{"start":{"line":128,"column":59},"end":{"line":146,"column":1}},"line":128},"15":{"name":"(anonymous_15)","decl":{"start":{"line":133,"column":35},"end":{"line":133,"column":36}},"loc":{"start":{"line":133,"column":48},"end":{"line":133,"column":140}},"line":133},"16":{"name":"(anonymous_16)","decl":{"start":{"line":133,"column":75},"end":{"line":133,"column":76}},"loc":{"start":{"line":133,"column":88},"end":{"line":133,"column":136}},"line":133},"17":{"name":"formatTargetMetadata","decl":{"start":{"line":148,"column":9},"end":{"line":148,"column":29}},"loc":{"start":{"line":148,"column":46},"end":{"line":159,"column":1}},"line":148},"18":{"name":"(anonymous_18)","decl":{"start":{"line":150,"column":27},"end":{"line":150,"column":28}},"loc":{"start":{"line":150,"column":40},"end":{"line":152,"column":5}},"line":150}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":21,"column":20},"end":{"line":29,"column":1}},"type":"binary-expr","locations":[{"start":{"line":21,"column":21},"end":{"line":21,"column":25}},{"start":{"line":21,"column":29},"end":{"line":21,"column":47}},{"start":{"line":21,"column":52},"end":{"line":29,"column":1}}],"line":21},"13":{"loc":{"start":{"line":22,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":27,"column":5}},{"start":{"line":22,"column":4},"end":{"line":27,"column":5}}],"line":22},"14":{"loc":{"start":{"line":22,"column":8},"end":{"line":22,"column":38}},"type":"binary-expr","locations":[{"start":{"line":22,"column":8},"end":{"line":22,"column":12}},{"start":{"line":22,"column":16},"end":{"line":22,"column":38}}],"line":22},"15":{"loc":{"start":{"line":23,"column":8},"end":{"line":26,"column":9}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":26,"column":9}},{"start":{"line":23,"column":8},"end":{"line":26,"column":9}}],"line":23},"16":{"loc":{"start":{"line":23,"column":12},"end":{"line":23,"column":30}},"type":"binary-expr","locations":[{"start":{"line":23,"column":12},"end":{"line":23,"column":14}},{"start":{"line":23,"column":18},"end":{"line":23,"column":30}}],"line":23},"17":{"loc":{"start":{"line":24,"column":12},"end":{"line":24,"column":65}},"type":"if","locations":[{"start":{"line":24,"column":12},"end":{"line":24,"column":65}},{"start":{"line":24,"column":12},"end":{"line":24,"column":65}}],"line":24},"18":{"loc":{"start":{"line":28,"column":21},"end":{"line":28,"column":59}},"type":"binary-expr","locations":[{"start":{"line":28,"column":21},"end":{"line":28,"column":23}},{"start":{"line":28,"column":27},"end":{"line":28,"column":59}}],"line":28},"19":{"loc":{"start":{"line":47,"column":4},"end":{"line":50,"column":5}},"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":50,"column":5}},{"start":{"line":47,"column":4},"end":{"line":50,"column":5}}],"line":47},"20":{"loc":{"start":{"line":53,"column":44},"end":{"line":53,"column":80}},"type":"binary-expr","locations":[{"start":{"line":53,"column":44},"end":{"line":53,"column":61}},{"start":{"line":53,"column":65},"end":{"line":53,"column":80}}],"line":53},"21":{"loc":{"start":{"line":55,"column":21},"end":{"line":55,"column":108}},"type":"cond-expr","locations":[{"start":{"line":55,"column":83},"end":{"line":55,"column":94}},{"start":{"line":55,"column":97},"end":{"line":55,"column":108}}],"line":55},"22":{"loc":{"start":{"line":55,"column":22},"end":{"line":55,"column":79}},"type":"binary-expr","locations":[{"start":{"line":55,"column":22},"end":{"line":55,"column":54}},{"start":{"line":55,"column":58},"end":{"line":55,"column":79}}],"line":55},"23":{"loc":{"start":{"line":62,"column":25},"end":{"line":62,"column":72}},"type":"binary-expr","locations":[{"start":{"line":62,"column":25},"end":{"line":62,"column":66}},{"start":{"line":62,"column":70},"end":{"line":62,"column":72}}],"line":62},"24":{"loc":{"start":{"line":66,"column":27},"end":{"line":66,"column":66}},"type":"binary-expr","locations":[{"start":{"line":66,"column":27},"end":{"line":66,"column":42}},{"start":{"line":66,"column":46},"end":{"line":66,"column":66}}],"line":66},"25":{"loc":{"start":{"line":67,"column":25},"end":{"line":67,"column":80}},"type":"cond-expr","locations":[{"start":{"line":67,"column":44},"end":{"line":67,"column":60}},{"start":{"line":67,"column":63},"end":{"line":67,"column":80}}],"line":67},"26":{"loc":{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":68,"column":4},"end":{"line":70,"column":5}},{"start":{"line":68,"column":4},"end":{"line":70,"column":5}}],"line":68},"27":{"loc":{"start":{"line":71,"column":4},"end":{"line":83,"column":5}},"type":"if","locations":[{"start":{"line":71,"column":4},"end":{"line":83,"column":5}},{"start":{"line":71,"column":4},"end":{"line":83,"column":5}}],"line":71},"28":{"loc":{"start":{"line":75,"column":28},"end":{"line":75,"column":65}},"type":"binary-expr","locations":[{"start":{"line":75,"column":28},"end":{"line":75,"column":36}},{"start":{"line":75,"column":40},"end":{"line":75,"column":50}},{"start":{"line":75,"column":54},"end":{"line":75,"column":65}}],"line":75},"29":{"loc":{"start":{"line":76,"column":8},"end":{"line":79,"column":9}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":79,"column":9}},{"start":{"line":76,"column":8},"end":{"line":79,"column":9}}],"line":76},"30":{"loc":{"start":{"line":76,"column":12},"end":{"line":76,"column":41}},"type":"binary-expr","locations":[{"start":{"line":76,"column":12},"end":{"line":76,"column":24}},{"start":{"line":76,"column":28},"end":{"line":76,"column":41}}],"line":76},"31":{"loc":{"start":{"line":91,"column":8},"end":{"line":93,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":93,"column":9}},{"start":{"line":91,"column":8},"end":{"line":93,"column":9}}],"line":91},"32":{"loc":{"start":{"line":98,"column":29},"end":{"line":98,"column":50}},"type":"binary-expr","locations":[{"start":{"line":98,"column":29},"end":{"line":98,"column":35}},{"start":{"line":98,"column":39},"end":{"line":98,"column":50}}],"line":98},"33":{"loc":{"start":{"line":99,"column":4},"end":{"line":102,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":102,"column":5}},{"start":{"line":99,"column":4},"end":{"line":102,"column":5}}],"line":99},"34":{"loc":{"start":{"line":115,"column":25},"end":{"line":115,"column":51}},"type":"binary-expr","locations":[{"start":{"line":115,"column":25},"end":{"line":115,"column":44}},{"start":{"line":115,"column":48},"end":{"line":115,"column":51}}],"line":115},"35":{"loc":{"start":{"line":122,"column":4},"end":{"line":125,"column":5}},"type":"if","locations":[{"start":{"line":122,"column":4},"end":{"line":125,"column":5}},{"start":{"line":122,"column":4},"end":{"line":125,"column":5}}],"line":122},"36":{"loc":{"start":{"line":130,"column":4},"end":{"line":145,"column":5}},"type":"if","locations":[{"start":{"line":130,"column":4},"end":{"line":145,"column":5}},{"start":{"line":130,"column":4},"end":{"line":145,"column":5}}],"line":130},"37":{"loc":{"start":{"line":136,"column":8},"end":{"line":141,"column":9}},"type":"if","locations":[{"start":{"line":136,"column":8},"end":{"line":141,"column":9}},{"start":{"line":136,"column":8},"end":{"line":141,"column":9}}],"line":136}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":13286,"23":13286,"24":13286,"25":13286,"26":6392,"27":0,"28":0,"29":0,"30":13286,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":3,"40":1,"41":6598,"42":6598,"43":1,"44":6623,"45":6622,"46":6622,"47":3,"48":3,"49":6619,"50":6619,"51":6619,"52":6619,"53":6619,"54":6619,"55":6617,"56":6615,"57":6615,"58":6375,"59":6375,"60":6375,"61":6375,"62":6375,"63":6375,"64":6375,"65":3,"66":6375,"67":6363,"68":6363,"69":6363,"70":6363,"71":6363,"72":2,"73":2,"74":6361,"75":6361,"76":6361,"77":12,"78":6619,"79":6619,"80":6619,"81":6375,"82":6375,"83":6373,"84":6361,"85":6617,"86":30,"87":30,"88":1,"89":1,"90":29,"91":6645,"92":6644,"93":6644,"94":6644,"95":6644,"96":6644,"97":6644,"98":6644,"99":30,"100":30,"101":30,"102":30,"103":30,"104":29,"105":29,"106":29,"107":6643,"108":6643,"109":28,"110":28,"111":6643,"112":6596,"113":6596,"114":26,"115":26,"116":24,"117":16,"118":10,"119":24,"120":24,"121":24,"122":15,"123":9,"124":6570,"125":1,"126":6405,"127":6405,"128":6467,"129":6405},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":13286,"7":3,"8":6598,"9":6623,"10":6375,"11":6619,"12":30,"13":6645,"14":6596,"15":16,"16":10,"17":6405,"18":6467},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,1,1],"13":[13286,0],"14":[13286,0],"15":[0,6392],"16":[6392,6392],"17":[0,0],"18":[13286,13286],"19":[3,6619],"20":[6619,2096],"21":[10,6609],"22":[6619,6609],"23":[6375,42],"24":[6375,80],"25":[6321,54],"26":[3,6372],"27":[6363,12],"28":[6363,6359,6358],"29":[2,6361],"30":[6363,6349],"31":[6361,12],"32":[30,2],"33":[1,29],"34":[30,30],"35":[28,6615],"36":[26,6570],"37":[15,9]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/planning/reflection_utils.ts","sources":["X:/Code/InversifyJS/src/planning/reflection_utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { LazyServiceIdentifier } from '../annotation/lazy_service_identifier';\r\nimport * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { TargetTypeEnum } from '../constants/literal_types';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { getFunctionName } from '../utils/serialization';\r\nimport { Metadata } from './metadata';\r\nimport { Target } from './target';\r\n\r\nfunction getDependencies(\r\n metadataReader: interfaces.MetadataReader, func: NewableFunction\r\n): interfaces.Target[] {\r\n const constructorName = getFunctionName(func);\r\n return getTargets(metadataReader, constructorName, func, false);\r\n}\r\n\r\nfunction getTargets(\r\n metadataReader: interfaces.MetadataReader,\r\n constructorName: string,\r\n func: NewableFunction,\r\n isBaseClass: boolean\r\n): interfaces.Target[] {\r\n\r\n const metadata = metadataReader.getConstructorMetadata(func);\r\n\r\n // TypeScript compiler generated annotations\r\n const serviceIdentifiers = metadata.compilerGeneratedMetadata;\r\n\r\n // All types resolved must be annotated with @injectable\r\n if (serviceIdentifiers === undefined) {\r\n const msg = `${ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION} ${constructorName}.`;\r\n throw new Error(msg);\r\n }\r\n\r\n // User generated annotations\r\n const constructorArgsMetadata = metadata.userGeneratedMetadata;\r\n\r\n const keys = Object.keys(constructorArgsMetadata);\r\n const hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0);\r\n const hasOptionalParameters = keys.length > func.length;\r\n\r\n const iterations = (hasUserDeclaredUnknownInjections || hasOptionalParameters) ? keys.length : func.length;\r\n\r\n // Target instances that represent constructor arguments to be injected\r\n const constructorTargets = getConstructorArgsAsTargets(\r\n isBaseClass,\r\n constructorName,\r\n serviceIdentifiers,\r\n constructorArgsMetadata,\r\n iterations\r\n );\r\n\r\n // Target instances that represent properties to be injected\r\n const propertyTargets = getClassPropsAsTargets(metadataReader, func, constructorName);\r\n\r\n const targets = [\r\n ...constructorTargets,\r\n ...propertyTargets\r\n ];\r\n\r\n return targets;\r\n\r\n}\r\nfunction getConstructorArgsAsTarget(\r\n index: number,\r\n isBaseClass: boolean,\r\n constructorName: string,\r\n serviceIdentifiers: interfaces.ServiceIdentifier[],\r\n constructorArgsMetadata: interfaces.MetadataMap\r\n): Target | null {\r\n // Create map from array of metadata for faster access to metadata\r\n const targetMetadata = constructorArgsMetadata[index.toString()] || [];\r\n const metadata = formatTargetMetadata(targetMetadata);\r\n const isManaged = metadata.unmanaged !== true;\r\n\r\n // Take types to be injected from user-generated metadata\r\n // if not available use compiler-generated metadata\r\n let serviceIdentifier = serviceIdentifiers[index];\r\n const injectIdentifier = metadata.inject || metadata.multiInject;\r\n serviceIdentifier = (injectIdentifier ? injectIdentifier : serviceIdentifier) as interfaces.ServiceIdentifier<unknown> | undefined;\r\n\r\n // we unwrap LazyServiceIdentifier wrappers to allow circular dependencies on symbols\r\n if (serviceIdentifier instanceof LazyServiceIdentifier) {\r\n serviceIdentifier = serviceIdentifier.unwrap();\r\n }\r\n\r\n // Types Object and Function are too ambiguous to be resolved\r\n // user needs to generate metadata manually for those\r\n if (isManaged) {\r\n\r\n const isObject = serviceIdentifier === Object;\r\n const isFunction = serviceIdentifier === Function;\r\n const isUndefined = serviceIdentifier === undefined;\r\n const isUnknownType = isObject || isFunction || isUndefined;\r\n\r\n if (!isBaseClass && isUnknownType) {\r\n const msg = `${ERROR_MSGS.MISSING_INJECT_ANNOTATION} argument ${index} in class ${constructorName}.`;\r\n throw new Error(msg);\r\n }\r\n\r\n const target = new Target(\r\n TargetTypeEnum.ConstructorArgument,\r\n metadata.targetName as string | symbol,\r\n serviceIdentifier as interfaces.ServiceIdentifier\r\n );\r\n target.metadata = targetMetadata;\r\n return target;\r\n }\r\n\r\n return null;\r\n\r\n}\r\n\r\nfunction getConstructorArgsAsTargets(\r\n isBaseClass: boolean,\r\n constructorName: string,\r\n serviceIdentifiers: interfaces.ServiceIdentifier[],\r\n constructorArgsMetadata: interfaces.MetadataMap,\r\n iterations: number\r\n): interfaces.Target[] {\r\n\r\n const targets: interfaces.Target[] = [];\r\n for (let i = 0; i < iterations; i++) {\r\n const index = i;\r\n const target = getConstructorArgsAsTarget(\r\n index,\r\n isBaseClass,\r\n constructorName,\r\n serviceIdentifiers,\r\n constructorArgsMetadata\r\n );\r\n if (target !== null) {\r\n targets.push(target);\r\n }\r\n }\r\n\r\n return targets;\r\n}\r\n\r\nfunction _getServiceIdentifierForProperty(\r\n inject: string | symbol | unknown,\r\n multiInject: object | unknown,\r\n propertyName: string | symbol,\r\n className: string\r\n) {\r\n const serviceIdentifier = (inject || multiInject);\r\n if (serviceIdentifier === undefined) {\r\n const msg = `${ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION} for property ${String(propertyName)} in class ${className}.`;\r\n throw new Error(msg);\r\n }\r\n return serviceIdentifier;\r\n}\r\n\r\nfunction getClassPropsAsTargets(\r\n metadataReader: interfaces.MetadataReader,\r\n constructorFunc: NewableFunction,\r\n constructorName: string\r\n) {\r\n\r\n const classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc);\r\n let targets: interfaces.Target[] = [];\r\n const symbolKeys = Object.getOwnPropertySymbols(classPropsMetadata);\r\n const stringKeys: (string | symbol)[] = Object.keys(classPropsMetadata);\r\n const keys: (string | symbol)[] = stringKeys.concat(symbolKeys);\r\n\r\n for (const key of keys) {\r\n\r\n // the metadata for the property being injected\r\n const targetMetadata = classPropsMetadata[key] as interfaces.Metadata[];\r\n\r\n // the metadata formatted for easier access\r\n const metadata = formatTargetMetadata(targetMetadata);\r\n\r\n const identifier = metadata.targetName || key;\r\n\r\n // Take types to be injected from user-generated metadata\r\n const serviceIdentifier = _getServiceIdentifierForProperty(metadata.inject, metadata.multiInject, key, constructorName);\r\n\r\n // The property target\r\n const target = new Target(\r\n TargetTypeEnum.ClassProperty,\r\n identifier as string | symbol,\r\n serviceIdentifier as interfaces.ServiceIdentifier<unknown>\r\n );\r\n target.metadata = targetMetadata;\r\n targets.push(target);\r\n }\r\n\r\n // Check if base class has injected properties\r\n const baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;\r\n\r\n if (baseConstructor !== Object) {\r\n\r\n const baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor, constructorName);\r\n\r\n targets = [\r\n ...targets,\r\n ...baseTargets\r\n ];\r\n\r\n }\r\n\r\n return targets;\r\n}\r\n\r\nfunction getBaseClassDependencyCount(\r\n metadataReader: interfaces.MetadataReader,\r\n func: NewableFunction\r\n): number {\r\n\r\n const baseConstructor = Object.getPrototypeOf(func.prototype).constructor;\r\n\r\n if (baseConstructor !== Object) {\r\n\r\n // get targets for base class\r\n const baseConstructorName = getFunctionName(baseConstructor);\r\n\r\n const targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true);\r\n\r\n // get unmanaged metadata\r\n const metadata = targets.map((t) => t.metadata.filter(m => m.key === METADATA_KEY.UNMANAGED_TAG));\r\n\r\n // Compare the number of constructor arguments with the number of\r\n // unmanaged dependencies unmanaged dependencies are not required\r\n const unmanagedCount = ([] as Metadata[]).concat.apply([], metadata).length;\r\n const dependencyCount = targets.length - unmanagedCount;\r\n\r\n if (dependencyCount > 0) {\r\n return dependencyCount;\r\n } else {\r\n return getBaseClassDependencyCount(metadataReader, baseConstructor);\r\n }\r\n\r\n } else {\r\n return 0;\r\n }\r\n\r\n}\r\n\r\nfunction formatTargetMetadata(targetMetadata: interfaces.Metadata[]) {\r\n\r\n // Create map from array of metadata for faster access to metadata\r\n const targetMetadataMap: Record<string, unknown> = {};\r\n targetMetadata.forEach((m: interfaces.Metadata) => {\r\n targetMetadataMap[m.key.toString()] = m.value;\r\n });\r\n\r\n // user generated metadata\r\n return {\r\n inject: targetMetadataMap[METADATA_KEY.INJECT_TAG],\r\n multiInject: targetMetadataMap[METADATA_KEY.MULTI_INJECT_TAG],\r\n targetName: targetMetadataMap[METADATA_KEY.NAME_TAG],\r\n unmanaged: targetMetadataMap[METADATA_KEY.UNMANAGED_TAG]\r\n };\r\n\r\n}\r\n\r\nexport { getDependencies, getBaseClassDependencyCount, getFunctionName };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6e01d217ddbd561d46c562869e40ed88fcb532aa","contentHash":"0f50b6e1bd9ba9de03c7d5ec2f6a9c76f36ac582467717007609a4fb0a0742d1"},"X:\\Code\\InversifyJS\\src\\annotation\\lazy_service_identifier.ts":{"path":"X:\\Code\\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":4,"4":1,"5":4,"6":1,"7":1},"f":{"0":1,"1":4,"2":4},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/lazy_service_identifier.ts","sources":["X:/Code/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';\r\n\r\nexport type ServiceIdentifierOrFunc<T> = interfaces.ServiceIdentifier<T> | LazyServiceIdentifier<T>;\r\n\r\nexport class LazyServiceIdentifier<T = unknown> {\r\n private _cb: () => interfaces.ServiceIdentifier<T>;\r\n public constructor(cb: () => interfaces.ServiceIdentifier<T>) {\r\n this._cb = cb;\r\n }\r\n\r\n public unwrap() {\r\n return this._cb();\r\n }\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"220e5c42fe0c9a89d9b40c5250a052a0c1727c96","contentHash":"7c95dc41be188c73a8738653088e55e3f572d148d60b83db3a49fa2e59811db2"},"X:\\Code\\InversifyJS\\src\\planning\\target.ts":{"path":"X:\\Code\\InversifyJS\\src\\planning\\target.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":11},"end":{"line":24,"column":33}},"25":{"start":{"line":25,"column":22},"end":{"line":25,"column":55}},"26":{"start":{"line":26,"column":17},"end":{"line":26,"column":38}},"27":{"start":{"line":27,"column":25},"end":{"line":27,"column":54}},"28":{"start":{"line":28,"column":14},"end":{"line":102,"column":3}},"29":{"start":{"line":30,"column":8},"end":{"line":30,"column":33}},"30":{"start":{"line":31,"column":8},"end":{"line":31,"column":25}},"31":{"start":{"line":32,"column":8},"end":{"line":32,"column":51}},"32":{"start":{"line":33,"column":28},"end":{"line":33,"column":127}},"33":{"start":{"line":34,"column":8},"end":{"line":34,"column":80}},"34":{"start":{"line":35,"column":8},"end":{"line":35,"column":37}},"35":{"start":{"line":36,"column":8},"end":{"line":36,"column":36}},"36":{"start":{"line":37,"column":27},"end":{"line":37,"column":31}},"37":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"38":{"start":{"line":39,"column":12},"end":{"line":39,"column":90}},"39":{"start":{"line":41,"column":13},"end":{"line":43,"column":9}},"40":{"start":{"line":42,"column":12},"end":{"line":42,"column":41}},"41":{"start":{"line":44,"column":8},"end":{"line":46,"column":9}},"42":{"start":{"line":45,"column":12},"end":{"line":45,"column":45}},"43":{"start":{"line":48,"column":4},"end":{"line":56,"column":6}},"44":{"start":{"line":49,"column":8},"end":{"line":54,"column":9}},"45":{"start":{"line":49,"column":22},"end":{"line":49,"column":23}},"46":{"start":{"line":49,"column":30},"end":{"line":49,"column":43}},"47":{"start":{"line":50,"column":20},"end":{"line":50,"column":26}},"48":{"start":{"line":51,"column":12},"end":{"line":53,"column":13}},"49":{"start":{"line":52,"column":16},"end":{"line":52,"column":28}},"50":{"start":{"line":55,"column":8},"end":{"line":55,"column":21}},"51":{"start":{"line":57,"column":4},"end":{"line":59,"column":6}},"52":{"start":{"line":58,"column":8},"end":{"line":58,"column":58}},"53":{"start":{"line":60,"column":4},"end":{"line":62,"column":6}},"54":{"start":{"line":61,"column":8},"end":{"line":61,"column":68}},"55":{"start":{"line":63,"column":4},"end":{"line":65,"column":6}},"56":{"start":{"line":64,"column":8},"end":{"line":64,"column":51}},"57":{"start":{"line":66,"column":4},"end":{"line":68,"column":6}},"58":{"start":{"line":67,"column":8},"end":{"line":67,"column":155}},"59":{"start":{"line":67,"column":56},"end":{"line":67,"column":151}},"60":{"start":{"line":67,"column":119},"end":{"line":67,"column":147}},"61":{"start":{"line":69,"column":4},"end":{"line":71,"column":6}},"62":{"start":{"line":70,"column":8},"end":{"line":70,"column":64}},"63":{"start":{"line":72,"column":4},"end":{"line":77,"column":6}},"64":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"65":{"start":{"line":74,"column":12},"end":{"line":74,"column":102}},"66":{"start":{"line":74,"column":55},"end":{"line":74,"column":95}},"67":{"start":{"line":76,"column":8},"end":{"line":76,"column":20}},"68":{"start":{"line":78,"column":4},"end":{"line":85,"column":6}},"69":{"start":{"line":79,"column":8},"end":{"line":84,"column":9}},"70":{"start":{"line":80,"column":12},"end":{"line":80,"column":161}},"71":{"start":{"line":80,"column":62},"end":{"line":80,"column":157}},"72":{"start":{"line":80,"column":125},"end":{"line":80,"column":153}},"73":{"start":{"line":83,"column":12},"end":{"line":83,"column":24}},"74":{"start":{"line":86,"column":4},"end":{"line":88,"column":6}},"75":{"start":{"line":87,"column":8},"end":{"line":87,"column":61}},"76":{"start":{"line":89,"column":4},"end":{"line":100,"column":6}},"77":{"start":{"line":90,"column":20},"end":{"line":90,"column":24}},"78":{"start":{"line":91,"column":8},"end":{"line":99,"column":10}},"79":{"start":{"line":92,"column":12},"end":{"line":97,"column":13}},"80":{"start":{"line":92,"column":26},"end":{"line":92,"column":27}},"81":{"start":{"line":92,"column":34},"end":{"line":92,"column":48}},"82":{"start":{"line":93,"column":24},"end":{"line":93,"column":30}},"83":{"start":{"line":94,"column":16},"end":{"line":96,"column":17}},"84":{"start":{"line":95,"column":20},"end":{"line":95,"column":32}},"85":{"start":{"line":98,"column":12},"end":{"line":98,"column":25}},"86":{"start":{"line":101,"column":4},"end":{"line":101,"column":18}},"87":{"start":{"line":103,"column":0},"end":{"line":103,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":28,"column":14},"end":{"line":28,"column":15}},"loc":{"start":{"line":28,"column":26},"end":{"line":102,"column":1}},"line":28},"7":{"name":"Target","decl":{"start":{"line":29,"column":13},"end":{"line":29,"column":19}},"loc":{"start":{"line":29,"column":72},"end":{"line":47,"column":5}},"line":29},"8":{"name":"(anonymous_8)","decl":{"start":{"line":48,"column":30},"end":{"line":48,"column":31}},"loc":{"start":{"line":48,"column":45},"end":{"line":56,"column":5}},"line":48},"9":{"name":"(anonymous_9)","decl":{"start":{"line":57,"column":31},"end":{"line":57,"column":32}},"loc":{"start":{"line":57,"column":43},"end":{"line":59,"column":5}},"line":57},"10":{"name":"(anonymous_10)","decl":{"start":{"line":60,"column":36},"end":{"line":60,"column":37}},"loc":{"start":{"line":60,"column":52},"end":{"line":62,"column":5}},"line":60},"11":{"name":"(anonymous_11)","decl":{"start":{"line":63,"column":31},"end":{"line":63,"column":32}},"loc":{"start":{"line":63,"column":43},"end":{"line":65,"column":5}},"line":63},"12":{"name":"(anonymous_12)","decl":{"start":{"line":66,"column":32},"end":{"line":66,"column":33}},"loc":{"start":{"line":66,"column":44},"end":{"line":68,"column":5}},"line":66},"13":{"name":"(anonymous_13)","decl":{"start":{"line":67,"column":34},"end":{"line":67,"column":35}},"loc":{"start":{"line":67,"column":54},"end":{"line":67,"column":153}},"line":67},"14":{"name":"(anonymous_14)","decl":{"start":{"line":67,"column":102},"end":{"line":67,"column":103}},"loc":{"start":{"line":67,"column":117},"end":{"line":67,"column":149}},"line":67},"15":{"name":"(anonymous_15)","decl":{"start":{"line":69,"column":34},"end":{"line":69,"column":35}},"loc":{"start":{"line":69,"column":46},"end":{"line":71,"column":5}},"line":69},"16":{"name":"(anonymous_16)","decl":{"start":{"line":72,"column":35},"end":{"line":72,"column":36}},"loc":{"start":{"line":72,"column":47},"end":{"line":77,"column":5}},"line":72},"17":{"name":"(anonymous_17)","decl":{"start":{"line":74,"column":40},"end":{"line":74,"column":41}},"loc":{"start":{"line":74,"column":53},"end":{"line":74,"column":97}},"line":74},"18":{"name":"(anonymous_18)","decl":{"start":{"line":78,"column":37},"end":{"line":78,"column":38}},"loc":{"start":{"line":78,"column":49},"end":{"line":85,"column":5}},"line":78},"19":{"name":"(anonymous_19)","decl":{"start":{"line":80,"column":40},"end":{"line":80,"column":41}},"loc":{"start":{"line":80,"column":60},"end":{"line":80,"column":159}},"line":80},"20":{"name":"(anonymous_20)","decl":{"start":{"line":80,"column":108},"end":{"line":80,"column":109}},"loc":{"start":{"line":80,"column":123},"end":{"line":80,"column":155}},"line":80},"21":{"name":"(anonymous_21)","decl":{"start":{"line":86,"column":39},"end":{"line":86,"column":40}},"loc":{"start":{"line":86,"column":55},"end":{"line":88,"column":5}},"line":86},"22":{"name":"(anonymous_22)","decl":{"start":{"line":89,"column":34},"end":{"line":89,"column":35}},"loc":{"start":{"line":89,"column":49},"end":{"line":100,"column":5}},"line":89},"23":{"name":"(anonymous_23)","decl":{"start":{"line":91,"column":15},"end":{"line":91,"column":16}},"loc":{"start":{"line":91,"column":32},"end":{"line":99,"column":9}},"line":91}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":33,"column":28},"end":{"line":33,"column":127}},"type":"cond-expr","locations":[{"start":{"line":33,"column":61},"end":{"line":33,"column":114}},{"start":{"line":33,"column":117},"end":{"line":33,"column":127}}],"line":33},"13":{"loc":{"start":{"line":34,"column":59},"end":{"line":34,"column":78}},"type":"binary-expr","locations":[{"start":{"line":34,"column":59},"end":{"line":34,"column":72}},{"start":{"line":34,"column":76},"end":{"line":34,"column":78}}],"line":34},"14":{"loc":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},{"start":{"line":38,"column":8},"end":{"line":43,"column":9}}],"line":38},"15":{"loc":{"start":{"line":41,"column":13},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":41,"column":13},"end":{"line":43,"column":9}},{"start":{"line":41,"column":13},"end":{"line":43,"column":9}}],"line":41},"16":{"loc":{"start":{"line":44,"column":8},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":44,"column":8},"end":{"line":46,"column":9}},{"start":{"line":44,"column":8},"end":{"line":46,"column":9}}],"line":44},"17":{"loc":{"start":{"line":51,"column":12},"end":{"line":53,"column":13}},"type":"if","locations":[{"start":{"line":51,"column":12},"end":{"line":53,"column":13}},{"start":{"line":51,"column":12},"end":{"line":53,"column":13}}],"line":51},"18":{"loc":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},{"start":{"line":73,"column":8},"end":{"line":75,"column":9}}],"line":73},"19":{"loc":{"start":{"line":79,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":79,"column":8},"end":{"line":84,"column":9}},{"start":{"line":79,"column":8},"end":{"line":84,"column":9}}],"line":79},"20":{"loc":{"start":{"line":94,"column":16},"end":{"line":96,"column":17}},"type":"if","locations":[{"start":{"line":94,"column":16},"end":{"line":96,"column":17}},{"start":{"line":94,"column":16},"end":{"line":96,"column":17}}],"line":94},"21":{"loc":{"start":{"line":94,"column":20},"end":{"line":94,"column":54}},"type":"binary-expr","locations":[{"start":{"line":94,"column":20},"end":{"line":94,"column":33}},{"start":{"line":94,"column":37},"end":{"line":94,"column":54}}],"line":94}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":7262,"30":7262,"31":7262,"32":7262,"33":7262,"34":7262,"35":7262,"36":7262,"37":7262,"38":7,"39":7255,"40":834,"41":7262,"42":841,"43":1,"44":8752,"45":8752,"46":8752,"47":9005,"48":9005,"49":277,"50":8475,"51":1,"52":8697,"53":1,"54":730,"55":1,"56":55,"57":1,"58":62,"59":84,"60":226,"61":1,"62":1498,"63":1,"64":12,"65":8,"66":16,"67":4,"68":1,"69":10,"70":4,"71":8,"72":29,"73":6,"74":1,"75":2,"76":1,"77":2543,"78":2543,"79":2543,"80":2543,"81":2543,"82":2917,"83":2917,"84":243,"85":2300,"86":1,"87":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":7262,"8":8752,"9":8697,"10":730,"11":55,"12":62,"13":84,"14":226,"15":1498,"16":12,"17":16,"18":10,"19":8,"20":29,"21":2,"22":2543,"23":2543},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[2,7260],"13":[7262,7151],"14":[7,7255],"15":[834,6421],"16":[841,6421],"17":[277,8728],"18":[8,4],"19":[4,6],"20":[243,2674],"21":[2917,417]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/planning/target.ts","sources":["X:/Code/InversifyJS/src/planning/target.ts"],"names":[],"mappings":"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","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { id } from '../utils/id';\r\nimport { getSymbolDescription } from '../utils/serialization';\r\nimport { Metadata } from './metadata';\r\nimport { QueryableString } from './queryable_string';\r\n\r\nclass Target implements interfaces.Target {\r\n\r\n public id: number;\r\n public type: interfaces.TargetType;\r\n public serviceIdentifier: interfaces.ServiceIdentifier;\r\n public name: interfaces.QueryableString;\r\n public identifier: string | symbol;\r\n public key!: string | symbol\r\n public metadata!: Metadata[];\r\n\r\n public constructor(\r\n type: interfaces.TargetType,\r\n identifier: string | symbol,\r\n serviceIdentifier: interfaces.ServiceIdentifier,\r\n namedOrTagged?: (string | Metadata)\r\n ) {\r\n\r\n this.id = id();\r\n this.type = type;\r\n this.serviceIdentifier = serviceIdentifier;\r\n const queryableName = typeof identifier === 'symbol' ? getSymbolDescription(identifier) : identifier;\r\n this.name = new QueryableString(queryableName || '');\r\n this.identifier = identifier;\r\n this.metadata = new Array();\r\n\r\n let metadataItem: interfaces.Metadata | null = null;\r\n\r\n // is named target\r\n if (typeof namedOrTagged === 'string') {\r\n metadataItem = new Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);\r\n } else if (namedOrTagged instanceof Metadata) {\r\n // is target with metadata\r\n metadataItem = namedOrTagged;\r\n }\r\n\r\n // target has metadata\r\n if (metadataItem !== null) {\r\n this.metadata.push(metadataItem);\r\n }\r\n\r\n }\r\n\r\n public hasTag(key: string): boolean {\r\n for (const m of this.metadata) {\r\n if (m.key === key) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n public isArray(): boolean {\r\n return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);\r\n }\r\n\r\n public matchesArray(name: interfaces.ServiceIdentifier<unknown>): boolean {\r\n return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);\r\n }\r\n\r\n public isNamed(): boolean {\r\n return this.hasTag(METADATA_KEY.NAMED_TAG);\r\n }\r\n\r\n public isTagged(): boolean {\r\n return this.metadata.some(\r\n (metadata) => METADATA_KEY.NON_CUSTOM_TAG_KEYS.every((key) => metadata.key !== key),\r\n );\r\n }\r\n\r\n public isOptional(): boolean {\r\n return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);\r\n }\r\n\r\n public getNamedTag(): interfaces.Metadata<string> | null {\r\n if (this.isNamed()) {\r\n return this.metadata.filter(\r\n (m) => m.key === METADATA_KEY.NAMED_TAG,\r\n )[0] as interfaces.Metadata<string>;\r\n }\r\n return null;\r\n }\r\n\r\n public getCustomTags(): interfaces.Metadata[] | null {\r\n if (this.isTagged()) {\r\n return this.metadata.filter(\r\n (metadata) => METADATA_KEY.NON_CUSTOM_TAG_KEYS.every((key) => metadata.key !== key),\r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public matchesNamedTag(name: string): boolean {\r\n return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);\r\n }\r\n\r\n public matchesTag(key: string) {\r\n return (value: unknown) => {\r\n for (const m of this.metadata) {\r\n if (m.key === key && m.value === value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n }\r\n\r\n}\r\n\r\nexport { Target };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0120bae4bd46fbccfbc5813cba03df33e53a0f39","contentHash":"b3cef5cc9c97e6983096fab618dc39ed3df93ef2a5412e48276ded49547f7376"},"X:\\Code\\InversifyJS\\src\\planning\\queryable_string.ts":{"path":"X:\\Code\\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":7267,"4":1,"5":8,"6":1,"7":4,"8":4,"9":4,"10":4,"11":1,"12":2,"13":1,"14":11,"15":1,"16":13,"17":1,"18":1},"f":{"0":1,"1":7267,"2":8,"3":4,"4":2,"5":11,"6":13},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/planning/queryable_string.ts","sources":["X:/Code/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';\r\n\r\nclass QueryableString implements interfaces.QueryableString {\r\n\r\n private str: string;\r\n\r\n public constructor(str: string) {\r\n this.str = str;\r\n }\r\n\r\n public startsWith(searchString: string): boolean {\r\n return this.str.indexOf(searchString) === 0;\r\n }\r\n\r\n public endsWith(searchString: string): boolean {\r\n let reverseString = '';\r\n const reverseSearchString = searchString.split('').reverse().join('');\r\n reverseString = this.str.split('').reverse().join('');\r\n return this.startsWith.call({ str: reverseString }, reverseSearchString);\r\n }\r\n\r\n public contains(searchString: string): boolean {\r\n return (this.str.indexOf(searchString) !== -1);\r\n }\r\n\r\n public equals(compareString: string): boolean {\r\n return this.str === compareString;\r\n }\r\n\r\n public value(): string {\r\n return this.str;\r\n }\r\n\r\n}\r\n\r\nexport { QueryableString };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0510920ca13b577ce9ae9529eaf4641ca5303d8c","contentHash":"9eb536f79fc79c0b207290d7760cdb78e5f17747de9f520c481ac2c885f93d78"},"X:\\Code\\InversifyJS\\src\\planning\\request.ts":{"path":"X:\\Code\\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":14564,"5":14564,"6":14564,"7":14564,"8":14564,"9":14564,"10":14564,"11":14564,"12":1,"13":6451,"14":6451,"15":6451,"16":1,"17":1},"f":{"0":1,"1":14564,"2":6451},"b":{"0":[7157,7407],"1":[1657,12907]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/planning/request.ts","sources":["X:/Code/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';\r\nimport { id } from '../utils/id';\r\n\r\nclass Request implements interfaces.Request {\r\n\r\n public id: number;\r\n public serviceIdentifier: interfaces.ServiceIdentifier;\r\n public parentContext: interfaces.Context;\r\n public parentRequest: interfaces.Request | null;\r\n public bindings: interfaces.Binding<unknown>[];\r\n public childRequests: interfaces.Request[];\r\n public target: interfaces.Target;\r\n public requestScope: interfaces.RequestScope | null;\r\n\r\n public constructor(\r\n serviceIdentifier: interfaces.ServiceIdentifier,\r\n parentContext: interfaces.Context,\r\n parentRequest: interfaces.Request | null,\r\n bindings: (interfaces.Binding<any> | interfaces.Binding<any>[]),\r\n target: interfaces.Target\r\n ) {\r\n this.id = id();\r\n this.serviceIdentifier = serviceIdentifier;\r\n this.parentContext = parentContext;\r\n this.parentRequest = parentRequest;\r\n this.target = target;\r\n this.childRequests = [];\r\n this.bindings = (Array.isArray(bindings) ? bindings : [bindings]);\r\n\r\n // Set requestScope if Request is the root request\r\n this.requestScope = parentRequest === null\r\n ? new Map()\r\n : null;\r\n }\r\n\r\n public addChildRequest(\r\n serviceIdentifier: interfaces.ServiceIdentifier,\r\n bindings: (interfaces.Binding<unknown> | interfaces.Binding<unknown>[]),\r\n target: interfaces.Target\r\n ): interfaces.Request {\r\n\r\n const child = new Request(\r\n serviceIdentifier,\r\n this.parentContext,\r\n this,\r\n bindings,\r\n target\r\n );\r\n this.childRequests.push(child);\r\n return child;\r\n }\r\n}\r\n\r\nexport { Request };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a10bd590923fd524b01a1220517b166b62ce9884","contentHash":"47f70a197f02d454a8f899331a38bc7f674b10b4c501a218ddd78b5aba3c0fb7"},"X:\\Code\\InversifyJS\\src\\resolution\\resolver.ts":{"path":"X:\\Code\\InversifyJS\\src\\resolution\\resolver.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":16},"end":{"line":29,"column":1}},"22":{"start":{"line":22,"column":28},"end":{"line":22,"column":110}},"23":{"start":{"line":22,"column":91},"end":{"line":22,"column":106}},"24":{"start":{"line":23,"column":4},"end":{"line":28,"column":7}},"25":{"start":{"line":24,"column":36},"end":{"line":24,"column":97}},"26":{"start":{"line":24,"column":42},"end":{"line":24,"column":70}},"27":{"start":{"line":24,"column":85},"end":{"line":24,"column":95}},"28":{"start":{"line":25,"column":35},"end":{"line":25,"column":100}},"29":{"start":{"line":25,"column":41},"end":{"line":25,"column":73}},"30":{"start":{"line":25,"column":88},"end":{"line":25,"column":98}},"31":{"start":{"line":26,"column":32},"end":{"line":26,"column":116}},"32":{"start":{"line":27,"column":8},"end":{"line":27,"column":78}},"33":{"start":{"line":30,"column":18},"end":{"line":56,"column":1}},"34":{"start":{"line":31,"column":12},"end":{"line":31,"column":104}},"35":{"start":{"line":31,"column":43},"end":{"line":31,"column":68}},"36":{"start":{"line":31,"column":57},"end":{"line":31,"column":68}},"37":{"start":{"line":31,"column":69},"end":{"line":31,"column":81}},"38":{"start":{"line":32,"column":4},"end":{"line":32,"column":157}},"39":{"start":{"line":32,"column":138},"end":{"line":32,"column":150}},"40":{"start":{"line":33,"column":23},"end":{"line":33,"column":68}},"41":{"start":{"line":33,"column":45},"end":{"line":33,"column":65}},"42":{"start":{"line":35,"column":8},"end":{"line":35,"column":70}},"43":{"start":{"line":35,"column":15},"end":{"line":35,"column":70}},"44":{"start":{"line":36,"column":8},"end":{"line":53,"column":66}},"45":{"start":{"line":36,"column":18},"end":{"line":53,"column":66}},"46":{"start":{"line":37,"column":12},"end":{"line":37,"column":169}},"47":{"start":{"line":37,"column":160},"end":{"line":37,"column":169}},"48":{"start":{"line":38,"column":12},"end":{"line":38,"column":52}},"49":{"start":{"line":38,"column":26},"end":{"line":38,"column":52}},"50":{"start":{"line":39,"column":12},"end":{"line":51,"column":13}},"51":{"start":{"line":40,"column":32},"end":{"line":40,"column":39}},"52":{"start":{"line":40,"column":40},"end":{"line":40,"column":46}},"53":{"start":{"line":41,"column":24},"end":{"line":41,"column":34}},"54":{"start":{"line":41,"column":35},"end":{"line":41,"column":72}},"55":{"start":{"line":42,"column":24},"end":{"line":42,"column":34}},"56":{"start":{"line":42,"column":35},"end":{"line":42,"column":45}},"57":{"start":{"line":42,"column":46},"end":{"line":42,"column":55}},"58":{"start":{"line":42,"column":56},"end":{"line":42,"column":65}},"59":{"start":{"line":43,"column":24},"end":{"line":43,"column":41}},"60":{"start":{"line":43,"column":42},"end":{"line":43,"column":55}},"61":{"start":{"line":43,"column":56},"end":{"line":43,"column":65}},"62":{"start":{"line":45,"column":20},"end":{"line":45,"column":128}},"63":{"start":{"line":45,"column":110},"end":{"line":45,"column":116}},"64":{"start":{"line":45,"column":117},"end":{"line":45,"column":126}},"65":{"start":{"line":46,"column":20},"end":{"line":46,"column":106}},"66":{"start":{"line":46,"column":81},"end":{"line":46,"column":97}},"67":{"start":{"line":46,"column":98},"end":{"line":46,"column":104}},"68":{"start":{"line":47,"column":20},"end":{"line":47,"column":89}},"69":{"start":{"line":47,"column":57},"end":{"line":47,"column":72}},"70":{"start":{"line":47,"column":73},"end":{"line":47,"column":80}},"71":{"start":{"line":47,"column":81},"end":{"line":47,"column":87}},"72":{"start":{"line":48,"column":20},"end":{"line":48,"column":87}},"73":{"start":{"line":48,"column":47},"end":{"line":48,"column":62}},"74":{"start":{"line":48,"column":63},"end":{"line":48,"column":78}},"75":{"start":{"line":48,"column":79},"end":{"line":48,"column":85}},"76":{"start":{"line":49,"column":20},"end":{"line":49,"column":42}},"77":{"start":{"line":49,"column":30},"end":{"line":49,"column":42}},"78":{"start":{"line":50,"column":20},"end":{"line":50,"column":33}},"79":{"start":{"line":50,"column":34},"end":{"line":50,"column":43}},"80":{"start":{"line":52,"column":12},"end":{"line":52,"column":39}},"81":{"start":{"line":53,"column":22},"end":{"line":53,"column":34}},"82":{"start":{"line":53,"column":35},"end":{"line":53,"column":41}},"83":{"start":{"line":53,"column":54},"end":{"line":53,"column":64}},"84":{"start":{"line":54,"column":8},"end":{"line":54,"column":35}},"85":{"start":{"line":54,"column":23},"end":{"line":54,"column":35}},"86":{"start":{"line":54,"column":36},"end":{"line":54,"column":89}},"87":{"start":{"line":57,"column":0},"end":{"line":57,"column":62}},"88":{"start":{"line":58,"column":0},"end":{"line":58,"column":25}},"89":{"start":{"line":59,"column":17},"end":{"line":59,"column":65}},"90":{"start":{"line":60,"column":22},"end":{"line":60,"column":59}},"91":{"start":{"line":61,"column":16},"end":{"line":61,"column":46}},"92":{"start":{"line":62,"column":14},"end":{"line":62,"column":39}},"93":{"start":{"line":63,"column":14},"end":{"line":63,"column":39}},"94":{"start":{"line":64,"column":22},"end":{"line":64,"column":55}},"95":{"start":{"line":65,"column":19},"end":{"line":65,"column":49}},"96":{"start":{"line":66,"column":22},"end":{"line":66,"column":48}},"97":{"start":{"line":67,"column":22},"end":{"line":91,"column":1}},"98":{"start":{"line":68,"column":4},"end":{"line":90,"column":6}},"99":{"start":{"line":69,"column":8},"end":{"line":69,"column":57}},"100":{"start":{"line":70,"column":23},"end":{"line":70,"column":39}},"101":{"start":{"line":71,"column":28},"end":{"line":71,"column":49}},"102":{"start":{"line":72,"column":30},"end":{"line":72,"column":72}},"103":{"start":{"line":73,"column":39},"end":{"line":76,"column":88}},"104":{"start":{"line":77,"column":8},"end":{"line":89,"column":9}},"105":{"start":{"line":78,"column":12},"end":{"line":81,"column":15}},"106":{"start":{"line":79,"column":25},"end":{"line":79,"column":54}},"107":{"start":{"line":80,"column":16},"end":{"line":80,"column":40}},"108":{"start":{"line":84,"column":12},"end":{"line":86,"column":13}},"109":{"start":{"line":85,"column":16},"end":{"line":85,"column":33}},"110":{"start":{"line":87,"column":26},"end":{"line":87,"column":37}},"111":{"start":{"line":88,"column":12},"end":{"line":88,"column":67}},"112":{"start":{"line":92,"column":33},"end":{"line":95,"column":1}},"113":{"start":{"line":93,"column":25},"end":{"line":93,"column":72}},"114":{"start":{"line":94,"column":4},"end":{"line":94,"column":291}},"115":{"start":{"line":94,"column":75},"end":{"line":94,"column":128}},"116":{"start":{"line":94,"column":146},"end":{"line":94,"column":287}},"117":{"start":{"line":96,"column":30},"end":{"line":115,"column":1}},"118":{"start":{"line":98,"column":24},"end":{"line":98,"column":45}},"119":{"start":{"line":99,"column":4},"end":{"line":99,"column":51}},"120":{"start":{"line":100,"column":4},"end":{"line":113,"column":5}},"121":{"start":{"line":103,"column":12},"end":{"line":103,"column":35}},"122":{"start":{"line":104,"column":12},"end":{"line":104,"column":18}},"123":{"start":{"line":106,"column":12},"end":{"line":106,"column":48}},"124":{"start":{"line":107,"column":12},"end":{"line":107,"column":18}},"125":{"start":{"line":109,"column":12},"end":{"line":109,"column":141}},"126":{"start":{"line":110,"column":12},"end":{"line":110,"column":18}},"127":{"start":{"line":112,"column":12},"end":{"line":112,"column":80}},"128":{"start":{"line":114,"column":4},"end":{"line":114,"column":18}},"129":{"start":{"line":116,"column":22},"end":{"line":124,"column":1}},"130":{"start":{"line":117,"column":17},"end":{"line":117,"column":68}},"131":{"start":{"line":118,"column":4},"end":{"line":120,"column":5}},"132":{"start":{"line":119,"column":8},"end":{"line":119,"column":22}},"133":{"start":{"line":121,"column":4},"end":{"line":121,"column":34}},"134":{"start":{"line":122,"column":4},"end":{"line":122,"column":60}},"135":{"start":{"line":123,"column":4},"end":{"line":123,"column":18}},"136":{"start":{"line":125,"column":22},"end":{"line":136,"column":1}},"137":{"start":{"line":126,"column":4},"end":{"line":135,"column":7}},"138":{"start":{"line":127,"column":21},"end":{"line":127,"column":76}},"139":{"start":{"line":128,"column":8},"end":{"line":133,"column":9}},"140":{"start":{"line":129,"column":12},"end":{"line":129,"column":108}},"141":{"start":{"line":129,"column":55},"end":{"line":129,"column":104}},"142":{"start":{"line":132,"column":12},"end":{"line":132,"column":61}},"143":{"start":{"line":134,"column":8},"end":{"line":134,"column":22}},"144":{"start":{"line":138,"column":17},"end":{"line":138,"column":77}},"145":{"start":{"line":139,"column":29},"end":{"line":139,"column":84}},"146":{"start":{"line":141,"column":35},"end":{"line":141,"column":60}},"147":{"start":{"line":142,"column":4},"end":{"line":154,"column":138}},"148":{"start":{"line":143,"column":8},"end":{"line":143,"column":51}},"149":{"start":{"line":144,"column":24},"end":{"line":144,"column":45}},"150":{"start":{"line":145,"column":32},"end":{"line":145,"column":57}},"151":{"start":{"line":146,"column":34},"end":{"line":146,"column":98}},"152":{"start":{"line":147,"column":8},"end":{"line":152,"column":9}},"153":{"start":{"line":148,"column":12},"end":{"line":148,"column":85}},"154":{"start":{"line":151,"column":12},"end":{"line":151,"column":80}},"155":{"start":{"line":153,"column":8},"end":{"line":153,"column":61}},"156":{"start":{"line":155,"column":4},"end":{"line":155,"column":18}},"157":{"start":{"line":157,"column":25},"end":{"line":166,"column":1}},"158":{"start":{"line":159,"column":4},"end":{"line":164,"column":5}},"159":{"start":{"line":160,"column":8},"end":{"line":160,"column":63}},"160":{"start":{"line":163,"column":8},"end":{"line":163,"column":32}},"161":{"start":{"line":165,"column":4},"end":{"line":165,"column":18}},"162":{"start":{"line":167,"column":25},"end":{"line":177,"column":1}},"163":{"start":{"line":168,"column":21},"end":{"line":168,"column":47}},"164":{"start":{"line":169,"column":4},"end":{"line":175,"column":5}},"165":{"start":{"line":170,"column":8},"end":{"line":170,"column":51}},"166":{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},"167":{"start":{"line":172,"column":12},"end":{"line":172,"column":81}},"168":{"start":{"line":174,"column":8},"end":{"line":174,"column":48}},"169":{"start":{"line":176,"column":4},"end":{"line":176,"column":18}},"170":{"start":{"line":178,"column":30},"end":{"line":197,"column":5}},"171":{"start":{"line":178,"column":87},"end":{"line":197,"column":3}},"172":{"start":{"line":180,"column":4},"end":{"line":196,"column":7}},"173":{"start":{"line":181,"column":8},"end":{"line":195,"column":9}},"174":{"start":{"line":182,"column":20},"end":{"line":182,"column":46}},"175":{"start":{"line":184,"column":16},"end":{"line":184,"column":35}},"176":{"start":{"line":185,"column":16},"end":{"line":185,"column":56}},"177":{"start":{"line":186,"column":16},"end":{"line":186,"column":29}},"178":{"start":{"line":188,"column":16},"end":{"line":188,"column":53}},"179":{"start":{"line":188,"column":39},"end":{"line":188,"column":53}},"180":{"start":{"line":189,"column":16},"end":{"line":189,"column":62}},"181":{"start":{"line":191,"column":16},"end":{"line":191,"column":35}},"182":{"start":{"line":192,"column":16},"end":{"line":192,"column":56}},"183":{"start":{"line":193,"column":16},"end":{"line":193,"column":30}},"184":{"start":{"line":194,"column":20},"end":{"line":194,"column":39}},"185":{"start":{"line":198,"column":41},"end":{"line":201,"column":1}},"186":{"start":{"line":199,"column":22},"end":{"line":199,"column":44}},"187":{"start":{"line":200,"column":4},"end":{"line":200,"column":109}},"188":{"start":{"line":202,"column":29},"end":{"line":222,"column":1}},"189":{"start":{"line":203,"column":26},"end":{"line":203,"column":37}},"190":{"start":{"line":204,"column":17},"end":{"line":204,"column":33}},"191":{"start":{"line":205,"column":4},"end":{"line":208,"column":5}},"192":{"start":{"line":206,"column":8},"end":{"line":206,"column":37}},"193":{"start":{"line":207,"column":8},"end":{"line":207,"column":31}},"194":{"start":{"line":209,"column":27},"end":{"line":217,"column":5}},"195":{"start":{"line":210,"column":28},"end":{"line":210,"column":49}},"196":{"start":{"line":211,"column":8},"end":{"line":216,"column":9}},"197":{"start":{"line":212,"column":12},"end":{"line":212,"column":57}},"198":{"start":{"line":215,"column":12},"end":{"line":215,"column":52}},"199":{"start":{"line":218,"column":29},"end":{"line":220,"column":5}},"200":{"start":{"line":221,"column":4},"end":{"line":221,"column":30}},"201":{"start":{"line":224,"column":13},"end":{"line":224,"column":67}},"202":{"start":{"line":225,"column":4},"end":{"line":225,"column":40}},"203":{"start":{"line":227,"column":0},"end":{"line":227,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":21,"column":44},"end":{"line":21,"column":45}},"loc":{"start":{"line":21,"column":89},"end":{"line":29,"column":1}},"line":21},"7":{"name":"adopt","decl":{"start":{"line":22,"column":13},"end":{"line":22,"column":18}},"loc":{"start":{"line":22,"column":26},"end":{"line":22,"column":112}},"line":22},"8":{"name":"(anonymous_8)","decl":{"start":{"line":22,"column":70},"end":{"line":22,"column":71}},"loc":{"start":{"line":22,"column":89},"end":{"line":22,"column":108}},"line":22},"9":{"name":"(anonymous_9)","decl":{"start":{"line":23,"column":36},"end":{"line":23,"column":37}},"loc":{"start":{"line":23,"column":63},"end":{"line":28,"column":5}},"line":23},"10":{"name":"fulfilled","decl":{"start":{"line":24,"column":17},"end":{"line":24,"column":26}},"loc":{"start":{"line":24,"column":34},"end":{"line":24,"column":99}},"line":24},"11":{"name":"rejected","decl":{"start":{"line":25,"column":17},"end":{"line":25,"column":25}},"loc":{"start":{"line":25,"column":33},"end":{"line":25,"column":102}},"line":25},"12":{"name":"step","decl":{"start":{"line":26,"column":17},"end":{"line":26,"column":21}},"loc":{"start":{"line":26,"column":30},"end":{"line":26,"column":118}},"line":26},"13":{"name":"(anonymous_13)","decl":{"start":{"line":30,"column":48},"end":{"line":30,"column":49}},"loc":{"start":{"line":30,"column":73},"end":{"line":56,"column":1}},"line":30},"14":{"name":"(anonymous_14)","decl":{"start":{"line":31,"column":30},"end":{"line":31,"column":31}},"loc":{"start":{"line":31,"column":41},"end":{"line":31,"column":83}},"line":31},"15":{"name":"(anonymous_15)","decl":{"start":{"line":32,"column":125},"end":{"line":32,"column":126}},"loc":{"start":{"line":32,"column":136},"end":{"line":32,"column":152}},"line":32},"16":{"name":"verb","decl":{"start":{"line":33,"column":13},"end":{"line":33,"column":17}},"loc":{"start":{"line":33,"column":21},"end":{"line":33,"column":70}},"line":33},"17":{"name":"(anonymous_17)","decl":{"start":{"line":33,"column":30},"end":{"line":33,"column":31}},"loc":{"start":{"line":33,"column":43},"end":{"line":33,"column":67}},"line":33},"18":{"name":"step","decl":{"start":{"line":34,"column":13},"end":{"line":34,"column":17}},"loc":{"start":{"line":34,"column":22},"end":{"line":55,"column":5}},"line":34},"19":{"name":"(anonymous_19)","decl":{"start":{"line":67,"column":22},"end":{"line":67,"column":23}},"loc":{"start":{"line":67,"column":46},"end":{"line":91,"column":1}},"line":67},"20":{"name":"(anonymous_20)","decl":{"start":{"line":68,"column":11},"end":{"line":68,"column":12}},"loc":{"start":{"line":68,"column":30},"end":{"line":90,"column":5}},"line":68},"21":{"name":"(anonymous_21)","decl":{"start":{"line":78,"column":37},"end":{"line":78,"column":38}},"loc":{"start":{"line":78,"column":61},"end":{"line":81,"column":13}},"line":78},"22":{"name":"(anonymous_22)","decl":{"start":{"line":92,"column":33},"end":{"line":92,"column":34}},"loc":{"start":{"line":92,"column":61},"end":{"line":95,"column":1}},"line":92},"23":{"name":"(anonymous_23)","decl":{"start":{"line":94,"column":61},"end":{"line":94,"column":62}},"loc":{"start":{"line":94,"column":73},"end":{"line":94,"column":130}},"line":94},"24":{"name":"(anonymous_24)","decl":{"start":{"line":94,"column":132},"end":{"line":94,"column":133}},"loc":{"start":{"line":94,"column":144},"end":{"line":94,"column":289}},"line":94},"25":{"name":"(anonymous_25)","decl":{"start":{"line":96,"column":30},"end":{"line":96,"column":31}},"loc":{"start":{"line":96,"column":72},"end":{"line":115,"column":1}},"line":96},"26":{"name":"(anonymous_26)","decl":{"start":{"line":116,"column":22},"end":{"line":116,"column":23}},"loc":{"start":{"line":116,"column":75},"end":{"line":124,"column":1}},"line":116},"27":{"name":"(anonymous_27)","decl":{"start":{"line":125,"column":22},"end":{"line":125,"column":23}},"loc":{"start":{"line":125,"column":64},"end":{"line":136,"column":1}},"line":125},"28":{"name":"(anonymous_28)","decl":{"start":{"line":126,"column":50},"end":{"line":126,"column":51}},"loc":{"start":{"line":126,"column":62},"end":{"line":135,"column":5}},"line":126},"29":{"name":"(anonymous_29)","decl":{"start":{"line":129,"column":33},"end":{"line":129,"column":34}},"loc":{"start":{"line":129,"column":53},"end":{"line":129,"column":106}},"line":129},"30":{"name":"_onActivation","decl":{"start":{"line":137,"column":9},"end":{"line":137,"column":22}},"loc":{"start":{"line":137,"column":51},"end":{"line":156,"column":1}},"line":137},"31":{"name":"(anonymous_31)","decl":{"start":{"line":157,"column":25},"end":{"line":157,"column":26}},"loc":{"start":{"line":157,"column":69},"end":{"line":166,"column":1}},"line":157},"32":{"name":"(anonymous_32)","decl":{"start":{"line":167,"column":25},"end":{"line":167,"column":26}},"loc":{"start":{"line":167,"column":73},"end":{"line":177,"column":1}},"line":167},"33":{"name":"(anonymous_33)","decl":{"start":{"line":178,"column":30},"end":{"line":178,"column":31}},"loc":{"start":{"line":178,"column":85},"end":{"line":197,"column":5}},"line":178},"34":{"name":"(anonymous_34)","decl":{"start":{"line":178,"column":128},"end":{"line":178,"column":129}},"loc":{"start":{"line":178,"column":140},"end":{"line":197,"column":1}},"line":178},"35":{"name":"(anonymous_35)","decl":{"start":{"line":180,"column":29},"end":{"line":180,"column":30}},"loc":{"start":{"line":180,"column":43},"end":{"line":196,"column":5}},"line":180},"36":{"name":"(anonymous_36)","decl":{"start":{"line":198,"column":41},"end":{"line":198,"column":42}},"loc":{"start":{"line":198,"column":81},"end":{"line":201,"column":1}},"line":198},"37":{"name":"(anonymous_37)","decl":{"start":{"line":202,"column":29},"end":{"line":202,"column":30}},"loc":{"start":{"line":202,"column":50},"end":{"line":222,"column":1}},"line":202},"38":{"name":"(anonymous_38)","decl":{"start":{"line":209,"column":27},"end":{"line":209,"column":28}},"loc":{"start":{"line":209,"column":39},"end":{"line":217,"column":5}},"line":209},"39":{"name":"resolve","decl":{"start":{"line":223,"column":9},"end":{"line":223,"column":16}},"loc":{"start":{"line":223,"column":26},"end":{"line":226,"column":1}},"line":223}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":21,"column":16},"end":{"line":29,"column":1}},"type":"binary-expr","locations":[{"start":{"line":21,"column":17},"end":{"line":21,"column":21}},{"start":{"line":21,"column":25},"end":{"line":21,"column":39}},{"start":{"line":21,"column":44},"end":{"line":29,"column":1}}],"line":21},"13":{"loc":{"start":{"line":22,"column":35},"end":{"line":22,"column":109}},"type":"cond-expr","locations":[{"start":{"line":22,"column":56},"end":{"line":22,"column":61}},{"start":{"line":22,"column":64},"end":{"line":22,"column":109}}],"line":22},"14":{"loc":{"start":{"line":23,"column":16},"end":{"line":23,"column":34}},"type":"binary-expr","locations":[{"start":{"line":23,"column":16},"end":{"line":23,"column":17}},{"start":{"line":23,"column":22},"end":{"line":23,"column":33}}],"line":23},"15":{"loc":{"start":{"line":26,"column":32},"end":{"line":26,"column":115}},"type":"cond-expr","locations":[{"start":{"line":26,"column":46},"end":{"line":26,"column":67}},{"start":{"line":26,"column":70},"end":{"line":26,"column":115}}],"line":26},"16":{"loc":{"start":{"line":27,"column":51},"end":{"line":27,"column":67}},"type":"binary-expr","locations":[{"start":{"line":27,"column":51},"end":{"line":27,"column":61}},{"start":{"line":27,"column":65},"end":{"line":27,"column":67}}],"line":27},"17":{"loc":{"start":{"line":30,"column":18},"end":{"line":56,"column":1}},"type":"binary-expr","locations":[{"start":{"line":30,"column":19},"end":{"line":30,"column":23}},{"start":{"line":30,"column":27},"end":{"line":30,"column":43}},{"start":{"line":30,"column":48},"end":{"line":56,"column":1}}],"line":30},"18":{"loc":{"start":{"line":31,"column":43},"end":{"line":31,"column":68}},"type":"if","locations":[{"start":{"line":31,"column":43},"end":{"line":31,"column":68}},{"start":{"line":31,"column":43},"end":{"line":31,"column":68}}],"line":31},"19":{"loc":{"start":{"line":32,"column":71},"end":{"line":32,"column":153}},"type":"binary-expr","locations":[{"start":{"line":32,"column":71},"end":{"line":32,"column":99}},{"start":{"line":32,"column":104},"end":{"line":32,"column":152}}],"line":32},"20":{"loc":{"start":{"line":35,"column":8},"end":{"line":35,"column":70}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":70}},{"start":{"line":35,"column":8},"end":{"line":35,"column":70}}],"line":35},"21":{"loc":{"start":{"line":37,"column":12},"end":{"line":37,"column":169}},"type":"if","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":169}},{"start":{"line":37,"column":12},"end":{"line":37,"column":169}}],"line":37},"22":{"loc":{"start":{"line":37,"column":23},"end":{"line":37,"column":158}},"type":"binary-expr","locations":[{"start":{"line":37,"column":23},"end":{"line":37,"column":24}},{"start":{"line":37,"column":29},"end":{"line":37,"column":125}},{"start":{"line":37,"column":130},"end":{"line":37,"column":158}}],"line":37},"23":{"loc":{"start":{"line":37,"column":33},"end":{"line":37,"column":125}},"type":"cond-expr","locations":[{"start":{"line":37,"column":45},"end":{"line":37,"column":56}},{"start":{"line":37,"column":59},"end":{"line":37,"column":125}}],"line":37},"24":{"loc":{"start":{"line":37,"column":59},"end":{"line":37,"column":125}},"type":"cond-expr","locations":[{"start":{"line":37,"column":67},"end":{"line":37,"column":116}},{"start":{"line":37,"column":119},"end":{"line":37,"column":125}}],"line":37},"25":{"loc":{"start":{"line":37,"column":67},"end":{"line":37,"column":116}},"type":"binary-expr","locations":[{"start":{"line":37,"column":67},"end":{"line":37,"column":77}},{"start":{"line":37,"column":82},"end":{"line":37,"column":115}}],"line":37},"26":{"loc":{"start":{"line":37,"column":82},"end":{"line":37,"column":112}},"type":"binary-expr","locations":[{"start":{"line":37,"column":83},"end":{"line":37,"column":98}},{"start":{"line":37,"column":103},"end":{"line":37,"column":112}}],"line":37},"27":{"loc":{"start":{"line":38,"column":12},"end":{"line":38,"column":52}},"type":"if","locations":[{"start":{"line":38,"column":12},"end":{"line":38,"column":52}},{"start":{"line":38,"column":12},"end":{"line":38,"column":52}}],"line":38},"28":{"loc":{"start":{"line":39,"column":12},"end":{"line":51,"column":13}},"type":"switch","locations":[{"start":{"line":40,"column":16},"end":{"line":40,"column":23}},{"start":{"line":40,"column":24},"end":{"line":40,"column":46}},{"start":{"line":41,"column":16},"end":{"line":41,"column":72}},{"start":{"line":42,"column":16},"end":{"line":42,"column":65}},{"start":{"line":43,"column":16},"end":{"line":43,"column":65}},{"start":{"line":44,"column":16},"end":{"line":50,"column":43}}],"line":39},"29":{"loc":{"start":{"line":45,"column":20},"end":{"line":45,"column":128}},"type":"if","locations":[{"start":{"line":45,"column":20},"end":{"line":45,"column":128}},{"start":{"line":45,"column":20},"end":{"line":45,"column":128}}],"line":45},"30":{"loc":{"start":{"line":45,"column":24},"end":{"line":45,"column":106}},"type":"binary-expr","locations":[{"start":{"line":45,"column":24},"end":{"line":45,"column":74}},{"start":{"line":45,"column":79},"end":{"line":45,"column":90}},{"start":{"line":45,"column":94},"end":{"line":45,"column":105}}],"line":45},"31":{"loc":{"start":{"line":45,"column":42},"end":{"line":45,"column":73}},"type":"binary-expr","locations":[{"start":{"line":45,"column":42},"end":{"line":45,"column":54}},{"start":{"line":45,"column":58},"end":{"line":45,"column":73}}],"line":45},"32":{"loc":{"start":{"line":46,"column":20},"end":{"line":46,"column":106}},"type":"if","locations":[{"start":{"line":46,"column":20},"end":{"line":46,"column":106}},{"start":{"line":46,"column":20},"end":{"line":46,"column":106}}],"line":46},"33":{"loc":{"start":{"line":46,"column":24},"end":{"line":46,"column":77}},"type":"binary-expr","locations":[{"start":{"line":46,"column":24},"end":{"line":46,"column":35}},{"start":{"line":46,"column":40},"end":{"line":46,"column":42}},{"start":{"line":46,"column":47},"end":{"line":46,"column":59}},{"start":{"line":46,"column":63},"end":{"line":46,"column":75}}],"line":46},"34":{"loc":{"start":{"line":47,"column":20},"end":{"line":47,"column":89}},"type":"if","locations":[{"start":{"line":47,"column":20},"end":{"line":47,"column":89}},{"start":{"line":47,"column":20},"end":{"line":47,"column":89}}],"line":47},"35":{"loc":{"start":{"line":47,"column":24},"end":{"line":47,"column":53}},"type":"binary-expr","locations":[{"start":{"line":47,"column":24},"end":{"line":47,"column":35}},{"start":{"line":47,"column":39},"end":{"line":47,"column":53}}],"line":47},"36":{"loc":{"start":{"line":48,"column":20},"end":{"line":48,"column":87}},"type":"if","locations":[{"start":{"line":48,"column":20},"end":{"line":48,"column":87}},{"start":{"line":48,"column":20},"end":{"line":48,"column":87}}],"line":48},"37":{"loc":{"start":{"line":48,"column":24},"end":{"line":48,"column":43}},"type":"binary-expr","locations":[{"start":{"line":48,"column":24},"end":{"line":48,"column":25}},{"start":{"line":48,"column":29},"end":{"line":48,"column":43}}],"line":48},"38":{"loc":{"start":{"line":49,"column":20},"end":{"line":49,"column":42}},"type":"if","locations":[{"start":{"line":49,"column":20},"end":{"line":49,"column":42}},{"start":{"line":49,"column":20},"end":{"line":49,"column":42}}],"line":49},"39":{"loc":{"start":{"line":54,"column":8},"end":{"line":54,"column":35}},"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":54,"column":35}},{"start":{"line":54,"column":8},"end":{"line":54,"column":35}}],"line":54},"40":{"loc":{"start":{"line":54,"column":52},"end":{"line":54,"column":74}},"type":"cond-expr","locations":[{"start":{"line":54,"column":60},"end":{"line":54,"column":65}},{"start":{"line":54,"column":68},"end":{"line":54,"column":74}}],"line":54},"41":{"loc":{"start":{"line":72,"column":30},"end":{"line":72,"column":72}},"type":"binary-expr","locations":[{"start":{"line":72,"column":30},"end":{"line":72,"column":44}},{"start":{"line":72,"column":48},"end":{"line":72,"column":72}}],"line":72},"42":{"loc":{"start":{"line":73,"column":39},"end":{"line":76,"column":88}},"type":"binary-expr","locations":[{"start":{"line":73,"column":39},"end":{"line":73,"column":61}},{"start":{"line":74,"column":12},"end":{"line":74,"column":41}},{"start":{"line":75,"column":12},"end":{"line":75,"column":27}},{"start":{"line":76,"column":12},"end":{"line":76,"column":88}}],"line":73},"43":{"loc":{"start":{"line":77,"column":8},"end":{"line":89,"column":9}},"type":"if","locations":[{"start":{"line":77,"column":8},"end":{"line":89,"column":9}},{"start":{"line":77,"column":8},"end":{"line":89,"column":9}}],"line":77},"44":{"loc":{"start":{"line":77,"column":12},"end":{"line":77,"column":55}},"type":"binary-expr","locations":[{"start":{"line":77,"column":12},"end":{"line":77,"column":27}},{"start":{"line":77,"column":31},"end":{"line":77,"column":55}}],"line":77},"45":{"loc":{"start":{"line":84,"column":12},"end":{"line":86,"column":13}},"type":"if","locations":[{"start":{"line":84,"column":12},"end":{"line":86,"column":13}},{"start":{"line":84,"column":12},"end":{"line":86,"column":13}}],"line":84},"46":{"loc":{"start":{"line":84,"column":16},"end":{"line":84,"column":68}},"type":"binary-expr","locations":[{"start":{"line":84,"column":16},"end":{"line":84,"column":43}},{"start":{"line":84,"column":47},"end":{"line":84,"column":68}}],"line":84},"47":{"loc":{"start":{"line":100,"column":4},"end":{"line":113,"column":5}},"type":"switch","locations":[{"start":{"line":101,"column":8},"end":{"line":101,"column":59}},{"start":{"line":102,"column":8},"end":{"line":104,"column":18}},{"start":{"line":105,"column":8},"end":{"line":107,"column":18}},{"start":{"line":108,"column":8},"end":{"line":110,"column":18}},{"start":{"line":111,"column":8},"end":{"line":112,"column":80}}],"line":100},"48":{"loc":{"start":{"line":118,"column":4},"end":{"line":120,"column":5}},"type":"if","locations":[{"start":{"line":118,"column":4},"end":{"line":120,"column":5}},{"start":{"line":118,"column":4},"end":{"line":120,"column":5}}],"line":118},"49":{"loc":{"start":{"line":128,"column":8},"end":{"line":133,"column":9}},"type":"if","locations":[{"start":{"line":128,"column":8},"end":{"line":133,"column":9}},{"start":{"line":128,"column":8},"end":{"line":133,"column":9}}],"line":128},"50":{"loc":{"start":{"line":154,"column":13},"end":{"line":154,"column":136}},"type":"binary-expr","locations":[{"start":{"line":154,"column":13},"end":{"line":154,"column":51}},{"start":{"line":154,"column":55},"end":{"line":154,"column":136}}],"line":154},"51":{"loc":{"start":{"line":147,"column":8},"end":{"line":152,"column":9}},"type":"if","locations":[{"start":{"line":147,"column":8},"end":{"line":152,"column":9}},{"start":{"line":147,"column":8},"end":{"line":152,"column":9}}],"line":147},"52":{"loc":{"start":{"line":159,"column":4},"end":{"line":164,"column":5}},"type":"if","locations":[{"start":{"line":159,"column":4},"end":{"line":164,"column":5}},{"start":{"line":159,"column":4},"end":{"line":164,"column":5}}],"line":159},"53":{"loc":{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},"type":"if","locations":[{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},{"start":{"line":171,"column":8},"end":{"line":173,"column":9}}],"line":171},"54":{"loc":{"start":{"line":181,"column":8},"end":{"line":195,"column":9}},"type":"switch","locations":[{"start":{"line":182,"column":12},"end":{"line":182,"column":46}},{"start":{"line":183,"column":12},"end":{"line":186,"column":29}},{"start":{"line":187,"column":12},"end":{"line":189,"column":62}},{"start":{"line":190,"column":12},"end":{"line":193,"column":30}},{"start":{"line":194,"column":12},"end":{"line":194,"column":39}}],"line":181},"55":{"loc":{"start":{"line":188,"column":16},"end":{"line":188,"column":53}},"type":"if","locations":[{"start":{"line":188,"column":16},"end":{"line":188,"column":53}},{"start":{"line":188,"column":16},"end":{"line":188,"column":53}}],"line":188},"56":{"loc":{"start":{"line":200,"column":11},"end":{"line":200,"column":108}},"type":"cond-expr","locations":[{"start":{"line":200,"column":51},"end":{"line":200,"column":94}},{"start":{"line":200,"column":97},"end":{"line":200,"column":108}}],"line":200},"57":{"loc":{"start":{"line":211,"column":8},"end":{"line":216,"column":9}},"type":"if","locations":[{"start":{"line":211,"column":8},"end":{"line":216,"column":9}},{"start":{"line":211,"column":8},"end":{"line":216,"column":9}}],"line":211}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":20,"23":0,"24":17,"25":20,"26":20,"27":0,"28":0,"29":0,"30":0,"31":37,"32":17,"33":1,"34":17,"35":20,"36":0,"37":20,"38":17,"39":0,"40":51,"41":37,"42":37,"43":0,"44":37,"45":94,"46":94,"47":0,"48":94,"49":0,"50":94,"51":37,"52":37,"53":20,"54":20,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":37,"63":17,"64":17,"65":20,"66":20,"67":20,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":57,"81":0,"82":0,"83":94,"84":17,"85":0,"86":17,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1692,"99":1482,"100":1482,"101":1482,"102":1482,"103":1482,"104":1482,"105":48,"106":84,"107":84,"108":1434,"109":4,"110":1430,"111":1430,"112":1,"113":422,"114":421,"115":421,"116":1,"117":1,"118":1356,"119":1356,"120":1354,"121":74,"122":74,"123":4,"124":4,"125":854,"126":516,"127":422,"128":682,"129":1,"130":1430,"131":1430,"132":74,"133":1356,"134":682,"135":682,"136":1,"137":1430,"138":1356,"139":682,"140":81,"141":77,"142":601,"143":682,"144":678,"145":678,"146":678,"147":678,"148":690,"149":690,"150":690,"151":690,"152":690,"153":5,"154":685,"155":690,"156":678,"157":1,"158":678,"159":18,"160":660,"161":678,"162":1,"163":685,"164":685,"165":25,"166":25,"167":12,"168":13,"169":673,"170":1,"171":17,"172":17,"173":57,"174":17,"175":17,"176":17,"177":17,"178":20,"179":17,"180":3,"181":3,"182":3,"183":3,"184":17,"185":1,"186":690,"187":690,"188":1,"189":678,"190":678,"191":678,"192":25,"193":25,"194":678,"195":1368,"196":1368,"197":699,"198":669,"199":678,"200":678,"201":754,"202":754,"203":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":17,"7":20,"8":0,"9":17,"10":20,"11":0,"12":37,"13":17,"14":20,"15":0,"16":51,"17":37,"18":37,"19":1692,"20":1482,"21":84,"22":422,"23":421,"24":1,"25":1356,"26":1430,"27":1430,"28":1356,"29":77,"30":678,"31":678,"32":685,"33":17,"34":17,"35":57,"36":690,"37":678,"38":1368,"39":754},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,1,1],"13":[20,0],"14":[17,17],"15":[17,20],"16":[17,17],"17":[1,1,1],"18":[0,20],"19":[17,17],"20":[0,37],"21":[0,94],"22":[94,0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,94],"28":[37,37,20,0,0,37],"29":[17,20],"30":[37,37,37],"31":[37,0],"32":[20,0],"33":[20,20,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,17],"40":[17,0],"41":[1482,1482],"42":[1482,728,728,728],"43":[48,1434],"44":[1482,132],"45":[4,1430],"46":[1434,10],"47":[71,74,4,854,422],"48":[74,1356],"49":[81,601],"50":[690,21],"51":[5,685],"52":[18,660],"53":[12,13],"54":[17,17,20,3,17],"55":[17,3],"56":[24,666],"57":[699,669]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/resolution/resolver.ts","sources":["X:/Code/InversifyJS/src/resolution/resolver.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { BindingTypeEnum } from '../constants/literal_types';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { getBindingDictionary } from '../planning/planner';\r\nimport { saveToScope, tryGetFromScope } from '../scope/scope';\r\nimport { isPromise } from '../utils/async';\r\nimport { getFactoryDetails, ensureFullyBound } from '../utils/binding_utils';\r\nimport { tryAndThrowErrorIfStackOverflow } from '../utils/exceptions';\r\nimport { resolveInstance } from './instantiation';\r\n\r\nconst _resolveRequest = <T>(requestScope: interfaces.RequestScope) =>\r\n (request: interfaces.Request): undefined | T | Promise<T> | (T | Promise<T>)[] => {\r\n\r\n request.parentContext.setCurrentRequest(request);\r\n\r\n const bindings = request.bindings;\r\n const childRequests = request.childRequests;\r\n\r\n const targetIsAnArray = request.target && request.target.isArray();\r\n\r\n const targetParentIsNotAnArray = !request.parentRequest ||\r\n !request.parentRequest.target ||\r\n !request.target ||\r\n !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);\r\n\r\n if (targetIsAnArray && targetParentIsNotAnArray) {\r\n\r\n // Create an array instead of creating an instance\r\n return childRequests.map((childRequest: interfaces.Request) => {\r\n const _f = _resolveRequest(requestScope);\r\n return _f(childRequest) as T | Promise<T>;\r\n });\r\n\r\n } else {\r\n if (request.target.isOptional() && bindings.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const binding = bindings[0];\r\n\r\n return _resolveBinding<T>(requestScope, request, binding as unknown as interfaces.Binding<T>);\r\n }\r\n };\r\n\r\nconst _resolveFactoryFromBinding = <T>(\r\n binding: interfaces.Binding<T>,\r\n context: interfaces.Context\r\n): T | Promise<T> => {\r\n const factoryDetails = getFactoryDetails(binding);\r\n return tryAndThrowErrorIfStackOverflow(\r\n () => (factoryDetails.factory as interfaces.FactoryTypeFunction<T>).bind(binding)(context),\r\n () => new Error(\r\n ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryDetails.factoryType, context.currentRequest.serviceIdentifier.toString()\r\n ),\r\n ));\r\n}\r\n\r\nconst _getResolvedFromBinding = <T = unknown>(\r\n requestScope: interfaces.RequestScope,\r\n request: interfaces.Request,\r\n binding: interfaces.Binding<T>,\r\n): T | Promise<T> => {\r\n let result: T | Promise<T> | undefined;\r\n const childRequests = request.childRequests;\r\n\r\n ensureFullyBound(binding);\r\n\r\n switch (binding.type) {\r\n case BindingTypeEnum.ConstantValue:\r\n case BindingTypeEnum.Function:\r\n result = binding.cache as T | Promise<T>;\r\n break;\r\n case BindingTypeEnum.Constructor:\r\n result = binding.implementationType as T;\r\n break;\r\n case BindingTypeEnum.Instance:\r\n result = resolveInstance<T>(\r\n binding,\r\n binding.implementationType as interfaces.Newable<T>,\r\n childRequests,\r\n _resolveRequest<T>(requestScope)\r\n );\r\n break;\r\n default:\r\n result = _resolveFactoryFromBinding(binding, request.parentContext);\r\n }\r\n\r\n return result as T | Promise<T>;\r\n}\r\n\r\nconst _resolveInScope = <T>(\r\n requestScope: interfaces.RequestScope,\r\n binding: interfaces.Binding<T>,\r\n resolveFromBinding: () => T | Promise<T>\r\n): T | Promise<T> => {\r\n let result = tryGetFromScope<T>(requestScope, binding);\r\n if (result !== null) {\r\n return result;\r\n }\r\n result = resolveFromBinding();\r\n saveToScope(requestScope, binding, result);\r\n return result;\r\n}\r\n\r\nconst _resolveBinding = <T>(\r\n requestScope: interfaces.RequestScope,\r\n request: interfaces.Request,\r\n binding: interfaces.Binding<T>,\r\n): T | Promise<T> => {\r\n return _resolveInScope<T>(requestScope, binding, () => {\r\n let result = _getResolvedFromBinding(requestScope, request, binding);\r\n if (isPromise(result)) {\r\n result = result.then((resolved) => _onActivation(request, binding, resolved));\r\n } else {\r\n result = _onActivation<T>(request, binding, result);\r\n }\r\n return result;\r\n })\r\n}\r\n\r\nfunction _onActivation<T>(request: interfaces.Request, binding: interfaces.Binding<T>, resolved: T): T | Promise<T> {\r\n let result = _bindingActivation(request.parentContext, binding, resolved);\r\n\r\n const containersIterator = _getContainersIterator(request.parentContext.container);\r\n\r\n let container: interfaces.Container;\r\n let containersIteratorResult = containersIterator.next();\r\n\r\n do {\r\n container = containersIteratorResult.value;\r\n const context = request.parentContext;\r\n const serviceIdentifier = request.serviceIdentifier;\r\n const activationsIterator = _getContainerActivationsForService(container, serviceIdentifier);\r\n\r\n if (isPromise(result)) {\r\n result = _activateContainerAsync<T>(activationsIterator as Iterator<interfaces.BindingActivation<T>>, context, result);\r\n } else {\r\n result = _activateContainer<T>(activationsIterator as Iterator<interfaces.BindingActivation<T>>, context, result);\r\n }\r\n\r\n containersIteratorResult = containersIterator.next();\r\n\r\n // make sure if we are currently on the container that owns the binding, not to keep looping down to child containers\r\n } while (containersIteratorResult.done !== true && !getBindingDictionary(container).hasKey(request.serviceIdentifier));\r\n\r\n return result;\r\n}\r\n\r\nconst _bindingActivation = <T>(context: interfaces.Context, binding: interfaces.Binding<T>, previousResult: T): T | Promise<T> => {\r\n let result: T | Promise<T>;\r\n\r\n // use activation handler if available\r\n if (typeof binding.onActivation === 'function') {\r\n result = binding.onActivation(context, previousResult);\r\n } else {\r\n result = previousResult;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nconst _activateContainer = <T>(\r\n activationsIterator: Iterator<interfaces.BindingActivation<T>>,\r\n context: interfaces.Context,\r\n result: T,\r\n): T | Promise<T> => {\r\n let activation = activationsIterator.next();\r\n\r\n while (!activation.done) {\r\n result = activation.value(context, result) as T;\r\n\r\n if (isPromise<T>(result)) {\r\n return _activateContainerAsync(activationsIterator, context, result);\r\n }\r\n\r\n activation = activationsIterator.next();\r\n }\r\n\r\n return result;\r\n}\r\n\r\nconst _activateContainerAsync = async<T>(\r\n activationsIterator: Iterator<interfaces.BindingActivation<T>>,\r\n context: interfaces.Context,\r\n resultPromise: Promise<T>,\r\n): Promise<T> => {\r\n let result = await resultPromise;\r\n let activation = activationsIterator.next();\r\n\r\n while (!activation.done) {\r\n result = await activation.value(context, result);\r\n\r\n activation = activationsIterator.next();\r\n }\r\n\r\n return result;\r\n}\r\n\r\nconst _getContainerActivationsForService = <T>(container: interfaces.Container, serviceIdentifier: interfaces.ServiceIdentifier<T>) => {\r\n // smell accessing _activations, but similar pattern is done in planner.getBindingDictionary()\r\n const activations = (container as unknown as { _activations: interfaces.Lookup<interfaces.BindingActivation<unknown>> })._activations;\r\n\r\n return activations.hasKey(serviceIdentifier) ? activations.get(serviceIdentifier).values() : [].values();\r\n}\r\n\r\nconst _getContainersIterator = (container: interfaces.Container): Iterator<interfaces.Container> => {\r\n const containersStack: interfaces.Container[] = [container];\r\n\r\n let parent = container.parent;\r\n\r\n while (parent !== null) {\r\n containersStack.push(parent);\r\n\r\n parent = parent.parent;\r\n }\r\n\r\n const getNextContainer: () => IteratorResult<interfaces.Container> = () => {\r\n const nextContainer = containersStack.pop();\r\n\r\n if (nextContainer !== undefined) {\r\n return { done: false, value: nextContainer };\r\n } else {\r\n return { done: true, value: undefined };\r\n }\r\n };\r\n\r\n const containersIterator: Iterator<interfaces.Container> = {\r\n next: getNextContainer,\r\n };\r\n\r\n return containersIterator;\r\n}\r\n\r\nfunction resolve<T>(context: interfaces.Context): T | Promise<T> | (T | Promise<T>)[] {\r\n const _f = _resolveRequest<T>(context.plan.rootRequest.requestScope as interfaces.RequestScope);\r\n return _f(context.plan.rootRequest) as T | Promise<T> | (T | Promise<T>)[];\r\n}\r\n\r\nexport { resolve };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5c7201d4f34e2d7dc6c90f3551fa4e1d6f2e211d","contentHash":"df80f3553c77c312165a294b1a4e559e4e0e8bb51f4a0056886e646bd4bcda87"},"X:\\Code\\InversifyJS\\src\\scope\\scope.ts":{"path":"X:\\Code\\InversifyJS\\src\\scope\\scope.ts","statementMap":{"0":{"start":{"line":2,"column":16},"end":{"line":10,"column":1}},"1":{"start":{"line":3,"column":28},"end":{"line":3,"column":110}},"2":{"start":{"line":3,"column":91},"end":{"line":3,"column":106}},"3":{"start":{"line":4,"column":4},"end":{"line":9,"column":7}},"4":{"start":{"line":5,"column":36},"end":{"line":5,"column":97}},"5":{"start":{"line":5,"column":42},"end":{"line":5,"column":70}},"6":{"start":{"line":5,"column":85},"end":{"line":5,"column":95}},"7":{"start":{"line":6,"column":35},"end":{"line":6,"column":100}},"8":{"start":{"line":6,"column":41},"end":{"line":6,"column":73}},"9":{"start":{"line":6,"column":88},"end":{"line":6,"column":98}},"10":{"start":{"line":7,"column":32},"end":{"line":7,"column":116}},"11":{"start":{"line":8,"column":8},"end":{"line":8,"column":78}},"12":{"start":{"line":11,"column":18},"end":{"line":37,"column":1}},"13":{"start":{"line":12,"column":12},"end":{"line":12,"column":104}},"14":{"start":{"line":12,"column":43},"end":{"line":12,"column":68}},"15":{"start":{"line":12,"column":57},"end":{"line":12,"column":68}},"16":{"start":{"line":12,"column":69},"end":{"line":12,"column":81}},"17":{"start":{"line":13,"column":4},"end":{"line":13,"column":157}},"18":{"start":{"line":13,"column":138},"end":{"line":13,"column":150}},"19":{"start":{"line":14,"column":23},"end":{"line":14,"column":68}},"20":{"start":{"line":14,"column":45},"end":{"line":14,"column":65}},"21":{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},"22":{"start":{"line":16,"column":15},"end":{"line":16,"column":70}},"23":{"start":{"line":17,"column":8},"end":{"line":34,"column":66}},"24":{"start":{"line":17,"column":18},"end":{"line":34,"column":66}},"25":{"start":{"line":18,"column":12},"end":{"line":18,"column":169}},"26":{"start":{"line":18,"column":160},"end":{"line":18,"column":169}},"27":{"start":{"line":19,"column":12},"end":{"line":19,"column":52}},"28":{"start":{"line":19,"column":26},"end":{"line":19,"column":52}},"29":{"start":{"line":20,"column":12},"end":{"line":32,"column":13}},"30":{"start":{"line":21,"column":32},"end":{"line":21,"column":39}},"31":{"start":{"line":21,"column":40},"end":{"line":21,"column":46}},"32":{"start":{"line":22,"column":24},"end":{"line":22,"column":34}},"33":{"start":{"line":22,"column":35},"end":{"line":22,"column":72}},"34":{"start":{"line":23,"column":24},"end":{"line":23,"column":34}},"35":{"start":{"line":23,"column":35},"end":{"line":23,"column":45}},"36":{"start":{"line":23,"column":46},"end":{"line":23,"column":55}},"37":{"start":{"line":23,"column":56},"end":{"line":23,"column":65}},"38":{"start":{"line":24,"column":24},"end":{"line":24,"column":41}},"39":{"start":{"line":24,"column":42},"end":{"line":24,"column":55}},"40":{"start":{"line":24,"column":56},"end":{"line":24,"column":65}},"41":{"start":{"line":26,"column":20},"end":{"line":26,"column":128}},"42":{"start":{"line":26,"column":110},"end":{"line":26,"column":116}},"43":{"start":{"line":26,"column":117},"end":{"line":26,"column":126}},"44":{"start":{"line":27,"column":20},"end":{"line":27,"column":106}},"45":{"start":{"line":27,"column":81},"end":{"line":27,"column":97}},"46":{"start":{"line":27,"column":98},"end":{"line":27,"column":104}},"47":{"start":{"line":28,"column":20},"end":{"line":28,"column":89}},"48":{"start":{"line":28,"column":57},"end":{"line":28,"column":72}},"49":{"start":{"line":28,"column":73},"end":{"line":28,"column":80}},"50":{"start":{"line":28,"column":81},"end":{"line":28,"column":87}},"51":{"start":{"line":29,"column":20},"end":{"line":29,"column":87}},"52":{"start":{"line":29,"column":47},"end":{"line":29,"column":62}},"53":{"start":{"line":29,"column":63},"end":{"line":29,"column":78}},"54":{"start":{"line":29,"column":79},"end":{"line":29,"column":85}},"55":{"start":{"line":30,"column":20},"end":{"line":30,"column":42}},"56":{"start":{"line":30,"column":30},"end":{"line":30,"column":42}},"57":{"start":{"line":31,"column":20},"end":{"line":31,"column":33}},"58":{"start":{"line":31,"column":34},"end":{"line":31,"column":43}},"59":{"start":{"line":33,"column":12},"end":{"line":33,"column":39}},"60":{"start":{"line":34,"column":22},"end":{"line":34,"column":34}},"61":{"start":{"line":34,"column":35},"end":{"line":34,"column":41}},"62":{"start":{"line":34,"column":54},"end":{"line":34,"column":64}},"63":{"start":{"line":35,"column":8},"end":{"line":35,"column":35}},"64":{"start":{"line":35,"column":23},"end":{"line":35,"column":35}},"65":{"start":{"line":35,"column":36},"end":{"line":35,"column":89}},"66":{"start":{"line":38,"column":0},"end":{"line":38,"column":62}},"67":{"start":{"line":39,"column":0},"end":{"line":39,"column":55}},"68":{"start":{"line":40,"column":22},"end":{"line":40,"column":59}},"69":{"start":{"line":41,"column":14},"end":{"line":41,"column":39}},"70":{"start":{"line":42,"column":22},"end":{"line":51,"column":1}},"71":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"72":{"start":{"line":44,"column":8},"end":{"line":44,"column":29}},"73":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"74":{"start":{"line":48,"column":8},"end":{"line":48,"column":44}},"75":{"start":{"line":50,"column":4},"end":{"line":50,"column":16}},"76":{"start":{"line":52,"column":0},"end":{"line":52,"column":42}},"77":{"start":{"line":53,"column":18},"end":{"line":60,"column":1}},"78":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"79":{"start":{"line":55,"column":8},"end":{"line":55,"column":47}},"80":{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},"81":{"start":{"line":58,"column":8},"end":{"line":58,"column":59}},"82":{"start":{"line":61,"column":0},"end":{"line":61,"column":34}},"83":{"start":{"line":62,"column":26},"end":{"line":66,"column":1}},"84":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"85":{"start":{"line":64,"column":8},"end":{"line":64,"column":45}},"86":{"start":{"line":67,"column":28},"end":{"line":73,"column":1}},"87":{"start":{"line":68,"column":4},"end":{"line":68,"column":27}},"88":{"start":{"line":69,"column":4},"end":{"line":69,"column":29}},"89":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"90":{"start":{"line":71,"column":8},"end":{"line":71,"column":63}},"91":{"start":{"line":74,"column":39},"end":{"line":93,"column":5}},"92":{"start":{"line":74,"column":73},"end":{"line":93,"column":3}},"93":{"start":{"line":76,"column":4},"end":{"line":92,"column":7}},"94":{"start":{"line":77,"column":8},"end":{"line":91,"column":9}},"95":{"start":{"line":79,"column":16},"end":{"line":79,"column":42}},"96":{"start":{"line":80,"column":16},"end":{"line":80,"column":40}},"97":{"start":{"line":82,"column":16},"end":{"line":82,"column":35}},"98":{"start":{"line":83,"column":16},"end":{"line":83,"column":39}},"99":{"start":{"line":84,"column":16},"end":{"line":84,"column":30}},"100":{"start":{"line":86,"column":16},"end":{"line":86,"column":33}},"101":{"start":{"line":87,"column":16},"end":{"line":87,"column":37}},"102":{"start":{"line":88,"column":16},"end":{"line":88,"column":42}},"103":{"start":{"line":89,"column":16},"end":{"line":89,"column":27}},"104":{"start":{"line":90,"column":20},"end":{"line":90,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":44},"end":{"line":2,"column":45}},"loc":{"start":{"line":2,"column":89},"end":{"line":10,"column":1}},"line":2},"1":{"name":"adopt","decl":{"start":{"line":3,"column":13},"end":{"line":3,"column":18}},"loc":{"start":{"line":3,"column":26},"end":{"line":3,"column":112}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":3,"column":70},"end":{"line":3,"column":71}},"loc":{"start":{"line":3,"column":89},"end":{"line":3,"column":108}},"line":3},"3":{"name":"(anonymous_3)","decl":{"start":{"line":4,"column":36},"end":{"line":4,"column":37}},"loc":{"start":{"line":4,"column":63},"end":{"line":9,"column":5}},"line":4},"4":{"name":"fulfilled","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":26}},"loc":{"start":{"line":5,"column":34},"end":{"line":5,"column":99}},"line":5},"5":{"name":"rejected","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":25}},"loc":{"start":{"line":6,"column":33},"end":{"line":6,"column":102}},"line":6},"6":{"name":"step","decl":{"start":{"line":7,"column":17},"end":{"line":7,"column":21}},"loc":{"start":{"line":7,"column":30},"end":{"line":7,"column":118}},"line":7},"7":{"name":"(anonymous_7)","decl":{"start":{"line":11,"column":48},"end":{"line":11,"column":49}},"loc":{"start":{"line":11,"column":73},"end":{"line":37,"column":1}},"line":11},"8":{"name":"(anonymous_8)","decl":{"start":{"line":12,"column":30},"end":{"line":12,"column":31}},"loc":{"start":{"line":12,"column":41},"end":{"line":12,"column":83}},"line":12},"9":{"name":"(anonymous_9)","decl":{"start":{"line":13,"column":125},"end":{"line":13,"column":126}},"loc":{"start":{"line":13,"column":136},"end":{"line":13,"column":152}},"line":13},"10":{"name":"verb","decl":{"start":{"line":14,"column":13},"end":{"line":14,"column":17}},"loc":{"start":{"line":14,"column":21},"end":{"line":14,"column":70}},"line":14},"11":{"name":"(anonymous_11)","decl":{"start":{"line":14,"column":30},"end":{"line":14,"column":31}},"loc":{"start":{"line":14,"column":43},"end":{"line":14,"column":67}},"line":14},"12":{"name":"step","decl":{"start":{"line":15,"column":13},"end":{"line":15,"column":17}},"loc":{"start":{"line":15,"column":22},"end":{"line":36,"column":5}},"line":15},"13":{"name":"(anonymous_13)","decl":{"start":{"line":42,"column":22},"end":{"line":42,"column":23}},"loc":{"start":{"line":42,"column":55},"end":{"line":51,"column":1}},"line":42},"14":{"name":"(anonymous_14)","decl":{"start":{"line":53,"column":18},"end":{"line":53,"column":19}},"loc":{"start":{"line":53,"column":59},"end":{"line":60,"column":1}},"line":53},"15":{"name":"(anonymous_15)","decl":{"start":{"line":62,"column":26},"end":{"line":62,"column":27}},"loc":{"start":{"line":62,"column":67},"end":{"line":66,"column":1}},"line":62},"16":{"name":"(anonymous_16)","decl":{"start":{"line":67,"column":28},"end":{"line":67,"column":29}},"loc":{"start":{"line":67,"column":55},"end":{"line":73,"column":1}},"line":67},"17":{"name":"(anonymous_17)","decl":{"start":{"line":74,"column":39},"end":{"line":74,"column":40}},"loc":{"start":{"line":74,"column":71},"end":{"line":93,"column":5}},"line":74},"18":{"name":"(anonymous_18)","decl":{"start":{"line":74,"column":114},"end":{"line":74,"column":115}},"loc":{"start":{"line":74,"column":126},"end":{"line":93,"column":1}},"line":74},"19":{"name":"(anonymous_19)","decl":{"start":{"line":76,"column":29},"end":{"line":76,"column":30}},"loc":{"start":{"line":76,"column":43},"end":{"line":92,"column":5}},"line":76}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":16},"end":{"line":10,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":17},"end":{"line":2,"column":21}},{"start":{"line":2,"column":25},"end":{"line":2,"column":39}},{"start":{"line":2,"column":44},"end":{"line":10,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":35},"end":{"line":3,"column":109}},"type":"cond-expr","locations":[{"start":{"line":3,"column":56},"end":{"line":3,"column":61}},{"start":{"line":3,"column":64},"end":{"line":3,"column":109}}],"line":3},"2":{"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":34}},"type":"binary-expr","locations":[{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},{"start":{"line":4,"column":22},"end":{"line":4,"column":33}}],"line":4},"3":{"loc":{"start":{"line":7,"column":32},"end":{"line":7,"column":115}},"type":"cond-expr","locations":[{"start":{"line":7,"column":46},"end":{"line":7,"column":67}},{"start":{"line":7,"column":70},"end":{"line":7,"column":115}}],"line":7},"4":{"loc":{"start":{"line":8,"column":51},"end":{"line":8,"column":67}},"type":"binary-expr","locations":[{"start":{"line":8,"column":51},"end":{"line":8,"column":61}},{"start":{"line":8,"column":65},"end":{"line":8,"column":67}}],"line":8},"5":{"loc":{"start":{"line":11,"column":18},"end":{"line":37,"column":1}},"type":"binary-expr","locations":[{"start":{"line":11,"column":19},"end":{"line":11,"column":23}},{"start":{"line":11,"column":27},"end":{"line":11,"column":43}},{"start":{"line":11,"column":48},"end":{"line":37,"column":1}}],"line":11},"6":{"loc":{"start":{"line":12,"column":43},"end":{"line":12,"column":68}},"type":"if","locations":[{"start":{"line":12,"column":43},"end":{"line":12,"column":68}},{"start":{"line":12,"column":43},"end":{"line":12,"column":68}}],"line":12},"7":{"loc":{"start":{"line":13,"column":71},"end":{"line":13,"column":153}},"type":"binary-expr","locations":[{"start":{"line":13,"column":71},"end":{"line":13,"column":99}},{"start":{"line":13,"column":104},"end":{"line":13,"column":152}}],"line":13},"8":{"loc":{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},{"start":{"line":16,"column":8},"end":{"line":16,"column":70}}],"line":16},"9":{"loc":{"start":{"line":18,"column":12},"end":{"line":18,"column":169}},"type":"if","locations":[{"start":{"line":18,"column":12},"end":{"line":18,"column":169}},{"start":{"line":18,"column":12},"end":{"line":18,"column":169}}],"line":18},"10":{"loc":{"start":{"line":18,"column":23},"end":{"line":18,"column":158}},"type":"binary-expr","locations":[{"start":{"line":18,"column":23},"end":{"line":18,"column":24}},{"start":{"line":18,"column":29},"end":{"line":18,"column":125}},{"start":{"line":18,"column":130},"end":{"line":18,"column":158}}],"line":18},"11":{"loc":{"start":{"line":18,"column":33},"end":{"line":18,"column":125}},"type":"cond-expr","locations":[{"start":{"line":18,"column":45},"end":{"line":18,"column":56}},{"start":{"line":18,"column":59},"end":{"line":18,"column":125}}],"line":18},"12":{"loc":{"start":{"line":18,"column":59},"end":{"line":18,"column":125}},"type":"cond-expr","locations":[{"start":{"line":18,"column":67},"end":{"line":18,"column":116}},{"start":{"line":18,"column":119},"end":{"line":18,"column":125}}],"line":18},"13":{"loc":{"start":{"line":18,"column":67},"end":{"line":18,"column":116}},"type":"binary-expr","locations":[{"start":{"line":18,"column":67},"end":{"line":18,"column":77}},{"start":{"line":18,"column":82},"end":{"line":18,"column":115}}],"line":18},"14":{"loc":{"start":{"line":18,"column":82},"end":{"line":18,"column":112}},"type":"binary-expr","locations":[{"start":{"line":18,"column":83},"end":{"line":18,"column":98}},{"start":{"line":18,"column":103},"end":{"line":18,"column":112}}],"line":18},"15":{"loc":{"start":{"line":19,"column":12},"end":{"line":19,"column":52}},"type":"if","locations":[{"start":{"line":19,"column":12},"end":{"line":19,"column":52}},{"start":{"line":19,"column":12},"end":{"line":19,"column":52}}],"line":19},"16":{"loc":{"start":{"line":20,"column":12},"end":{"line":32,"column":13}},"type":"switch","locations":[{"start":{"line":21,"column":16},"end":{"line":21,"column":23}},{"start":{"line":21,"column":24},"end":{"line":21,"column":46}},{"start":{"line":22,"column":16},"end":{"line":22,"column":72}},{"start":{"line":23,"column":16},"end":{"line":23,"column":65}},{"start":{"line":24,"column":16},"end":{"line":24,"column":65}},{"start":{"line":25,"column":16},"end":{"line":31,"column":43}}],"line":20},"17":{"loc":{"start":{"line":26,"column":20},"end":{"line":26,"column":128}},"type":"if","locations":[{"start":{"line":26,"column":20},"end":{"line":26,"column":128}},{"start":{"line":26,"column":20},"end":{"line":26,"column":128}}],"line":26},"18":{"loc":{"start":{"line":26,"column":24},"end":{"line":26,"column":106}},"type":"binary-expr","locations":[{"start":{"line":26,"column":24},"end":{"line":26,"column":74}},{"start":{"line":26,"column":79},"end":{"line":26,"column":90}},{"start":{"line":26,"column":94},"end":{"line":26,"column":105}}],"line":26},"19":{"loc":{"start":{"line":26,"column":42},"end":{"line":26,"column":73}},"type":"binary-expr","locations":[{"start":{"line":26,"column":42},"end":{"line":26,"column":54}},{"start":{"line":26,"column":58},"end":{"line":26,"column":73}}],"line":26},"20":{"loc":{"start":{"line":27,"column":20},"end":{"line":27,"column":106}},"type":"if","locations":[{"start":{"line":27,"column":20},"end":{"line":27,"column":106}},{"start":{"line":27,"column":20},"end":{"line":27,"column":106}}],"line":27},"21":{"loc":{"start":{"line":27,"column":24},"end":{"line":27,"column":77}},"type":"binary-expr","locations":[{"start":{"line":27,"column":24},"end":{"line":27,"column":35}},{"start":{"line":27,"column":40},"end":{"line":27,"column":42}},{"start":{"line":27,"column":47},"end":{"line":27,"column":59}},{"start":{"line":27,"column":63},"end":{"line":27,"column":75}}],"line":27},"22":{"loc":{"start":{"line":28,"column":20},"end":{"line":28,"column":89}},"type":"if","locations":[{"start":{"line":28,"column":20},"end":{"line":28,"column":89}},{"start":{"line":28,"column":20},"end":{"line":28,"column":89}}],"line":28},"23":{"loc":{"start":{"line":28,"column":24},"end":{"line":28,"column":53}},"type":"binary-expr","locations":[{"start":{"line":28,"column":24},"end":{"line":28,"column":35}},{"start":{"line":28,"column":39},"end":{"line":28,"column":53}}],"line":28},"24":{"loc":{"start":{"line":29,"column":20},"end":{"line":29,"column":87}},"type":"if","locations":[{"start":{"line":29,"column":20},"end":{"line":29,"column":87}},{"start":{"line":29,"column":20},"end":{"line":29,"column":87}}],"line":29},"25":{"loc":{"start":{"line":29,"column":24},"end":{"line":29,"column":43}},"type":"binary-expr","locations":[{"start":{"line":29,"column":24},"end":{"line":29,"column":25}},{"start":{"line":29,"column":29},"end":{"line":29,"column":43}}],"line":29},"26":{"loc":{"start":{"line":30,"column":20},"end":{"line":30,"column":42}},"type":"if","locations":[{"start":{"line":30,"column":20},"end":{"line":30,"column":42}},{"start":{"line":30,"column":20},"end":{"line":30,"column":42}}],"line":30},"27":{"loc":{"start":{"line":35,"column":8},"end":{"line":35,"column":35}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":35}},{"start":{"line":35,"column":8},"end":{"line":35,"column":35}}],"line":35},"28":{"loc":{"start":{"line":35,"column":52},"end":{"line":35,"column":74}},"type":"cond-expr","locations":[{"start":{"line":35,"column":60},"end":{"line":35,"column":65}},{"start":{"line":35,"column":68},"end":{"line":35,"column":74}}],"line":35},"29":{"loc":{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":45,"column":5}},{"start":{"line":43,"column":4},"end":{"line":45,"column":5}}],"line":43},"30":{"loc":{"start":{"line":43,"column":8},"end":{"line":43,"column":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},"31":{"loc":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},{"start":{"line":46,"column":4},"end":{"line":49,"column":5}}],"line":46},"32":{"loc":{"start":{"line":46,"column":8},"end":{"line":47,"column":36}},"type":"binary-expr","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":66}},{"start":{"line":47,"column":8},"end":{"line":47,"column":36}}],"line":46},"33":{"loc":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"type":"if","locations":[{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},{"start":{"line":54,"column":4},"end":{"line":56,"column":5}}],"line":54},"34":{"loc":{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},"type":"if","locations":[{"start":{"line":57,"column":4},"end":{"line":59,"column":5}},{"start":{"line":57,"column":4},"end":{"line":59,"column":5}}],"line":57},"35":{"loc":{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":65,"column":5}},{"start":{"line":63,"column":4},"end":{"line":65,"column":5}}],"line":63},"36":{"loc":{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},"type":"if","locations":[{"start":{"line":70,"column":4},"end":{"line":72,"column":5}},{"start":{"line":70,"column":4},"end":{"line":72,"column":5}}],"line":70},"37":{"loc":{"start":{"line":77,"column":8},"end":{"line":91,"column":9}},"type":"switch","locations":[{"start":{"line":78,"column":12},"end":{"line":80,"column":40}},{"start":{"line":81,"column":12},"end":{"line":84,"column":30}},{"start":{"line":85,"column":12},"end":{"line":89,"column":27}},{"start":{"line":90,"column":12},"end":{"line":90,"column":31}}],"line":77}},"s":{"0":1,"1":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":0,"19":96,"20":64,"21":64,"22":0,"23":64,"24":192,"25":192,"26":0,"27":192,"28":0,"29":192,"30":64,"31":64,"32":32,"33":32,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":96,"42":32,"43":32,"44":64,"45":29,"46":29,"47":35,"48":3,"49":3,"50":3,"51":32,"52":0,"53":0,"54":0,"55":32,"56":0,"57":32,"58":32,"59":96,"60":6,"61":6,"62":192,"63":32,"64":3,"65":29,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1430,"72":70,"73":1360,"74":4,"75":1356,"76":1,"77":1,"78":682,"79":158,"80":682,"81":6,"82":1,"83":1,"84":6,"85":6,"86":1,"87":158,"88":158,"89":158,"90":32,"91":1,"92":32,"93":32,"94":96,"95":32,"96":32,"97":32,"98":29,"99":29,"100":3,"101":3,"102":3,"103":3,"104":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":1430,"14":682,"15":6,"16":158,"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":[32,32],"8":[0,64],"9":[0,192],"10":[192,0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,192],"16":[61,64,32,0,0,96],"17":[32,64],"18":[96,61,58],"19":[96,35],"20":[29,35],"21":[64,58,29,29],"22":[3,32],"23":[35,6],"24":[0,32],"25":[32,32],"26":[0,32],"27":[3,29],"28":[29,0],"29":[70,1360],"30":[1430,896],"31":[4,1356],"32":[1360,12],"33":[158,524],"34":[6,676],"35":[6,0],"36":[32,126],"37":[32,32,3,29]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/scope/scope.ts","sources":["X:/Code/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;QACvE,OAAO,OAAO,CAAC,KAAM,CAAC;KACvB;IAED,IACE,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO;QAC1C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAC5B;QACA,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAmB,CAAC;KACvD;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAhBY,QAAA,eAAe,mBAgB3B;AAEM,IAAM,WAAW,GAAG,UACzB,YAAqC,EACrC,OAA8B,EAC9B,MAAsB;IAEtB,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,EAAE;QAChD,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACxC;IAED,IACE,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO,EAC1C;QACA,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KACpD;AACH,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB;AAED,IAAM,mBAAmB,GAAG,UAC1B,YAAqC,EACrC,OAA8B,EAC9B,MAAsB;IAEtB,IACE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAC7B;QACA,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACtC;AACH,CAAC,CAAA;AAED,IAAM,qBAAqB,GAAG,UAC5B,OAA8B,EAC9B,MAAsB;IAGtB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAEzB,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,KAAK,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACxD;AACH,CAAC,CAAA;AAED,IAAM,gCAAgC,GAAG,UACvC,OAA8B,EAC9B,WAAuB;;;;;;gBAGN,WAAM,WAAW,EAAA;;gBAA1B,MAAM,GAAG,SAAiB;gBAEhC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;;;;gBAGvB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;gBAE1B,MAAM,IAAE,CAAC;;;;KAEZ,CAAA","sourcesContent":["import { BindingScopeEnum } from '../constants/literal_types';\r\nimport type { interfaces } from '../interfaces/interfaces'\r\nimport { isPromise } from '../utils/async';\r\n\r\nexport const tryGetFromScope = <T>(\r\n requestScope: interfaces.RequestScope,\r\n binding: interfaces.Binding<T>\r\n): T | Promise<T> | null => {\r\n\r\n if ((binding.scope === BindingScopeEnum.Singleton) && binding.activated) {\r\n return binding.cache!;\r\n }\r\n\r\n if (\r\n binding.scope === BindingScopeEnum.Request &&\r\n requestScope.has(binding.id)\r\n ) {\r\n return requestScope.get(binding.id) as T | Promise<T>;\r\n }\r\n return null;\r\n}\r\n\r\nexport const saveToScope = <T>(\r\n requestScope: interfaces.RequestScope,\r\n binding: interfaces.Binding<T>,\r\n result: T | Promise<T>\r\n): void => {\r\n if (binding.scope === BindingScopeEnum.Singleton) {\r\n _saveToSingletonScope(binding, result);\r\n }\r\n\r\n if (\r\n binding.scope === BindingScopeEnum.Request\r\n ) {\r\n _saveToRequestScope(requestScope, binding, result);\r\n }\r\n}\r\n\r\nconst _saveToRequestScope = <T>(\r\n requestScope: interfaces.RequestScope,\r\n binding: interfaces.Binding<T>,\r\n result: T | Promise<T>\r\n): void => {\r\n if (\r\n !requestScope.has(binding.id)\r\n ) {\r\n requestScope.set(binding.id, result);\r\n }\r\n}\r\n\r\nconst _saveToSingletonScope = <T>(\r\n binding: interfaces.Binding<T>,\r\n result: T | Promise<T>\r\n): void => {\r\n // store in cache if scope is singleton\r\n binding.cache = result;\r\n binding.activated = true;\r\n\r\n if (isPromise(result)) {\r\n void _saveAsyncResultToSingletonScope(binding, result);\r\n }\r\n}\r\n\r\nconst _saveAsyncResultToSingletonScope = async <T>(\r\n binding: interfaces.Binding<T>,\r\n asyncResult: Promise<T>\r\n): Promise<void> => {\r\n try {\r\n const result = await asyncResult;\r\n\r\n binding.cache = result;\r\n } catch (ex: unknown) {\r\n // allow binding to retry in future\r\n binding.cache = null;\r\n binding.activated = false;\r\n\r\n throw ex;\r\n }\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4bf8d3fd5e4d4b21eb976a229a258d6387386e75","contentHash":"fbd181e09b6702978b948b023a811789aa6251505fe60f7bd932893a83d18d6a"},"X:\\Code\\InversifyJS\\src\\utils\\async.ts":{"path":"X:\\Code\\InversifyJS\\src\\utils\\async.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":64}},"2":{"start":{"line":5,"column":29},"end":{"line":5,"column":108}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":67}},"4":{"start":{"line":8,"column":0},"end":{"line":8,"column":30}},"5":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"6":{"start":{"line":11,"column":8},"end":{"line":11,"column":20}},"7":{"start":{"line":13,"column":4},"end":{"line":13,"column":59}},"8":{"start":{"line":15,"column":0},"end":{"line":15,"column":64}}},"fnMap":{"0":{"name":"isPromise","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":18}},"loc":{"start":{"line":4,"column":27},"end":{"line":7,"column":1}},"line":4},"1":{"name":"isPromiseOrContainsPromise","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":35}},"loc":{"start":{"line":9,"column":44},"end":{"line":14,"column":1}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":29},"end":{"line":5,"column":108}},"type":"binary-expr","locations":[{"start":{"line":5,"column":30},"end":{"line":5,"column":56}},{"start":{"line":5,"column":60},"end":{"line":5,"column":75}},{"start":{"line":5,"column":80},"end":{"line":5,"column":108}}],"line":5},"1":{"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":66}},"type":"binary-expr","locations":[{"start":{"line":6,"column":11},"end":{"line":6,"column":29}},{"start":{"line":6,"column":33},"end":{"line":6,"column":66}}],"line":6},"2":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},{"start":{"line":10,"column":4},"end":{"line":12,"column":5}}],"line":10},"3":{"loc":{"start":{"line":13,"column":11},"end":{"line":13,"column":58}},"type":"binary-expr","locations":[{"start":{"line":13,"column":11},"end":{"line":13,"column":32}},{"start":{"line":13,"column":36},"end":{"line":13,"column":58}}],"line":13}},"s":{"0":1,"1":1,"2":3458,"3":3458,"4":1,"5":642,"6":27,"7":615,"8":1},"f":{"0":3458,"1":642},"b":{"0":[3458,2510,948],"1":[3458,2606],"2":[27,615],"3":[615,46]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/utils/async.ts","sources":["X:/Code/InversifyJS/src/utils/async.ts"],"names":[],"mappings":";;;AAAA,SAAS,SAAS,CAAI,MAAe;IACnC,IAAM,kBAAkB,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,OAAO,MAAM,KAAK,UAAU,CAAC;IAE3G,OAAO,kBAAkB,IAAI,OAAQ,MAAyB,CAAC,IAAI,KAAK,UAAU,CAAC;AACrF,CAAC;AAUQ,8BAAS;AARlB,SAAS,0BAA0B,CAAI,MAAe;IACpD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAEmB,gEAA0B","sourcesContent":["function isPromise<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":"f8575d72e1f94501684a88d5c3289cc51f56d295","contentHash":"2535600714585bf8c5ea4b1979dce8686d182ac6a4288bb58636e17f7ae775b6"},"X:\\Code\\InversifyJS\\src\\utils\\binding_utils.ts":{"path":"X:\\Code\\InversifyJS\\src\\utils\\binding_utils.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":91}},"23":{"start":{"line":23,"column":22},"end":{"line":23,"column":55}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":65}},"25":{"start":{"line":25,"column":22},"end":{"line":25,"column":59}},"26":{"start":{"line":26,"column":21},"end":{"line":26,"column":46}},"27":{"start":{"line":27,"column":25},"end":{"line":37,"column":1}},"28":{"start":{"line":28,"column":4},"end":{"line":36,"column":6}},"29":{"start":{"line":29,"column":8},"end":{"line":35,"column":10}},"30":{"start":{"line":30,"column":24},"end":{"line":30,"column":26}},"31":{"start":{"line":31,"column":12},"end":{"line":33,"column":13}},"32":{"start":{"line":31,"column":26},"end":{"line":31,"column":27}},"33":{"start":{"line":32,"column":16},"end":{"line":32,"column":42}},"34":{"start":{"line":34,"column":12},"end":{"line":34,"column":96}},"35":{"start":{"line":34,"column":48},"end":{"line":34,"column":92}},"36":{"start":{"line":38,"column":0},"end":{"line":38,"column":48}},"37":{"start":{"line":39,"column":23},"end":{"line":64,"column":1}},"38":{"start":{"line":40,"column":21},"end":{"line":40,"column":25}},"39":{"start":{"line":41,"column":4},"end":{"line":59,"column":5}},"40":{"start":{"line":44,"column":12},"end":{"line":44,"column":39}},"41":{"start":{"line":45,"column":12},"end":{"line":45,"column":18}},"42":{"start":{"line":48,"column":12},"end":{"line":48,"column":52}},"43":{"start":{"line":49,"column":12},"end":{"line":49,"column":18}},"44":{"start":{"line":51,"column":12},"end":{"line":51,"column":46}},"45":{"start":{"line":52,"column":12},"end":{"line":52,"column":18}},"46":{"start":{"line":54,"column":12},"end":{"line":54,"column":42}},"47":{"start":{"line":55,"column":12},"end":{"line":55,"column":18}},"48":{"start":{"line":57,"column":12},"end":{"line":57,"column":41}},"49":{"start":{"line":58,"column":12},"end":{"line":58,"column":18}},"50":{"start":{"line":60,"column":4},"end":{"line":63,"column":5}},"51":{"start":{"line":61,"column":40},"end":{"line":61,"column":116}},"52":{"start":{"line":62,"column":8},"end":{"line":62,"column":91}},"53":{"start":{"line":65,"column":0},"end":{"line":65,"column":44}},"54":{"start":{"line":66,"column":24},"end":{"line":77,"column":1}},"55":{"start":{"line":67,"column":4},"end":{"line":76,"column":5}},"56":{"start":{"line":69,"column":12},"end":{"line":69,"column":97}},"57":{"start":{"line":71,"column":12},"end":{"line":71,"column":99}},"58":{"start":{"line":73,"column":12},"end":{"line":73,"column":107}},"59":{"start":{"line":75,"column":12},"end":{"line":75,"column":71}},"60":{"start":{"line":78,"column":0},"end":{"line":78,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":27,"column":25},"end":{"line":27,"column":26}},"loc":{"start":{"line":27,"column":46},"end":{"line":37,"column":1}},"line":27},"7":{"name":"(anonymous_7)","decl":{"start":{"line":28,"column":11},"end":{"line":28,"column":12}},"loc":{"start":{"line":28,"column":30},"end":{"line":36,"column":5}},"line":28},"8":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":15},"end":{"line":29,"column":16}},"loc":{"start":{"line":29,"column":27},"end":{"line":35,"column":9}},"line":29},"9":{"name":"(anonymous_9)","decl":{"start":{"line":34,"column":33},"end":{"line":34,"column":34}},"loc":{"start":{"line":34,"column":46},"end":{"line":34,"column":94}},"line":34},"10":{"name":"(anonymous_10)","decl":{"start":{"line":39,"column":23},"end":{"line":39,"column":24}},"loc":{"start":{"line":39,"column":42},"end":{"line":64,"column":1}},"line":39},"11":{"name":"(anonymous_11)","decl":{"start":{"line":66,"column":24},"end":{"line":66,"column":25}},"loc":{"start":{"line":66,"column":43},"end":{"line":77,"column":1}},"line":66}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":41,"column":4},"end":{"line":59,"column":5}},"type":"switch","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":59}},{"start":{"line":43,"column":8},"end":{"line":45,"column":18}},{"start":{"line":46,"column":8},"end":{"line":46,"column":57}},{"start":{"line":47,"column":8},"end":{"line":49,"column":18}},{"start":{"line":50,"column":8},"end":{"line":52,"column":18}},{"start":{"line":53,"column":8},"end":{"line":55,"column":18}},{"start":{"line":56,"column":8},"end":{"line":58,"column":18}}],"line":41},"13":{"loc":{"start":{"line":60,"column":4},"end":{"line":63,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":63,"column":5}},{"start":{"line":60,"column":4},"end":{"line":63,"column":5}}],"line":60},"14":{"loc":{"start":{"line":67,"column":4},"end":{"line":76,"column":5}},"type":"switch","locations":[{"start":{"line":68,"column":8},"end":{"line":69,"column":97}},{"start":{"line":70,"column":8},"end":{"line":71,"column":99}},{"start":{"line":72,"column":8},"end":{"line":73,"column":107}},{"start":{"line":74,"column":8},"end":{"line":75,"column":71}}],"line":67}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":2,"34":1,"35":2,"36":1,"37":1,"38":1356,"39":1356,"40":74,"41":74,"42":858,"43":858,"44":406,"45":406,"46":7,"47":7,"48":9,"49":9,"50":1356,"51":2,"52":2,"53":1,"54":1,"55":422,"56":9,"57":7,"58":405,"59":1,"60":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":1,"8":1,"9":2,"10":1356,"11":422},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[71,74,4,858,406,7,9],"13":[2,1354],"14":[9,7,405,1]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/utils/binding_utils.ts","sources":["X:/Code/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;QACpB,KAAK,+BAAe,CAAC,aAAa,CAAC;QACnC,KAAK,+BAAe,CAAC,QAAQ;YAC3B,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,MAAM;QACR,KAAK,+BAAe,CAAC,WAAW,CAAC;QACjC,KAAK,+BAAe,CAAC,QAAQ;YAC3B,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;YACxC,MAAM;QACR,KAAK,+BAAe,CAAC,YAAY;YAC/B,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;YAClC,MAAM;QACR,KAAK,+BAAe,CAAC,QAAQ;YAC3B,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC9B,MAAM;QACR,KAAK,+BAAe,CAAC,OAAO;YAC1B,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;YAC7B,MAAM;KACT;IACD,IAAI,UAAU,KAAK,IAAI,EAAE;QAGvB,IAAM,yBAAyB,GAAG,IAAA,4CAA4B,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAI,UAAU,CAAC,oBAAoB,SAAI,yBAA2B,CAAC,CAAC;KACpF;AACH,CAAC,CAAA;AA5BY,QAAA,gBAAgB,oBA4B5B;AAEM,IAAM,iBAAiB,GAAG,UAAc,OAA8B;IAC3E,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,+BAAe,CAAC,OAAO;YAC1B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,0BAAW,CAAC,OAAO,EAAE,CAAC;QACxE,KAAK,+BAAe,CAAC,QAAQ;YAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,0BAAW,CAAC,QAAQ,EAAE,CAAC;QAC1E,KAAK,+BAAe,CAAC,YAAY;YAC/B,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE,0BAAW,CAAC,YAAY,EAAE,CAAC;QAClF;YACE,MAAM,IAAI,KAAK,CAAC,6BAA2B,OAAO,CAAC,IAAM,CAAC,CAAC;KAC9D;AACH,CAAC,CAAA;AAXY,QAAA,iBAAiB,qBAW7B","sourcesContent":["import { getServiceIdentifierAsString } from '../utils/serialization';\r\nimport type { interfaces } from '../interfaces/interfaces'\r\nimport * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { BindingTypeEnum } from '../constants/literal_types';\r\nimport { FactoryType } from './factory_type';\r\n\r\nexport const multiBindToService = (container: interfaces.Container) =>\r\n (service: interfaces.ServiceIdentifier) =>\r\n (...types: interfaces.ServiceIdentifier[]) =>\r\n types.forEach((t) => container.bind(t).toService(service));\r\n\r\nexport const ensureFullyBound = <T = unknown>(binding: interfaces.Binding<T>): void => {\r\n let boundValue: unknown = null;\r\n\r\n switch (binding.type) {\r\n case BindingTypeEnum.ConstantValue:\r\n case BindingTypeEnum.Function:\r\n boundValue = binding.cache;\r\n break;\r\n case BindingTypeEnum.Constructor:\r\n case BindingTypeEnum.Instance:\r\n boundValue = binding.implementationType;\r\n break;\r\n case BindingTypeEnum.DynamicValue:\r\n boundValue = binding.dynamicValue;\r\n break;\r\n case BindingTypeEnum.Provider:\r\n boundValue = binding.provider;\r\n break;\r\n case BindingTypeEnum.Factory:\r\n boundValue = binding.factory;\r\n break;\r\n }\r\n if (boundValue === null) {\r\n // The user probably created a binding but didn't finish it\r\n // e.g. container.bind<T>('Something'); missing BindingToSyntax\r\n const serviceIdentifierAsString = getServiceIdentifierAsString(binding.serviceIdentifier);\r\n throw new Error(`${ERROR_MSGS.INVALID_BINDING_TYPE} ${serviceIdentifierAsString}`);\r\n }\r\n}\r\n\r\nexport const getFactoryDetails = <T = unknown>(binding: interfaces.Binding<T>): interfaces.FactoryDetails => {\r\n switch (binding.type) {\r\n case BindingTypeEnum.Factory:\r\n return { factory: binding.factory, factoryType: FactoryType.Factory };\r\n case BindingTypeEnum.Provider:\r\n return { factory: binding.provider, factoryType: FactoryType.Provider };\r\n case BindingTypeEnum.DynamicValue:\r\n return { factory: binding.dynamicValue, factoryType: FactoryType.DynamicValue };\r\n default:\r\n throw new Error(`Unexpected factory type ${binding.type}`);\r\n }\r\n}\r\n\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0bf7eb63a748f2e9f0a3fe2f675e66404657f4df","contentHash":"1eba70e8bea7dcb17133eca7477781ff68948ab5d5afc343d8c0309b503971e4"},"X:\\Code\\InversifyJS\\src\\utils\\factory_type.ts":{"path":"X:\\Code\\InversifyJS\\src\\utils\\factory_type.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"2":{"start":{"line":5,"column":0},"end":{"line":9,"column":68}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":51}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":41}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":1},"end":{"line":5,"column":2}},"loc":{"start":{"line":5,"column":24},"end":{"line":9,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":17},"end":{"line":9,"column":66}},"type":"binary-expr","locations":[{"start":{"line":9,"column":17},"end":{"line":9,"column":36}},{"start":{"line":9,"column":41},"end":{"line":9,"column":65}}],"line":9}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/utils/factory_type.ts","sources":["X:/Code/InversifyJS/src/utils/factory_type.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8CAA+B,CAAA;IAC/B,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;AACzB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB","sourcesContent":["export enum FactoryType {\r\n DynamicValue = 'toDynamicValue',\r\n Factory = 'toFactory',\r\n Provider = 'toProvider',\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"23733f08e24b8fdeb39e4d18510659b32f9f90fc","contentHash":"fad6df49e6157fdf1eb572e2d9734d88a0b8109ee2041d9ea5dec573997ab027"},"X:\\Code\\InversifyJS\\src\\resolution\\instantiation.ts":{"path":"X:\\Code\\InversifyJS\\src\\resolution\\instantiation.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":12,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":10,"column":6}},"2":{"start":{"line":4,"column":8},"end":{"line":8,"column":9}},"3":{"start":{"line":4,"column":24},"end":{"line":4,"column":25}},"4":{"start":{"line":4,"column":31},"end":{"line":4,"column":47}},"5":{"start":{"line":5,"column":12},"end":{"line":5,"column":29}},"6":{"start":{"line":6,"column":12},"end":{"line":7,"column":28}},"7":{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},"8":{"start":{"line":7,"column":16},"end":{"line":7,"column":28}},"9":{"start":{"line":9,"column":8},"end":{"line":9,"column":17}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":43}},"11":{"start":{"line":13,"column":22},"end":{"line":19,"column":3}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},"13":{"start":{"line":14,"column":26},"end":{"line":14,"column":33}},"14":{"start":{"line":15,"column":4},"end":{"line":15,"column":89}},"15":{"start":{"line":15,"column":71},"end":{"line":15,"column":83}},"16":{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},"17":{"start":{"line":17,"column":26},"end":{"line":17,"column":33}},"18":{"start":{"line":18,"column":4},"end":{"line":18,"column":17}},"19":{"start":{"line":20,"column":25},"end":{"line":24,"column":2}},"20":{"start":{"line":21,"column":4},"end":{"line":21,"column":72}},"21":{"start":{"line":23,"column":4},"end":{"line":23,"column":21}},"22":{"start":{"line":25,"column":19},"end":{"line":31,"column":1}},"23":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"24":{"start":{"line":26,"column":31},"end":{"line":26,"column":42}},"25":{"start":{"line":27,"column":17},"end":{"line":27,"column":19}},"26":{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},"27":{"start":{"line":28,"column":21},"end":{"line":28,"column":141}},"28":{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},"29":{"start":{"line":28,"column":109},"end":{"line":28,"column":141}},"30":{"start":{"line":29,"column":4},"end":{"line":29,"column":36}},"31":{"start":{"line":30,"column":4},"end":{"line":30,"column":18}},"32":{"start":{"line":32,"column":16},"end":{"line":40,"column":1}},"33":{"start":{"line":33,"column":28},"end":{"line":33,"column":110}},"34":{"start":{"line":33,"column":91},"end":{"line":33,"column":106}},"35":{"start":{"line":34,"column":4},"end":{"line":39,"column":7}},"36":{"start":{"line":35,"column":36},"end":{"line":35,"column":97}},"37":{"start":{"line":35,"column":42},"end":{"line":35,"column":70}},"38":{"start":{"line":35,"column":85},"end":{"line":35,"column":95}},"39":{"start":{"line":36,"column":35},"end":{"line":36,"column":100}},"40":{"start":{"line":36,"column":41},"end":{"line":36,"column":73}},"41":{"start":{"line":36,"column":88},"end":{"line":36,"column":98}},"42":{"start":{"line":37,"column":32},"end":{"line":37,"column":116}},"43":{"start":{"line":38,"column":8},"end":{"line":38,"column":78}},"44":{"start":{"line":41,"column":18},"end":{"line":67,"column":1}},"45":{"start":{"line":42,"column":12},"end":{"line":42,"column":104}},"46":{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},"47":{"start":{"line":42,"column":57},"end":{"line":42,"column":68}},"48":{"start":{"line":42,"column":69},"end":{"line":42,"column":81}},"49":{"start":{"line":43,"column":4},"end":{"line":43,"column":157}},"50":{"start":{"line":43,"column":138},"end":{"line":43,"column":150}},"51":{"start":{"line":44,"column":23},"end":{"line":44,"column":68}},"52":{"start":{"line":44,"column":45},"end":{"line":44,"column":65}},"53":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"54":{"start":{"line":46,"column":15},"end":{"line":46,"column":70}},"55":{"start":{"line":47,"column":8},"end":{"line":64,"column":66}},"56":{"start":{"line":47,"column":18},"end":{"line":64,"column":66}},"57":{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},"58":{"start":{"line":48,"column":160},"end":{"line":48,"column":169}},"59":{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},"60":{"start":{"line":49,"column":26},"end":{"line":49,"column":52}},"61":{"start":{"line":50,"column":12},"end":{"line":62,"column":13}},"62":{"start":{"line":51,"column":32},"end":{"line":51,"column":39}},"63":{"start":{"line":51,"column":40},"end":{"line":51,"column":46}},"64":{"start":{"line":52,"column":24},"end":{"line":52,"column":34}},"65":{"start":{"line":52,"column":35},"end":{"line":52,"column":72}},"66":{"start":{"line":53,"column":24},"end":{"line":53,"column":34}},"67":{"start":{"line":53,"column":35},"end":{"line":53,"column":45}},"68":{"start":{"line":53,"column":46},"end":{"line":53,"column":55}},"69":{"start":{"line":53,"column":56},"end":{"line":53,"column":65}},"70":{"start":{"line":54,"column":24},"end":{"line":54,"column":41}},"71":{"start":{"line":54,"column":42},"end":{"line":54,"column":55}},"72":{"start":{"line":54,"column":56},"end":{"line":54,"column":65}},"73":{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},"74":{"start":{"line":56,"column":110},"end":{"line":56,"column":116}},"75":{"start":{"line":56,"column":117},"end":{"line":56,"column":126}},"76":{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},"77":{"start":{"line":57,"column":81},"end":{"line":57,"column":97}},"78":{"start":{"line":57,"column":98},"end":{"line":57,"column":104}},"79":{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},"80":{"start":{"line":58,"column":57},"end":{"line":58,"column":72}},"81":{"start":{"line":58,"column":73},"end":{"line":58,"column":80}},"82":{"start":{"line":58,"column":81},"end":{"line":58,"column":87}},"83":{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},"84":{"start":{"line":59,"column":47},"end":{"line":59,"column":62}},"85":{"start":{"line":59,"column":63},"end":{"line":59,"column":78}},"86":{"start":{"line":59,"column":79},"end":{"line":59,"column":85}},"87":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"88":{"start":{"line":60,"column":30},"end":{"line":60,"column":42}},"89":{"start":{"line":61,"column":20},"end":{"line":61,"column":33}},"90":{"start":{"line":61,"column":34},"end":{"line":61,"column":43}},"91":{"start":{"line":63,"column":12},"end":{"line":63,"column":39}},"92":{"start":{"line":64,"column":22},"end":{"line":64,"column":34}},"93":{"start":{"line":64,"column":35},"end":{"line":64,"column":41}},"94":{"start":{"line":64,"column":54},"end":{"line":64,"column":64}},"95":{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},"96":{"start":{"line":65,"column":23},"end":{"line":65,"column":35}},"97":{"start":{"line":65,"column":36},"end":{"line":65,"column":89}},"98":{"start":{"line":68,"column":20},"end":{"line":76,"column":1}},"99":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"100":{"start":{"line":69,"column":40},"end":{"line":74,"column":5}},"101":{"start":{"line":69,"column":53},"end":{"line":69,"column":54}},"102":{"start":{"line":69,"column":60},"end":{"line":69,"column":71}},"103":{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},"104":{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},"105":{"start":{"line":71,"column":21},"end":{"line":71,"column":65}},"106":{"start":{"line":72,"column":12},"end":{"line":72,"column":28}},"107":{"start":{"line":75,"column":4},"end":{"line":75,"column":61}},"108":{"start":{"line":77,"column":0},"end":{"line":77,"column":62}},"109":{"start":{"line":78,"column":0},"end":{"line":78,"column":33}},"110":{"start":{"line":79,"column":19},"end":{"line":79,"column":53}},"111":{"start":{"line":80,"column":22},"end":{"line":80,"column":59}},"112":{"start":{"line":81,"column":19},"end":{"line":81,"column":70}},"113":{"start":{"line":82,"column":14},"end":{"line":82,"column":39}},"114":{"start":{"line":84,"column":4},"end":{"line":98,"column":100}},"115":{"start":{"line":85,"column":24},"end":{"line":85,"column":52}},"116":{"start":{"line":86,"column":25},"end":{"line":86,"column":49}},"117":{"start":{"line":87,"column":8},"end":{"line":93,"column":9}},"118":{"start":{"line":88,"column":12},"end":{"line":88,"column":67}},"119":{"start":{"line":91,"column":12},"end":{"line":91,"column":65}},"120":{"start":{"line":92,"column":12},"end":{"line":92,"column":64}},"121":{"start":{"line":94,"column":8},"end":{"line":96,"column":9}},"122":{"start":{"line":95,"column":12},"end":{"line":95,"column":90}},"123":{"start":{"line":97,"column":8},"end":{"line":97,"column":32}},"124":{"start":{"line":102,"column":4},"end":{"line":114,"column":5}},"125":{"start":{"line":103,"column":23},"end":{"line":103,"column":70}},"126":{"start":{"line":104,"column":46},"end":{"line":104,"column":98}},"127":{"start":{"line":105,"column":8},"end":{"line":110,"column":9}},"128":{"start":{"line":106,"column":12},"end":{"line":106,"column":88}},"129":{"start":{"line":109,"column":12},"end":{"line":109,"column":83}},"130":{"start":{"line":113,"column":8},"end":{"line":113,"column":30}},"131":{"start":{"line":115,"column":4},"end":{"line":115,"column":18}},"132":{"start":{"line":119,"column":19},"end":{"line":119,"column":120}},"133":{"start":{"line":120,"column":4},"end":{"line":126,"column":7}},"134":{"start":{"line":121,"column":23},"end":{"line":121,"column":42}},"135":{"start":{"line":122,"column":24},"end":{"line":122,"column":54}},"136":{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},"137":{"start":{"line":124,"column":12},"end":{"line":124,"column":43}},"138":{"start":{"line":127,"column":4},"end":{"line":127,"column":20}},"139":{"start":{"line":130,"column":4},"end":{"line":143,"column":7}},"140":{"start":{"line":132,"column":8},"end":{"line":142,"column":11}},"141":{"start":{"line":133,"column":12},"end":{"line":141,"column":13}},"142":{"start":{"line":134,"column":24},"end":{"line":134,"column":87}},"143":{"start":{"line":136,"column":20},"end":{"line":136,"column":54}},"144":{"start":{"line":137,"column":20},"end":{"line":137,"column":80}},"145":{"start":{"line":139,"column":20},"end":{"line":139,"column":51}},"146":{"start":{"line":140,"column":20},"end":{"line":140,"column":181}},"147":{"start":{"line":146,"column":4},"end":{"line":161,"column":7}},"148":{"start":{"line":148,"column":8},"end":{"line":160,"column":11}},"149":{"start":{"line":149,"column":12},"end":{"line":149,"column":28}},"150":{"start":{"line":150,"column":12},"end":{"line":158,"column":13}},"151":{"start":{"line":151,"column":16},"end":{"line":151,"column":60}},"152":{"start":{"line":152,"column":16},"end":{"line":157,"column":17}},"153":{"start":{"line":153,"column":20},"end":{"line":153,"column":60}},"154":{"start":{"line":156,"column":20},"end":{"line":156,"column":47}},"155":{"start":{"line":159,"column":12},"end":{"line":159,"column":48}},"156":{"start":{"line":164,"column":30},"end":{"line":164,"column":60}},"157":{"start":{"line":165,"column":4},"end":{"line":170,"column":5}},"158":{"start":{"line":166,"column":8},"end":{"line":166,"column":72}},"159":{"start":{"line":166,"column":54},"end":{"line":166,"column":68}},"160":{"start":{"line":169,"column":8},"end":{"line":169,"column":22}},"161":{"start":{"line":174,"column":4},"end":{"line":184,"column":5}},"162":{"start":{"line":175,"column":19},"end":{"line":175,"column":75}},"163":{"start":{"line":176,"column":8},"end":{"line":183,"column":9}},"164":{"start":{"line":177,"column":12},"end":{"line":177,"column":103}},"165":{"start":{"line":180,"column":12},"end":{"line":182,"column":13}},"166":{"start":{"line":181,"column":16},"end":{"line":181,"column":96}},"167":{"start":{"line":187,"column":4},"end":{"line":189,"column":5}},"168":{"start":{"line":188,"column":8},"end":{"line":188,"column":54}},"169":{"start":{"line":192,"column":28},"end":{"line":194,"column":32}},"170":{"start":{"line":195,"column":4},"end":{"line":197,"column":5}},"171":{"start":{"line":196,"column":8},"end":{"line":196,"column":97}},"172":{"start":{"line":198,"column":4},"end":{"line":200,"column":5}},"173":{"start":{"line":199,"column":8},"end":{"line":199,"column":93}},"174":{"start":{"line":203,"column":4},"end":{"line":203,"column":49}},"175":{"start":{"line":204,"column":17},"end":{"line":204,"column":71}},"176":{"start":{"line":205,"column":4},"end":{"line":210,"column":5}},"177":{"start":{"line":206,"column":8},"end":{"line":206,"column":121}},"178":{"start":{"line":206,"column":55},"end":{"line":206,"column":117}},"179":{"start":{"line":209,"column":8},"end":{"line":209,"column":62}},"180":{"start":{"line":212,"column":0},"end":{"line":212,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":42},"end":{"line":2,"column":43}},"loc":{"start":{"line":2,"column":54},"end":{"line":12,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":32},"end":{"line":3,"column":33}},"loc":{"start":{"line":3,"column":44},"end":{"line":10,"column":5}},"line":3},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":74},"end":{"line":13,"column":75}},"loc":{"start":{"line":13,"column":96},"end":{"line":16,"column":1}},"line":13},"3":{"name":"(anonymous_3)","decl":{"start":{"line":15,"column":58},"end":{"line":15,"column":59}},"loc":{"start":{"line":15,"column":69},"end":{"line":15,"column":85}},"line":15},"4":{"name":"(anonymous_4)","decl":{"start":{"line":16,"column":6},"end":{"line":16,"column":7}},"loc":{"start":{"line":16,"column":28},"end":{"line":19,"column":1}},"line":16},"5":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":80},"end":{"line":20,"column":81}},"loc":{"start":{"line":20,"column":95},"end":{"line":22,"column":1}},"line":20},"6":{"name":"(anonymous_6)","decl":{"start":{"line":22,"column":5},"end":{"line":22,"column":6}},"loc":{"start":{"line":22,"column":20},"end":{"line":24,"column":1}},"line":22},"7":{"name":"(anonymous_7)","decl":{"start":{"line":25,"column":50},"end":{"line":25,"column":51}},"loc":{"start":{"line":25,"column":65},"end":{"line":31,"column":1}},"line":25},"8":{"name":"(anonymous_8)","decl":{"start":{"line":32,"column":44},"end":{"line":32,"column":45}},"loc":{"start":{"line":32,"column":89},"end":{"line":40,"column":1}},"line":32},"9":{"name":"adopt","decl":{"start":{"line":33,"column":13},"end":{"line":33,"column":18}},"loc":{"start":{"line":33,"column":26},"end":{"line":33,"column":112}},"line":33},"10":{"name":"(anonymous_10)","decl":{"start":{"line":33,"column":70},"end":{"line":33,"column":71}},"loc":{"start":{"line":33,"column":89},"end":{"line":33,"column":108}},"line":33},"11":{"name":"(anonymous_11)","decl":{"start":{"line":34,"column":36},"end":{"line":34,"column":37}},"loc":{"start":{"line":34,"column":63},"end":{"line":39,"column":5}},"line":34},"12":{"name":"fulfilled","decl":{"start":{"line":35,"column":17},"end":{"line":35,"column":26}},"loc":{"start":{"line":35,"column":34},"end":{"line":35,"column":99}},"line":35},"13":{"name":"rejected","decl":{"start":{"line":36,"column":17},"end":{"line":36,"column":25}},"loc":{"start":{"line":36,"column":33},"end":{"line":36,"column":102}},"line":36},"14":{"name":"step","decl":{"start":{"line":37,"column":17},"end":{"line":37,"column":21}},"loc":{"start":{"line":37,"column":30},"end":{"line":37,"column":118}},"line":37},"15":{"name":"(anonymous_15)","decl":{"start":{"line":41,"column":48},"end":{"line":41,"column":49}},"loc":{"start":{"line":41,"column":73},"end":{"line":67,"column":1}},"line":41},"16":{"name":"(anonymous_16)","decl":{"start":{"line":42,"column":30},"end":{"line":42,"column":31}},"loc":{"start":{"line":42,"column":41},"end":{"line":42,"column":83}},"line":42},"17":{"name":"(anonymous_17)","decl":{"start":{"line":43,"column":125},"end":{"line":43,"column":126}},"loc":{"start":{"line":43,"column":136},"end":{"line":43,"column":152}},"line":43},"18":{"name":"verb","decl":{"start":{"line":44,"column":13},"end":{"line":44,"column":17}},"loc":{"start":{"line":44,"column":21},"end":{"line":44,"column":70}},"line":44},"19":{"name":"(anonymous_19)","decl":{"start":{"line":44,"column":30},"end":{"line":44,"column":31}},"loc":{"start":{"line":44,"column":43},"end":{"line":44,"column":67}},"line":44},"20":{"name":"step","decl":{"start":{"line":45,"column":13},"end":{"line":45,"column":17}},"loc":{"start":{"line":45,"column":22},"end":{"line":66,"column":5}},"line":45},"21":{"name":"(anonymous_21)","decl":{"start":{"line":68,"column":52},"end":{"line":68,"column":53}},"loc":{"start":{"line":68,"column":78},"end":{"line":76,"column":1}},"line":68},"22":{"name":"_resolveRequests","decl":{"start":{"line":83,"column":9},"end":{"line":83,"column":25}},"loc":{"start":{"line":83,"column":57},"end":{"line":99,"column":1}},"line":83},"23":{"name":"(anonymous_23)","decl":{"start":{"line":84,"column":32},"end":{"line":84,"column":33}},"loc":{"start":{"line":84,"column":74},"end":{"line":98,"column":5}},"line":84},"24":{"name":"_createInstance","decl":{"start":{"line":100,"column":9},"end":{"line":100,"column":24}},"loc":{"start":{"line":100,"column":64},"end":{"line":116,"column":1}},"line":100},"25":{"name":"createInstanceWithInjections","decl":{"start":{"line":117,"column":9},"end":{"line":117,"column":37}},"loc":{"start":{"line":117,"column":44},"end":{"line":128,"column":1}},"line":117},"26":{"name":"(anonymous_26)","decl":{"start":{"line":120,"column":34},"end":{"line":120,"column":35}},"loc":{"start":{"line":120,"column":54},"end":{"line":126,"column":5}},"line":120},"27":{"name":"createInstanceWithInjectionsAsync","decl":{"start":{"line":129,"column":9},"end":{"line":129,"column":42}},"loc":{"start":{"line":129,"column":49},"end":{"line":144,"column":1}},"line":129},"28":{"name":"(anonymous_28)","decl":{"start":{"line":130,"column":43},"end":{"line":130,"column":44}},"loc":{"start":{"line":130,"column":55},"end":{"line":143,"column":5}},"line":130},"29":{"name":"(anonymous_29)","decl":{"start":{"line":132,"column":33},"end":{"line":132,"column":34}},"loc":{"start":{"line":132,"column":47},"end":{"line":142,"column":9}},"line":132},"30":{"name":"possiblyWaitInjections","decl":{"start":{"line":145,"column":9},"end":{"line":145,"column":31}},"loc":{"start":{"line":145,"column":59},"end":{"line":162,"column":1}},"line":145},"31":{"name":"(anonymous_31)","decl":{"start":{"line":146,"column":43},"end":{"line":146,"column":44}},"loc":{"start":{"line":146,"column":55},"end":{"line":161,"column":5}},"line":146},"32":{"name":"(anonymous_32)","decl":{"start":{"line":148,"column":33},"end":{"line":148,"column":34}},"loc":{"start":{"line":148,"column":47},"end":{"line":160,"column":9}},"line":148},"33":{"name":"_getInstanceAfterPostConstruct","decl":{"start":{"line":163,"column":9},"end":{"line":163,"column":39}},"loc":{"start":{"line":163,"column":56},"end":{"line":171,"column":1}},"line":163},"34":{"name":"(anonymous_34)","decl":{"start":{"line":166,"column":40},"end":{"line":166,"column":41}},"loc":{"start":{"line":166,"column":52},"end":{"line":166,"column":70}},"line":166},"35":{"name":"_postConstruct","decl":{"start":{"line":172,"column":9},"end":{"line":172,"column":23}},"loc":{"start":{"line":172,"column":42},"end":{"line":185,"column":1}},"line":172},"36":{"name":"_validateInstanceResolution","decl":{"start":{"line":186,"column":9},"end":{"line":186,"column":36}},"loc":{"start":{"line":186,"column":54},"end":{"line":190,"column":1}},"line":186},"37":{"name":"_throwIfHandlingDeactivation","decl":{"start":{"line":191,"column":9},"end":{"line":191,"column":37}},"loc":{"start":{"line":191,"column":55},"end":{"line":201,"column":1}},"line":191},"38":{"name":"resolveInstance","decl":{"start":{"line":202,"column":9},"end":{"line":202,"column":24}},"loc":{"start":{"line":202,"column":73},"end":{"line":211,"column":1}},"line":202},"39":{"name":"(anonymous_39)","decl":{"start":{"line":206,"column":27},"end":{"line":206,"column":28}},"loc":{"start":{"line":206,"column":53},"end":{"line":206,"column":119}},"line":206}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":15},"end":{"line":12,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":16},"end":{"line":2,"column":20}},{"start":{"line":2,"column":24},"end":{"line":2,"column":37}},{"start":{"line":2,"column":42},"end":{"line":12,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":15},"end":{"line":10,"column":5}},"type":"binary-expr","locations":[{"start":{"line":3,"column":15},"end":{"line":3,"column":28}},{"start":{"line":3,"column":32},"end":{"line":10,"column":5}}],"line":3},"2":{"loc":{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},"type":"if","locations":[{"start":{"line":6,"column":29},"end":{"line":7,"column":28}},{"start":{"line":6,"column":29},"end":{"line":7,"column":28}}],"line":6},"3":{"loc":{"start":{"line":13,"column":22},"end":{"line":19,"column":3}},"type":"binary-expr","locations":[{"start":{"line":13,"column":23},"end":{"line":13,"column":27}},{"start":{"line":13,"column":31},"end":{"line":13,"column":51}},{"start":{"line":13,"column":57},"end":{"line":19,"column":2}}],"line":13},"4":{"loc":{"start":{"line":13,"column":57},"end":{"line":19,"column":2}},"type":"cond-expr","locations":[{"start":{"line":13,"column":74},"end":{"line":16,"column":1}},{"start":{"line":16,"column":6},"end":{"line":19,"column":1}}],"line":13},"5":{"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":33}},{"start":{"line":14,"column":4},"end":{"line":14,"column":33}}],"line":14},"6":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":33}},{"start":{"line":17,"column":4},"end":{"line":17,"column":33}}],"line":17},"7":{"loc":{"start":{"line":20,"column":25},"end":{"line":24,"column":2}},"type":"binary-expr","locations":[{"start":{"line":20,"column":26},"end":{"line":20,"column":30}},{"start":{"line":20,"column":34},"end":{"line":20,"column":57}},{"start":{"line":20,"column":63},"end":{"line":24,"column":1}}],"line":20},"8":{"loc":{"start":{"line":20,"column":63},"end":{"line":24,"column":1}},"type":"cond-expr","locations":[{"start":{"line":20,"column":80},"end":{"line":22,"column":1}},{"start":{"line":22,"column":5},"end":{"line":24,"column":1}}],"line":20},"9":{"loc":{"start":{"line":25,"column":19},"end":{"line":31,"column":1}},"type":"binary-expr","locations":[{"start":{"line":25,"column":20},"end":{"line":25,"column":24}},{"start":{"line":25,"column":28},"end":{"line":25,"column":45}},{"start":{"line":25,"column":50},"end":{"line":31,"column":1}}],"line":25},"10":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},"type":"if","locations":[{"start":{"line":26,"column":4},"end":{"line":26,"column":42}},{"start":{"line":26,"column":4},"end":{"line":26,"column":42}}],"line":26},"11":{"loc":{"start":{"line":26,"column":8},"end":{"line":26,"column":29}},"type":"binary-expr","locations":[{"start":{"line":26,"column":8},"end":{"line":26,"column":11}},{"start":{"line":26,"column":15},"end":{"line":26,"column":29}}],"line":26},"12":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":141}},{"start":{"line":28,"column":4},"end":{"line":28,"column":141}}],"line":28},"13":{"loc":{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},"type":"if","locations":[{"start":{"line":28,"column":40},"end":{"line":28,"column":141}},{"start":{"line":28,"column":40},"end":{"line":28,"column":141}}],"line":28},"14":{"loc":{"start":{"line":28,"column":44},"end":{"line":28,"column":107}},"type":"binary-expr","locations":[{"start":{"line":28,"column":44},"end":{"line":28,"column":59}},{"start":{"line":28,"column":63},"end":{"line":28,"column":107}}],"line":28},"15":{"loc":{"start":{"line":32,"column":16},"end":{"line":40,"column":1}},"type":"binary-expr","locations":[{"start":{"line":32,"column":17},"end":{"line":32,"column":21}},{"start":{"line":32,"column":25},"end":{"line":32,"column":39}},{"start":{"line":32,"column":44},"end":{"line":40,"column":1}}],"line":32},"16":{"loc":{"start":{"line":33,"column":35},"end":{"line":33,"column":109}},"type":"cond-expr","locations":[{"start":{"line":33,"column":56},"end":{"line":33,"column":61}},{"start":{"line":33,"column":64},"end":{"line":33,"column":109}}],"line":33},"17":{"loc":{"start":{"line":34,"column":16},"end":{"line":34,"column":34}},"type":"binary-expr","locations":[{"start":{"line":34,"column":16},"end":{"line":34,"column":17}},{"start":{"line":34,"column":22},"end":{"line":34,"column":33}}],"line":34},"18":{"loc":{"start":{"line":37,"column":32},"end":{"line":37,"column":115}},"type":"cond-expr","locations":[{"start":{"line":37,"column":46},"end":{"line":37,"column":67}},{"start":{"line":37,"column":70},"end":{"line":37,"column":115}}],"line":37},"19":{"loc":{"start":{"line":38,"column":51},"end":{"line":38,"column":67}},"type":"binary-expr","locations":[{"start":{"line":38,"column":51},"end":{"line":38,"column":61}},{"start":{"line":38,"column":65},"end":{"line":38,"column":67}}],"line":38},"20":{"loc":{"start":{"line":41,"column":18},"end":{"line":67,"column":1}},"type":"binary-expr","locations":[{"start":{"line":41,"column":19},"end":{"line":41,"column":23}},{"start":{"line":41,"column":27},"end":{"line":41,"column":43}},{"start":{"line":41,"column":48},"end":{"line":67,"column":1}}],"line":41},"21":{"loc":{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},"type":"if","locations":[{"start":{"line":42,"column":43},"end":{"line":42,"column":68}},{"start":{"line":42,"column":43},"end":{"line":42,"column":68}}],"line":42},"22":{"loc":{"start":{"line":43,"column":71},"end":{"line":43,"column":153}},"type":"binary-expr","locations":[{"start":{"line":43,"column":71},"end":{"line":43,"column":99}},{"start":{"line":43,"column":104},"end":{"line":43,"column":152}}],"line":43},"23":{"loc":{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":46,"column":70}},{"start":{"line":46,"column":8},"end":{"line":46,"column":70}}],"line":46},"24":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},"type":"if","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":169}},{"start":{"line":48,"column":12},"end":{"line":48,"column":169}}],"line":48},"25":{"loc":{"start":{"line":48,"column":23},"end":{"line":48,"column":158}},"type":"binary-expr","locations":[{"start":{"line":48,"column":23},"end":{"line":48,"column":24}},{"start":{"line":48,"column":29},"end":{"line":48,"column":125}},{"start":{"line":48,"column":130},"end":{"line":48,"column":158}}],"line":48},"26":{"loc":{"start":{"line":48,"column":33},"end":{"line":48,"column":125}},"type":"cond-expr","locations":[{"start":{"line":48,"column":45},"end":{"line":48,"column":56}},{"start":{"line":48,"column":59},"end":{"line":48,"column":125}}],"line":48},"27":{"loc":{"start":{"line":48,"column":59},"end":{"line":48,"column":125}},"type":"cond-expr","locations":[{"start":{"line":48,"column":67},"end":{"line":48,"column":116}},{"start":{"line":48,"column":119},"end":{"line":48,"column":125}}],"line":48},"28":{"loc":{"start":{"line":48,"column":67},"end":{"line":48,"column":116}},"type":"binary-expr","locations":[{"start":{"line":48,"column":67},"end":{"line":48,"column":77}},{"start":{"line":48,"column":82},"end":{"line":48,"column":115}}],"line":48},"29":{"loc":{"start":{"line":48,"column":82},"end":{"line":48,"column":112}},"type":"binary-expr","locations":[{"start":{"line":48,"column":83},"end":{"line":48,"column":98}},{"start":{"line":48,"column":103},"end":{"line":48,"column":112}}],"line":48},"30":{"loc":{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":49,"column":52}},{"start":{"line":49,"column":12},"end":{"line":49,"column":52}}],"line":49},"31":{"loc":{"start":{"line":50,"column":12},"end":{"line":62,"column":13}},"type":"switch","locations":[{"start":{"line":51,"column":16},"end":{"line":51,"column":23}},{"start":{"line":51,"column":24},"end":{"line":51,"column":46}},{"start":{"line":52,"column":16},"end":{"line":52,"column":72}},{"start":{"line":53,"column":16},"end":{"line":53,"column":65}},{"start":{"line":54,"column":16},"end":{"line":54,"column":65}},{"start":{"line":55,"column":16},"end":{"line":61,"column":43}}],"line":50},"32":{"loc":{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},"type":"if","locations":[{"start":{"line":56,"column":20},"end":{"line":56,"column":128}},{"start":{"line":56,"column":20},"end":{"line":56,"column":128}}],"line":56},"33":{"loc":{"start":{"line":56,"column":24},"end":{"line":56,"column":106}},"type":"binary-expr","locations":[{"start":{"line":56,"column":24},"end":{"line":56,"column":74}},{"start":{"line":56,"column":79},"end":{"line":56,"column":90}},{"start":{"line":56,"column":94},"end":{"line":56,"column":105}}],"line":56},"34":{"loc":{"start":{"line":56,"column":42},"end":{"line":56,"column":73}},"type":"binary-expr","locations":[{"start":{"line":56,"column":42},"end":{"line":56,"column":54}},{"start":{"line":56,"column":58},"end":{"line":56,"column":73}}],"line":56},"35":{"loc":{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},"type":"if","locations":[{"start":{"line":57,"column":20},"end":{"line":57,"column":106}},{"start":{"line":57,"column":20},"end":{"line":57,"column":106}}],"line":57},"36":{"loc":{"start":{"line":57,"column":24},"end":{"line":57,"column":77}},"type":"binary-expr","locations":[{"start":{"line":57,"column":24},"end":{"line":57,"column":35}},{"start":{"line":57,"column":40},"end":{"line":57,"column":42}},{"start":{"line":57,"column":47},"end":{"line":57,"column":59}},{"start":{"line":57,"column":63},"end":{"line":57,"column":75}}],"line":57},"37":{"loc":{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},"type":"if","locations":[{"start":{"line":58,"column":20},"end":{"line":58,"column":89}},{"start":{"line":58,"column":20},"end":{"line":58,"column":89}}],"line":58},"38":{"loc":{"start":{"line":58,"column":24},"end":{"line":58,"column":53}},"type":"binary-expr","locations":[{"start":{"line":58,"column":24},"end":{"line":58,"column":35}},{"start":{"line":58,"column":39},"end":{"line":58,"column":53}}],"line":58},"39":{"loc":{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},"type":"if","locations":[{"start":{"line":59,"column":20},"end":{"line":59,"column":87}},{"start":{"line":59,"column":20},"end":{"line":59,"column":87}}],"line":59},"40":{"loc":{"start":{"line":59,"column":24},"end":{"line":59,"column":43}},"type":"binary-expr","locations":[{"start":{"line":59,"column":24},"end":{"line":59,"column":25}},{"start":{"line":59,"column":29},"end":{"line":59,"column":43}}],"line":59},"41":{"loc":{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},"type":"if","locations":[{"start":{"line":60,"column":20},"end":{"line":60,"column":42}},{"start":{"line":60,"column":20},"end":{"line":60,"column":42}}],"line":60},"42":{"loc":{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},"type":"if","locations":[{"start":{"line":65,"column":8},"end":{"line":65,"column":35}},{"start":{"line":65,"column":8},"end":{"line":65,"column":35}}],"line":65},"43":{"loc":{"start":{"line":65,"column":52},"end":{"line":65,"column":74}},"type":"cond-expr","locations":[{"start":{"line":65,"column":60},"end":{"line":65,"column":65}},{"start":{"line":65,"column":68},"end":{"line":65,"column":74}}],"line":65},"44":{"loc":{"start":{"line":68,"column":20},"end":{"line":76,"column":1}},"type":"binary-expr","locations":[{"start":{"line":68,"column":21},"end":{"line":68,"column":25}},{"start":{"line":68,"column":29},"end":{"line":68,"column":47}},{"start":{"line":68,"column":52},"end":{"line":76,"column":1}}],"line":68},"45":{"loc":{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":74,"column":5}},{"start":{"line":69,"column":4},"end":{"line":74,"column":5}}],"line":69},"46":{"loc":{"start":{"line":69,"column":8},"end":{"line":69,"column":38}},"type":"binary-expr","locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":12}},{"start":{"line":69,"column":16},"end":{"line":69,"column":38}}],"line":69},"47":{"loc":{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},{"start":{"line":70,"column":8},"end":{"line":73,"column":9}}],"line":70},"48":{"loc":{"start":{"line":70,"column":12},"end":{"line":70,"column":30}},"type":"binary-expr","locations":[{"start":{"line":70,"column":12},"end":{"line":70,"column":14}},{"start":{"line":70,"column":18},"end":{"line":70,"column":30}}],"line":70},"49":{"loc":{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":71,"column":65}},{"start":{"line":71,"column":12},"end":{"line":71,"column":65}}],"line":71},"50":{"loc":{"start":{"line":75,"column":21},"end":{"line":75,"column":59}},"type":"binary-expr","locations":[{"start":{"line":75,"column":21},"end":{"line":75,"column":23}},{"start":{"line":75,"column":27},"end":{"line":75,"column":59}}],"line":75},"51":{"loc":{"start":{"line":87,"column":8},"end":{"line":93,"column":9}},"type":"if","locations":[{"start":{"line":87,"column":8},"end":{"line":93,"column":9}},{"start":{"line":87,"column":8},"end":{"line":93,"column":9}}],"line":87},"52":{"loc":{"start":{"line":94,"column":8},"end":{"line":96,"column":9}},"type":"if","locations":[{"start":{"line":94,"column":8},"end":{"line":96,"column":9}},{"start":{"line":94,"column":8},"end":{"line":96,"column":9}}],"line":94},"53":{"loc":{"start":{"line":102,"column":4},"end":{"line":114,"column":5}},"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":114,"column":5}},{"start":{"line":102,"column":4},"end":{"line":114,"column":5}}],"line":102},"54":{"loc":{"start":{"line":105,"column":8},"end":{"line":110,"column":9}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":110,"column":9}},{"start":{"line":105,"column":8},"end":{"line":110,"column":9}}],"line":105},"55":{"loc":{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},{"start":{"line":123,"column":8},"end":{"line":125,"column":9}}],"line":123},"56":{"loc":{"start":{"line":123,"column":12},"end":{"line":123,"column":61}},"type":"binary-expr","locations":[{"start":{"line":123,"column":12},"end":{"line":123,"column":34}},{"start":{"line":123,"column":38},"end":{"line":123,"column":61}}],"line":123},"57":{"loc":{"start":{"line":133,"column":12},"end":{"line":141,"column":13}},"type":"switch","locations":[{"start":{"line":134,"column":16},"end":{"line":134,"column":87}},{"start":{"line":135,"column":16},"end":{"line":137,"column":80}},{"start":{"line":138,"column":16},"end":{"line":140,"column":181}}],"line":133},"58":{"loc":{"start":{"line":152,"column":16},"end":{"line":157,"column":17}},"type":"if","locations":[{"start":{"line":152,"column":16},"end":{"line":157,"column":17}},{"start":{"line":152,"column":16},"end":{"line":157,"column":17}}],"line":152},"59":{"loc":{"start":{"line":165,"column":4},"end":{"line":170,"column":5}},"type":"if","locations":[{"start":{"line":165,"column":4},"end":{"line":170,"column":5}},{"start":{"line":165,"column":4},"end":{"line":170,"column":5}}],"line":165},"60":{"loc":{"start":{"line":174,"column":4},"end":{"line":184,"column":5}},"type":"if","locations":[{"start":{"line":174,"column":4},"end":{"line":184,"column":5}},{"start":{"line":174,"column":4},"end":{"line":184,"column":5}}],"line":174},"61":{"loc":{"start":{"line":177,"column":19},"end":{"line":177,"column":102}},"type":"cond-expr","locations":[{"start":{"line":177,"column":82},"end":{"line":177,"column":88}},{"start":{"line":177,"column":91},"end":{"line":177,"column":102}}],"line":177},"62":{"loc":{"start":{"line":177,"column":19},"end":{"line":177,"column":79}},"type":"binary-expr","locations":[{"start":{"line":177,"column":19},"end":{"line":177,"column":62}},{"start":{"line":177,"column":66},"end":{"line":177,"column":79}}],"line":177},"63":{"loc":{"start":{"line":180,"column":12},"end":{"line":182,"column":13}},"type":"if","locations":[{"start":{"line":180,"column":12},"end":{"line":182,"column":13}},{"start":{"line":180,"column":12},"end":{"line":182,"column":13}}],"line":180},"64":{"loc":{"start":{"line":187,"column":4},"end":{"line":189,"column":5}},"type":"if","locations":[{"start":{"line":187,"column":4},"end":{"line":189,"column":5}},{"start":{"line":187,"column":4},"end":{"line":189,"column":5}}],"line":187},"65":{"loc":{"start":{"line":192,"column":66},"end":{"line":194,"column":19}},"type":"cond-expr","locations":[{"start":{"line":193,"column":8},"end":{"line":193,"column":17}},{"start":{"line":194,"column":8},"end":{"line":194,"column":19}}],"line":192},"66":{"loc":{"start":{"line":195,"column":4},"end":{"line":197,"column":5}},"type":"if","locations":[{"start":{"line":195,"column":4},"end":{"line":197,"column":5}},{"start":{"line":195,"column":4},"end":{"line":197,"column":5}}],"line":195},"67":{"loc":{"start":{"line":198,"column":4},"end":{"line":200,"column":5}},"type":"if","locations":[{"start":{"line":198,"column":4},"end":{"line":200,"column":5}},{"start":{"line":198,"column":4},"end":{"line":200,"column":5}}],"line":198},"68":{"loc":{"start":{"line":205,"column":4},"end":{"line":210,"column":5}},"type":"if","locations":[{"start":{"line":205,"column":4},"end":{"line":210,"column":5}},{"start":{"line":205,"column":4},"end":{"line":210,"column":5}}],"line":205}},"s":{"0":1,"1":2,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":2,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":1,"20":0,"21":0,"22":1,"23":1,"24":1,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":1,"33":45,"34":0,"35":68,"36":44,"37":44,"38":0,"39":1,"40":1,"41":1,"42":112,"43":68,"44":1,"45":68,"46":45,"47":1,"48":44,"49":68,"50":0,"51":204,"52":113,"53":113,"54":0,"55":113,"56":226,"57":226,"58":0,"59":226,"60":0,"61":226,"62":113,"63":113,"64":45,"65":45,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":68,"74":68,"75":68,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":113,"92":1,"93":1,"94":226,"95":68,"96":1,"97":67,"98":1,"99":222,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":222,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":557,"115":644,"116":310,"117":310,"118":283,"119":27,"120":27,"121":310,"122":306,"123":310,"124":851,"125":557,"126":223,"127":223,"128":23,"129":200,"130":294,"131":517,"132":222,"133":222,"134":27,"135":27,"136":27,"137":25,"138":222,"139":23,"140":23,"141":68,"142":23,"143":23,"144":22,"145":22,"146":22,"147":45,"148":45,"149":45,"150":45,"151":28,"152":28,"153":1,"154":27,"155":45,"156":516,"157":515,"158":2,"159":2,"160":513,"161":516,"162":7,"163":7,"164":7,"165":1,"166":1,"167":855,"168":476,"169":476,"170":476,"171":2,"172":474,"173":2,"174":855,"175":851,"176":517,"177":23,"178":22,"179":494,"180":1},"f":{"0":2,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1,"8":68,"9":45,"10":0,"11":68,"12":44,"13":1,"14":112,"15":68,"16":45,"17":0,"18":204,"19":113,"20":113,"21":222,"22":557,"23":644,"24":851,"25":222,"26":27,"27":23,"28":23,"29":68,"30":45,"31":45,"32":45,"33":516,"34":2,"35":516,"36":855,"37":476,"38":855,"39":22},"b":{"0":[1,1,1],"1":[2,0],"2":[0,0],"3":[1,1,1],"4":[1,0],"5":[0,0],"6":[0,0],"7":[1,1,1],"8":[1,0],"9":[1,1,1],"10":[1,0],"11":[1,1],"12":[0,0],"13":[0,0],"14":[0,0],"15":[1,1,1],"16":[45,0],"17":[68,68],"18":[67,45],"19":[68,68],"20":[1,1,1],"21":[1,44],"22":[68,68],"23":[0,113],"24":[0,226],"25":[226,0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,226],"31":[112,113,45,0,0,68],"32":[68,0],"33":[68,68,67],"34":[68,0],"35":[0,0],"36":[0,0,0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[1,67],"43":[67,0],"44":[1,1,1],"45":[0,222],"46":[222,222],"47":[0,0],"48":[0,0],"49":[0,0],"50":[222,222],"51":[283,27],"52":[306,4],"53":[557,294],"54":[23,200],"55":[25,2],"56":[27,4],"57":[23,23,22],"58":[1,27],"59":[2,513],"60":[7,509],"61":[0,7],"62":[7,7],"63":[1,0],"64":[476,379],"65":[8,468],"66":[2,474],"67":[2,472],"68":[23,494]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/resolution/instantiation.ts","sources":["X:/Code/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';\r\nimport { BindingScopeEnum, TargetTypeEnum } from '../constants/literal_types';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { Metadata } from '../planning/metadata';\r\nimport { isPromise, isPromiseOrContainsPromise } from '../utils/async';\r\n\r\ninterface InstanceCreationInstruction {\r\n constructorInjections: unknown[],\r\n propertyInjections: unknown[],\r\n propertyRequests: interfaces.Request[]\r\n}\r\n\r\ninterface ResolvedRequests extends InstanceCreationInstruction {\r\n isAsync: boolean\r\n}\r\n\r\ninterface CreateInstanceWithInjectionArg<T> extends InstanceCreationInstruction {\r\n constr: interfaces.Newable<T>\r\n}\r\n\r\nfunction _resolveRequests(\r\n childRequests: interfaces.Request[],\r\n resolveRequest: interfaces.ResolveRequestHandler\r\n): ResolvedRequests {\r\n return childRequests.reduce<ResolvedRequests>((resolvedRequests, childRequest) => {\r\n const injection = resolveRequest(childRequest)\r\n const targetType = childRequest.target.type\r\n if (targetType === TargetTypeEnum.ConstructorArgument) {\r\n resolvedRequests.constructorInjections.push(injection)\r\n } else {\r\n resolvedRequests.propertyRequests.push(childRequest)\r\n resolvedRequests.propertyInjections.push(injection)\r\n }\r\n if (!resolvedRequests.isAsync) {\r\n resolvedRequests.isAsync = isPromiseOrContainsPromise(injection);\r\n }\r\n return resolvedRequests\r\n }, { constructorInjections: [], propertyInjections: [], propertyRequests: [], isAsync: false })\r\n}\r\n\r\nfunction _createInstance<T>(\r\n constr: interfaces.Newable<T>,\r\n childRequests: interfaces.Request[],\r\n resolveRequest: interfaces.ResolveRequestHandler,\r\n): T | Promise<T> {\r\n let result: T | Promise<T>;\r\n\r\n if (childRequests.length > 0) {\r\n const resolved = _resolveRequests(childRequests, resolveRequest)\r\n const createInstanceWithInjectionsArg: CreateInstanceWithInjectionArg<T> = { ...resolved, constr }\r\n if (resolved.isAsync) {\r\n result = createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg)\r\n } else {\r\n result = createInstanceWithInjections(createInstanceWithInjectionsArg)\r\n }\r\n } else {\r\n result = new constr();\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction createInstanceWithInjections<T>(\r\n args: CreateInstanceWithInjectionArg<T>\r\n): T {\r\n const instance = new args.constr(...args.constructorInjections);\r\n args.propertyRequests.forEach((r: interfaces.Request, index: number) => {\r\n const property = r.target.identifier;\r\n const injection = args.propertyInjections[index];\r\n if (!r.target.isOptional() || injection !== undefined) {\r\n (instance as Record<string | symbol, unknown>)[property] = injection;\r\n }\r\n });\r\n return instance\r\n}\r\n\r\nasync function createInstanceWithInjectionsAsync<T>(\r\n args: CreateInstanceWithInjectionArg<T>\r\n): Promise<T> {\r\n const constructorInjections = await possiblyWaitInjections(args.constructorInjections)\r\n const propertyInjections = await possiblyWaitInjections(args.propertyInjections)\r\n return createInstanceWithInjections<T>({ ...args, constructorInjections, propertyInjections })\r\n}\r\n\r\nasync function possiblyWaitInjections(possiblePromiseinjections: unknown[]) {\r\n const injections: unknown[] = [];\r\n for (const injection of possiblePromiseinjections) {\r\n if (Array.isArray(injection)) {\r\n injections.push(Promise.all(injection))\r\n } else {\r\n injections.push(injection)\r\n }\r\n }\r\n return Promise.all(injections)\r\n}\r\n\r\nfunction _getInstanceAfterPostConstruct<T>(constr: interfaces.Newable<T>, result: T): T | Promise<T> {\r\n\r\n const postConstructResult = _postConstruct(constr, result);\r\n\r\n if (isPromise(postConstructResult)) {\r\n return postConstructResult.then(() => result);\r\n } else {\r\n return result;\r\n }\r\n}\r\n\r\nfunction _postConstruct<T>(constr: interfaces.Newable<T>, instance: T): void | Promise<void> {\r\n if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {\r\n const data: Metadata = Reflect.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);\r\n try {\r\n return (instance as interfaces.Instance<T>)[(data.value as string)]?.();\r\n } catch (e) {\r\n if (e instanceof Error) {\r\n throw new Error(POST_CONSTRUCT_ERROR(constr.name, e.message));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction _validateInstanceResolution<T = unknown>(binding: interfaces.Binding<T>, constr: interfaces.Newable<T>): void {\r\n if (binding.scope !== BindingScopeEnum.Singleton) {\r\n _throwIfHandlingDeactivation(binding, constr);\r\n }\r\n}\r\n\r\nfunction _throwIfHandlingDeactivation<T = unknown>(binding: interfaces.Binding<T>, constr: interfaces.Newable<T>): void {\r\n const scopeErrorMessage = `Class cannot be instantiated in ${binding.scope === BindingScopeEnum.Request ?\r\n 'request' :\r\n 'transient'} scope.`;\r\n if (typeof binding.onDeactivation === 'function') {\r\n throw new Error(ON_DEACTIVATION_ERROR(constr.name, scopeErrorMessage));\r\n }\r\n\r\n if (Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constr)) {\r\n throw new Error(PRE_DESTROY_ERROR(constr.name, scopeErrorMessage));\r\n }\r\n}\r\n\r\nfunction resolveInstance<T>(\r\n binding: interfaces.Binding<T>,\r\n constr: interfaces.Newable<T>,\r\n childRequests: interfaces.Request[],\r\n resolveRequest: interfaces.ResolveRequestHandler,\r\n): T | Promise<T> {\r\n _validateInstanceResolution(binding, constr);\r\n\r\n const result = _createInstance(constr, childRequests, resolveRequest);\r\n\r\n if (isPromise(result)) {\r\n return result.then((resolvedResult) => _getInstanceAfterPostConstruct(constr, resolvedResult));\r\n } else {\r\n return _getInstanceAfterPostConstruct(constr, result);\r\n }\r\n}\r\n\r\nexport { resolveInstance };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bcf0ba34cde883eb51a03c9b5258f01e2638f264","contentHash":"5c5e54f958fdedd37cfc35760c4df4365838112f454d7ddd8efdecf801b25884"},"X:\\Code\\InversifyJS\\src\\syntax\\binding_to_syntax.ts":{"path":"X:\\Code\\InversifyJS\\src\\syntax\\binding_to_syntax.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":33}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":24,"column":22},"end":{"line":24,"column":59}},"25":{"start":{"line":25,"column":34},"end":{"line":25,"column":72}},"26":{"start":{"line":26,"column":31},"end":{"line":26,"column":66}},"27":{"start":{"line":27,"column":23},"end":{"line":105,"column":3}},"28":{"start":{"line":29,"column":8},"end":{"line":29,"column":32}},"29":{"start":{"line":31,"column":4},"end":{"line":35,"column":6}},"30":{"start":{"line":32,"column":8},"end":{"line":32,"column":70}},"31":{"start":{"line":33,"column":8},"end":{"line":33,"column":55}},"32":{"start":{"line":34,"column":8},"end":{"line":34,"column":84}},"33":{"start":{"line":36,"column":4},"end":{"line":42,"column":6}},"34":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"35":{"start":{"line":38,"column":12},"end":{"line":38,"column":67}},"36":{"start":{"line":40,"column":19},"end":{"line":40,"column":50}},"37":{"start":{"line":41,"column":8},"end":{"line":41,"column":29}},"38":{"start":{"line":43,"column":4},"end":{"line":50,"column":6}},"39":{"start":{"line":44,"column":8},"end":{"line":44,"column":75}},"40":{"start":{"line":45,"column":8},"end":{"line":45,"column":36}},"41":{"start":{"line":46,"column":8},"end":{"line":46,"column":42}},"42":{"start":{"line":47,"column":8},"end":{"line":47,"column":48}},"43":{"start":{"line":48,"column":8},"end":{"line":48,"column":73}},"44":{"start":{"line":49,"column":8},"end":{"line":49,"column":79}},"45":{"start":{"line":51,"column":4},"end":{"line":57,"column":6}},"46":{"start":{"line":52,"column":8},"end":{"line":52,"column":74}},"47":{"start":{"line":53,"column":8},"end":{"line":53,"column":35}},"48":{"start":{"line":54,"column":8},"end":{"line":54,"column":42}},"49":{"start":{"line":55,"column":8},"end":{"line":55,"column":48}},"50":{"start":{"line":56,"column":8},"end":{"line":56,"column":84}},"51":{"start":{"line":58,"column":4},"end":{"line":63,"column":6}},"52":{"start":{"line":59,"column":8},"end":{"line":59,"column":73}},"53":{"start":{"line":60,"column":8},"end":{"line":60,"column":55}},"54":{"start":{"line":61,"column":8},"end":{"line":61,"column":73}},"55":{"start":{"line":62,"column":8},"end":{"line":62,"column":79}},"56":{"start":{"line":64,"column":4},"end":{"line":69,"column":6}},"57":{"start":{"line":65,"column":8},"end":{"line":65,"column":69}},"58":{"start":{"line":66,"column":8},"end":{"line":66,"column":40}},"59":{"start":{"line":67,"column":8},"end":{"line":67,"column":73}},"60":{"start":{"line":68,"column":8},"end":{"line":68,"column":79}},"61":{"start":{"line":70,"column":4},"end":{"line":78,"column":6}},"62":{"start":{"line":71,"column":8},"end":{"line":73,"column":9}},"63":{"start":{"line":72,"column":12},"end":{"line":72,"column":65}},"64":{"start":{"line":74,"column":34},"end":{"line":74,"column":60}},"65":{"start":{"line":75,"column":8},"end":{"line":75,"column":70}},"66":{"start":{"line":76,"column":8},"end":{"line":76,"column":73}},"67":{"start":{"line":77,"column":8},"end":{"line":77,"column":35}},"68":{"start":{"line":79,"column":4},"end":{"line":87,"column":6}},"69":{"start":{"line":80,"column":8},"end":{"line":80,"column":69}},"70":{"start":{"line":81,"column":8},"end":{"line":84,"column":10}},"71":{"start":{"line":82,"column":30},"end":{"line":82,"column":94}},"72":{"start":{"line":82,"column":44},"end":{"line":82,"column":92}},"73":{"start":{"line":83,"column":12},"end":{"line":83,"column":31}},"74":{"start":{"line":85,"column":8},"end":{"line":85,"column":73}},"75":{"start":{"line":86,"column":8},"end":{"line":86,"column":79}},"76":{"start":{"line":88,"column":4},"end":{"line":94,"column":6}},"77":{"start":{"line":89,"column":8},"end":{"line":89,"column":69}},"78":{"start":{"line":90,"column":8},"end":{"line":92,"column":10}},"79":{"start":{"line":91,"column":12},"end":{"line":91,"column":101}},"80":{"start":{"line":91,"column":38},"end":{"line":91,"column":98}},"81":{"start":{"line":93,"column":8},"end":{"line":93,"column":79}},"82":{"start":{"line":95,"column":4},"end":{"line":100,"column":6}},"83":{"start":{"line":96,"column":8},"end":{"line":96,"column":70}},"84":{"start":{"line":97,"column":8},"end":{"line":97,"column":42}},"85":{"start":{"line":98,"column":8},"end":{"line":98,"column":73}},"86":{"start":{"line":99,"column":8},"end":{"line":99,"column":79}},"87":{"start":{"line":101,"column":4},"end":{"line":103,"column":6}},"88":{"start":{"line":102,"column":8},"end":{"line":102,"column":91}},"89":{"start":{"line":102,"column":49},"end":{"line":102,"column":87}},"90":{"start":{"line":104,"column":4},"end":{"line":104,"column":27}},"91":{"start":{"line":106,"column":0},"end":{"line":106,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":27,"column":23},"end":{"line":27,"column":24}},"loc":{"start":{"line":27,"column":35},"end":{"line":105,"column":1}},"line":27},"7":{"name":"BindingToSyntax","decl":{"start":{"line":28,"column":13},"end":{"line":28,"column":28}},"loc":{"start":{"line":28,"column":38},"end":{"line":30,"column":5}},"line":28},"8":{"name":"(anonymous_8)","decl":{"start":{"line":31,"column":35},"end":{"line":31,"column":36}},"loc":{"start":{"line":31,"column":58},"end":{"line":35,"column":5}},"line":31},"9":{"name":"(anonymous_9)","decl":{"start":{"line":36,"column":39},"end":{"line":36,"column":40}},"loc":{"start":{"line":36,"column":51},"end":{"line":42,"column":5}},"line":36},"10":{"name":"(anonymous_10)","decl":{"start":{"line":43,"column":48},"end":{"line":43,"column":49}},"loc":{"start":{"line":43,"column":65},"end":{"line":50,"column":5}},"line":43},"11":{"name":"(anonymous_11)","decl":{"start":{"line":51,"column":47},"end":{"line":51,"column":48}},"loc":{"start":{"line":51,"column":63},"end":{"line":57,"column":5}},"line":51},"12":{"name":"(anonymous_12)","decl":{"start":{"line":58,"column":46},"end":{"line":58,"column":47}},"loc":{"start":{"line":58,"column":69},"end":{"line":63,"column":5}},"line":58},"13":{"name":"(anonymous_13)","decl":{"start":{"line":64,"column":42},"end":{"line":64,"column":43}},"loc":{"start":{"line":64,"column":61},"end":{"line":69,"column":5}},"line":64},"14":{"name":"(anonymous_14)","decl":{"start":{"line":70,"column":43},"end":{"line":70,"column":44}},"loc":{"start":{"line":70,"column":59},"end":{"line":78,"column":5}},"line":70},"15":{"name":"(anonymous_15)","decl":{"start":{"line":79,"column":46},"end":{"line":79,"column":47}},"loc":{"start":{"line":79,"column":75},"end":{"line":87,"column":5}},"line":79},"16":{"name":"(anonymous_16)","decl":{"start":{"line":81,"column":32},"end":{"line":81,"column":33}},"loc":{"start":{"line":81,"column":51},"end":{"line":84,"column":9}},"line":81},"17":{"name":"(anonymous_17)","decl":{"start":{"line":82,"column":30},"end":{"line":82,"column":31}},"loc":{"start":{"line":82,"column":42},"end":{"line":82,"column":94}},"line":82},"18":{"name":"(anonymous_18)","decl":{"start":{"line":88,"column":51},"end":{"line":88,"column":52}},"loc":{"start":{"line":88,"column":80},"end":{"line":94,"column":5}},"line":88},"19":{"name":"(anonymous_19)","decl":{"start":{"line":90,"column":32},"end":{"line":90,"column":33}},"loc":{"start":{"line":90,"column":51},"end":{"line":92,"column":9}},"line":90},"20":{"name":"(anonymous_20)","decl":{"start":{"line":91,"column":19},"end":{"line":91,"column":20}},"loc":{"start":{"line":91,"column":36},"end":{"line":91,"column":100}},"line":91},"21":{"name":"(anonymous_21)","decl":{"start":{"line":95,"column":43},"end":{"line":95,"column":44}},"loc":{"start":{"line":95,"column":63},"end":{"line":100,"column":5}},"line":95},"22":{"name":"(anonymous_22)","decl":{"start":{"line":101,"column":42},"end":{"line":101,"column":43}},"loc":{"start":{"line":101,"column":61},"end":{"line":103,"column":5}},"line":101},"23":{"name":"(anonymous_23)","decl":{"start":{"line":102,"column":28},"end":{"line":102,"column":29}},"loc":{"start":{"line":102,"column":47},"end":{"line":102,"column":89}},"line":102}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":39,"column":9}},{"start":{"line":37,"column":8},"end":{"line":39,"column":9}}],"line":37},"13":{"loc":{"start":{"line":71,"column":8},"end":{"line":73,"column":9}},"type":"if","locations":[{"start":{"line":71,"column":8},"end":{"line":73,"column":9}},{"start":{"line":71,"column":8},"end":{"line":73,"column":9}}],"line":71}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":24691,"29":1,"30":512,"31":512,"32":512,"33":1,"34":61,"35":1,"36":60,"37":60,"38":1,"39":24091,"40":24091,"41":24091,"42":24091,"43":24091,"44":24091,"45":1,"46":64,"47":64,"48":64,"49":64,"50":64,"51":1,"52":5,"53":5,"54":5,"55":5,"56":1,"57":7,"58":7,"59":7,"60":7,"61":1,"62":5,"63":1,"64":4,"65":4,"66":4,"67":4,"68":1,"69":4,"70":4,"71":3,"72":2,"73":3,"74":4,"75":4,"76":1,"77":2,"78":2,"79":2,"80":3,"81":2,"82":1,"83":8,"84":8,"85":8,"86":8,"87":1,"88":4,"89":5,"90":1,"91":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":24691,"8":512,"9":61,"10":24091,"11":64,"12":5,"13":7,"14":5,"15":4,"16":3,"17":2,"18":2,"19":2,"20":3,"21":8,"22":4,"23":5},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,60],"13":[1,4]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/syntax/binding_to_syntax.ts","sources":["X:/Code/InversifyJS/src/syntax/binding_to_syntax.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\r\nimport { BindingScopeEnum, BindingTypeEnum } from \"../constants/literal_types\";\r\nimport { interfaces } from \"../interfaces/interfaces\";\r\nimport { BindingInWhenOnSyntax } from \"./binding_in_when_on_syntax\";\r\nimport { BindingWhenOnSyntax } from \"./binding_when_on_syntax\";\r\n\r\nclass BindingToSyntax<T> implements interfaces.BindingToSyntax<T> {\r\n\r\n // TODO: Implement an internal type `_BindingToSyntax<T>` wherein this member\r\n // can be public. Let `BindingToSyntax<T>` be the presentational type that\r\n // depends on it, and does not expose this member as public.\r\n private _binding: interfaces.Binding<T>;\r\n\r\n public constructor(binding: interfaces.Binding<T>) {\r\n this._binding = binding;\r\n }\r\n\r\n public to(constructor: interfaces.Newable<T>): interfaces.BindingInWhenOnSyntax<T> {\r\n this._binding.type = BindingTypeEnum.Instance;\r\n this._binding.implementationType = constructor;\r\n return new BindingInWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public toSelf(): interfaces.BindingInWhenOnSyntax<T> {\r\n if (typeof this._binding.serviceIdentifier !== \"function\") {\r\n throw new Error(`${ERROR_MSGS.INVALID_TO_SELF_VALUE}`);\r\n }\r\n const self = this._binding.serviceIdentifier;\r\n return this.to(self);\r\n }\r\n\r\n public toConstantValue(value: T): interfaces.BindingWhenOnSyntax<T> {\r\n this._binding.type = BindingTypeEnum.ConstantValue;\r\n this._binding.cache = value;\r\n this._binding.dynamicValue = null;\r\n this._binding.implementationType = null;\r\n this._binding.scope = BindingScopeEnum.Singleton;\r\n return new BindingWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public toDynamicValue(func: interfaces.DynamicValue<T>): interfaces.BindingInWhenOnSyntax<T> {\r\n this._binding.type = BindingTypeEnum.DynamicValue;\r\n this._binding.cache = null;\r\n this._binding.dynamicValue = func;\r\n this._binding.implementationType = null;\r\n return new BindingInWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public toConstructor<T2>(constructor: interfaces.Newable<T2>): interfaces.BindingWhenOnSyntax<T> {\r\n this._binding.type = BindingTypeEnum.Constructor;\r\n this._binding.implementationType = constructor as unknown as T;\r\n this._binding.scope = BindingScopeEnum.Singleton;\r\n return new BindingWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public toFactory<T2>(factory: interfaces.FactoryCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\r\n this._binding.type = BindingTypeEnum.Factory;\r\n this._binding.factory = factory;\r\n this._binding.scope = BindingScopeEnum.Singleton;\r\n return new BindingWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public toFunction(func: T): interfaces.BindingWhenOnSyntax<T> {\r\n // toFunction is an alias of toConstantValue\r\n if (typeof func !== \"function\") { throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING); }\r\n const bindingWhenOnSyntax = this.toConstantValue(func);\r\n this._binding.type = BindingTypeEnum.Function;\r\n this._binding.scope = BindingScopeEnum.Singleton;\r\n return bindingWhenOnSyntax;\r\n }\r\n\r\n public toAutoFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): interfaces.BindingWhenOnSyntax<T> {\r\n this._binding.type = BindingTypeEnum.Factory;\r\n this._binding.factory = (context) => {\r\n const autofactory = () => context.container.get<T2>(serviceIdentifier);\r\n return autofactory;\r\n };\r\n this._binding.scope = BindingScopeEnum.Singleton;\r\n return new BindingWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public toAutoNamedFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): BindingWhenOnSyntax<T> {\r\n this._binding.type = BindingTypeEnum.Factory;\r\n this._binding.factory = (context) => {\r\n return (named: unknown) => context.container.getNamed<T2>(serviceIdentifier, named as string);\r\n };\r\n return new BindingWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public toProvider<T2>(provider: interfaces.ProviderCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\r\n this._binding.type = BindingTypeEnum.Provider;\r\n this._binding.provider = provider;\r\n this._binding.scope = BindingScopeEnum.Singleton;\r\n return new BindingWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public toService(service: string | symbol | interfaces.Newable<T> | interfaces.Abstract<T>): void {\r\n this.toDynamicValue(\r\n (context) => context.container.get<T>(service)\r\n );\r\n }\r\n\r\n}\r\n\r\nexport { BindingToSyntax };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"109fd71bfd8ef0bd034a387615699977686fde15","contentHash":"2e70191e2f1e7dd321731852853b2fb16680797b5010837d5fc4a2a8118b13eb"},"X:\\Code\\InversifyJS\\src\\syntax\\binding_in_when_on_syntax.ts":{"path":"X:\\Code\\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":580,"7":580,"8":580,"9":580,"10":1,"11":5,"12":1,"13":46,"14":1,"15":5,"16":1,"17":7,"18":1,"19":41,"20":1,"21":2,"22":1,"23":45,"24":1,"25":7,"26":1,"27":3,"28":1,"29":3,"30":1,"31":3,"32":1,"33":3,"34":1,"35":3,"36":1,"37":3,"38":1,"39":3,"40":1,"41":3,"42":1,"43":3,"44":1,"45":3,"46":1,"47":5,"48":1,"49":1,"50":1,"51":1},"f":{"0":1,"1":580,"2":5,"3":46,"4":5,"5":7,"6":41,"7":2,"8":45,"9":7,"10":3,"11":3,"12":3,"13":3,"14":3,"15":3,"16":3,"17":3,"18":3,"19":3,"20":5,"21":1},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/syntax/binding_in_when_on_syntax.ts","sources":["X:/Code/InversifyJS/src/syntax/binding_in_when_on_syntax.ts"],"names":[],"mappings":"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","sourcesContent":["import { interfaces } from '../interfaces/interfaces';\r\nimport { BindingInSyntax } from './binding_in_syntax';\r\nimport { BindingOnSyntax } from './binding_on_syntax';\r\nimport { BindingWhenSyntax } from './binding_when_syntax';\r\n\r\nclass BindingInWhenOnSyntax<T> implements interfaces.BindingInSyntax<T>, interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {\r\n\r\n private _bindingInSyntax: interfaces.BindingInSyntax<T>;\r\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\r\n private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\r\n private _binding: interfaces.Binding<T>;\r\n\r\n public constructor(binding: interfaces.Binding<T>) {\r\n this._binding = binding;\r\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\r\n this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\r\n this._bindingInSyntax = new BindingInSyntax<T>(binding);\r\n }\r\n\r\n public inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\r\n return this._bindingInSyntax.inRequestScope();\r\n }\r\n\r\n public inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\r\n return this._bindingInSyntax.inSingletonScope();\r\n }\r\n\r\n public inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\r\n return this._bindingInSyntax.inTransientScope();\r\n }\r\n\r\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.when(constraint);\r\n }\r\n\r\n public whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenTargetNamed(name);\r\n }\r\n\r\n public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenTargetIsDefault();\r\n }\r\n\r\n public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\r\n }\r\n\r\n public whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenInjectedInto(parent);\r\n }\r\n\r\n public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenParentNamed(name);\r\n }\r\n\r\n public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\r\n }\r\n\r\n public whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\r\n }\r\n\r\n public whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\r\n }\r\n\r\n public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\r\n }\r\n\r\n public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\r\n }\r\n\r\n public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\r\n }\r\n\r\n public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\r\n }\r\n\r\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\r\n }\r\n\r\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\r\n }\r\n\r\n public onActivation(handler: (context: interfaces.Context, injectable: T) => T | Promise<T>): interfaces.BindingWhenSyntax<T> {\r\n return this._bindingOnSyntax.onActivation(handler);\r\n }\r\n\r\n public onDeactivation(handler: (injectable: T) => void | Promise<void>): interfaces.BindingWhenSyntax<T> {\r\n return this._bindingOnSyntax.onDeactivation(handler);\r\n }\r\n\r\n}\r\n\r\nexport { BindingInWhenOnSyntax };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"33d6d78695946c3e69e02160162c8c13a51e68e5","contentHash":"446d9c00c4ac34db25a7950b1e79f1a6d89da0fefe4296b6ba5a0eaf2cc73e2d"},"X:\\Code\\InversifyJS\\src\\syntax\\binding_in_syntax.ts":{"path":"X:\\Code\\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":582,"6":1,"7":5,"8":5,"9":1,"10":46,"11":46,"12":1,"13":5,"14":5,"15":1,"16":1},"f":{"0":1,"1":582,"2":5,"3":46,"4":5},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/syntax/binding_in_syntax.ts","sources":["X:/Code/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';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { BindingWhenOnSyntax } from './binding_when_on_syntax';\r\n\r\nclass BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {\r\n\r\n private _binding: interfaces.Binding<T>;\r\n\r\n public constructor(binding: interfaces.Binding<T>) {\r\n this._binding = binding;\r\n }\r\n\r\n public inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\r\n this._binding.scope = BindingScopeEnum.Request;\r\n return new BindingWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\r\n this._binding.scope = BindingScopeEnum.Singleton;\r\n return new BindingWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n public inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\r\n this._binding.scope = BindingScopeEnum.Transient;\r\n return new BindingWhenOnSyntax<T>(this._binding);\r\n }\r\n\r\n}\r\n\r\nexport { BindingInSyntax };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e44e3750682805d2b5d6f570e5f2db9ab2251210","contentHash":"1ffc2d26b28dce5a859d9ae59a0fb03ad8c2a760ccf5532a0f0d2b851fb76f01"},"X:\\Code\\InversifyJS\\src\\syntax\\binding_when_on_syntax.ts":{"path":"X:\\Code\\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":24176,"6":24176,"7":24176,"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":24176,"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":"X:/Code/InversifyJS/src/syntax/binding_when_on_syntax.ts","sources":["X:/Code/InversifyJS/src/syntax/binding_when_on_syntax.ts"],"names":[],"mappings":"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","sourcesContent":["import { interfaces } from '../interfaces/interfaces';\r\nimport { BindingOnSyntax } from './binding_on_syntax';\r\nimport { BindingWhenSyntax } from './binding_when_syntax';\r\n\r\nclass BindingWhenOnSyntax<T> implements interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {\r\n\r\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\r\n private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\r\n private _binding: interfaces.Binding<T>;\r\n\r\n public constructor(binding: interfaces.Binding<T>) {\r\n this._binding = binding;\r\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\r\n this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.when(constraint);\r\n }\r\n\r\n public whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenTargetNamed(name);\r\n }\r\n\r\n public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenTargetIsDefault();\r\n }\r\n\r\n public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\r\n }\r\n\r\n public whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenInjectedInto(parent);\r\n }\r\n\r\n public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenParentNamed(name);\r\n }\r\n\r\n public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\r\n }\r\n\r\n public whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\r\n }\r\n\r\n public whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\r\n }\r\n\r\n public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\r\n }\r\n\r\n public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\r\n }\r\n\r\n public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\r\n }\r\n\r\n public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\r\n }\r\n\r\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\r\n }\r\n\r\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\r\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\r\n }\r\n\r\n public onActivation(handler: (context: interfaces.Context, injectable: T) => T): interfaces.BindingWhenSyntax<T> {\r\n return this._bindingOnSyntax.onActivation(handler);\r\n }\r\n\r\n public onDeactivation(handler: (injectable: T) => Promise<void> | void): interfaces.BindingWhenSyntax<T> {\r\n return this._bindingOnSyntax.onDeactivation(handler);\r\n }\r\n\r\n}\r\n\r\nexport { BindingWhenOnSyntax };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7c289c9973f7357afe68a495e700559814fc896c","contentHash":"61ab301fc9e49b8630b01390ae49d60541acb759bab9862826f38883b5492c43"},"X:\\Code\\InversifyJS\\src\\syntax\\binding_on_syntax.ts":{"path":"X:\\Code\\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":24954,"5":1,"6":19,"7":19,"8":1,"9":17,"10":17,"11":1,"12":1},"f":{"0":1,"1":24954,"2":19,"3":17},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/syntax/binding_on_syntax.ts","sources":["X:/Code/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';\r\nimport { BindingWhenSyntax } from './binding_when_syntax';\r\n\r\nclass BindingOnSyntax<T> implements interfaces.BindingOnSyntax<T> {\r\n\r\n private _binding: interfaces.Binding<T>;\r\n\r\n public constructor(binding: interfaces.Binding<T>) {\r\n this._binding = binding;\r\n }\r\n\r\n public onActivation(handler: interfaces.BindingActivation<T>): interfaces.BindingWhenSyntax<T> {\r\n this._binding.onActivation = handler;\r\n return new BindingWhenSyntax<T>(this._binding);\r\n }\r\n\r\n public onDeactivation(handler: interfaces.BindingDeactivation<T>): interfaces.BindingWhenSyntax<T> {\r\n this._binding.onDeactivation = handler;\r\n return new BindingWhenSyntax<T>(this._binding);\r\n }\r\n\r\n}\r\n\r\nexport { BindingOnSyntax };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7b10ea4008bff374f18a63fcc2301d9ab85f5f22","contentHash":"37f8b176938c7b49e20e948943c3eec24bd3b290c397400f2bbfa7c943a95c81"},"X:\\Code\\InversifyJS\\src\\syntax\\binding_when_syntax.ts":{"path":"X:\\Code\\InversifyJS\\src\\syntax\\binding_when_syntax.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"2":{"start":{"line":4,"column":26},"end":{"line":4,"column":56}},"3":{"start":{"line":5,"column":27},"end":{"line":5,"column":58}},"4":{"start":{"line":6,"column":25},"end":{"line":101,"column":3}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":32}},"6":{"start":{"line":10,"column":4},"end":{"line":13,"column":6}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":46}},"8":{"start":{"line":12,"column":8},"end":{"line":12,"column":70}},"9":{"start":{"line":14,"column":4},"end":{"line":17,"column":6}},"10":{"start":{"line":15,"column":8},"end":{"line":15,"column":83}},"11":{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},"12":{"start":{"line":18,"column":4},"end":{"line":29,"column":6}},"13":{"start":{"line":19,"column":8},"end":{"line":27,"column":10}},"14":{"start":{"line":20,"column":12},"end":{"line":22,"column":13}},"15":{"start":{"line":21,"column":16},"end":{"line":21,"column":29}},"16":{"start":{"line":23,"column":34},"end":{"line":25,"column":44}},"17":{"start":{"line":26,"column":12},"end":{"line":26,"column":35}},"18":{"start":{"line":28,"column":8},"end":{"line":28,"column":70}},"19":{"start":{"line":30,"column":4},"end":{"line":33,"column":6}},"20":{"start":{"line":31,"column":8},"end":{"line":31,"column":90}},"21":{"start":{"line":32,"column":8},"end":{"line":32,"column":70}},"22":{"start":{"line":34,"column":4},"end":{"line":39,"column":6}},"23":{"start":{"line":35,"column":8},"end":{"line":37,"column":10}},"24":{"start":{"line":36,"column":12},"end":{"line":36,"column":111}},"25":{"start":{"line":38,"column":8},"end":{"line":38,"column":70}},"26":{"start":{"line":40,"column":4},"end":{"line":45,"column":6}},"27":{"start":{"line":41,"column":8},"end":{"line":43,"column":10}},"28":{"start":{"line":42,"column":12},"end":{"line":42,"column":110}},"29":{"start":{"line":44,"column":8},"end":{"line":44,"column":70}},"30":{"start":{"line":46,"column":4},"end":{"line":51,"column":6}},"31":{"start":{"line":47,"column":8},"end":{"line":49,"column":10}},"32":{"start":{"line":48,"column":12},"end":{"line":48,"column":117}},"33":{"start":{"line":50,"column":8},"end":{"line":50,"column":70}},"34":{"start":{"line":52,"column":4},"end":{"line":57,"column":6}},"35":{"start":{"line":53,"column":8},"end":{"line":55,"column":10}},"36":{"start":{"line":54,"column":12},"end":{"line":54,"column":145}},"37":{"start":{"line":56,"column":8},"end":{"line":56,"column":70}},"38":{"start":{"line":58,"column":4},"end":{"line":63,"column":6}},"39":{"start":{"line":59,"column":8},"end":{"line":61,"column":10}},"40":{"start":{"line":60,"column":12},"end":{"line":60,"column":146}},"41":{"start":{"line":62,"column":8},"end":{"line":62,"column":70}},"42":{"start":{"line":64,"column":4},"end":{"line":69,"column":6}},"43":{"start":{"line":65,"column":8},"end":{"line":67,"column":10}},"44":{"start":{"line":66,"column":12},"end":{"line":66,"column":142}},"45":{"start":{"line":68,"column":8},"end":{"line":68,"column":70}},"46":{"start":{"line":70,"column":4},"end":{"line":75,"column":6}},"47":{"start":{"line":71,"column":8},"end":{"line":73,"column":10}},"48":{"start":{"line":72,"column":12},"end":{"line":72,"column":143}},"49":{"start":{"line":74,"column":8},"end":{"line":74,"column":70}},"50":{"start":{"line":76,"column":4},"end":{"line":81,"column":6}},"51":{"start":{"line":77,"column":8},"end":{"line":79,"column":10}},"52":{"start":{"line":78,"column":12},"end":{"line":78,"column":149}},"53":{"start":{"line":80,"column":8},"end":{"line":80,"column":70}},"54":{"start":{"line":82,"column":4},"end":{"line":87,"column":6}},"55":{"start":{"line":83,"column":8},"end":{"line":85,"column":10}},"56":{"start":{"line":84,"column":12},"end":{"line":84,"column":150}},"57":{"start":{"line":86,"column":8},"end":{"line":86,"column":70}},"58":{"start":{"line":88,"column":4},"end":{"line":93,"column":6}},"59":{"start":{"line":89,"column":8},"end":{"line":91,"column":10}},"60":{"start":{"line":90,"column":12},"end":{"line":90,"column":105}},"61":{"start":{"line":92,"column":8},"end":{"line":92,"column":70}},"62":{"start":{"line":94,"column":4},"end":{"line":99,"column":6}},"63":{"start":{"line":95,"column":8},"end":{"line":97,"column":10}},"64":{"start":{"line":96,"column":12},"end":{"line":96,"column":106}},"65":{"start":{"line":98,"column":8},"end":{"line":98,"column":70}},"66":{"start":{"line":100,"column":4},"end":{"line":100,"column":29}},"67":{"start":{"line":102,"column":0},"end":{"line":102,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":25},"end":{"line":6,"column":26}},"loc":{"start":{"line":6,"column":37},"end":{"line":101,"column":1}},"line":6},"1":{"name":"BindingWhenSyntax","decl":{"start":{"line":7,"column":13},"end":{"line":7,"column":30}},"loc":{"start":{"line":7,"column":40},"end":{"line":9,"column":5}},"line":7},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":39},"end":{"line":10,"column":40}},"loc":{"start":{"line":10,"column":61},"end":{"line":13,"column":5}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":66},"end":{"line":17,"column":5}},"line":14},"4":{"name":"(anonymous_4)","decl":{"start":{"line":18,"column":54},"end":{"line":18,"column":55}},"loc":{"start":{"line":18,"column":66},"end":{"line":29,"column":5}},"line":18},"5":{"name":"(anonymous_5)","decl":{"start":{"line":19,"column":35},"end":{"line":19,"column":36}},"loc":{"start":{"line":19,"column":54},"end":{"line":27,"column":9}},"line":19},"6":{"name":"(anonymous_6)","decl":{"start":{"line":30,"column":51},"end":{"line":30,"column":52}},"loc":{"start":{"line":30,"column":73},"end":{"line":33,"column":5}},"line":30},"7":{"name":"(anonymous_7)","decl":{"start":{"line":34,"column":51},"end":{"line":34,"column":52}},"loc":{"start":{"line":34,"column":69},"end":{"line":39,"column":5}},"line":34},"8":{"name":"(anonymous_8)","decl":{"start":{"line":35,"column":35},"end":{"line":35,"column":36}},"loc":{"start":{"line":35,"column":54},"end":{"line":37,"column":9}},"line":35},"9":{"name":"(anonymous_9)","decl":{"start":{"line":40,"column":50},"end":{"line":40,"column":51}},"loc":{"start":{"line":40,"column":66},"end":{"line":45,"column":5}},"line":40},"10":{"name":"(anonymous_10)","decl":{"start":{"line":41,"column":35},"end":{"line":41,"column":36}},"loc":{"start":{"line":41,"column":54},"end":{"line":43,"column":9}},"line":41},"11":{"name":"(anonymous_11)","decl":{"start":{"line":46,"column":51},"end":{"line":46,"column":52}},"loc":{"start":{"line":46,"column":73},"end":{"line":51,"column":5}},"line":46},"12":{"name":"(anonymous_12)","decl":{"start":{"line":47,"column":35},"end":{"line":47,"column":36}},"loc":{"start":{"line":47,"column":54},"end":{"line":49,"column":9}},"line":47},"13":{"name":"(anonymous_13)","decl":{"start":{"line":52,"column":52},"end":{"line":52,"column":53}},"loc":{"start":{"line":52,"column":72},"end":{"line":57,"column":5}},"line":52},"14":{"name":"(anonymous_14)","decl":{"start":{"line":53,"column":35},"end":{"line":53,"column":36}},"loc":{"start":{"line":53,"column":54},"end":{"line":55,"column":9}},"line":53},"15":{"name":"(anonymous_15)","decl":{"start":{"line":58,"column":51},"end":{"line":58,"column":52}},"loc":{"start":{"line":58,"column":71},"end":{"line":63,"column":5}},"line":58},"16":{"name":"(anonymous_16)","decl":{"start":{"line":59,"column":35},"end":{"line":59,"column":36}},"loc":{"start":{"line":59,"column":54},"end":{"line":61,"column":9}},"line":59},"17":{"name":"(anonymous_17)","decl":{"start":{"line":64,"column":55},"end":{"line":64,"column":56}},"loc":{"start":{"line":64,"column":71},"end":{"line":69,"column":5}},"line":64},"18":{"name":"(anonymous_18)","decl":{"start":{"line":65,"column":35},"end":{"line":65,"column":36}},"loc":{"start":{"line":65,"column":54},"end":{"line":67,"column":9}},"line":65},"19":{"name":"(anonymous_19)","decl":{"start":{"line":70,"column":54},"end":{"line":70,"column":55}},"loc":{"start":{"line":70,"column":70},"end":{"line":75,"column":5}},"line":70},"20":{"name":"(anonymous_20)","decl":{"start":{"line":71,"column":35},"end":{"line":71,"column":36}},"loc":{"start":{"line":71,"column":54},"end":{"line":73,"column":9}},"line":71},"21":{"name":"(anonymous_21)","decl":{"start":{"line":76,"column":56},"end":{"line":76,"column":57}},"loc":{"start":{"line":76,"column":78},"end":{"line":81,"column":5}},"line":76},"22":{"name":"(anonymous_22)","decl":{"start":{"line":77,"column":35},"end":{"line":77,"column":36}},"loc":{"start":{"line":77,"column":54},"end":{"line":79,"column":9}},"line":77},"23":{"name":"(anonymous_23)","decl":{"start":{"line":82,"column":55},"end":{"line":82,"column":56}},"loc":{"start":{"line":82,"column":77},"end":{"line":87,"column":5}},"line":82},"24":{"name":"(anonymous_24)","decl":{"start":{"line":83,"column":35},"end":{"line":83,"column":36}},"loc":{"start":{"line":83,"column":54},"end":{"line":85,"column":9}},"line":83},"25":{"name":"(anonymous_25)","decl":{"start":{"line":88,"column":57},"end":{"line":88,"column":58}},"loc":{"start":{"line":88,"column":79},"end":{"line":93,"column":5}},"line":88},"26":{"name":"(anonymous_26)","decl":{"start":{"line":89,"column":35},"end":{"line":89,"column":36}},"loc":{"start":{"line":89,"column":54},"end":{"line":91,"column":9}},"line":89},"27":{"name":"(anonymous_27)","decl":{"start":{"line":94,"column":56},"end":{"line":94,"column":57}},"loc":{"start":{"line":94,"column":78},"end":{"line":99,"column":5}},"line":94},"28":{"name":"(anonymous_28)","decl":{"start":{"line":95,"column":35},"end":{"line":95,"column":36}},"loc":{"start":{"line":95,"column":54},"end":{"line":97,"column":9}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":12},"end":{"line":22,"column":13}},"type":"if","locations":[{"start":{"line":20,"column":12},"end":{"line":22,"column":13}},{"start":{"line":20,"column":12},"end":{"line":22,"column":13}}],"line":20},"1":{"loc":{"start":{"line":23,"column":34},"end":{"line":25,"column":44}},"type":"binary-expr","locations":[{"start":{"line":23,"column":35},"end":{"line":23,"column":58}},{"start":{"line":24,"column":17},"end":{"line":24,"column":42}},{"start":{"line":25,"column":17},"end":{"line":25,"column":43}}],"line":23},"2":{"loc":{"start":{"line":36,"column":19},"end":{"line":36,"column":110}},"type":"binary-expr","locations":[{"start":{"line":36,"column":19},"end":{"line":36,"column":35}},{"start":{"line":36,"column":39},"end":{"line":36,"column":110}}],"line":36},"3":{"loc":{"start":{"line":42,"column":19},"end":{"line":42,"column":109}},"type":"binary-expr","locations":[{"start":{"line":42,"column":19},"end":{"line":42,"column":35}},{"start":{"line":42,"column":39},"end":{"line":42,"column":109}}],"line":42},"4":{"loc":{"start":{"line":48,"column":19},"end":{"line":48,"column":116}},"type":"binary-expr","locations":[{"start":{"line":48,"column":19},"end":{"line":48,"column":35}},{"start":{"line":48,"column":39},"end":{"line":48,"column":116}}],"line":48},"5":{"loc":{"start":{"line":54,"column":19},"end":{"line":54,"column":144}},"type":"binary-expr","locations":[{"start":{"line":54,"column":19},"end":{"line":54,"column":35}},{"start":{"line":54,"column":39},"end":{"line":54,"column":144}}],"line":54},"6":{"loc":{"start":{"line":60,"column":19},"end":{"line":60,"column":145}},"type":"binary-expr","locations":[{"start":{"line":60,"column":19},"end":{"line":60,"column":35}},{"start":{"line":60,"column":39},"end":{"line":60,"column":145}}],"line":60},"7":{"loc":{"start":{"line":66,"column":19},"end":{"line":66,"column":141}},"type":"binary-expr","locations":[{"start":{"line":66,"column":19},"end":{"line":66,"column":35}},{"start":{"line":66,"column":39},"end":{"line":66,"column":141}}],"line":66},"8":{"loc":{"start":{"line":72,"column":19},"end":{"line":72,"column":142}},"type":"binary-expr","locations":[{"start":{"line":72,"column":19},"end":{"line":72,"column":35}},{"start":{"line":72,"column":39},"end":{"line":72,"column":142}}],"line":72},"9":{"loc":{"start":{"line":78,"column":19},"end":{"line":78,"column":148}},"type":"binary-expr","locations":[{"start":{"line":78,"column":19},"end":{"line":78,"column":35}},{"start":{"line":78,"column":39},"end":{"line":78,"column":148}}],"line":78},"10":{"loc":{"start":{"line":84,"column":19},"end":{"line":84,"column":149}},"type":"binary-expr","locations":[{"start":{"line":84,"column":19},"end":{"line":84,"column":35}},{"start":{"line":84,"column":39},"end":{"line":84,"column":149}}],"line":84},"11":{"loc":{"start":{"line":90,"column":19},"end":{"line":90,"column":104}},"type":"binary-expr","locations":[{"start":{"line":90,"column":19},"end":{"line":90,"column":35}},{"start":{"line":90,"column":39},"end":{"line":90,"column":104}}],"line":90},"12":{"loc":{"start":{"line":96,"column":19},"end":{"line":96,"column":105}},"type":"binary-expr","locations":[{"start":{"line":96,"column":19},"end":{"line":96,"column":35}},{"start":{"line":96,"column":39},"end":{"line":96,"column":105}}],"line":96}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":24805,"6":1,"7":7,"8":7,"9":1,"10":53,"11":53,"12":1,"13":4,"14":7,"15":1,"16":6,"17":6,"18":4,"19":1,"20":59,"21":59,"22":1,"23":13,"24":29,"25":13,"26":1,"27":6,"28":8,"29":6,"30":1,"31":6,"32":8,"33":6,"34":1,"35":6,"36":12,"37":6,"38":1,"39":6,"40":12,"41":6,"42":1,"43":6,"44":16,"45":6,"46":1,"47":6,"48":8,"49":6,"50":1,"51":6,"52":16,"53":6,"54":1,"55":6,"56":8,"57":6,"58":1,"59":6,"60":12,"61":6,"62":1,"63":6,"64":12,"65":6,"66":1,"67":1},"f":{"0":1,"1":24805,"2":7,"3":53,"4":4,"5":7,"6":59,"7":13,"8":29,"9":6,"10":8,"11":6,"12":8,"13":6,"14":12,"15":6,"16":12,"17":6,"18":16,"19":6,"20":8,"21":6,"22":16,"23":6,"24":8,"25":6,"26":12,"27":6,"28":12},"b":{"0":[1,6],"1":[6,6,3],"2":[29,29],"3":[8,8],"4":[8,8],"5":[12,12],"6":[12,12],"7":[16,16],"8":[8,8],"9":[16,16],"10":[8,8],"11":[12,12],"12":[12,12]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/syntax/binding_when_syntax.ts","sources":["X:/Code/InversifyJS/src/syntax/binding_when_syntax.ts"],"names":[],"mappings":"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","sourcesContent":["import { interfaces } from '../interfaces/interfaces';\r\nimport { BindingOnSyntax } from './binding_on_syntax';\r\nimport { namedConstraint, taggedConstraint, traverseAncerstors, typeConstraint } from './constraint_helpers';\r\n\r\nclass BindingWhenSyntax<T> implements interfaces.BindingWhenSyntax<T> {\r\n\r\n private _binding: interfaces.Binding<T>;\r\n\r\n public constructor(binding: interfaces.Binding<T>) {\r\n this._binding = binding;\r\n }\r\n\r\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\r\n this._binding.constraint = constraint as interfaces.ConstraintFunction;\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenTargetNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\r\n this._binding.constraint = namedConstraint(name);\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\r\n\r\n this._binding.constraint = (request: interfaces.Request | null) => {\r\n\r\n if (request === null) {\r\n return false;\r\n }\r\n\r\n const targetIsDefault = (request.target !== null) &&\r\n (!request.target.isNamed()) &&\r\n (!request.target.isTagged());\r\n\r\n return targetIsDefault;\r\n };\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenTargetTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\r\n this._binding.constraint = taggedConstraint(tag)(value);\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenInjectedInto(parent: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && typeConstraint(parent)(request.parentRequest);\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenParentNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && namedConstraint(name)(request.parentRequest);\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenParentTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && taggedConstraint(tag)(value)(request.parentRequest);\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenAnyAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && traverseAncerstors(request, typeConstraint(ancestor));\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenNoAncestorIs(ancestor: (NewableFunction | string)): interfaces.BindingOnSyntax<T> {\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && !traverseAncerstors(request, typeConstraint(ancestor));\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenAnyAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\r\n\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && traverseAncerstors(request, namedConstraint(name));\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenNoAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\r\n\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && !traverseAncerstors(request, namedConstraint(name));\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\r\n\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && traverseAncerstors(request, taggedConstraint(tag)(value));\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenNoAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\r\n\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && !traverseAncerstors(request, taggedConstraint(tag)(value));\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\r\n\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\r\n\r\n this._binding.constraint = (request: interfaces.Request | null) =>\r\n request !== null && !traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\r\n\r\n return new BindingOnSyntax<T>(this._binding);\r\n }\r\n\r\n}\r\n\r\nexport { BindingWhenSyntax };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0036d23f4163dbd760499d517e8564729b4a32ce","contentHash":"e83a0a754db6363c0713fe7cdfbad84792c9745dd880b56f5883cbcdefe10488"},"X:\\Code\\InversifyJS\\src\\syntax\\constraint_helpers.ts":{"path":"X:\\Code\\InversifyJS\\src\\syntax\\constraint_helpers.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":114}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":25},"end":{"line":33,"column":1}},"26":{"start":{"line":26,"column":17},"end":{"line":26,"column":38}},"27":{"start":{"line":27,"column":4},"end":{"line":32,"column":5}},"28":{"start":{"line":28,"column":8},"end":{"line":28,"column":82}},"29":{"start":{"line":31,"column":8},"end":{"line":31,"column":21}},"30":{"start":{"line":34,"column":0},"end":{"line":34,"column":48}},"31":{"start":{"line":35,"column":23},"end":{"line":41,"column":4}},"32":{"start":{"line":35,"column":40},"end":{"line":41,"column":2}},"33":{"start":{"line":36,"column":21},"end":{"line":38,"column":5}},"34":{"start":{"line":37,"column":8},"end":{"line":37,"column":100}},"35":{"start":{"line":39,"column":4},"end":{"line":39,"column":62}},"36":{"start":{"line":40,"column":4},"end":{"line":40,"column":22}},"37":{"start":{"line":42,"column":0},"end":{"line":42,"column":44}},"38":{"start":{"line":43,"column":22},"end":{"line":43,"column":62}},"39":{"start":{"line":44,"column":0},"end":{"line":44,"column":42}},"40":{"start":{"line":45,"column":21},"end":{"line":59,"column":4}},"41":{"start":{"line":45,"column":39},"end":{"line":59,"column":2}},"42":{"start":{"line":46,"column":18},"end":{"line":46,"column":22}},"43":{"start":{"line":47,"column":4},"end":{"line":57,"column":5}},"44":{"start":{"line":48,"column":8},"end":{"line":48,"column":38}},"45":{"start":{"line":49,"column":8},"end":{"line":56,"column":9}},"46":{"start":{"line":50,"column":36},"end":{"line":50,"column":61}},"47":{"start":{"line":51,"column":12},"end":{"line":51,"column":46}},"48":{"start":{"line":54,"column":30},"end":{"line":54,"column":68}},"49":{"start":{"line":55,"column":12},"end":{"line":55,"column":40}},"50":{"start":{"line":58,"column":4},"end":{"line":58,"column":17}},"51":{"start":{"line":60,"column":0},"end":{"line":60,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":25},"end":{"line":25,"column":26}},"loc":{"start":{"line":25,"column":56},"end":{"line":33,"column":1}},"line":25},"7":{"name":"(anonymous_7)","decl":{"start":{"line":35,"column":23},"end":{"line":35,"column":24}},"loc":{"start":{"line":35,"column":38},"end":{"line":41,"column":4}},"line":35},"8":{"name":"(anonymous_8)","decl":{"start":{"line":35,"column":47},"end":{"line":35,"column":48}},"loc":{"start":{"line":35,"column":64},"end":{"line":41,"column":1}},"line":35},"9":{"name":"(anonymous_9)","decl":{"start":{"line":36,"column":21},"end":{"line":36,"column":22}},"loc":{"start":{"line":36,"column":40},"end":{"line":38,"column":5}},"line":36},"10":{"name":"(anonymous_10)","decl":{"start":{"line":45,"column":21},"end":{"line":45,"column":22}},"loc":{"start":{"line":45,"column":37},"end":{"line":59,"column":4}},"line":45},"11":{"name":"(anonymous_11)","decl":{"start":{"line":45,"column":46},"end":{"line":45,"column":47}},"loc":{"start":{"line":45,"column":65},"end":{"line":59,"column":1}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":27,"column":4},"end":{"line":32,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":32,"column":5}},{"start":{"line":27,"column":4},"end":{"line":32,"column":5}}],"line":27},"13":{"loc":{"start":{"line":28,"column":15},"end":{"line":28,"column":81}},"type":"cond-expr","locations":[{"start":{"line":28,"column":36},"end":{"line":28,"column":40}},{"start":{"line":28,"column":43},"end":{"line":28,"column":81}}],"line":28},"14":{"loc":{"start":{"line":37,"column":15},"end":{"line":37,"column":99}},"type":"binary-expr","locations":[{"start":{"line":37,"column":15},"end":{"line":37,"column":31}},{"start":{"line":37,"column":35},"end":{"line":37,"column":58}},{"start":{"line":37,"column":62},"end":{"line":37,"column":99}}],"line":37},"15":{"loc":{"start":{"line":47,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":57,"column":5}},{"start":{"line":47,"column":4},"end":{"line":57,"column":5}}],"line":47},"16":{"loc":{"start":{"line":49,"column":8},"end":{"line":56,"column":9}},"type":"if","locations":[{"start":{"line":49,"column":8},"end":{"line":56,"column":9}},{"start":{"line":49,"column":8},"end":{"line":56,"column":9}}],"line":49}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":184,"27":184,"28":128,"29":56,"30":1,"31":1,"32":92,"33":176,"34":311,"35":176,"36":176,"37":1,"38":1,"39":1,"40":1,"41":64,"42":94,"43":94,"44":93,"45":93,"46":8,"47":8,"48":85,"49":85,"50":1,"51":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":184,"7":92,"8":176,"9":311,"10":64,"11":94},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[128,56],"13":[40,88],"14":[311,311,311],"15":[93,1],"16":[8,85]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/syntax/constraint_helpers.ts","sources":["X:/Code/InversifyJS/src/syntax/constraint_helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAE3D,iDAAgD;AAEhD,IAAM,kBAAkB,GAAG,UACzB,OAA2B,EAC3B,UAAyC;IAGzC,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IACrC,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;KAC3E;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAoCO,gDAAkB;AAhC3B,IAAM,gBAAgB,GAAG,UAAC,GAA6B,IAAK,OAAA,UAAC,KAAc;IAEzE,IAAM,UAAU,GAAkC,UAAC,OAAkC;QACnF,OAAA,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAApF,CAAoF,CAAC;IAEvF,UAAU,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE/C,OAAO,UAAU,CAAC;AACpB,CAAC,EAR2D,CAQ3D,CAAC;AAwB2B,4CAAgB;AAtB7C,IAAM,eAAe,GAAG,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAsBlB,0CAAe;AApB9D,IAAM,cAAc,GAAG,UAAC,IAAgC,IAAK,OAAA,UAAC,OAAkC;IAI9F,IAAI,OAAO,GAAuC,IAAI,CAAC;IAEvD,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAgC,CAAC;QAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YACpD,OAAO,iBAAiB,KAAK,IAAI,CAAC;SACnC;aAAM;YACL,IAAM,WAAW,GAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAiC,CAAC,kBAAkB,CAAC;YAC5F,OAAO,IAAI,KAAK,WAAW,CAAC;SAC7B;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC,EAlB4D,CAkB5D,CAAC;AAE8D,wCAAc","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { Metadata } from '../planning/metadata';\r\n\r\nconst traverseAncerstors = (\r\n request: interfaces.Request,\r\n constraint: interfaces.ConstraintFunction\r\n): boolean => {\r\n\r\n const parent = request.parentRequest;\r\n if (parent !== null) {\r\n return constraint(parent) ? true : traverseAncerstors(parent, constraint);\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\n// This helpers use currying to help you to generate constraints\r\n\r\nconst taggedConstraint = (key: string | number | symbol) => (value: unknown) => {\r\n\r\n const constraint: interfaces.ConstraintFunction = (request: interfaces.Request | null) =>\r\n request !== null && request.target !== null && request.target.matchesTag(key)(value);\r\n\r\n constraint.metaData = new Metadata(key, value);\r\n\r\n return constraint;\r\n};\r\n\r\nconst namedConstraint = taggedConstraint(METADATA_KEY.NAMED_TAG);\r\n\r\nconst typeConstraint = (type: (NewableFunction | string)) => (request: interfaces.Request | null) => {\r\n\r\n // Using index 0 because constraints are applied\r\n // to one binding at a time (see Planner class)\r\n let binding: interfaces.Binding<unknown> | null = null;\r\n\r\n if (request !== null) {\r\n binding = request.bindings[0] as interfaces.Binding<unknown>;\r\n if (typeof type === 'string') {\r\n const serviceIdentifier = binding.serviceIdentifier;\r\n return serviceIdentifier === type;\r\n } else {\r\n const constructor = (request.bindings[0] as interfaces.Binding<unknown>).implementationType;\r\n return type === constructor;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3e0db9cf639a7f821213fdefc6d9943820510f8f","contentHash":"a5d4a428e4431357c2296fac4d7c87d8f06ffb9280bb38c2edd7738f1b98d2c7"},"X:\\Code\\InversifyJS\\src\\container\\container_snapshot.ts":{"path":"X:\\Code\\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":"X:/Code/InversifyJS/src/container/container_snapshot.ts","sources":["X:/Code/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';\r\n\r\nclass ContainerSnapshot implements interfaces.ContainerSnapshot {\r\n public bindings!: interfaces.Lookup<interfaces.Binding<unknown>>;\r\n public activations!: interfaces.Lookup<interfaces.BindingActivation<unknown>>;\r\n public deactivations!: interfaces.Lookup<interfaces.BindingDeactivation<unknown>>;\r\n public middleware!: interfaces.Next | null;\r\n public moduleActivationStore!: interfaces.ModuleActivationStore;\r\n\r\n public static of(\r\n bindings: interfaces.Lookup<interfaces.Binding<unknown>>,\r\n middleware: interfaces.Next | null,\r\n activations: interfaces.Lookup<interfaces.BindingActivation<unknown>>,\r\n deactivations: interfaces.Lookup<interfaces.BindingDeactivation<unknown>>,\r\n moduleActivationStore: interfaces.ModuleActivationStore\r\n ) {\r\n const snapshot = new ContainerSnapshot();\r\n snapshot.bindings = bindings;\r\n snapshot.middleware = middleware;\r\n snapshot.deactivations = deactivations;\r\n snapshot.activations = activations;\r\n snapshot.moduleActivationStore = moduleActivationStore;\r\n return snapshot;\r\n }\r\n\r\n}\r\n\r\nexport { ContainerSnapshot };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8869d93a6f17f3bb0fcff4f135d8b33ca30d7818","contentHash":"bb00d9a2f1b2611fd912546de11732f9fe9f232d68e88bcef95ced56e36ca6bc"},"X:\\Code\\InversifyJS\\src\\container\\lookup.ts":{"path":"X:\\Code\\InversifyJS\\src\\container\\lookup.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"23":{"start":{"line":23,"column":17},"end":{"line":23,"column":65}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":45}},"25":{"start":{"line":25,"column":14},"end":{"line":125,"column":3}},"26":{"start":{"line":27,"column":8},"end":{"line":27,"column":30}},"27":{"start":{"line":29,"column":4},"end":{"line":31,"column":6}},"28":{"start":{"line":30,"column":8},"end":{"line":30,"column":25}},"29":{"start":{"line":32,"column":4},"end":{"line":46,"column":6}},"30":{"start":{"line":33,"column":8},"end":{"line":35,"column":9}},"31":{"start":{"line":34,"column":12},"end":{"line":34,"column":54}},"32":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"33":{"start":{"line":37,"column":12},"end":{"line":37,"column":54}},"34":{"start":{"line":39,"column":20},"end":{"line":39,"column":52}},"35":{"start":{"line":40,"column":8},"end":{"line":45,"column":9}},"36":{"start":{"line":41,"column":12},"end":{"line":41,"column":30}},"37":{"start":{"line":44,"column":12},"end":{"line":44,"column":54}},"38":{"start":{"line":47,"column":4},"end":{"line":58,"column":6}},"39":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"40":{"start":{"line":49,"column":12},"end":{"line":49,"column":54}},"41":{"start":{"line":51,"column":20},"end":{"line":51,"column":52}},"42":{"start":{"line":52,"column":8},"end":{"line":57,"column":9}},"43":{"start":{"line":53,"column":12},"end":{"line":53,"column":25}},"44":{"start":{"line":56,"column":12},"end":{"line":56,"column":54}},"45":{"start":{"line":59,"column":4},"end":{"line":66,"column":6}},"46":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"47":{"start":{"line":61,"column":12},"end":{"line":61,"column":54}},"48":{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},"49":{"start":{"line":64,"column":12},"end":{"line":64,"column":54}},"50":{"start":{"line":67,"column":4},"end":{"line":78,"column":6}},"51":{"start":{"line":68,"column":20},"end":{"line":68,"column":24}},"52":{"start":{"line":69,"column":8},"end":{"line":77,"column":11}},"53":{"start":{"line":70,"column":36},"end":{"line":70,"column":112}},"54":{"start":{"line":71,"column":12},"end":{"line":76,"column":13}},"55":{"start":{"line":72,"column":37},"end":{"line":74,"column":18}},"56":{"start":{"line":73,"column":20},"end":{"line":73,"column":125}},"57":{"start":{"line":73,"column":81},"end":{"line":73,"column":121}},"58":{"start":{"line":75,"column":16},"end":{"line":75,"column":67}},"59":{"start":{"line":79,"column":4},"end":{"line":97,"column":6}},"60":{"start":{"line":80,"column":20},"end":{"line":80,"column":24}},"61":{"start":{"line":81,"column":23},"end":{"line":81,"column":25}},"62":{"start":{"line":82,"column":8},"end":{"line":95,"column":11}},"63":{"start":{"line":83,"column":33},"end":{"line":83,"column":35}},"64":{"start":{"line":84,"column":12},"end":{"line":93,"column":13}},"65":{"start":{"line":84,"column":26},"end":{"line":84,"column":27}},"66":{"start":{"line":84,"column":41},"end":{"line":84,"column":48}},"67":{"start":{"line":85,"column":28},"end":{"line":85,"column":41}},"68":{"start":{"line":86,"column":29},"end":{"line":86,"column":45}},"69":{"start":{"line":87,"column":16},"end":{"line":92,"column":17}},"70":{"start":{"line":88,"column":20},"end":{"line":88,"column":41}},"71":{"start":{"line":91,"column":20},"end":{"line":91,"column":47}},"72":{"start":{"line":94,"column":12},"end":{"line":94,"column":49}},"73":{"start":{"line":96,"column":8},"end":{"line":96,"column":24}},"74":{"start":{"line":98,"column":4},"end":{"line":103,"column":6}},"75":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"76":{"start":{"line":100,"column":12},"end":{"line":100,"column":54}},"77":{"start":{"line":102,"column":8},"end":{"line":102,"column":48}},"78":{"start":{"line":104,"column":4},"end":{"line":110,"column":6}},"79":{"start":{"line":105,"column":19},"end":{"line":105,"column":31}},"80":{"start":{"line":106,"column":8},"end":{"line":108,"column":11}},"81":{"start":{"line":107,"column":12},"end":{"line":107,"column":113}},"82":{"start":{"line":107,"column":41},"end":{"line":107,"column":109}},"83":{"start":{"line":109,"column":8},"end":{"line":109,"column":20}},"84":{"start":{"line":111,"column":4},"end":{"line":115,"column":6}},"85":{"start":{"line":112,"column":8},"end":{"line":114,"column":11}},"86":{"start":{"line":113,"column":12},"end":{"line":113,"column":29}},"87":{"start":{"line":116,"column":4},"end":{"line":123,"column":6}},"88":{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},"89":{"start":{"line":118,"column":12},"end":{"line":118,"column":52}},"90":{"start":{"line":121,"column":12},"end":{"line":121,"column":48}},"91":{"start":{"line":124,"column":4},"end":{"line":124,"column":18}},"92":{"start":{"line":126,"column":0},"end":{"line":126,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":14},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":26},"end":{"line":125,"column":1}},"line":25},"7":{"name":"Lookup","decl":{"start":{"line":26,"column":13},"end":{"line":26,"column":19}},"loc":{"start":{"line":26,"column":22},"end":{"line":28,"column":5}},"line":26},"8":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":30},"end":{"line":29,"column":31}},"loc":{"start":{"line":29,"column":42},"end":{"line":31,"column":5}},"line":29},"9":{"name":"(anonymous_9)","decl":{"start":{"line":32,"column":27},"end":{"line":32,"column":28}},"loc":{"start":{"line":32,"column":63},"end":{"line":46,"column":5}},"line":32},"10":{"name":"(anonymous_10)","decl":{"start":{"line":47,"column":27},"end":{"line":47,"column":28}},"loc":{"start":{"line":47,"column":56},"end":{"line":58,"column":5}},"line":47},"11":{"name":"(anonymous_11)","decl":{"start":{"line":59,"column":30},"end":{"line":59,"column":31}},"loc":{"start":{"line":59,"column":59},"end":{"line":66,"column":5}},"line":59},"12":{"name":"(anonymous_12)","decl":{"start":{"line":67,"column":42},"end":{"line":67,"column":43}},"loc":{"start":{"line":67,"column":60},"end":{"line":78,"column":5}},"line":67},"13":{"name":"(anonymous_13)","decl":{"start":{"line":69,"column":22},"end":{"line":69,"column":23}},"loc":{"start":{"line":69,"column":58},"end":{"line":77,"column":9}},"line":69},"14":{"name":"(anonymous_14)","decl":{"start":{"line":72,"column":50},"end":{"line":72,"column":51}},"loc":{"start":{"line":72,"column":73},"end":{"line":74,"column":17}},"line":72},"15":{"name":"(anonymous_15)","decl":{"start":{"line":73,"column":51},"end":{"line":73,"column":52}},"loc":{"start":{"line":73,"column":79},"end":{"line":73,"column":123}},"line":73},"16":{"name":"(anonymous_16)","decl":{"start":{"line":79,"column":41},"end":{"line":79,"column":42}},"loc":{"start":{"line":79,"column":62},"end":{"line":97,"column":5}},"line":79},"17":{"name":"(anonymous_17)","decl":{"start":{"line":82,"column":26},"end":{"line":82,"column":27}},"loc":{"start":{"line":82,"column":50},"end":{"line":95,"column":9}},"line":82},"18":{"name":"(anonymous_18)","decl":{"start":{"line":98,"column":30},"end":{"line":98,"column":31}},"loc":{"start":{"line":98,"column":59},"end":{"line":103,"column":5}},"line":98},"19":{"name":"(anonymous_19)","decl":{"start":{"line":104,"column":29},"end":{"line":104,"column":30}},"loc":{"start":{"line":104,"column":41},"end":{"line":110,"column":5}},"line":104},"20":{"name":"(anonymous_20)","decl":{"start":{"line":106,"column":26},"end":{"line":106,"column":27}},"loc":{"start":{"line":106,"column":48},"end":{"line":108,"column":9}},"line":106},"21":{"name":"(anonymous_21)","decl":{"start":{"line":107,"column":26},"end":{"line":107,"column":27}},"loc":{"start":{"line":107,"column":39},"end":{"line":107,"column":111}},"line":107},"22":{"name":"(anonymous_22)","decl":{"start":{"line":111,"column":32},"end":{"line":111,"column":33}},"loc":{"start":{"line":111,"column":48},"end":{"line":115,"column":5}},"line":111},"23":{"name":"(anonymous_23)","decl":{"start":{"line":112,"column":26},"end":{"line":112,"column":27}},"loc":{"start":{"line":112,"column":48},"end":{"line":114,"column":9}},"line":112},"24":{"name":"(anonymous_24)","decl":{"start":{"line":116,"column":33},"end":{"line":116,"column":34}},"loc":{"start":{"line":116,"column":69},"end":{"line":123,"column":5}},"line":116}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":33,"column":8},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":33,"column":8},"end":{"line":35,"column":9}},{"start":{"line":33,"column":8},"end":{"line":35,"column":9}}],"line":33},"13":{"loc":{"start":{"line":33,"column":12},"end":{"line":33,"column":73}},"type":"binary-expr","locations":[{"start":{"line":33,"column":12},"end":{"line":33,"column":38}},{"start":{"line":33,"column":42},"end":{"line":33,"column":73}}],"line":33},"14":{"loc":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},{"start":{"line":36,"column":8},"end":{"line":38,"column":9}}],"line":36},"15":{"loc":{"start":{"line":36,"column":12},"end":{"line":36,"column":49}},"type":"binary-expr","locations":[{"start":{"line":36,"column":12},"end":{"line":36,"column":26}},{"start":{"line":36,"column":30},"end":{"line":36,"column":49}}],"line":36},"16":{"loc":{"start":{"line":40,"column":8},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":45,"column":9}},{"start":{"line":40,"column":8},"end":{"line":45,"column":9}}],"line":40},"17":{"loc":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},{"start":{"line":48,"column":8},"end":{"line":50,"column":9}}],"line":48},"18":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":73}},"type":"binary-expr","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":38}},{"start":{"line":48,"column":42},"end":{"line":48,"column":73}}],"line":48},"19":{"loc":{"start":{"line":52,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":57,"column":9}},{"start":{"line":52,"column":8},"end":{"line":57,"column":9}}],"line":52},"20":{"loc":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},{"start":{"line":60,"column":8},"end":{"line":62,"column":9}}],"line":60},"21":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":73}},"type":"binary-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":38}},{"start":{"line":60,"column":42},"end":{"line":60,"column":73}}],"line":60},"22":{"loc":{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},{"start":{"line":63,"column":8},"end":{"line":65,"column":9}}],"line":63},"23":{"loc":{"start":{"line":70,"column":36},"end":{"line":70,"column":112}},"type":"cond-expr","locations":[{"start":{"line":70,"column":71},"end":{"line":70,"column":100}},{"start":{"line":70,"column":103},"end":{"line":70,"column":112}}],"line":70},"24":{"loc":{"start":{"line":71,"column":12},"end":{"line":76,"column":13}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":76,"column":13}},{"start":{"line":71,"column":12},"end":{"line":76,"column":13}}],"line":71},"25":{"loc":{"start":{"line":87,"column":16},"end":{"line":92,"column":17}},"type":"if","locations":[{"start":{"line":87,"column":16},"end":{"line":92,"column":17}},{"start":{"line":87,"column":16},"end":{"line":92,"column":17}}],"line":87},"26":{"loc":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"type":"if","locations":[{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},{"start":{"line":99,"column":8},"end":{"line":101,"column":9}}],"line":99},"27":{"loc":{"start":{"line":99,"column":12},"end":{"line":99,"column":73}},"type":"binary-expr","locations":[{"start":{"line":99,"column":12},"end":{"line":99,"column":38}},{"start":{"line":99,"column":42},"end":{"line":99,"column":73}}],"line":99},"28":{"loc":{"start":{"line":107,"column":62},"end":{"line":107,"column":107}},"type":"cond-expr","locations":[{"start":{"line":107,"column":94},"end":{"line":107,"column":103}},{"start":{"line":107,"column":106},"end":{"line":107,"column":107}}],"line":107},"29":{"loc":{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":117,"column":8},"end":{"line":122,"column":9}},{"start":{"line":117,"column":8},"end":{"line":122,"column":9}}],"line":117}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1131,"27":1,"28":21,"29":1,"30":24830,"31":1,"32":24829,"33":1,"34":24828,"35":24828,"36":142,"37":24686,"38":1,"39":7267,"40":1,"41":7266,"42":7266,"43":7265,"44":1,"45":1,"46":38,"47":1,"48":37,"49":3,"50":1,"51":21,"52":21,"53":9,"54":9,"55":7,"56":14,"57":21,"58":7,"59":1,"60":13,"61":13,"62":13,"63":22,"64":22,"65":22,"66":22,"67":28,"68":28,"69":28,"70":16,"71":12,"72":22,"73":13,"74":1,"75":8126,"76":1,"77":8125,"78":1,"79":21,"80":21,"81":13,"82":16,"83":21,"84":1,"85":35,"86":29,"87":1,"88":29,"89":17,"90":12,"91":1,"92":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":1,"7":1131,"8":21,"9":24830,"10":7267,"11":38,"12":21,"13":9,"14":14,"15":21,"16":13,"17":22,"18":8126,"19":21,"20":13,"21":16,"22":35,"23":29,"24":29},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,24829],"13":[24830,24829],"14":[1,24828],"15":[24829,24828],"16":[142,24686],"17":[1,7266],"18":[7267,7266],"19":[7265,1],"20":[1,37],"21":[38,37],"22":[3,34],"23":[7,2],"24":[7,2],"25":[16,12],"26":[1,8125],"27":[8126,8125],"28":[7,9],"29":[17,12]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/container/lookup.ts","sources":["X:/Code/InversifyJS/src/container/lookup.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\r\nimport { interfaces } from '../interfaces/interfaces';\r\nimport { isClonable } from '../utils/clonable';\r\n\r\nclass Lookup<T> implements interfaces.Lookup<T> {\r\n\r\n // dictionary used store multiple values for each key <key>\r\n private _map: Map<interfaces.ServiceIdentifier, T[]>;\r\n\r\n public constructor() {\r\n this._map = new Map<interfaces.ServiceIdentifier, T[]>();\r\n }\r\n\r\n public getMap() {\r\n return this._map;\r\n }\r\n\r\n // adds a new entry to _map\r\n public add(serviceIdentifier: interfaces.ServiceIdentifier, value: T): void {\r\n\r\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\r\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n }\r\n\r\n if (value === null || value === undefined) {\r\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n }\r\n\r\n const entry = this._map.get(serviceIdentifier);\r\n if (entry !== undefined) {\r\n entry.push(value);\r\n } else {\r\n this._map.set(serviceIdentifier, [value]);\r\n }\r\n }\r\n\r\n // gets the value of a entry by its key (serviceIdentifier)\r\n public get(serviceIdentifier: interfaces.ServiceIdentifier): T[] {\r\n\r\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\r\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n }\r\n\r\n const entry = this._map.get(serviceIdentifier);\r\n\r\n if (entry !== undefined) {\r\n return entry;\r\n } else {\r\n throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\r\n }\r\n }\r\n\r\n // removes a entry from _map by its key (serviceIdentifier)\r\n public remove(serviceIdentifier: interfaces.ServiceIdentifier): void {\r\n\r\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\r\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n }\r\n\r\n if (!this._map.delete(serviceIdentifier)) {\r\n throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\r\n }\r\n }\r\n\r\n public removeIntersection(lookup: interfaces.Lookup<T>): void {\r\n\r\n this.traverse(\r\n (serviceIdentifier: interfaces.ServiceIdentifier<unknown>, value: T[]) => {\r\n const lookupActivations = lookup.hasKey(serviceIdentifier) ? lookup.get(serviceIdentifier) : undefined;\r\n if (lookupActivations !== undefined) {\r\n const filteredValues = value.filter(\r\n (lookupValue) =>\r\n !lookupActivations.some((moduleActivation) => lookupValue === moduleActivation)\r\n );\r\n\r\n this._setValue(serviceIdentifier, filteredValues);\r\n }\r\n }\r\n );\r\n }\r\n\r\n public removeByCondition(condition: (item: T) => boolean): T[] {\r\n const removals: T[] = [];\r\n this._map.forEach((entries, key) => {\r\n const updatedEntries: T[] = [];\r\n\r\n for (const entry of entries) {\r\n const remove = condition(entry);\r\n if (remove) {\r\n removals.push(entry);\r\n } else {\r\n updatedEntries.push(entry);\r\n }\r\n }\r\n\r\n this._setValue(key, updatedEntries);\r\n });\r\n\r\n return removals;\r\n }\r\n\r\n // returns true if _map contains a key (serviceIdentifier)\r\n public hasKey(serviceIdentifier: interfaces.ServiceIdentifier): boolean {\r\n\r\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\r\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\r\n }\r\n\r\n return this._map.has(serviceIdentifier);\r\n }\r\n\r\n // returns a new Lookup instance; note: this is not a deep clone, only Lookup related data structure (dictionary) is\r\n // cloned, content remains the same\r\n public clone(): interfaces.Lookup<T> {\r\n\r\n const copy = new Lookup<T>();\r\n\r\n this._map.forEach((value, key) => {\r\n value.forEach((b) => copy.add(key, isClonable<T>(b) ? b.clone() : b));\r\n });\r\n\r\n return copy;\r\n }\r\n\r\n public traverse(func: (key: interfaces.ServiceIdentifier, value: T[]) => void): void {\r\n this._map.forEach((value, key) => {\r\n func(key, value);\r\n });\r\n }\r\n\r\n private _setValue(serviceIdentifier: interfaces.ServiceIdentifier<unknown>, value: T[]): void {\r\n if (value.length > 0) {\r\n this._map.set(serviceIdentifier, value);\r\n } else {\r\n this._map.delete(serviceIdentifier);\r\n }\r\n }\r\n\r\n}\r\n\r\nexport { Lookup };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d6e9afff7a606b0944e52090edb07d6b10a66ecb","contentHash":"2995a43ee6713d1b0e23744f376ee2d93d5a4ff91b5c9e6614df1be0ca2dff02"},"X:\\Code\\InversifyJS\\src\\utils\\clonable.ts":{"path":"X:\\Code\\InversifyJS\\src\\utils\\clonable.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}},"2":{"start":{"line":5,"column":4},"end":{"line":8,"column":43}},"3":{"start":{"line":10,"column":0},"end":{"line":10,"column":32}}},"fnMap":{"0":{"name":"isClonable","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":19}},"loc":{"start":{"line":4,"column":25},"end":{"line":9,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":11},"end":{"line":8,"column":42}},"type":"binary-expr","locations":[{"start":{"line":5,"column":12},"end":{"line":5,"column":35}},{"start":{"line":6,"column":12},"end":{"line":6,"column":24}},{"start":{"line":7,"column":12},"end":{"line":7,"column":26}},{"start":{"line":8,"column":11},"end":{"line":8,"column":42}}],"line":5}},"s":{"0":1,"1":1,"2":16,"3":1},"f":{"0":16},"b":{"0":[16,8,8,7]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/utils/clonable.ts","sources":["X:/Code/InversifyJS/src/utils/clonable.ts"],"names":[],"mappings":";;;AAEA,SAAS,UAAU,CAAI,GAAY;IACjC,OAAO,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;WAC3B,CAAC,GAAG,KAAK,IAAI,CAAC;WACd,CAAC,OAAO,IAAI,GAAG,CAAC;WAChB,OAAQ,GAA8B,CAAC,KAAK,KAAK,UAAU,CAAC;AACnE,CAAC;AAEQ,gCAAU","sourcesContent":["import { interfaces } from '../interfaces/interfaces';\r\n\r\nfunction isClonable<T>(obj: unknown): obj is interfaces.Clonable<T> {\r\n return (typeof obj === 'object')\r\n && (obj !== null)\r\n && ('clone' in obj)\r\n && typeof (obj as interfaces.Clonable<T>).clone === 'function';\r\n}\r\n\r\nexport { isClonable };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"70939ce34cfb41c96403d6ce54dd331031d49f75","contentHash":"3c7ab7f1a1a5573b4098f3f0281e66b81235d54e37fb8725cd59b52a827b9424"},"X:\\Code\\InversifyJS\\src\\container\\module_activation_store.ts":{"path":"X:\\Code\\InversifyJS\\src\\container\\module_activation_store.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"2":{"start":{"line":4,"column":15},"end":{"line":4,"column":34}},"3":{"start":{"line":5,"column":29},"end":{"line":51,"column":3}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":30}},"5":{"start":{"line":9,"column":4},"end":{"line":16,"column":6}},"6":{"start":{"line":10,"column":8},"end":{"line":14,"column":9}},"7":{"start":{"line":11,"column":27},"end":{"line":11,"column":50}},"8":{"start":{"line":12,"column":12},"end":{"line":12,"column":39}},"9":{"start":{"line":13,"column":12},"end":{"line":13,"column":28}},"10":{"start":{"line":15,"column":8},"end":{"line":15,"column":45}},"11":{"start":{"line":17,"column":4},"end":{"line":20,"column":6}},"12":{"start":{"line":18,"column":8},"end":{"line":19,"column":68}},"13":{"start":{"line":21,"column":4},"end":{"line":24,"column":6}},"14":{"start":{"line":22,"column":8},"end":{"line":23,"column":64}},"15":{"start":{"line":25,"column":4},"end":{"line":34,"column":6}},"16":{"start":{"line":26,"column":20},"end":{"line":26,"column":47}},"17":{"start":{"line":27,"column":8},"end":{"line":32,"column":11}},"18":{"start":{"line":28,"column":12},"end":{"line":31,"column":15}},"19":{"start":{"line":33,"column":8},"end":{"line":33,"column":21}},"20":{"start":{"line":35,"column":4},"end":{"line":42,"column":6}},"21":{"start":{"line":36,"column":39},"end":{"line":36,"column":62}},"22":{"start":{"line":37,"column":8},"end":{"line":40,"column":9}},"23":{"start":{"line":38,"column":12},"end":{"line":38,"column":69}},"24":{"start":{"line":39,"column":12},"end":{"line":39,"column":62}},"25":{"start":{"line":41,"column":8},"end":{"line":41,"column":40}},"26":{"start":{"line":43,"column":4},"end":{"line":49,"column":6}},"27":{"start":{"line":44,"column":28},"end":{"line":47,"column":9}},"28":{"start":{"line":48,"column":8},"end":{"line":48,"column":29}},"29":{"start":{"line":50,"column":4},"end":{"line":50,"column":33}},"30":{"start":{"line":52,"column":0},"end":{"line":52,"column":54}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":29},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":41},"end":{"line":51,"column":1}},"line":5},"1":{"name":"ModuleActivationStore","decl":{"start":{"line":6,"column":13},"end":{"line":6,"column":34}},"loc":{"start":{"line":6,"column":37},"end":{"line":8,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":45},"end":{"line":9,"column":46}},"loc":{"start":{"line":9,"column":65},"end":{"line":16,"column":5}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":54},"end":{"line":17,"column":55}},"loc":{"start":{"line":17,"column":109},"end":{"line":20,"column":5}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":21,"column":52},"end":{"line":21,"column":53}},"loc":{"start":{"line":21,"column":105},"end":{"line":24,"column":5}},"line":21},"5":{"name":"(anonymous_5)","decl":{"start":{"line":25,"column":44},"end":{"line":25,"column":45}},"loc":{"start":{"line":25,"column":56},"end":{"line":34,"column":5}},"line":25},"6":{"name":"(anonymous_6)","decl":{"start":{"line":27,"column":26},"end":{"line":27,"column":27}},"loc":{"start":{"line":27,"column":61},"end":{"line":32,"column":9}},"line":27},"7":{"name":"(anonymous_7)","decl":{"start":{"line":35,"column":67},"end":{"line":35,"column":68}},"loc":{"start":{"line":35,"column":87},"end":{"line":42,"column":5}},"line":35},"8":{"name":"(anonymous_8)","decl":{"start":{"line":43,"column":61},"end":{"line":43,"column":62}},"loc":{"start":{"line":43,"column":73},"end":{"line":49,"column":5}},"line":43}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":8},"end":{"line":14,"column":9}},"type":"if","locations":[{"start":{"line":10,"column":8},"end":{"line":14,"column":9}},{"start":{"line":10,"column":8},"end":{"line":14,"column":9}}],"line":10},"1":{"loc":{"start":{"line":37,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":8},"end":{"line":40,"column":9}},{"start":{"line":37,"column":8},"end":{"line":40,"column":9}}],"line":37}},"s":{"0":1,"1":1,"2":1,"3":1,"4":359,"5":1,"6":16,"7":9,"8":9,"9":9,"10":7,"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":19,"28":19,"29":1,"30":1},"f":{"0":1,"1":359,"2":16,"3":17,"4":12,"5":5,"6":2,"7":29,"8":19},"b":{"0":[9,7],"1":[12,17]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/container/module_activation_store.ts","sources":["X:/Code/InversifyJS/src/container/module_activation_store.ts"],"names":[],"mappings":";;;AACA,mCAAkC;AAElC;IAAA;QACU,SAAI,GAAG,IAAI,GAAG,EAA+C,CAAC;IA4DxE,CAAC;IA1DQ,sCAAM,GAAb,UAAc,QAAgB;QAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,OAAO,QAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACvC,CAAC;IAEM,+CAAe,GAAtB,UACE,QAAgB,EAChB,iBAAwD,EACxD,cAAuD;QAEvD,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC;aACxC,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAEM,6CAAa,GAApB,UACE,QAAgB,EAChB,iBAAwD,EACxD,YAAmD;QAEnD,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC;aACxC,aAAa,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;IAEM,qCAAK,GAAZ;QACE,IAAM,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,aAAa,EAAE,QAAQ;YACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACvB,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE;gBAClD,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE;aACvD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,4DAA4B,GAApC,UAAqC,QAAgB;QACnD,IAAI,wBAAwB,GAAoD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExG,IAAI,wBAAwB,KAAK,SAAS,EAAE;YAC1C,wBAAwB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;SACnD;QAED,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAEO,sDAAsB,GAA9B;QACE,IAAM,aAAa,GAAwC;YACzD,aAAa,EAAE,IAAI,eAAM,EAAE;YAC3B,eAAe,EAAE,IAAI,eAAM,EAAE;SAC9B,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IACH,4BAAC;AAAD,CAAC,AA7DD,IA6DC;AA7DY,sDAAqB","sourcesContent":["import { interfaces } from '../interfaces/interfaces';\r\nimport { Lookup } from './lookup';\r\n\r\nexport class ModuleActivationStore implements interfaces.ModuleActivationStore {\r\n private _map = new Map<number, interfaces.ModuleActivationHandlers>();\r\n\r\n public remove(moduleId: number): interfaces.ModuleActivationHandlers {\r\n if (this._map.has(moduleId)) {\r\n const handlers = this._map.get(moduleId);\r\n this._map.delete(moduleId);\r\n return handlers!;\r\n }\r\n return this._getEmptyHandlersStore();\r\n }\r\n\r\n public addDeactivation(\r\n moduleId: number,\r\n serviceIdentifier: interfaces.ServiceIdentifier<unknown>,\r\n onDeactivation: interfaces.BindingDeactivation<unknown>,\r\n ) {\r\n this._getModuleActivationHandlers(moduleId)\r\n .onDeactivations.add(serviceIdentifier, onDeactivation);\r\n }\r\n\r\n public addActivation(\r\n moduleId: number,\r\n serviceIdentifier: interfaces.ServiceIdentifier<unknown>,\r\n onActivation: interfaces.BindingActivation<unknown>,\r\n ) {\r\n this._getModuleActivationHandlers(moduleId)\r\n .onActivations.add(serviceIdentifier, onActivation);\r\n }\r\n\r\n public clone(): interfaces.ModuleActivationStore {\r\n const clone = new ModuleActivationStore();\r\n\r\n this._map.forEach((handlersStore, moduleId) => {\r\n clone._map.set(moduleId, {\r\n onActivations: handlersStore.onActivations.clone(),\r\n onDeactivations: handlersStore.onDeactivations.clone(),\r\n });\r\n });\r\n\r\n return clone;\r\n }\r\n\r\n private _getModuleActivationHandlers(moduleId: number): interfaces.ModuleActivationHandlers {\r\n let moduleActivationHandlers: interfaces.ModuleActivationHandlers | undefined = this._map.get(moduleId);\r\n\r\n if (moduleActivationHandlers === undefined) {\r\n moduleActivationHandlers = this._getEmptyHandlersStore();\r\n this._map.set(moduleId, moduleActivationHandlers);\r\n }\r\n\r\n return moduleActivationHandlers;\r\n }\r\n\r\n private _getEmptyHandlersStore(): interfaces.ModuleActivationHandlers {\r\n const handlersStore: interfaces.ModuleActivationHandlers = {\r\n onActivations: new Lookup(),\r\n onDeactivations: new Lookup()\r\n };\r\n return handlersStore;\r\n }\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"781af9f51b13c64cf1f7b4860e5189b3d0421607","contentHash":"9eef42fc482b38c4ccd1854d58698e607d5ce9d9f4082ad6a72667b3758ba41d"},"X:\\Code\\InversifyJS\\src\\container\\container_module.ts":{"path":"X:\\Code\\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":20,"5":20,"6":1,"7":1,"8":1,"9":2,"10":2,"11":1,"12":1},"f":{"0":1,"1":20,"2":1,"3":2},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/container/container_module.ts","sources":["X:/Code/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":"945ed64847805074c6b85ea043b0fcf61aac92d3","contentHash":"566a88a6effa09dba0f876120993a525b863bb7e9b330b598e3753794bf862a3"},"X:\\Code\\InversifyJS\\src\\annotation\\injectable.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\injectable.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":28}},"23":{"start":{"line":23,"column":18},"end":{"line":23,"column":66}},"24":{"start":{"line":24,"column":19},"end":{"line":24,"column":70}},"25":{"start":{"line":26,"column":4},"end":{"line":33,"column":6}},"26":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"27":{"start":{"line":28,"column":12},"end":{"line":28,"column":73}},"28":{"start":{"line":30,"column":20},"end":{"line":30,"column":86}},"29":{"start":{"line":31,"column":8},"end":{"line":31,"column":72}},"30":{"start":{"line":32,"column":8},"end":{"line":32,"column":22}},"31":{"start":{"line":35,"column":0},"end":{"line":35,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"injectable","decl":{"start":{"line":25,"column":9},"end":{"line":25,"column":19}},"loc":{"start":{"line":25,"column":22},"end":{"line":34,"column":1}},"line":25},"7":{"name":"(anonymous_7)","decl":{"start":{"line":26,"column":11},"end":{"line":26,"column":12}},"loc":{"start":{"line":26,"column":29},"end":{"line":33,"column":5}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17},"12":{"loc":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},{"start":{"line":27,"column":8},"end":{"line":29,"column":9}}],"line":27},"13":{"loc":{"start":{"line":30,"column":20},"end":{"line":30,"column":86}},"type":"binary-expr","locations":[{"start":{"line":30,"column":20},"end":{"line":30,"column":80}},{"start":{"line":30,"column":84},"end":{"line":30,"column":86}}],"line":30}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":510,"26":510,"27":1,"28":509,"29":509,"30":509,"31":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2,"6":510,"7":510},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0],"12":[1,509],"13":[509,241]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/injectable.ts","sources":["X:/Code/InversifyJS/src/annotation/injectable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAuD;AACvD,uEAA2D;AAE3D,SAAS,UAAU;IACjB,OAAO,UAA4D,MAAS;QAE1E,IAAI,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;SAC9D;QAED,IAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QACjF,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEhE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAEQ,gCAAU","sourcesContent":["import * as ERRORS_MSGS from '../constants/error_msgs';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\n\r\nfunction injectable() {\r\n return function <T extends abstract new (...args: any) => unknown>(target: T) {\r\n\r\n if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {\r\n throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR);\r\n }\r\n\r\n const types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];\r\n Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target);\r\n\r\n return target;\r\n };\r\n}\r\n\r\nexport { injectable };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fd39af33007e55642eb86dcb765e0f00a7555468","contentHash":"7b17580247557aaf4268ca31bd82e5ad721434f7e1fdd98f3c763d778fe9c2f2"},"X:\\Code\\InversifyJS\\src\\annotation\\tagged.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\tagged.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":48}},"3":{"start":{"line":5,"column":24},"end":{"line":5,"column":52}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":109}},"5":{"start":{"line":9,"column":0},"end":{"line":9,"column":24}}},"fnMap":{"0":{"name":"tagged","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":15}},"loc":{"start":{"line":6,"column":44},"end":{"line":8,"column":1}},"line":6}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":31,"5":1},"f":{"0":31},"b":{},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/tagged.ts","sources":["X:/Code/InversifyJS/src/annotation/tagged.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAChD,qDAA0D;AAG1D,SAAS,MAAM,CAAI,WAAqC,EAAE,aAAsB;IAC9E,OAAO,IAAA,uCAAqB,EAAC,IAAI,mBAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AACzE,CAAC;AAEQ,wBAAM","sourcesContent":["import { Metadata } from '../planning/metadata';\r\nimport { createTaggedDecorator } from './decorator_utils';\r\n\r\n// Used to add custom metadata which is used to resolve metadata-based contextual bindings.\r\nfunction tagged<T>(metadataKey: string | number | symbol, metadataValue: unknown) {\r\n return createTaggedDecorator(new Metadata(metadataKey, metadataValue));\r\n}\r\n\r\nexport { tagged };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6e5c40c2e6159885d320b63c73501451ec2ecd3c","contentHash":"5eec15eb90635f2a43aba581733754c57f2ac559fcd781d0bb0802a956e0fe52"},"X:\\Code\\InversifyJS\\src\\annotation\\named.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\named.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":23}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":24},"end":{"line":25,"column":52}},"26":{"start":{"line":27,"column":4},"end":{"line":27,"column":111}},"27":{"start":{"line":29,"column":0},"end":{"line":29,"column":22}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"named","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":14}},"loc":{"start":{"line":26,"column":21},"end":{"line":28,"column":1}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":30,"27":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":30},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/named.ts","sources":["X:/Code/InversifyJS/src/annotation/named.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAC3D,iDAAgD;AAChD,qDAA0D;AAG1D,SAAS,KAAK,CAAC,IAA8B;IAC3C,OAAO,IAAA,uCAAqB,EAAC,IAAI,mBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAEQ,sBAAK","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { Metadata } from '../planning/metadata';\r\nimport { createTaggedDecorator } from './decorator_utils';\r\n\r\n// Used to add named metadata which is used to resolve name-based contextual bindings.\r\nfunction named(name: string | number | symbol) {\r\n return createTaggedDecorator(new Metadata(METADATA_KEY.NAMED_TAG, name));\r\n}\r\n\r\nexport { named };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"11a16d8513b8ab0ce9c00eaabc17ee685df74d50","contentHash":"f152dedf49d36d34cd39aa6beae824e0eb00cf33f78372cd9f44328245322d36"},"X:\\Code\\InversifyJS\\src\\annotation\\inject.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\inject.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":20},"end":{"line":24,"column":44}},"25":{"start":{"line":25,"column":13},"end":{"line":25,"column":67}},"26":{"start":{"line":26,"column":0},"end":{"line":26,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/inject.ts","sources":["X:/Code/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":"530578a73290512c21ab5ca4a481441f878f8d9e","contentHash":"ae653a13934c15fada850f92a42d5e7de29ddb7e7c76567bb56b40c62bc510cb"},"X:\\Code\\InversifyJS\\src\\annotation\\inject_base.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\inject_base.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":53}},"3":{"start":{"line":5,"column":17},"end":{"line":5,"column":48}},"4":{"start":{"line":6,"column":24},"end":{"line":6,"column":52}},"5":{"start":{"line":8,"column":4},"end":{"line":16,"column":6}},"6":{"start":{"line":9,"column":8},"end":{"line":15,"column":10}},"7":{"start":{"line":10,"column":12},"end":{"line":13,"column":13}},"8":{"start":{"line":11,"column":32},"end":{"line":11,"column":100}},"9":{"start":{"line":12,"column":16},"end":{"line":12,"column":90}},"10":{"start":{"line":14,"column":12},"end":{"line":14,"column":167}},"11":{"start":{"line":18,"column":0},"end":{"line":18,"column":32}}},"fnMap":{"0":{"name":"injectBase","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":19}},"loc":{"start":{"line":7,"column":33},"end":{"line":17,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":11},"end":{"line":8,"column":12}},"loc":{"start":{"line":8,"column":40},"end":{"line":16,"column":5}},"line":8},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":15},"end":{"line":9,"column":16}},"loc":{"start":{"line":9,"column":71},"end":{"line":15,"column":9}},"line":9}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":12},"end":{"line":13,"column":13}},"type":"if","locations":[{"start":{"line":10,"column":12},"end":{"line":13,"column":13}},{"start":{"line":10,"column":12},"end":{"line":13,"column":13}}],"line":10},"1":{"loc":{"start":{"line":11,"column":32},"end":{"line":11,"column":100}},"type":"cond-expr","locations":[{"start":{"line":11,"column":63},"end":{"line":11,"column":74}},{"start":{"line":11,"column":77},"end":{"line":11,"column":100}}],"line":11}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":2,"6":261,"7":261,"8":3,"9":3,"10":258,"11":1},"f":{"0":2,"1":261,"2":261},"b":{"0":[3,258],"1":[2,1]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/inject_base.ts","sources":["X:/Code/InversifyJS/src/annotation/inject_base.ts"],"names":[],"mappings":";;;AAAA,sDAAsE;AACtE,iDAAgD;AAChD,qDAA2E;AAG3E,SAAgB,UAAU,CAAC,WAAmB;IAC5C,OAAO,UAAc,iBAA6C;QAChE,OAAO,UACL,MAAuB,EACvB,SAA2B,EAC3B,yBAA+D;YAE/D,IAAI,iBAAiB,KAAK,SAAS,EAAE;gBACnC,IAAM,SAAS,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;gBAEvF,MAAM,IAAI,KAAK,CAAC,IAAA,wCAA2B,EAAC,SAAS,CAAC,CAAC,CAAC;aACzD;YACD,OAAO,IAAA,uCAAqB,EAC1B,IAAI,mBAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAC7C,CAAC,MAAM,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC,CAAA;AACH,CAAC;AAjBD,gCAiBC","sourcesContent":["import { UNDEFINED_INJECT_ANNOTATION } from '../constants/error_msgs';\r\nimport { Metadata } from '../planning/metadata';\r\nimport { createTaggedDecorator, DecoratorTarget } from './decorator_utils';\r\nimport { ServiceIdentifierOrFunc } from './lazy_service_identifier';\r\n\r\nexport function injectBase(metadataKey: string) {\r\n return <T = unknown>(serviceIdentifier: ServiceIdentifierOrFunc<T>) => {\r\n return (\r\n target: DecoratorTarget,\r\n targetKey?: string | symbol,\r\n indexOrPropertyDescriptor?: number | TypedPropertyDescriptor<T>,\r\n ) => {\r\n if (serviceIdentifier === undefined) {\r\n const className = typeof target === 'function' ? target.name : target.constructor.name;\r\n\r\n throw new Error(UNDEFINED_INJECT_ANNOTATION(className));\r\n }\r\n return createTaggedDecorator(\r\n new Metadata(metadataKey, serviceIdentifier)\r\n )(target, targetKey, indexOrPropertyDescriptor);\r\n };\r\n }\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"76c25b7b44871ef28a3919a362fa5d501aaf2116","contentHash":"517f563d7562391a1afba4a88033a72b2d6be190aebef3e9875d7d1fd54cbf93"},"X:\\Code\\InversifyJS\\src\\annotation\\optional.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\optional.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":26}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":24},"end":{"line":25,"column":52}},"26":{"start":{"line":27,"column":4},"end":{"line":27,"column":114}},"27":{"start":{"line":29,"column":0},"end":{"line":29,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"optional","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":17}},"loc":{"start":{"line":26,"column":20},"end":{"line":28,"column":1}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":7,"27":1},"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":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/optional.ts","sources":["X:/Code/InversifyJS/src/annotation/optional.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAC3D,iDAAgD;AAChD,qDAA0D;AAE1D,SAAS,QAAQ;IACf,OAAO,IAAA,uCAAqB,EAAC,IAAI,mBAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9E,CAAC;AAEQ,4BAAQ","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { Metadata } from '../planning/metadata';\r\nimport { createTaggedDecorator } from './decorator_utils';\r\n\r\nfunction optional() {\r\n return createTaggedDecorator(new Metadata(METADATA_KEY.OPTIONAL_TAG, true));\r\n}\r\n\r\nexport { optional };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"108496553889d24f208890fad7a7f23c957725d5","contentHash":"f97390f4c816392b4f1e0978b80f74a447ee0d2eca3039449af009d62531aa44"},"X:\\Code\\InversifyJS\\src\\annotation\\unmanaged.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\unmanaged.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":27}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":24},"end":{"line":25,"column":52}},"26":{"start":{"line":27,"column":4},"end":{"line":30,"column":6}},"27":{"start":{"line":28,"column":23},"end":{"line":28,"column":80}},"28":{"start":{"line":29,"column":8},"end":{"line":29,"column":80}},"29":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"unmanaged","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":18}},"loc":{"start":{"line":26,"column":21},"end":{"line":31,"column":1}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":27,"column":11},"end":{"line":27,"column":12}},"loc":{"start":{"line":27,"column":47},"end":{"line":30,"column":5}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":8,"27":8,"28":8,"29":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":8,"7":8},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/unmanaged.ts","sources":["X:/Code/InversifyJS/src/annotation/unmanaged.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,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;AAEQ,8BAAS","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { Metadata } from '../planning/metadata';\r\nimport { tagParameter, DecoratorTarget } from './decorator_utils';\r\n\r\nfunction unmanaged() {\r\n return function (target: DecoratorTarget, targetKey: string | undefined, index: number) {\r\n const metadata = new Metadata(METADATA_KEY.UNMANAGED_TAG, true);\r\n tagParameter(target, targetKey, index, metadata);\r\n };\r\n}\r\n\r\nexport { unmanaged };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"714e685fd4eeab5de0254230232639f7f76cf8e7","contentHash":"fb9722a97f44c1490fdff668ab3b1d6d0fa548831b75a01ae57f23017500e903"},"X:\\Code\\InversifyJS\\src\\annotation\\multi_inject.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\multi_inject.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":29}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":20},"end":{"line":24,"column":44}},"25":{"start":{"line":25,"column":18},"end":{"line":25,"column":78}},"26":{"start":{"line":26,"column":0},"end":{"line":26,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/multi_inject.ts","sources":["X:/Code/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';\r\nimport { injectBase } from './inject_base';\r\n\r\nconst multiInject = injectBase(METADATA_KEY.MULTI_INJECT_TAG);\r\n\r\nexport { multiInject };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7a93cde73826d6f9ad3c3dda00e15dd009a7b064","contentHash":"22429b5b40be70997651036d7b96a5a06cf8df3f2d8afa38ecbf123673bacbd7"},"X:\\Code\\InversifyJS\\src\\annotation\\target_name.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\target_name.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":28}},"23":{"start":{"line":23,"column":19},"end":{"line":23,"column":70}},"24":{"start":{"line":24,"column":17},"end":{"line":24,"column":48}},"25":{"start":{"line":25,"column":24},"end":{"line":25,"column":52}},"26":{"start":{"line":27,"column":4},"end":{"line":30,"column":6}},"27":{"start":{"line":28,"column":23},"end":{"line":28,"column":75}},"28":{"start":{"line":29,"column":8},"end":{"line":29,"column":80}},"29":{"start":{"line":32,"column":0},"end":{"line":32,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14},"6":{"name":"targetName","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":19}},"loc":{"start":{"line":26,"column":26},"end":{"line":31,"column":1}},"line":26},"7":{"name":"(anonymous_7)","decl":{"start":{"line":27,"column":11},"end":{"line":27,"column":12}},"loc":{"start":{"line":27,"column":47},"end":{"line":30,"column":5}},"line":27}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":57,"27":57,"28":57,"29":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":57,"7":57},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[1,0],"8":[1,1],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/target_name.ts","sources":["X:/Code/InversifyJS/src/annotation/target_name.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA2D;AAC3D,iDAAgD;AAChD,qDAAkE;AAElE,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,UAAU,MAAuB,EAAE,SAAiB,EAAE,KAAa;QACxE,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAA,8BAAY,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAEQ,gCAAU","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { Metadata } from '../planning/metadata';\r\nimport { tagParameter, DecoratorTarget } from './decorator_utils';\r\n\r\nfunction targetName(name: string) {\r\n return function (target: DecoratorTarget, targetKey: string, index: number) {\r\n const metadata = new Metadata(METADATA_KEY.NAME_TAG, name);\r\n tagParameter(target, targetKey, index, metadata);\r\n };\r\n}\r\n\r\nexport { targetName };"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"32f81670db6bee5e8d762437553ae03eb1ae0d8a","contentHash":"1a099de3d7d0d5c36bdd2534e0cd73c4c2a7783728055eb7da20629dfd49adcf"},"X:\\Code\\InversifyJS\\src\\annotation\\post_construct.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\post_construct.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":31}},"23":{"start":{"line":23,"column":18},"end":{"line":23,"column":66}},"24":{"start":{"line":24,"column":19},"end":{"line":24,"column":70}},"25":{"start":{"line":25,"column":33},"end":{"line":25,"column":70}},"26":{"start":{"line":26,"column":20},"end":{"line":26,"column":148}},"27":{"start":{"line":27,"column":0},"end":{"line":27,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/post_construct.ts","sources":["X:/Code/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';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { propertyEventDecorator } from './property_event_decorator';\r\n\r\nconst postConstruct = propertyEventDecorator(\r\n METADATA_KEY.POST_CONSTRUCT,\r\n ERRORS_MSGS.MULTIPLE_POST_CONSTRUCT_METHODS,\r\n);\r\n\r\nexport { postConstruct };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"370faad9ca04f5e05e4dff474ddad3b1bbc1e984","contentHash":"b0e7914fda250ca32861293a2d631cb2bb9bcd2989073cf655a0dee69576879a"},"X:\\Code\\InversifyJS\\src\\annotation\\property_event_decorator.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\property_event_decorator.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":48}},"3":{"start":{"line":6,"column":4},"end":{"line":14,"column":6}},"4":{"start":{"line":7,"column":8},"end":{"line":13,"column":10}},"5":{"start":{"line":8,"column":27},"end":{"line":8,"column":73}},"6":{"start":{"line":9,"column":12},"end":{"line":11,"column":13}},"7":{"start":{"line":10,"column":16},"end":{"line":10,"column":46}},"8":{"start":{"line":12,"column":12},"end":{"line":12,"column":75}},"9":{"start":{"line":16,"column":0},"end":{"line":16,"column":56}}},"fnMap":{"0":{"name":"propertyEventDecorator","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":31}},"loc":{"start":{"line":5,"column":56},"end":{"line":15,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":11},"end":{"line":6,"column":12}},"loc":{"start":{"line":6,"column":23},"end":{"line":14,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":15},"end":{"line":7,"column":16}},"loc":{"start":{"line":7,"column":46},"end":{"line":13,"column":9}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":12},"end":{"line":11,"column":13}},"type":"if","locations":[{"start":{"line":9,"column":12},"end":{"line":11,"column":13}},{"start":{"line":9,"column":12},"end":{"line":11,"column":13}}],"line":9}},"s":{"0":1,"1":1,"2":1,"3":2,"4":21,"5":21,"6":21,"7":1,"8":20,"9":1},"f":{"0":2,"1":21,"2":21},"b":{"0":[1,20]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/property_event_decorator.ts","sources":["X:/Code/InversifyJS/src/annotation/property_event_decorator.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAEhD,SAAS,sBAAsB,CAAC,QAAgB,EAAE,YAAoB;IACpE,OAAO;QACL,OAAO,UAAC,MAAyC,EAAE,WAAmB;YACpE,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;aAC/B;YACD,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAEQ,wDAAsB","sourcesContent":["import { Metadata } from '../planning/metadata';\r\n\r\nfunction propertyEventDecorator(eventKey: string, errorMessage: string) {\r\n return () => {\r\n return (target: { constructor: NewableFunction; }, propertyKey: string) => {\r\n const metadata = new Metadata(eventKey, propertyKey);\r\n\r\n if (Reflect.hasOwnMetadata(eventKey, target.constructor)) {\r\n throw new Error(errorMessage);\r\n }\r\n Reflect.defineMetadata(eventKey, metadata, target.constructor);\r\n }\r\n }\r\n}\r\n\r\nexport { propertyEventDecorator }\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"909756c62695ebffe6b3d85e154060b1e383ab0b","contentHash":"013ca43f33cd12307e9e5b1749cc8af6d5c635ed4da710f0a88423b3e5f659fa"},"X:\\Code\\InversifyJS\\src\\annotation\\pre_destroy.ts":{"path":"X:\\Code\\InversifyJS\\src\\annotation\\pre_destroy.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":89}},"4":{"start":{"line":4,"column":71},"end":{"line":4,"column":83}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"6":{"start":{"line":6,"column":26},"end":{"line":6,"column":33}},"7":{"start":{"line":7,"column":4},"end":{"line":7,"column":17}},"8":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"9":{"start":{"line":10,"column":4},"end":{"line":10,"column":72}},"10":{"start":{"line":12,"column":4},"end":{"line":12,"column":21}},"11":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"13":{"start":{"line":15,"column":31},"end":{"line":15,"column":42}},"14":{"start":{"line":16,"column":17},"end":{"line":16,"column":19}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"16":{"start":{"line":17,"column":21},"end":{"line":17,"column":141}},"17":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"18":{"start":{"line":17,"column":109},"end":{"line":17,"column":141}},"19":{"start":{"line":18,"column":4},"end":{"line":18,"column":36}},"20":{"start":{"line":19,"column":4},"end":{"line":19,"column":18}},"21":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"22":{"start":{"line":22,"column":0},"end":{"line":22,"column":28}},"23":{"start":{"line":23,"column":18},"end":{"line":23,"column":66}},"24":{"start":{"line":24,"column":19},"end":{"line":24,"column":70}},"25":{"start":{"line":25,"column":33},"end":{"line":25,"column":70}},"26":{"start":{"line":26,"column":17},"end":{"line":26,"column":139}},"27":{"start":{"line":27,"column":0},"end":{"line":27,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":5,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":58},"end":{"line":4,"column":59}},"loc":{"start":{"line":4,"column":69},"end":{"line":4,"column":85}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":6},"end":{"line":5,"column":7}},"loc":{"start":{"line":5,"column":28},"end":{"line":8,"column":1}},"line":5},"3":{"name":"(anonymous_3)","decl":{"start":{"line":9,"column":80},"end":{"line":9,"column":81}},"loc":{"start":{"line":9,"column":95},"end":{"line":11,"column":1}},"line":9},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":5},"end":{"line":11,"column":6}},"loc":{"start":{"line":11,"column":20},"end":{"line":13,"column":1}},"line":11},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":50},"end":{"line":14,"column":51}},"loc":{"start":{"line":14,"column":65},"end":{"line":20,"column":1}},"line":14}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":8,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":8,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":8,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":5,"column":1}},{"start":{"line":5,"column":6},"end":{"line":8,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":4},"end":{"line":6,"column":33}}],"line":6},"4":{"loc":{"start":{"line":9,"column":25},"end":{"line":13,"column":2}},"type":"binary-expr","locations":[{"start":{"line":9,"column":26},"end":{"line":9,"column":30}},{"start":{"line":9,"column":34},"end":{"line":9,"column":57}},{"start":{"line":9,"column":63},"end":{"line":13,"column":1}}],"line":9},"5":{"loc":{"start":{"line":9,"column":63},"end":{"line":13,"column":1}},"type":"cond-expr","locations":[{"start":{"line":9,"column":80},"end":{"line":11,"column":1}},{"start":{"line":11,"column":5},"end":{"line":13,"column":1}}],"line":9},"6":{"loc":{"start":{"line":14,"column":19},"end":{"line":20,"column":1}},"type":"binary-expr","locations":[{"start":{"line":14,"column":20},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":45}},{"start":{"line":14,"column":50},"end":{"line":20,"column":1}}],"line":14},"7":{"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":15,"column":42}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":15},"8":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":29}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":11}},{"start":{"line":15,"column":15},"end":{"line":15,"column":29}}],"line":15},"9":{"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":141}},{"start":{"line":17,"column":4},"end":{"line":17,"column":141}}],"line":17},"10":{"loc":{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},"type":"if","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":141}},{"start":{"line":17,"column":40},"end":{"line":17,"column":141}}],"line":17},"11":{"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":107}},"type":"binary-expr","locations":[{"start":{"line":17,"column":44},"end":{"line":17,"column":59}},{"start":{"line":17,"column":63},"end":{"line":17,"column":107}}],"line":17}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":2,"13":2,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":2},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[1,1,1],"5":[1,0],"6":[1,1,1],"7":[2,0],"8":[2,2],"9":[0,0],"10":[0,0],"11":[0,0]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/annotation/pre_destroy.ts","sources":["X:/Code/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';\r\nimport * as METADATA_KEY from '../constants/metadata_keys';\r\nimport { propertyEventDecorator } from './property_event_decorator';\r\n\r\nconst preDestroy = propertyEventDecorator(\r\n METADATA_KEY.PRE_DESTROY,\r\n ERRORS_MSGS.MULTIPLE_PRE_DESTROY_METHODS,\r\n);\r\n\r\nexport { preDestroy };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"64314abad00faec538ddee1c83eabc598d8568a3","contentHash":"b0f4a03da4966a495642ebab71f1d124cd8fe9416b442e8aa1ddff3a95bdab04"},"X:\\Code\\InversifyJS\\src\\interfaces\\interfaces.ts":{"path":"X:\\Code\\InversifyJS\\src\\interfaces\\interfaces.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}},"2":{"start":{"line":5,"column":0},"end":{"line":7,"column":36}},"3":{"start":{"line":8,"column":0},"end":{"line":8,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":1},"end":{"line":5,"column":2}},"loc":{"start":{"line":5,"column":23},"end":{"line":7,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":3},"end":{"line":7,"column":34}},"type":"binary-expr","locations":[{"start":{"line":7,"column":3},"end":{"line":7,"column":13}},{"start":{"line":7,"column":18},"end":{"line":7,"column":33}}],"line":7}},"s":{"0":1,"1":1,"2":1,"3":1},"f":{"0":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"file":"X:/Code/InversifyJS/src/interfaces/interfaces.ts","sources":["X:/Code/InversifyJS/src/interfaces/interfaces.ts"],"names":[],"mappings":";;;AAEA,IAAU,UAAU,CAiXnB;AAjXD,WAAU,UAAU;IA0FjB,CAAC;AAuRJ,CAAC,EAjXS,UAAU,KAAV,UAAU,QAiXnB;AAEQ,gCAAU","sourcesContent":["import { FactoryType } from '../utils/factory_type';\r\n\r\nnamespace interfaces {\r\n export type DynamicValue<T> = (context: interfaces.Context) => T | Promise<T>;\r\n export type ContainerResolution<T> = T | Promise<T> | (T | Promise<T>)[];\r\n\r\n type AsyncCallback<TCallback> =\r\n TCallback extends (...args: infer TArgs) => infer TResult ? (...args: TArgs) => Promise<TResult>\r\n : never;\r\n\r\n export type BindingScope = 'Singleton' | 'Transient' | 'Request';\r\n\r\n export type BindingType = 'ConstantValue' | 'Constructor' | 'DynamicValue' | 'Factory' |\r\n 'Function' | 'Instance' | 'Invalid' | 'Provider';\r\n\r\n export type TargetType = 'ConstructorArgument' | 'ClassProperty' | 'Variable';\r\n\r\n export interface BindingScopeEnum {\r\n Request: interfaces.BindingScope;\r\n Singleton: interfaces.BindingScope;\r\n Transient: interfaces.BindingScope;\r\n }\r\n\r\n export interface BindingTypeEnum {\r\n ConstantValue: interfaces.BindingType;\r\n Constructor: interfaces.BindingType;\r\n DynamicValue: interfaces.BindingType;\r\n Factory: interfaces.BindingType;\r\n Function: interfaces.BindingType;\r\n Instance: interfaces.BindingType;\r\n Invalid: interfaces.BindingType;\r\n Provider: interfaces.BindingType;\r\n }\r\n\r\n export interface TargetTypeEnum {\r\n ConstructorArgument: interfaces.TargetType;\r\n ClassProperty: interfaces.TargetType;\r\n Variable: interfaces.TargetType;\r\n }\r\n\r\n export type Newable<T> = new (...args: any[]) => T;\r\n\r\n export type Instance<T> = T & Record<string, () => void>;\r\n\r\n export interface Abstract<T> {\r\n prototype: T;\r\n }\r\n\r\n export type ServiceIdentifier<T = unknown> = (string | symbol | Newable<T> | Abstract<T>);\r\n\r\n export interface Clonable<T> {\r\n clone(): T;\r\n }\r\n\r\n export type BindingActivation<T = unknown> = (context: interfaces.Context, injectable: T) => T | Promise<T>;\r\n\r\n export type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;\r\n\r\n export interface Binding<TActivated = unknown> extends Clonable<Binding<TActivated>> {\r\n id: number;\r\n moduleId: ContainerModuleBase['id'];\r\n activated: boolean;\r\n serviceIdentifier: ServiceIdentifier<TActivated>;\r\n constraint: ConstraintFunction;\r\n dynamicValue: DynamicValue<TActivated> | null;\r\n scope: BindingScope;\r\n type: BindingType;\r\n implementationType: Newable<TActivated> | TActivated | null;\r\n factory: FactoryCreator<unknown> | null;\r\n provider: ProviderCreator<unknown> | null;\r\n onActivation: BindingActivation<TActivated> | null;\r\n onDeactivation: BindingDeactivation<TActivated> | null;\r\n cache: null | TActivated | Promise<TActivated>;\r\n }\r\n\r\n export type SimpleFactory<T, U extends unknown[] = unknown[]> = (...args: U) => T;\r\n\r\n export type MultiFactory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (...args: U) => SimpleFactory<T, V>;\r\n\r\n export type Factory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = SimpleFactory<T, U> | MultiFactory<T, U, V>;\r\n\r\n export type FactoryCreator<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (context: Context) => Factory<T, U, V>;\r\n\r\n export type AutoNamedFactory<T> = SimpleFactory<T, [string]>;\r\n\r\n export type AutoFactory<T> = SimpleFactory<T, []>;\r\n\r\n export type FactoryTypeFunction<T = unknown> = (context: interfaces.Context) => T | Promise<T>\r\n\r\n export interface FactoryDetails {\r\n factoryType: FactoryType,\r\n factory: FactoryTypeFunction | null\r\n };\r\n\r\n export type Provider<T> = (...args: any[]) => (((...args: any[]) => Promise<T>) | Promise<T>);\r\n\r\n export type ProviderCreator<T> = (context: Context) => Provider<T>;\r\n\r\n export interface NextArgs<T = unknown> {\r\n avoidConstraints: boolean;\r\n contextInterceptor: ((contexts: Context) => Context);\r\n isMultiInject: boolean;\r\n targetType: TargetType;\r\n serviceIdentifier: interfaces.ServiceIdentifier<T>;\r\n key?: string | number | symbol | undefined;\r\n value?: unknown;\r\n }\r\n\r\n export type Next = (args: NextArgs) => (unknown | unknown[]);\r\n\r\n export type Middleware = (next: Next) => Next;\r\n\r\n export type ContextInterceptor = (context: interfaces.Context) => interfaces.Context;\r\n\r\n export interface Context {\r\n id: number;\r\n container: Container;\r\n plan: Plan;\r\n currentRequest: Request;\r\n addPlan(plan: Plan): void;\r\n setCurrentRequest(request: Request): void;\r\n }\r\n\r\n export type MetadataOrMetadataArray = Metadata | Metadata[];\r\n\r\n export interface Metadata<TValue = unknown> {\r\n key: string | number | symbol;\r\n value: TValue;\r\n }\r\n\r\n export interface Plan {\r\n parentContext: Context;\r\n rootRequest: Request;\r\n }\r\n\r\n export interface QueryableString {\r\n startsWith(searchString: string): boolean;\r\n endsWith(searchString: string): boolean;\r\n contains(searchString: string): boolean;\r\n equals(compareString: string): boolean;\r\n value(): string;\r\n }\r\n\r\n export type ResolveRequestHandler = (\r\n request: interfaces.Request\r\n ) => unknown;\r\n\r\n export type RequestScope = Map<unknown, unknown>;\r\n\r\n export interface Request {\r\n id: number;\r\n serviceIdentifier: ServiceIdentifier;\r\n parentContext: Context;\r\n parentRequest: Request | null;\r\n childRequests: Request[];\r\n target: Target;\r\n bindings: Binding<unknown>[];\r\n requestScope: RequestScope | null;\r\n addChildRequest(\r\n serviceIdentifier: ServiceIdentifier,\r\n bindings: (Binding<unknown> | Binding<unknown>[]),\r\n target: Target\r\n ): Request;\r\n }\r\n\r\n export interface Target {\r\n id: number;\r\n serviceIdentifier: ServiceIdentifier;\r\n type: TargetType;\r\n name: QueryableString;\r\n identifier: string | symbol;\r\n metadata: Metadata[];\r\n getNamedTag(): interfaces.Metadata<string> | null;\r\n getCustomTags(): interfaces.Metadata[] | null;\r\n hasTag(key: string | number | symbol): boolean;\r\n isArray(): boolean;\r\n matchesArray(name: interfaces.ServiceIdentifier): boolean;\r\n isNamed(): boolean;\r\n isTagged(): boolean;\r\n isOptional(): boolean;\r\n matchesNamedTag(name: string): boolean;\r\n matchesTag(key: string | number | symbol): (value: unknown) => boolean;\r\n }\r\n\r\n export interface ContainerOptions {\r\n autoBindInjectable?: boolean;\r\n defaultScope?: BindingScope | undefined;\r\n skipBaseClassChecks?: boolean;\r\n }\r\n\r\n export interface Container {\r\n id: number;\r\n parent: Container | null;\r\n options: ContainerOptions;\r\n bind<T>(serviceIdentifier: ServiceIdentifier<T>): BindingToSyntax<T>;\r\n rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>;\r\n rebindAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<interfaces.BindingToSyntax<T>>\r\n unbind(serviceIdentifier: ServiceIdentifier): void;\r\n unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise<void>;\r\n unbindAll(): void;\r\n unbindAllAsync(): Promise<void>;\r\n isBound(serviceIdentifier: ServiceIdentifier): boolean;\r\n isCurrentBound<T>(serviceIdentifier: ServiceIdentifier<T>): boolean;\r\n isBoundNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): boolean;\r\n isBoundTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): boolean;\r\n get<T>(serviceIdentifier: ServiceIdentifier<T>): T;\r\n getNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T;\r\n getTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T;\r\n getAll<T>(serviceIdentifier: ServiceIdentifier<T>): T[];\r\n getAllTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T[];\r\n getAllNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T[];\r\n getAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T>;\r\n getNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T>;\r\n getTaggedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): Promise<T>;\r\n getAllAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T[]>;\r\n getAllTaggedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): Promise<T[]>;\r\n getAllNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T[]>;\r\n onActivation<T>(serviceIdentifier: ServiceIdentifier<T>, onActivation: BindingActivation<T>): void;\r\n onDeactivation<T>(serviceIdentifier: ServiceIdentifier<T>, onDeactivation: BindingDeactivation<T>): void;\r\n resolve<T>(constructorFunction: interfaces.Newable<T>): T;\r\n load(...modules: ContainerModule[]): void;\r\n loadAsync(...modules: AsyncContainerModule[]): Promise<void>;\r\n unload(...modules: ContainerModuleBase[]): void;\r\n unloadAsync(...modules: ContainerModuleBase[]): Promise<void>\r\n applyCustomMetadataReader(metadataReader: MetadataReader): void;\r\n applyMiddleware(...middleware: Middleware[]): void;\r\n snapshot(): void;\r\n restore(): void;\r\n createChild(): Container;\r\n }\r\n\r\n export type Bind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\r\n\r\n export type Rebind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\r\n\r\n export type Unbind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => void;\r\n\r\n export type UnbindAsync = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => Promise<void>;\r\n\r\n export type IsBound = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => boolean;\r\n\r\n export interface ContainerModuleBase {\r\n id: number;\r\n }\r\n\r\n export interface ContainerModule extends ContainerModuleBase {\r\n registry: ContainerModuleCallBack;\r\n }\r\n\r\n export interface AsyncContainerModule extends ContainerModuleBase {\r\n registry: AsyncContainerModuleCallBack;\r\n }\r\n\r\n export interface ModuleActivationHandlers {\r\n onActivations: Lookup<BindingActivation<unknown>>,\r\n onDeactivations: Lookup<BindingDeactivation<unknown>>\r\n }\r\n\r\n export interface ModuleActivationStore extends Clonable<ModuleActivationStore> {\r\n addDeactivation(\r\n moduleId: ContainerModuleBase['id'],\r\n serviceIdentifier: ServiceIdentifier<unknown>,\r\n onDeactivation: interfaces.BindingDeactivation<unknown>\r\n ): void\r\n addActivation(\r\n moduleId: ContainerModuleBase['id'],\r\n serviceIdentifier: ServiceIdentifier<unknown>,\r\n onActivation: interfaces.BindingActivation<unknown>\r\n ): void\r\n remove(moduleId: ContainerModuleBase['id']): ModuleActivationHandlers\r\n }\r\n\r\n export type ContainerModuleCallBack = (\r\n bind: interfaces.Bind,\r\n unbind: interfaces.Unbind,\r\n isBound: interfaces.IsBound,\r\n rebind: interfaces.Rebind,\r\n unbindAsync: interfaces.UnbindAsync,\r\n onActivation: interfaces.Container['onActivation'],\r\n onDeactivation: interfaces.Container['onDeactivation']\r\n ) => void;\r\n\r\n export type AsyncContainerModuleCallBack = AsyncCallback<ContainerModuleCallBack>;\r\n\r\n export interface ContainerSnapshot {\r\n bindings: Lookup<Binding<unknown>>;\r\n activations: Lookup<BindingActivation<unknown>>;\r\n deactivations: Lookup<BindingDeactivation<unknown>>;\r\n middleware: Next | null;\r\n moduleActivationStore: interfaces.ModuleActivationStore;\r\n }\r\n\r\n export interface Lookup<T> extends Clonable<Lookup<T>> {\r\n add(serviceIdentifier: ServiceIdentifier, value: T): void;\r\n getMap(): Map<interfaces.ServiceIdentifier, T[]>;\r\n get(serviceIdentifier: ServiceIdentifier): T[];\r\n remove(serviceIdentifier: interfaces.ServiceIdentifier): void;\r\n removeByCondition(condition: (item: T) => boolean): T[];\r\n removeIntersection(lookup: interfaces.Lookup<T>): void\r\n hasKey(serviceIdentifier: ServiceIdentifier): boolean;\r\n clone(): Lookup<T>;\r\n traverse(func: (key: interfaces.ServiceIdentifier, value: T[]) => void): void;\r\n }\r\n\r\n export interface BindingOnSyntax<T> {\r\n onActivation(fn: (context: Context, injectable: T) => T | Promise<T>): BindingWhenSyntax<T>;\r\n onDeactivation(fn: (injectable: T) => void | Promise<void>): BindingWhenSyntax<T>;\r\n }\r\n\r\n export interface BindingWhenSyntax<T> {\r\n when(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\r\n whenTargetNamed(name: string | number | symbol): BindingOnSyntax<T>;\r\n whenTargetIsDefault(): BindingOnSyntax<T>;\r\n whenTargetTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\r\n whenInjectedInto(parent: (NewableFunction | string)): BindingOnSyntax<T>;\r\n whenParentNamed(name: string | number | symbol): BindingOnSyntax<T>;\r\n whenParentTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\r\n whenAnyAncestorIs(ancestor: (NewableFunction | string)): BindingOnSyntax<T>;\r\n whenNoAncestorIs(ancestor: (NewableFunction | string)): BindingOnSyntax<T>;\r\n whenAnyAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;\r\n whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\r\n whenNoAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;\r\n whenNoAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\r\n whenAnyAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\r\n whenNoAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\r\n }\r\n\r\n export interface BindingWhenOnSyntax<T> extends BindingWhenSyntax<T>, BindingOnSyntax<T> { }\r\n\r\n export interface BindingInSyntax<T> {\r\n inSingletonScope(): BindingWhenOnSyntax<T>;\r\n inTransientScope(): BindingWhenOnSyntax<T>;\r\n inRequestScope(): BindingWhenOnSyntax<T>;\r\n }\r\n\r\n export interface BindingInWhenOnSyntax<T> extends BindingInSyntax<T>, BindingWhenOnSyntax<T> { }\r\n\r\n export interface BindingToSyntax<T> {\r\n to(constructor: Newable<T>): BindingInWhenOnSyntax<T>;\r\n toSelf(): BindingInWhenOnSyntax<T>;\r\n toConstantValue(value: T): BindingWhenOnSyntax<T>;\r\n toDynamicValue(func: DynamicValue<T>): BindingInWhenOnSyntax<T>;\r\n toConstructor<T2>(constructor: Newable<T2>): BindingWhenOnSyntax<T>;\r\n toFactory<T2, T3 extends unknown[] = unknown[], T4 extends unknown[] = unknown[]>(\r\n factory: FactoryCreator<T2, T3, T4>): BindingWhenOnSyntax<T>;\r\n toFunction(func: T): BindingWhenOnSyntax<T>;\r\n toAutoFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;\r\n toAutoNamedFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;\r\n toProvider<T2>(provider: ProviderCreator<T2>): BindingWhenOnSyntax<T>;\r\n toService(service: ServiceIdentifier<T>): void;\r\n }\r\n\r\n export interface ConstraintFunction {\r\n metaData?: Metadata;\r\n (request: Request | null): boolean;\r\n }\r\n\r\n export interface MetadataReader {\r\n getConstructorMetadata(constructorFunc: NewableFunction): ConstructorMetadata;\r\n getPropertiesMetadata(constructorFunc: NewableFunction): MetadataMap;\r\n }\r\n\r\n export interface MetadataMap {\r\n [propertyNameOrArgumentIndex: string | symbol]: Metadata[];\r\n }\r\n\r\n export interface ConstructorMetadata {\r\n compilerGeneratedMetadata: NewableFunction[] | undefined;\r\n userGeneratedMetadata: MetadataMap;\r\n }\r\n\r\n}\r\n\r\nexport { interfaces };\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9df6216e4e35f6a3ff76b15eab7f5f46f67ae343","contentHash":"1c5050e3d4fb8397903708833d53d5f32508add65798c7408faaa242b5e5d21c"}}
|