inversify 4.11.1 → 5.0.5
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/.auditignore +2 -0
- package/.nyc_output/24cbca0e-b065-453e-9d1e-2a381e69663d.json +1 -0
- package/.nyc_output/processinfo/24cbca0e-b065-453e-9d1e-2a381e69663d.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/CHANGELOG.md +24 -0
- package/README.md +8 -8
- package/amd/annotation/decorator_utils.js +2 -1
- package/amd/annotation/inject.js +1 -0
- package/amd/annotation/injectable.js +1 -0
- package/amd/annotation/multi_inject.js +1 -0
- package/amd/annotation/named.js +1 -0
- package/amd/annotation/optional.js +1 -0
- package/amd/annotation/post_construct.js +1 -0
- package/amd/annotation/tagged.js +1 -0
- package/amd/annotation/target_name.js +1 -0
- package/amd/annotation/unmanaged.js +1 -0
- package/amd/bindings/binding.js +3 -2
- package/amd/bindings/binding_count.js +1 -0
- package/amd/constants/error_msgs.js +11 -2
- package/amd/constants/literal_types.js +1 -0
- package/amd/constants/metadata_keys.js +1 -0
- package/amd/container/container.js +40 -37
- package/amd/container/container_module.js +4 -3
- package/amd/container/container_snapshot.js +1 -0
- package/amd/container/lookup.js +1 -0
- package/amd/inversify.js +27 -26
- package/amd/planning/context.js +3 -2
- package/amd/planning/metadata.js +1 -0
- package/amd/planning/metadata_reader.js +1 -0
- package/amd/planning/plan.js +1 -0
- package/amd/planning/planner.js +8 -0
- package/amd/planning/queryable_string.js +1 -0
- package/amd/planning/reflection_utils.js +12 -8
- package/amd/planning/request.js +3 -2
- package/amd/planning/target.js +3 -2
- package/amd/resolution/instantiation.js +9 -1
- package/amd/resolution/resolver.js +5 -4
- package/amd/syntax/binding_in_syntax.js +1 -0
- package/amd/syntax/binding_in_when_on_syntax.js +1 -0
- package/amd/syntax/binding_on_syntax.js +1 -0
- package/amd/syntax/binding_to_syntax.js +1 -0
- package/amd/syntax/binding_when_on_syntax.js +1 -0
- package/amd/syntax/binding_when_syntax.js +1 -0
- package/amd/syntax/constraint_helpers.js +1 -0
- package/amd/utils/binding_utils.js +1 -0
- package/amd/utils/exceptions.js +1 -0
- package/amd/utils/id.js +10 -0
- package/amd/utils/serialization.js +1 -0
- package/dts/annotation/inject.d.ts +1 -1
- package/dts/bindings/binding.d.ts +1 -1
- package/dts/constants/error_msgs.d.ts +2 -2
- package/dts/container/container.d.ts +5 -5
- package/dts/container/container_module.d.ts +2 -2
- package/dts/container/lookup.d.ts +1 -1
- package/dts/interfaces/interfaces.d.ts +12 -13
- package/dts/inversify.d.ts +1 -1
- package/dts/planning/context.d.ts +1 -1
- package/dts/planning/reflection_utils.d.ts +3 -1
- package/dts/planning/request.d.ts +1 -1
- package/dts/planning/target.d.ts +1 -1
- package/dts/syntax/binding_to_syntax.d.ts +1 -3
- package/dts/syntax/constraint_helpers.d.ts +2 -2
- package/dts/utils/binding_utils.d.ts +1 -1
- package/dts/utils/cat.d.ts +5 -0
- package/dts/utils/dog.d.ts +3 -0
- package/dts/utils/id.d.ts +2 -0
- package/es/annotation/decorator_utils.js +1 -1
- package/es/bindings/binding.js +2 -2
- package/es/constants/error_msgs.js +10 -2
- package/es/container/container.js +39 -37
- package/es/container/container_module.js +3 -3
- package/es/inversify.js +1 -1
- package/es/planning/context.js +2 -2
- package/es/planning/planner.js +8 -1
- package/es/planning/reflection_utils.js +10 -9
- package/es/planning/request.js +2 -2
- package/es/planning/target.js +2 -2
- package/es/resolution/instantiation.js +8 -1
- package/es/resolution/resolver.js +4 -4
- package/es/utils/id.js +5 -0
- package/lib/annotation/decorator_utils.js +2 -1
- package/lib/annotation/inject.js +1 -0
- package/lib/annotation/injectable.js +1 -0
- package/lib/annotation/multi_inject.js +1 -0
- package/lib/annotation/named.js +1 -0
- package/lib/annotation/optional.js +1 -0
- package/lib/annotation/post_construct.js +1 -0
- package/lib/annotation/tagged.js +1 -0
- package/lib/annotation/target_name.js +1 -0
- package/lib/annotation/unmanaged.js +1 -0
- package/lib/bindings/binding.js +3 -2
- package/lib/bindings/binding_count.js +1 -0
- package/lib/constants/error_msgs.js +11 -2
- package/lib/constants/literal_types.js +1 -0
- package/lib/constants/metadata_keys.js +1 -0
- package/lib/container/container.js +40 -37
- package/lib/container/container_module.js +4 -3
- package/lib/container/container_snapshot.js +1 -0
- package/lib/container/lookup.js +1 -0
- package/lib/inversify.js +27 -26
- package/lib/planning/context.js +3 -2
- package/lib/planning/metadata.js +1 -0
- package/lib/planning/metadata_reader.js +1 -0
- package/lib/planning/plan.js +1 -0
- package/lib/planning/planner.js +8 -0
- package/lib/planning/queryable_string.js +1 -0
- package/lib/planning/reflection_utils.js +12 -8
- package/lib/planning/request.js +3 -2
- package/lib/planning/target.js +3 -2
- package/lib/resolution/instantiation.js +9 -1
- package/lib/resolution/resolver.js +5 -4
- package/lib/syntax/binding_in_syntax.js +1 -0
- package/lib/syntax/binding_in_when_on_syntax.js +1 -0
- package/lib/syntax/binding_on_syntax.js +1 -0
- package/lib/syntax/binding_to_syntax.js +1 -0
- package/lib/syntax/binding_when_on_syntax.js +1 -0
- package/lib/syntax/binding_when_syntax.js +1 -0
- package/lib/syntax/constraint_helpers.js +1 -0
- package/lib/utils/binding_utils.js +1 -0
- package/lib/utils/exceptions.js +1 -0
- package/lib/utils/id.js +8 -0
- package/lib/utils/serialization.js +1 -0
- package/mocha.opts +3 -0
- package/package.json +39 -33
- package/amd/utils/guid.js +0 -14
- package/appveyor.yml +0 -34
- package/dts/utils/guid.d.ts +0 -2
- package/es/utils/guid.js +0 -10
- package/lib/utils/guid.js +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/decorator_utils.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/decorator_utils.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":71}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":51}},"3":{"start":{"line":5,"column":19},"end":{"line":5,"column":56}},"4":{"start":{"line":7,"column":22},"end":{"line":7,"column":41}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":99}},"6":{"start":{"line":10,"column":0},"end":{"line":10,"column":36}},"7":{"start":{"line":12,"column":22},"end":{"line":12,"column":46}},"8":{"start":{"line":13,"column":4},"end":{"line":13,"column":95}},"9":{"start":{"line":15,"column":0},"end":{"line":15,"column":34}},"10":{"start":{"line":17,"column":37},"end":{"line":17,"column":39}},"11":{"start":{"line":18,"column":32},"end":{"line":18,"column":66}},"12":{"start":{"line":19,"column":14},"end":{"line":19,"column":111}},"13":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"14":{"start":{"line":21,"column":8},"end":{"line":21,"column":64}},"15":{"start":{"line":23,"column":4},"end":{"line":25,"column":5}},"16":{"start":{"line":24,"column":8},"end":{"line":24,"column":88}},"17":{"start":{"line":26,"column":34},"end":{"line":26,"column":65}},"18":{"start":{"line":27,"column":4},"end":{"line":37,"column":5}},"19":{"start":{"line":28,"column":8},"end":{"line":28,"column":37}},"20":{"start":{"line":31,"column":8},"end":{"line":36,"column":9}},"21":{"start":{"line":31,"column":22},"end":{"line":31,"column":23}},"22":{"start":{"line":31,"column":53},"end":{"line":31,"column":76}},"23":{"start":{"line":32,"column":20},"end":{"line":32,"column":49}},"24":{"start":{"line":33,"column":12},"end":{"line":35,"column":13}},"25":{"start":{"line":34,"column":16},"end":{"line":34,"column":89}},"26":{"start":{"line":38,"column":4},"end":{"line":38,"column":43}},"27":{"start":{"line":39,"column":4},"end":{"line":39,"column":62}},"28":{"start":{"line":40,"column":4},"end":{"line":40,"column":86}},"29":{"start":{"line":43,"column":4},"end":{"line":43,"column":41}},"30":{"start":{"line":46,"column":4},"end":{"line":46,"column":74}},"31":{"start":{"line":46,"column":36},"end":{"line":46,"column":71}},"32":{"start":{"line":49,"column":4},"end":{"line":57,"column":5}},"33":{"start":{"line":50,"column":8},"end":{"line":50,"column":63}},"34":{"start":{"line":52,"column":9},"end":{"line":57,"column":5}},"35":{"start":{"line":53,"column":8},"end":{"line":53,"column":62}},"36":{"start":{"line":56,"column":8},"end":{"line":56,"column":39}},"37":{"start":{"line":59,"column":0},"end":{"line":59,"column":28}}},"fnMap":{"0":{"name":"tagParameter","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":21}},"loc":{"start":{"line":6,"column":80},"end":{"line":9,"column":1}},"line":6},"1":{"name":"tagProperty","decl":{"start":{"line":11,"column":9},"end":{"line":11,"column":20}},"loc":{"start":{"line":11,"column":63},"end":{"line":14,"column":1}},"line":11},"2":{"name":"_tagParameterOrProperty","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":32}},"loc":{"start":{"line":16,"column":104},"end":{"line":41,"column":1}},"line":16},"3":{"name":"_decorate","decl":{"start":{"line":42,"column":9},"end":{"line":42,"column":18}},"loc":{"start":{"line":42,"column":39},"end":{"line":44,"column":1}},"line":42},"4":{"name":"_param","decl":{"start":{"line":45,"column":9},"end":{"line":45,"column":15}},"loc":{"start":{"line":45,"column":39},"end":{"line":47,"column":1}},"line":45},"5":{"name":"(anonymous_5)","decl":{"start":{"line":46,"column":11},"end":{"line":46,"column":12}},"loc":{"start":{"line":46,"column":34},"end":{"line":46,"column":73}},"line":46},"6":{"name":"decorate","decl":{"start":{"line":48,"column":9},"end":{"line":48,"column":17}},"loc":{"start":{"line":48,"column":53},"end":{"line":58,"column":1}},"line":48}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":14},"end":{"line":19,"column":111}},"type":"cond-expr","locations":[{"start":{"line":19,"column":71},"end":{"line":19,"column":96}},{"start":{"line":19,"column":99},"end":{"line":19,"column":111}}],"line":19},"1":{"loc":{"start":{"line":19,"column":15},"end":{"line":19,"column":67}},"type":"binary-expr","locations":[{"start":{"line":19,"column":15},"end":{"line":19,"column":43}},{"start":{"line":19,"column":47},"end":{"line":19,"column":67}}],"line":19},"2":{"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},{"start":{"line":20,"column":4},"end":{"line":22,"column":5}}],"line":20},"3":{"loc":{"start":{"line":20,"column":8},"end":{"line":20,"column":58}},"type":"binary-expr","locations":[{"start":{"line":20,"column":8},"end":{"line":20,"column":28}},{"start":{"line":20,"column":32},"end":{"line":20,"column":58}}],"line":20},"4":{"loc":{"start":{"line":23,"column":4},"end":{"line":25,"column":5}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":25,"column":5}},{"start":{"line":23,"column":4},"end":{"line":25,"column":5}}],"line":23},"5":{"loc":{"start":{"line":27,"column":4},"end":{"line":37,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":37,"column":5}},{"start":{"line":27,"column":4},"end":{"line":37,"column":5}}],"line":27},"6":{"loc":{"start":{"line":33,"column":12},"end":{"line":35,"column":13}},"type":"if","locations":[{"start":{"line":33,"column":12},"end":{"line":35,"column":13}},{"start":{"line":33,"column":12},"end":{"line":35,"column":13}}],"line":33},"7":{"loc":{"start":{"line":49,"column":4},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":57,"column":5}},{"start":{"line":49,"column":4},"end":{"line":57,"column":5}}],"line":49},"8":{"loc":{"start":{"line":52,"column":9},"end":{"line":57,"column":5}},"type":"if","locations":[{"start":{"line":52,"column":9},"end":{"line":57,"column":5}},{"start":{"line":52,"column":9},"end":{"line":57,"column":5}}],"line":52}},"s":{"0":1,"1":1,"2":1,"3":1,"4":225,"5":225,"6":1,"7":24,"8":24,"9":1,"10":249,"11":249,"12":249,"13":249,"14":4,"15":245,"16":146,"17":245,"18":245,"19":156,"20":89,"21":89,"22":89,"23":95,"24":95,"25":4,"26":241,"27":241,"28":241,"29":12,"30":9,"31":9,"32":13,"33":9,"34":4,"35":1,"36":3,"37":1},"f":{"0":225,"1":24,"2":249,"3":12,"4":9,"5":9,"6":13},"b":{"0":[225,24],"1":[249,225],"2":[4,245],"3":[249,225],"4":[146,99],"5":[156,89],"6":[4,91],"7":[9,4],"8":[1,3]},"inputSourceMap":{"version":3,"sources":["annotation/decorator_utils.ts"],"names":[],"mappings":";;;AAAA,oDAAsD;AACtD,yDAA2D;AAG3D,SAAS,YAAY,CACjB,gBAAqB,EACrB,YAAoB,EACpB,cAAsB,EACtB,QAA6B;IAE7B,IAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;IACxC,uBAAuB,CAAC,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AACnG,CAAC;AAgFkB,oCAAY;AA9E/B,SAAS,WAAW,CAChB,gBAAqB,EACrB,YAAoB,EACpB,QAA6B;IAE7B,IAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;IAC7C,uBAAuB,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC/F,CAAC;AAuEgC,kCAAW;AArE5C,SAAS,uBAAuB,CAC5B,WAAmB,EACnB,gBAAqB,EACrB,YAAoB,EACpB,QAA6B,EAC7B,cAAuB;IAGvB,IAAI,0BAA0B,GAA6B,EAAE,CAAC;IAC9D,IAAM,oBAAoB,GAAG,CAAC,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC;IAClE,IAAM,GAAG,GAAW,CAAC,cAAc,KAAK,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAGtH,IAAI,oBAAoB,IAAI,YAAY,KAAK,SAAS,EAAE;QACpD,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;KAC3D;IAGD,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE;QACvD,0BAA0B,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;KACnF;IAGD,IAAI,uBAAuB,GAA0B,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAErF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE;QACzC,uBAAuB,GAAG,EAAE,CAAC;KAChC;SAAM;QACH,KAAgB,UAAuB,EAAvB,mDAAuB,EAAvB,qCAAuB,EAAvB,IAAuB,EAAE;YAApC,IAAM,CAAC,gCAAA;YACR,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAI,UAAU,CAAC,mBAAmB,SAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAI,CAAC,CAAC;aAC5E;SACJ;KACJ;IAGD,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,0BAA0B,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC;IAC1D,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AAEtF,CAAC;AAED,SAAS,SAAS,CAAC,UAAiB,EAAE,MAAW;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,MAAM,CAAC,UAAkB,EAAE,SAA6B;IAC7D,OAAO,UAAU,MAAW,EAAE,GAAW,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAOD,SAAS,QAAQ,CACb,SAAkE,EAClE,MAAW,EACX,cAAgC;IAEhC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QACpC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,SAA+B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;KAChF;SAAM,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAC3C,OAAO,CAAC,QAAQ,CAAC,CAAC,SAA4B,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;KAC5E;SAAM;QACH,SAAS,CAAC,CAAC,SAA2B,CAAC,EAAE,MAAM,CAAC,CAAC;KACpD;AACL,CAAC;AAEQ,4BAAQ","file":"decorator_utils.js","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\n\nfunction tagParameter(\n annotationTarget: any,\n propertyName: string,\n parameterIndex: number,\n metadata: interfaces.Metadata\n) {\n const metadataKey = METADATA_KEY.TAGGED;\n _tagParameterOrProperty(metadataKey, annotationTarget, propertyName, metadata, parameterIndex);\n}\n\nfunction tagProperty(\n annotationTarget: any,\n propertyName: string,\n metadata: interfaces.Metadata\n) {\n const metadataKey = METADATA_KEY.TAGGED_PROP;\n _tagParameterOrProperty(metadataKey, annotationTarget.constructor, propertyName, metadata);\n}\n\nfunction _tagParameterOrProperty(\n metadataKey: string,\n annotationTarget: any,\n propertyName: string,\n metadata: interfaces.Metadata,\n parameterIndex?: number\n) {\n\n let paramsOrPropertiesMetadata: interfaces.ReflectResult = {};\n const isParameterDecorator = (typeof parameterIndex === \"number\");\n const key: string = (parameterIndex !== undefined && isParameterDecorator) ? parameterIndex.toString() : propertyName;\n\n // if the decorator is used as a parameter decorator, the property name must be provided\n if (isParameterDecorator && propertyName !== undefined) {\n throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);\n }\n\n // read metadata if available\n if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) {\n paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget);\n }\n\n // get metadata for the decorated parameter by its index\n let paramOrPropertyMetadata: interfaces.Metadata[] = paramsOrPropertiesMetadata[key];\n\n if (!Array.isArray(paramOrPropertyMetadata)) {\n paramOrPropertyMetadata = [];\n } else {\n for (const m of paramOrPropertyMetadata) {\n if (m.key === metadata.key) {\n throw new Error(`${ERROR_MSGS.DUPLICATED_METADATA} ${m.key.toString()}`);\n }\n }\n }\n\n // set metadata\n paramOrPropertyMetadata.push(metadata);\n paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;\n Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);\n\n}\n\nfunction _decorate(decorators: any[], target: any): void {\n Reflect.decorate(decorators, target);\n}\n\nfunction _param(paramIndex: number, decorator: ParameterDecorator) {\n return function (target: any, key: string) { decorator(target, key, paramIndex); };\n}\n\n// Allows VanillaJS developers to use decorators:\n// decorate(injectable(\"Foo\", \"Bar\"), FooBar);\n// decorate(targetName(\"foo\", \"bar\"), FooBar);\n// decorate(named(\"foo\"), FooBar, 0);\n// decorate(tagged(\"bar\"), FooBar, 1);\nfunction decorate(\n decorator: (ClassDecorator | ParameterDecorator | MethodDecorator),\n target: any,\n parameterIndex?: number | string): void {\n\n if (typeof parameterIndex === \"number\") {\n _decorate([_param(parameterIndex, decorator as ParameterDecorator)], target);\n } else if (typeof parameterIndex === \"string\") {\n Reflect.decorate([decorator as MethodDecorator], target, parameterIndex);\n } else {\n _decorate([decorator as ClassDecorator], target);\n }\n}\n\nexport { decorate, tagParameter, tagProperty };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e3c1cbbb273af1ee1526720b9a94ff6023ae0a4c","contentHash":"711f36da93db9224748a674b3b05607bce04f7904de647d8e82ee00012ee969d"},"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/error_msgs.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/error_msgs.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":962}},"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":0},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":16,"column":36}},"13":{"start":{"line":18,"column":0},"end":{"line":18,"column":59}},"14":{"start":{"line":19,"column":0},"end":{"line":19,"column":78}},"15":{"start":{"line":20,"column":0},"end":{"line":20,"column":55}},"16":{"start":{"line":21,"column":0},"end":{"line":21,"column":74}},"17":{"start":{"line":22,"column":0},"end":{"line":22,"column":97}},"18":{"start":{"line":23,"column":0},"end":{"line":23,"column":92}},"19":{"start":{"line":24,"column":0},"end":{"line":25,"column":33}},"20":{"start":{"line":26,"column":0},"end":{"line":27,"column":84}},"21":{"start":{"line":28,"column":0},"end":{"line":35,"column":2}},"22":{"start":{"line":29,"column":17},"end":{"line":29,"column":19}},"23":{"start":{"line":30,"column":4},"end":{"line":32,"column":5}},"24":{"start":{"line":30,"column":18},"end":{"line":30,"column":19}},"25":{"start":{"line":31,"column":8},"end":{"line":31,"column":35}},"26":{"start":{"line":33,"column":4},"end":{"line":34,"column":96}},"27":{"start":{"line":36,"column":0},"end":{"line":37,"column":25}},"28":{"start":{"line":38,"column":0},"end":{"line":39,"column":48}},"29":{"start":{"line":40,"column":0},"end":{"line":41,"column":19}},"30":{"start":{"line":42,"column":0},"end":{"line":43,"column":19}},"31":{"start":{"line":44,"column":0},"end":{"line":44,"column":115}},"32":{"start":{"line":45,"column":0},"end":{"line":51,"column":2}},"33":{"start":{"line":46,"column":17},"end":{"line":46,"column":19}},"34":{"start":{"line":47,"column":4},"end":{"line":49,"column":5}},"35":{"start":{"line":47,"column":18},"end":{"line":47,"column":19}},"36":{"start":{"line":48,"column":8},"end":{"line":48,"column":35}},"37":{"start":{"line":50,"column":4},"end":{"line":50,"column":75}},"38":{"start":{"line":52,"column":0},"end":{"line":60,"column":2}},"39":{"start":{"line":53,"column":17},"end":{"line":53,"column":19}},"40":{"start":{"line":54,"column":4},"end":{"line":56,"column":5}},"41":{"start":{"line":54,"column":18},"end":{"line":54,"column":19}},"42":{"start":{"line":55,"column":8},"end":{"line":55,"column":35}},"43":{"start":{"line":57,"column":4},"end":{"line":59,"column":52}},"44":{"start":{"line":61,"column":0},"end":{"line":61,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":38},"end":{"line":13,"column":39}},"loc":{"start":{"line":13,"column":54},"end":{"line":17,"column":1}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":36},"end":{"line":28,"column":37}},"loc":{"start":{"line":28,"column":48},"end":{"line":35,"column":1}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":45,"column":31},"end":{"line":45,"column":32}},"loc":{"start":{"line":45,"column":43},"end":{"line":51,"column":1}},"line":45},"3":{"name":"(anonymous_3)","decl":{"start":{"line":52,"column":41},"end":{"line":52,"column":42}},"loc":{"start":{"line":52,"column":53},"end":{"line":60,"column":1}},"line":52}},"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":2,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":2,"23":2,"24":2,"25":2,"26":2,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":2,"34":2,"35":2,"36":4,"37":2,"38":1,"39":3,"40":3,"41":3,"42":6,"43":3,"44":1},"f":{"0":2,"1":2,"2":2,"3":3},"b":{},"inputSourceMap":{"version":3,"sources":["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;AACtF,QAAA,2BAA2B,GAAG,UAAC,IAAY;IAC5C,OAAA,kEAAgE,IAAI,UAAO;QAC3E,wEAAwE;QACxE,2BAA2B;AAF3B,CAE2B,CAAC;AAC3B,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;AAEpF,QAAA,qBAAqB,GAAG,gEAAgE;IACjG,4BAA4B,CAAC;AAEpB,QAAA,2BAA2B,GAAG,yDAAyD;IAChG,+EAA+E,CAAC;AAEvE,QAAA,yBAAyB,GAAG;IAAC,gBAAgB;SAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;QAAhB,2BAAgB;;IAAK,OAAA,2DAA2D;SACnH,MAAM,CAAC,CAAC,CAAC,4EAAyE,CAAA;AAD1B,CAC0B,CAAC;AAE7E,QAAA,mCAAmC,GAAG,4DAA4D;IAC3G,oBAAoB,CAAC;AAEZ,QAAA,uCAAuC,GAAG,+CAA+C;IAClG,2CAA2C,CAAC;AAEnC,QAAA,8CAA8C,GAAG,sDAAsD;IAChH,cAAc,CAAC;AAEN,QAAA,yCAAyC,GAAG,iDAAiD;IACtG,cAAc,CAAC;AAEN,QAAA,+BAA+B,GAAG,wEAAwE,CAAC;AAC3G,QAAA,oBAAoB,GAAG;IAAC,gBAAgB;SAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;QAAhB,2BAAgB;;IAAK,OAAA,mCAAiC,MAAM,CAAC,CAAC,CAAC,UAAK,MAAM,CAAC,CAAC,CAAG;AAA1D,CAA0D,CAAC;AAExG,QAAA,8BAA8B,GAAG;IAAC,gBAAgB;SAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;QAAhB,2BAAgB;;IAAM,OAAA,+CAA+C;SAChH,oBAAkB,MAAM,CAAC,CAAC,CAAC,iDAA8C,CAAA;SACzE,yBAAuB,MAAM,CAAC,CAAC,CAAC,OAAI,CAAA;AAF6B,CAE7B,CAAC;AAE5B,QAAA,cAAc,GAAG,kCAAkC,CAAC","file":"error_msgs.js","sourcesContent":["export const DUPLICATED_INJECTABLE_DECORATOR = \"Cannot apply @injectable decorator multiple times.\";\nexport const DUPLICATED_METADATA = \"Metadata key was used more than once in a parameter:\";\nexport const NULL_ARGUMENT = \"NULL argument\";\nexport const KEY_NOT_FOUND = \"Key Not Found\";\nexport const AMBIGUOUS_MATCH = \"Ambiguous match found for serviceIdentifier:\";\nexport const CANNOT_UNBIND = \"Could not unbind serviceIdentifier:\";\nexport const NOT_REGISTERED = \"No matching bindings found for serviceIdentifier:\";\nexport const MISSING_INJECTABLE_ANNOTATION = \"Missing required @injectable annotation in:\";\nexport const MISSING_INJECT_ANNOTATION = \"Missing required @inject or @multiInject annotation in:\";\nexport const UNDEFINED_INJECT_ANNOTATION = (name: string) =>\n `@inject called with undefined this could mean that the class ${name} has ` +\n \"a circular dependency problem. You can use a LazyServiceIdentifer to \" +\n \"overcome this limitation.\";\nexport const CIRCULAR_DEPENDENCY = \"Circular dependency found:\";\nexport const NOT_IMPLEMENTED = \"Sorry, this feature is not fully implemented yet.\";\nexport const INVALID_BINDING_TYPE = \"Invalid binding type:\";\nexport const NO_MORE_SNAPSHOTS_AVAILABLE = \"No snapshot available to restore.\";\nexport const INVALID_MIDDLEWARE_RETURN = \"Invalid return type in middleware. Middleware must return!\";\nexport const INVALID_FUNCTION_BINDING = \"Value provided to function binding must be a function!\";\n\nexport const INVALID_TO_SELF_VALUE = \"The toSelf function can only be applied when a constructor is \" +\n \"used as service identifier\";\n\nexport const INVALID_DECORATOR_OPERATION = \"The @inject @multiInject @tagged and @named decorators \" +\n \"must be applied to the parameters of a class constructor or a class property.\";\n\nexport const ARGUMENTS_LENGTH_MISMATCH = (...values: any[]) => \"The number of constructor arguments in the derived class \" +\n `${values[0]} must be >= than the number of constructor arguments of its base class.`;\n\nexport const CONTAINER_OPTIONS_MUST_BE_AN_OBJECT = \"Invalid Container constructor argument. Container options \" +\n \"must be an object.\";\n\nexport const CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE = \"Invalid Container option. Default scope must \" +\n \"be a string ('singleton' or 'transient').\";\n\nexport const CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE = \"Invalid Container option. Auto bind injectable must \" +\n \"be a boolean\";\n\nexport const CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK = \"Invalid Container option. Skip base check must \" +\n \"be a boolean\";\n\nexport const MULTIPLE_POST_CONSTRUCT_METHODS = \"Cannot apply @postConstruct decorator multiple times in the same class\";\nexport const POST_CONSTRUCT_ERROR = (...values: any[]) => `@postConstruct error in class ${values[0]}: ${values[1]}`;\n\nexport const CIRCULAR_DEPENDENCY_IN_FACTORY = (...values: any[]) => \"It looks like there is a circular dependency \" +\n `in one of the '${values[0]}' bindings. Please investigate bindings with` +\n `service identifier '${values[1]}'.`;\n\nexport const STACK_OVERFLOW = \"Maximum call stack size exceeded\";\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"abf72fe2554dacbaf66354453862aab09aafa997","contentHash":"628df44f9aa642c76f63a38c4038a94be9b6a62cdef73e63ff12a7355b95e2c9"},"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/metadata_keys.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/metadata_keys.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":256}},"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}}},"fnMap":{},"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},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["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","file":"metadata_keys.js","sourcesContent":["// Used for named bindings\nexport const NAMED_TAG = \"named\";\n\n// The name of the target at design time\nexport const NAME_TAG = \"name\";\n\n// The for unmanaged injections (in base classes when using inheritance)\nexport const UNMANAGED_TAG = \"unmanaged\";\n\n// The for optional injections\nexport const OPTIONAL_TAG = \"optional\";\n\n// The type of the binding at design time\nexport const INJECT_TAG = \"inject\";\n\n// The type of the binding at design type for multi-injections\nexport const MULTI_INJECT_TAG = \"multi_inject\";\n\n// used to store constructor arguments tags\nexport const TAGGED = \"inversify:tagged\";\n\n// used to store class properties tags\nexport const TAGGED_PROP = \"inversify:tagged_props\";\n\n// used to store types to be injected\nexport const PARAM_TYPES = \"inversify:paramtypes\";\n\n// used to access design time types\nexport const DESIGN_PARAM_TYPES = \"design:paramtypes\";\n\n// used to identify postConstruct functions\nexport const POST_CONSTRUCT = \"post_construct\";\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f705d1654ea0bf6143b25bf8de92f9ee08486b6a","contentHash":"18fc5ea41d48593331c7bd636a446dee9f8df81906a48115aacec260df618052"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/inject.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":55}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":53}},"3":{"start":{"line":5,"column":19},"end":{"line":5,"column":56}},"4":{"start":{"line":6,"column":17},"end":{"line":6,"column":48}},"5":{"start":{"line":7,"column":24},"end":{"line":7,"column":52}},"6":{"start":{"line":8,"column":28},"end":{"line":16,"column":3}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":22}},"8":{"start":{"line":12,"column":4},"end":{"line":14,"column":6}},"9":{"start":{"line":13,"column":8},"end":{"line":13,"column":26}},"10":{"start":{"line":15,"column":4},"end":{"line":15,"column":32}},"11":{"start":{"line":17,"column":0},"end":{"line":17,"column":52}},"12":{"start":{"line":19,"column":4},"end":{"line":30,"column":6}},"13":{"start":{"line":20,"column":8},"end":{"line":22,"column":9}},"14":{"start":{"line":21,"column":12},"end":{"line":21,"column":83}},"15":{"start":{"line":23,"column":23},"end":{"line":23,"column":90}},"16":{"start":{"line":24,"column":8},"end":{"line":29,"column":9}},"17":{"start":{"line":25,"column":12},"end":{"line":25,"column":79}},"18":{"start":{"line":28,"column":12},"end":{"line":28,"column":71}},"19":{"start":{"line":32,"column":0},"end":{"line":32,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":28},"end":{"line":8,"column":29}},"loc":{"start":{"line":8,"column":40},"end":{"line":16,"column":1}},"line":8},"1":{"name":"LazyServiceIdentifer","decl":{"start":{"line":9,"column":13},"end":{"line":9,"column":33}},"loc":{"start":{"line":9,"column":38},"end":{"line":11,"column":5}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":44},"end":{"line":12,"column":45}},"loc":{"start":{"line":12,"column":56},"end":{"line":14,"column":5}},"line":12},"3":{"name":"inject","decl":{"start":{"line":18,"column":9},"end":{"line":18,"column":15}},"loc":{"start":{"line":18,"column":35},"end":{"line":31,"column":1}},"line":18},"4":{"name":"(anonymous_4)","decl":{"start":{"line":19,"column":11},"end":{"line":19,"column":12}},"loc":{"start":{"line":19,"column":47},"end":{"line":30,"column":5}},"line":19}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":8},"end":{"line":22,"column":9}},"type":"if","locations":[{"start":{"line":20,"column":8},"end":{"line":22,"column":9}},{"start":{"line":20,"column":8},"end":{"line":22,"column":9}}],"line":20},"1":{"loc":{"start":{"line":24,"column":8},"end":{"line":29,"column":9}},"type":"if","locations":[{"start":{"line":24,"column":8},"end":{"line":29,"column":9}},{"start":{"line":24,"column":8},"end":{"line":29,"column":9}}],"line":24}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":0,"10":1,"11":1,"12":127,"13":127,"14":1,"15":126,"16":126,"17":115,"18":11,"19":1},"f":{"0":1,"1":1,"2":0,"3":127,"4":127},"b":{"0":[1,126],"1":[115,11]},"inputSourceMap":{"version":3,"sources":["annotation/inject.ts"],"names":[],"mappings":";;;AAAA,sDAAsE;AACtE,yDAA2D;AAE3D,iDAAgD;AAChD,qDAA8D;AAI9D;IAEE,8BAAmB,EAAyC;QACxD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;IAEM,qCAAM,GAAb;QACE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACH,2BAAC;AAAD,CATA,AASC,IAAA;AATY,oDAAoB;AAWjC,SAAS,MAAM,CAAC,iBAA0C;IACxD,OAAO,UAAS,MAAW,EAAE,SAAiB,EAAE,KAAc;QAC5D,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,wCAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3D;QAED,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAE1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,8BAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;SAClD;aAAM;YACL,6BAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC1C;IAEH,CAAC,CAAC;AACJ,CAAC;AAEQ,wBAAM","file":"inject.js","sourcesContent":["import { UNDEFINED_INJECT_ANNOTATION } from \"../constants/error_msgs\";\r\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\r\nimport { interfaces } from \"../interfaces/interfaces\";\r\nimport { Metadata } from \"../planning/metadata\";\r\nimport { tagParameter, tagProperty } from \"./decorator_utils\";\r\n\r\nexport type ServiceIdentifierOrFunc = interfaces.ServiceIdentifier<any> | LazyServiceIdentifer;\r\n\r\nexport class LazyServiceIdentifer<T = any> {\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\r\nfunction inject(serviceIdentifier: ServiceIdentifierOrFunc) {\r\n return function(target: any, targetKey: string, index?: number): void {\r\n if (serviceIdentifier === undefined) {\r\n throw new Error(UNDEFINED_INJECT_ANNOTATION(target.name));\r\n }\r\n\r\n const metadata = new Metadata(METADATA_KEY.INJECT_TAG, serviceIdentifier);\r\n\r\n if (typeof index === \"number\") {\r\n tagParameter(target, targetKey, index, metadata);\r\n } else {\r\n tagProperty(target, targetKey, metadata);\r\n }\r\n\r\n };\r\n}\r\n\r\nexport { inject };\r\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"42b23477d06e26211a7afe69b84c36afef736368","contentHash":"f3ea1a6cb3ecb81cbcf1807d3f18f57cf5e6c8e257997cee30fbe225cae657ce"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":26}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":56}},"3":{"start":{"line":5,"column":16},"end":{"line":19,"column":3}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":23}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":27}},"6":{"start":{"line":10,"column":4},"end":{"line":17,"column":6}},"7":{"start":{"line":11,"column":8},"end":{"line":16,"column":9}},"8":{"start":{"line":12,"column":12},"end":{"line":12,"column":59}},"9":{"start":{"line":15,"column":12},"end":{"line":15,"column":92}},"10":{"start":{"line":18,"column":4},"end":{"line":18,"column":20}},"11":{"start":{"line":20,"column":0},"end":{"line":20,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":17}},"loc":{"start":{"line":5,"column":28},"end":{"line":19,"column":1}},"line":5},"1":{"name":"Metadata","decl":{"start":{"line":6,"column":13},"end":{"line":6,"column":21}},"loc":{"start":{"line":6,"column":34},"end":{"line":9,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":34},"end":{"line":10,"column":35}},"loc":{"start":{"line":10,"column":46},"end":{"line":17,"column":5}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":8},"end":{"line":16,"column":9}},"type":"if","locations":[{"start":{"line":11,"column":8},"end":{"line":16,"column":9}},{"start":{"line":11,"column":8},"end":{"line":16,"column":9}}],"line":11}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1354,"5":1354,"6":1,"7":23,"8":15,"9":8,"10":1,"11":1},"f":{"0":1,"1":1354,"2":23},"b":{"0":[15,8]},"inputSourceMap":{"version":3,"sources":["planning/metadata.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAG3D;IAKE,kBAAmB,GAA6B,EAAE,KAAU;QAC1D,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,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAG,CAAC;SAC3C;aAAM;YACL,OAAO,mBAAiB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAY,IAAI,CAAC,KAAK,OAAI,CAAC;SACvE;IACH,CAAC;IACH,eAAC;AAAD,CAjBA,AAiBC,IAAA;AAEQ,4BAAQ","file":"metadata.js","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\n\nclass Metadata implements interfaces.Metadata {\n\n public key: string | number | symbol;\n public value: any;\n\n public constructor(key: string | number | symbol, value: any) {\n this.key = key;\n this.value = value;\n }\n\n public toString() {\n if (this.key === METADATA_KEY.NAMED_TAG) {\n return `named: ${this.value.toString()} `;\n } else {\n return `tagged: { key:${this.key.toString()}, value: ${this.value} }`;\n }\n }\n}\n\nexport { Metadata };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c11224f4f15e02a78911f23ca1f159480c0f15ea","contentHash":"62eb0f537eddc2a02b471b04e8f76f36abfe1c0f5c9f128a6006dd230dae7b55"},"/Users/dan/jsProjects/inversify/InversifyJS/src/inversify.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/inversify.js","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":11},"end":{"line":4,"column":47}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":28}},"4":{"start":{"line":6,"column":18},"end":{"line":6,"column":50}},"5":{"start":{"line":7,"column":0},"end":{"line":7,"column":118}},"6":{"start":{"line":7,"column":83},"end":{"line":7,"column":112}},"7":{"start":{"line":8,"column":22},"end":{"line":8,"column":58}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":136}},"9":{"start":{"line":9,"column":90},"end":{"line":9,"column":130}},"10":{"start":{"line":10,"column":0},"end":{"line":10,"column":134}},"11":{"start":{"line":10,"column":89},"end":{"line":10,"column":128}},"12":{"start":{"line":11,"column":0},"end":{"line":11,"column":132}},"13":{"start":{"line":11,"column":88},"end":{"line":11,"column":126}},"14":{"start":{"line":12,"column":25},"end":{"line":12,"column":64}},"15":{"start":{"line":13,"column":0},"end":{"line":13,"column":147}},"16":{"start":{"line":13,"column":94},"end":{"line":13,"column":141}},"17":{"start":{"line":14,"column":0},"end":{"line":14,"column":137}},"18":{"start":{"line":14,"column":89},"end":{"line":14,"column":131}},"19":{"start":{"line":15,"column":19},"end":{"line":15,"column":53}},"20":{"start":{"line":16,"column":0},"end":{"line":16,"column":121}},"21":{"start":{"line":16,"column":84},"end":{"line":16,"column":115}},"22":{"start":{"line":17,"column":15},"end":{"line":17,"column":45}},"23":{"start":{"line":18,"column":0},"end":{"line":18,"column":109}},"24":{"start":{"line":18,"column":80},"end":{"line":18,"column":103}},"25":{"start":{"line":19,"column":14},"end":{"line":19,"column":43}},"26":{"start":{"line":20,"column":0},"end":{"line":20,"column":106}},"27":{"start":{"line":20,"column":79},"end":{"line":20,"column":100}},"28":{"start":{"line":21,"column":15},"end":{"line":21,"column":45}},"29":{"start":{"line":22,"column":0},"end":{"line":22,"column":109}},"30":{"start":{"line":22,"column":80},"end":{"line":22,"column":103}},"31":{"start":{"line":23,"column":0},"end":{"line":23,"column":137}},"32":{"start":{"line":23,"column":94},"end":{"line":23,"column":131}},"33":{"start":{"line":24,"column":17},"end":{"line":24,"column":49}},"34":{"start":{"line":25,"column":0},"end":{"line":25,"column":115}},"35":{"start":{"line":25,"column":82},"end":{"line":25,"column":109}},"36":{"start":{"line":26,"column":18},"end":{"line":26,"column":51}},"37":{"start":{"line":27,"column":0},"end":{"line":27,"column":118}},"38":{"start":{"line":27,"column":83},"end":{"line":27,"column":112}},"39":{"start":{"line":28,"column":21},"end":{"line":28,"column":57}},"40":{"start":{"line":29,"column":0},"end":{"line":29,"column":125}},"41":{"start":{"line":29,"column":85},"end":{"line":29,"column":119}},"42":{"start":{"line":30,"column":20},"end":{"line":30,"column":55}},"43":{"start":{"line":31,"column":0},"end":{"line":31,"column":122}},"44":{"start":{"line":31,"column":84},"end":{"line":31,"column":116}},"45":{"start":{"line":32,"column":23},"end":{"line":32,"column":61}},"46":{"start":{"line":33,"column":0},"end":{"line":33,"column":131}},"47":{"start":{"line":33,"column":87},"end":{"line":33,"column":125}},"48":{"start":{"line":34,"column":24},"end":{"line":34,"column":61}},"49":{"start":{"line":35,"column":0},"end":{"line":35,"column":134}},"50":{"start":{"line":35,"column":88},"end":{"line":35,"column":128}},"51":{"start":{"line":36,"column":11},"end":{"line":36,"column":32}},"52":{"start":{"line":37,"column":0},"end":{"line":37,"column":97}},"53":{"start":{"line":37,"column":76},"end":{"line":37,"column":91}},"54":{"start":{"line":38,"column":24},"end":{"line":38,"column":63}},"55":{"start":{"line":39,"column":0},"end":{"line":39,"column":122}},"56":{"start":{"line":39,"column":82},"end":{"line":39,"column":116}},"57":{"start":{"line":40,"column":27},"end":{"line":40,"column":65}},"58":{"start":{"line":41,"column":0},"end":{"line":41,"column":145}},"59":{"start":{"line":41,"column":92},"end":{"line":41,"column":139}},"60":{"start":{"line":42,"column":0},"end":{"line":42,"column":141}},"61":{"start":{"line":42,"column":90},"end":{"line":42,"column":135}},"62":{"start":{"line":43,"column":0},"end":{"line":43,"column":139}},"63":{"start":{"line":43,"column":89},"end":{"line":43,"column":133}},"64":{"start":{"line":44,"column":0},"end":{"line":44,"column":137}},"65":{"start":{"line":44,"column":88},"end":{"line":44,"column":131}},"66":{"start":{"line":45,"column":22},"end":{"line":45,"column":54}},"67":{"start":{"line":46,"column":0},"end":{"line":46,"column":160}},"68":{"start":{"line":46,"column":102},"end":{"line":46,"column":154}},"69":{"start":{"line":47,"column":22},"end":{"line":47,"column":54}},"70":{"start":{"line":48,"column":0},"end":{"line":48,"column":140}},"71":{"start":{"line":48,"column":92},"end":{"line":48,"column":134}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":69},"end":{"line":7,"column":70}},"loc":{"start":{"line":7,"column":81},"end":{"line":7,"column":114}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":76},"end":{"line":9,"column":77}},"loc":{"start":{"line":9,"column":88},"end":{"line":9,"column":132}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":75},"end":{"line":10,"column":76}},"loc":{"start":{"line":10,"column":87},"end":{"line":10,"column":130}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":74},"end":{"line":11,"column":75}},"loc":{"start":{"line":11,"column":86},"end":{"line":11,"column":128}},"line":11},"4":{"name":"(anonymous_4)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":92},"end":{"line":13,"column":143}},"line":13},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":75},"end":{"line":14,"column":76}},"loc":{"start":{"line":14,"column":87},"end":{"line":14,"column":133}},"line":14},"6":{"name":"(anonymous_6)","decl":{"start":{"line":16,"column":70},"end":{"line":16,"column":71}},"loc":{"start":{"line":16,"column":82},"end":{"line":16,"column":117}},"line":16},"7":{"name":"(anonymous_7)","decl":{"start":{"line":18,"column":66},"end":{"line":18,"column":67}},"loc":{"start":{"line":18,"column":78},"end":{"line":18,"column":105}},"line":18},"8":{"name":"(anonymous_8)","decl":{"start":{"line":20,"column":65},"end":{"line":20,"column":66}},"loc":{"start":{"line":20,"column":77},"end":{"line":20,"column":102}},"line":20},"9":{"name":"(anonymous_9)","decl":{"start":{"line":22,"column":66},"end":{"line":22,"column":67}},"loc":{"start":{"line":22,"column":78},"end":{"line":22,"column":105}},"line":22},"10":{"name":"(anonymous_10)","decl":{"start":{"line":23,"column":80},"end":{"line":23,"column":81}},"loc":{"start":{"line":23,"column":92},"end":{"line":23,"column":133}},"line":23},"11":{"name":"(anonymous_11)","decl":{"start":{"line":25,"column":68},"end":{"line":25,"column":69}},"loc":{"start":{"line":25,"column":80},"end":{"line":25,"column":111}},"line":25},"12":{"name":"(anonymous_12)","decl":{"start":{"line":27,"column":69},"end":{"line":27,"column":70}},"loc":{"start":{"line":27,"column":81},"end":{"line":27,"column":114}},"line":27},"13":{"name":"(anonymous_13)","decl":{"start":{"line":29,"column":71},"end":{"line":29,"column":72}},"loc":{"start":{"line":29,"column":83},"end":{"line":29,"column":121}},"line":29},"14":{"name":"(anonymous_14)","decl":{"start":{"line":31,"column":70},"end":{"line":31,"column":71}},"loc":{"start":{"line":31,"column":82},"end":{"line":31,"column":118}},"line":31},"15":{"name":"(anonymous_15)","decl":{"start":{"line":33,"column":73},"end":{"line":33,"column":74}},"loc":{"start":{"line":33,"column":85},"end":{"line":33,"column":127}},"line":33},"16":{"name":"(anonymous_16)","decl":{"start":{"line":35,"column":74},"end":{"line":35,"column":75}},"loc":{"start":{"line":35,"column":86},"end":{"line":35,"column":130}},"line":35},"17":{"name":"(anonymous_17)","decl":{"start":{"line":37,"column":62},"end":{"line":37,"column":63}},"loc":{"start":{"line":37,"column":74},"end":{"line":37,"column":93}},"line":37},"18":{"name":"(anonymous_18)","decl":{"start":{"line":39,"column":68},"end":{"line":39,"column":69}},"loc":{"start":{"line":39,"column":80},"end":{"line":39,"column":118}},"line":39},"19":{"name":"(anonymous_19)","decl":{"start":{"line":41,"column":78},"end":{"line":41,"column":79}},"loc":{"start":{"line":41,"column":90},"end":{"line":41,"column":141}},"line":41},"20":{"name":"(anonymous_20)","decl":{"start":{"line":42,"column":76},"end":{"line":42,"column":77}},"loc":{"start":{"line":42,"column":88},"end":{"line":42,"column":137}},"line":42},"21":{"name":"(anonymous_21)","decl":{"start":{"line":43,"column":75},"end":{"line":43,"column":76}},"loc":{"start":{"line":43,"column":87},"end":{"line":43,"column":135}},"line":43},"22":{"name":"(anonymous_22)","decl":{"start":{"line":44,"column":74},"end":{"line":44,"column":75}},"loc":{"start":{"line":44,"column":86},"end":{"line":44,"column":133}},"line":44},"23":{"name":"(anonymous_23)","decl":{"start":{"line":46,"column":88},"end":{"line":46,"column":89}},"loc":{"start":{"line":46,"column":100},"end":{"line":46,"column":156}},"line":46},"24":{"name":"(anonymous_24)","decl":{"start":{"line":48,"column":78},"end":{"line":48,"column":79}},"loc":{"start":{"line":48,"column":90},"end":{"line":48,"column":136}},"line":48}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":63,"7":1,"8":1,"9":1,"10":1,"11":0,"12":1,"13":0,"14":1,"15":1,"16":0,"17":1,"18":0,"19":1,"20":1,"21":122,"22":1,"23":1,"24":9,"25":1,"26":1,"27":14,"28":1,"29":1,"30":58,"31":1,"32":0,"33":1,"34":1,"35":3,"36":1,"37":1,"38":6,"39":1,"40":1,"41":3,"42":1,"43":1,"44":1,"45":1,"46":1,"47":0,"48":1,"49":1,"50":1,"51":1,"52":1,"53":0,"54":1,"55":1,"56":4,"57":1,"58":1,"59":0,"60":1,"61":0,"62":1,"63":0,"64":1,"65":0,"66":1,"67":1,"68":0,"69":1,"70":1,"71":1},"f":{"0":63,"1":1,"2":0,"3":0,"4":0,"5":0,"6":122,"7":9,"8":14,"9":58,"10":0,"11":3,"12":6,"13":3,"14":1,"15":0,"16":1,"17":0,"18":4,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1},"b":{},"inputSourceMap":{"version":3,"sources":["inversify.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;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,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,4CAA2C;AAAlC,8FAAA,KAAK,OAAA;AACd,8CAAmE;AAA1D,gGAAA,MAAM,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AACrC,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,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,iCAAgC;AAAvB,wFAAA,EAAE,OAAA;AAEX,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","file":"inversify.js","sourcesContent":["import * as keys from \"./constants/metadata_keys\";\nexport const METADATA_KEY = keys;\nexport { Container } from \"./container/container\";\nexport { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum } from \"./constants/literal_types\";\nexport { AsyncContainerModule, ContainerModule } from \"./container/container_module\";\nexport { injectable } from \"./annotation/injectable\";\nexport { tagged } from \"./annotation/tagged\";\nexport { named } from \"./annotation/named\";\nexport { inject, LazyServiceIdentifer } from \"./annotation/inject\";\nexport { optional } from \"./annotation/optional\";\nexport { unmanaged } from \"./annotation/unmanaged\";\nexport { multiInject } from \"./annotation/multi_inject\";\nexport { targetName } from \"./annotation/target_name\";\nexport { postConstruct } from \"./annotation/post_construct\";\nexport { MetadataReader } from \"./planning/metadata_reader\";\nexport { id } from \"./utils/id\";\nexport { interfaces } from \"./interfaces/interfaces\";\nexport { decorate } from \"./annotation/decorator_utils\";\nexport { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint } from \"./syntax/constraint_helpers\";\nexport { getServiceIdentifierAsString } from \"./utils/serialization\";\nexport { multiBindToService } from \"./utils/binding_utils\";\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0e8d50dd8eb3ebe010f89f422ec3e8a682962c82","contentHash":"5b8a67769fd21c2e4866a4d70e550c6c6769ab6145766341513ee060d5b89198"},"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container.js","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":27}},"68":{"start":{"line":40,"column":16},"end":{"line":40,"column":46}},"69":{"start":{"line":41,"column":17},"end":{"line":41,"column":51}},"70":{"start":{"line":42,"column":22},"end":{"line":42,"column":59}},"71":{"start":{"line":43,"column":19},"end":{"line":43,"column":56}},"72":{"start":{"line":44,"column":24},"end":{"line":44,"column":62}},"73":{"start":{"line":45,"column":16},"end":{"line":45,"column":46}},"74":{"start":{"line":46,"column":17},"end":{"line":46,"column":50}},"75":{"start":{"line":47,"column":26},"end":{"line":47,"column":64}},"76":{"start":{"line":48,"column":11},"end":{"line":48,"column":33}},"77":{"start":{"line":49,"column":22},"end":{"line":49,"column":55}},"78":{"start":{"line":50,"column":27},"end":{"line":50,"column":58}},"79":{"start":{"line":51,"column":15},"end":{"line":51,"column":34}},"80":{"start":{"line":52,"column":17},"end":{"line":326,"column":3}},"81":{"start":{"line":54,"column":22},"end":{"line":54,"column":44}},"82":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"83":{"start":{"line":56,"column":12},"end":{"line":56,"column":81}},"84":{"start":{"line":58,"column":8},"end":{"line":65,"column":9}},"85":{"start":{"line":59,"column":12},"end":{"line":59,"column":78}},"86":{"start":{"line":61,"column":13},"end":{"line":65,"column":9}},"87":{"start":{"line":64,"column":12},"end":{"line":64,"column":85}},"88":{"start":{"line":66,"column":8},"end":{"line":71,"column":9}},"89":{"start":{"line":67,"column":12},"end":{"line":67,"column":47}},"90":{"start":{"line":69,"column":13},"end":{"line":71,"column":9}},"91":{"start":{"line":70,"column":12},"end":{"line":70,"column":92}},"92":{"start":{"line":72,"column":8},"end":{"line":77,"column":9}},"93":{"start":{"line":73,"column":12},"end":{"line":73,"column":48}},"94":{"start":{"line":75,"column":13},"end":{"line":77,"column":9}},"95":{"start":{"line":76,"column":12},"end":{"line":76,"column":87}},"96":{"start":{"line":78,"column":8},"end":{"line":82,"column":10}},"97":{"start":{"line":83,"column":8},"end":{"line":83,"column":28}},"98":{"start":{"line":84,"column":8},"end":{"line":84,"column":56}},"99":{"start":{"line":85,"column":8},"end":{"line":85,"column":29}},"100":{"start":{"line":86,"column":8},"end":{"line":86,"column":32}},"101":{"start":{"line":87,"column":8},"end":{"line":87,"column":27}},"102":{"start":{"line":88,"column":8},"end":{"line":88,"column":70}},"103":{"start":{"line":90,"column":4},"end":{"line":105,"column":6}},"104":{"start":{"line":91,"column":24},"end":{"line":91,"column":39}},"105":{"start":{"line":92,"column":32},"end":{"line":92,"column":73}},"106":{"start":{"line":93,"column":33},"end":{"line":93,"column":75}},"107":{"start":{"line":94,"column":33},"end":{"line":94,"column":75}},"108":{"start":{"line":96,"column":12},"end":{"line":100,"column":15}},"109":{"start":{"line":97,"column":16},"end":{"line":99,"column":19}},"110":{"start":{"line":98,"column":20},"end":{"line":98,"column":80}},"111":{"start":{"line":102,"column":8},"end":{"line":102,"column":62}},"112":{"start":{"line":103,"column":8},"end":{"line":103,"column":62}},"113":{"start":{"line":104,"column":8},"end":{"line":104,"column":25}},"114":{"start":{"line":106,"column":4},"end":{"line":117,"column":6}},"115":{"start":{"line":107,"column":22},"end":{"line":107,"column":24}},"116":{"start":{"line":108,"column":8},"end":{"line":110,"column":9}},"117":{"start":{"line":108,"column":22},"end":{"line":108,"column":23}},"118":{"start":{"line":109,"column":12},"end":{"line":109,"column":40}},"119":{"start":{"line":111,"column":25},"end":{"line":111,"column":65}},"120":{"start":{"line":112,"column":8},"end":{"line":116,"column":9}},"121":{"start":{"line":112,"column":22},"end":{"line":112,"column":23}},"122":{"start":{"line":112,"column":37},"end":{"line":112,"column":44}},"123":{"start":{"line":113,"column":32},"end":{"line":113,"column":45}},"124":{"start":{"line":114,"column":41},"end":{"line":114,"column":69}},"125":{"start":{"line":115,"column":12},"end":{"line":115,"column":190}},"126":{"start":{"line":118,"column":4},"end":{"line":146,"column":6}},"127":{"start":{"line":119,"column":22},"end":{"line":119,"column":24}},"128":{"start":{"line":120,"column":8},"end":{"line":122,"column":9}},"129":{"start":{"line":120,"column":22},"end":{"line":120,"column":23}},"130":{"start":{"line":121,"column":12},"end":{"line":121,"column":40}},"131":{"start":{"line":123,"column":8},"end":{"line":145,"column":11}},"132":{"start":{"line":125,"column":12},"end":{"line":144,"column":15}},"133":{"start":{"line":126,"column":16},"end":{"line":143,"column":17}},"134":{"start":{"line":128,"column":24},"end":{"line":128,"column":78}},"135":{"start":{"line":129,"column":24},"end":{"line":129,"column":52}},"136":{"start":{"line":130,"column":24},"end":{"line":130,"column":37}},"137":{"start":{"line":132,"column":24},"end":{"line":132,"column":68}},"138":{"start":{"line":132,"column":54},"end":{"line":132,"column":68}},"139":{"start":{"line":133,"column":24},"end":{"line":133,"column":54}},"140":{"start":{"line":134,"column":24},"end":{"line":134,"column":78}},"141":{"start":{"line":135,"column":24},"end":{"line":135,"column":214}},"142":{"start":{"line":137,"column":24},"end":{"line":137,"column":34}},"143":{"start":{"line":138,"column":24},"end":{"line":138,"column":37}},"144":{"start":{"line":140,"column":24},"end":{"line":140,"column":29}},"145":{"start":{"line":141,"column":24},"end":{"line":141,"column":38}},"146":{"start":{"line":142,"column":28},"end":{"line":142,"column":39}},"147":{"start":{"line":147,"column":4},"end":{"line":160,"column":6}},"148":{"start":{"line":148,"column":20},"end":{"line":148,"column":24}},"149":{"start":{"line":149,"column":22},"end":{"line":149,"column":24}},"150":{"start":{"line":150,"column":8},"end":{"line":152,"column":9}},"151":{"start":{"line":150,"column":22},"end":{"line":150,"column":23}},"152":{"start":{"line":151,"column":12},"end":{"line":151,"column":40}},"153":{"start":{"line":153,"column":31},"end":{"line":155,"column":12}},"154":{"start":{"line":153,"column":53},"end":{"line":155,"column":10}},"155":{"start":{"line":154,"column":12},"end":{"line":154,"column":46}},"156":{"start":{"line":156,"column":8},"end":{"line":159,"column":11}},"157":{"start":{"line":157,"column":28},"end":{"line":157,"column":55}},"158":{"start":{"line":158,"column":12},"end":{"line":158,"column":66}},"159":{"start":{"line":161,"column":4},"end":{"line":166,"column":6}},"160":{"start":{"line":162,"column":20},"end":{"line":162,"column":91}},"161":{"start":{"line":163,"column":22},"end":{"line":163,"column":69}},"162":{"start":{"line":164,"column":8},"end":{"line":164,"column":64}},"163":{"start":{"line":165,"column":8},"end":{"line":165,"column":64}},"164":{"start":{"line":167,"column":4},"end":{"line":170,"column":6}},"165":{"start":{"line":168,"column":8},"end":{"line":168,"column":39}},"166":{"start":{"line":169,"column":8},"end":{"line":169,"column":44}},"167":{"start":{"line":171,"column":4},"end":{"line":178,"column":6}},"168":{"start":{"line":172,"column":8},"end":{"line":177,"column":9}},"169":{"start":{"line":173,"column":12},"end":{"line":173,"column":62}},"170":{"start":{"line":176,"column":12},"end":{"line":176,"column":126}},"171":{"start":{"line":179,"column":4},"end":{"line":181,"column":6}},"172":{"start":{"line":180,"column":8},"end":{"line":180,"column":56}},"173":{"start":{"line":182,"column":4},"end":{"line":188,"column":6}},"174":{"start":{"line":183,"column":20},"end":{"line":183,"column":69}},"175":{"start":{"line":184,"column":8},"end":{"line":186,"column":9}},"176":{"start":{"line":185,"column":12},"end":{"line":185,"column":59}},"177":{"start":{"line":187,"column":8},"end":{"line":187,"column":21}},"178":{"start":{"line":189,"column":4},"end":{"line":191,"column":6}},"179":{"start":{"line":190,"column":8},"end":{"line":190,"column":84}},"180":{"start":{"line":192,"column":4},"end":{"line":203,"column":6}},"181":{"start":{"line":193,"column":20},"end":{"line":193,"column":25}},"182":{"start":{"line":194,"column":8},"end":{"line":198,"column":9}},"183":{"start":{"line":195,"column":27},"end":{"line":195,"column":73}},"184":{"start":{"line":196,"column":28},"end":{"line":196,"column":92}},"185":{"start":{"line":197,"column":12},"end":{"line":197,"column":84}},"186":{"start":{"line":197,"column":49},"end":{"line":197,"column":80}},"187":{"start":{"line":199,"column":8},"end":{"line":201,"column":9}},"188":{"start":{"line":200,"column":12},"end":{"line":200,"column":77}},"189":{"start":{"line":202,"column":8},"end":{"line":202,"column":21}},"190":{"start":{"line":204,"column":4},"end":{"line":206,"column":6}},"191":{"start":{"line":205,"column":8},"end":{"line":205,"column":123}},"192":{"start":{"line":207,"column":4},"end":{"line":214,"column":6}},"193":{"start":{"line":208,"column":23},"end":{"line":208,"column":44}},"194":{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},"195":{"start":{"line":210,"column":12},"end":{"line":210,"column":68}},"196":{"start":{"line":212,"column":8},"end":{"line":212,"column":52}},"197":{"start":{"line":213,"column":8},"end":{"line":213,"column":47}},"198":{"start":{"line":215,"column":4},"end":{"line":219,"column":6}},"199":{"start":{"line":216,"column":20},"end":{"line":216,"column":67}},"200":{"start":{"line":217,"column":8},"end":{"line":217,"column":28}},"201":{"start":{"line":218,"column":8},"end":{"line":218,"column":21}},"202":{"start":{"line":220,"column":4},"end":{"line":227,"column":6}},"203":{"start":{"line":221,"column":26},"end":{"line":221,"column":28}},"204":{"start":{"line":222,"column":8},"end":{"line":224,"column":9}},"205":{"start":{"line":222,"column":22},"end":{"line":222,"column":23}},"206":{"start":{"line":223,"column":12},"end":{"line":223,"column":44}},"207":{"start":{"line":225,"column":22},"end":{"line":225,"column":84}},"208":{"start":{"line":226,"column":8},"end":{"line":226,"column":101}},"209":{"start":{"line":226,"column":70},"end":{"line":226,"column":88}},"210":{"start":{"line":228,"column":4},"end":{"line":230,"column":6}},"211":{"start":{"line":229,"column":8},"end":{"line":229,"column":46}},"212":{"start":{"line":231,"column":4},"end":{"line":233,"column":6}},"213":{"start":{"line":232,"column":8},"end":{"line":232,"column":99}},"214":{"start":{"line":234,"column":4},"end":{"line":236,"column":6}},"215":{"start":{"line":235,"column":8},"end":{"line":235,"column":111}},"216":{"start":{"line":237,"column":4},"end":{"line":239,"column":6}},"217":{"start":{"line":238,"column":8},"end":{"line":238,"column":80}},"218":{"start":{"line":240,"column":4},"end":{"line":242,"column":6}},"219":{"start":{"line":241,"column":8},"end":{"line":241,"column":97}},"220":{"start":{"line":243,"column":4},"end":{"line":245,"column":6}},"221":{"start":{"line":244,"column":8},"end":{"line":244,"column":110}},"222":{"start":{"line":246,"column":4},"end":{"line":248,"column":6}},"223":{"start":{"line":247,"column":8},"end":{"line":247,"column":83}},"224":{"start":{"line":249,"column":4},"end":{"line":253,"column":6}},"225":{"start":{"line":250,"column":28},"end":{"line":250,"column":46}},"226":{"start":{"line":251,"column":8},"end":{"line":251,"column":57}},"227":{"start":{"line":252,"column":8},"end":{"line":252,"column":54}},"228":{"start":{"line":254,"column":4},"end":{"line":293,"column":6}},"229":{"start":{"line":255,"column":20},"end":{"line":255,"column":24}},"230":{"start":{"line":256,"column":26},"end":{"line":258,"column":9}},"231":{"start":{"line":257,"column":12},"end":{"line":257,"column":57}},"232":{"start":{"line":259,"column":30},"end":{"line":266,"column":9}},"233":{"start":{"line":260,"column":12},"end":{"line":265,"column":14}},"234":{"start":{"line":261,"column":28},"end":{"line":261,"column":50}},"235":{"start":{"line":262,"column":38},"end":{"line":262,"column":62}},"236":{"start":{"line":263,"column":16},"end":{"line":263,"column":55}},"237":{"start":{"line":264,"column":16},"end":{"line":264,"column":39}},"238":{"start":{"line":267,"column":32},"end":{"line":272,"column":9}},"239":{"start":{"line":268,"column":12},"end":{"line":271,"column":14}},"240":{"start":{"line":269,"column":30},"end":{"line":269,"column":54}},"241":{"start":{"line":270,"column":16},"end":{"line":270,"column":43}},"242":{"start":{"line":273,"column":33},"end":{"line":278,"column":9}},"243":{"start":{"line":274,"column":12},"end":{"line":277,"column":14}},"244":{"start":{"line":275,"column":31},"end":{"line":275,"column":56}},"245":{"start":{"line":276,"column":16},"end":{"line":276,"column":51}},"246":{"start":{"line":279,"column":32},"end":{"line":286,"column":9}},"247":{"start":{"line":280,"column":12},"end":{"line":285,"column":14}},"248":{"start":{"line":281,"column":30},"end":{"line":281,"column":54}},"249":{"start":{"line":282,"column":38},"end":{"line":282,"column":64}},"250":{"start":{"line":283,"column":16},"end":{"line":283,"column":55}},"251":{"start":{"line":284,"column":16},"end":{"line":284,"column":39}},"252":{"start":{"line":287,"column":8},"end":{"line":292,"column":14}},"253":{"start":{"line":287,"column":32},"end":{"line":292,"column":11}},"254":{"start":{"line":294,"column":4},"end":{"line":315,"column":6}},"255":{"start":{"line":295,"column":21},"end":{"line":295,"column":25}},"256":{"start":{"line":296,"column":26},"end":{"line":304,"column":9}},"257":{"start":{"line":298,"column":53},"end":{"line":298,"column":68}},"258":{"start":{"line":305,"column":8},"end":{"line":313,"column":9}},"259":{"start":{"line":306,"column":12},"end":{"line":306,"column":51}},"260":{"start":{"line":307,"column":12},"end":{"line":309,"column":13}},"261":{"start":{"line":308,"column":16},"end":{"line":308,"column":70}},"262":{"start":{"line":312,"column":12},"end":{"line":312,"column":57}},"263":{"start":{"line":314,"column":8},"end":{"line":314,"column":22}},"264":{"start":{"line":316,"column":4},"end":{"line":324,"column":6}},"265":{"start":{"line":317,"column":20},"end":{"line":317,"column":24}},"266":{"start":{"line":318,"column":8},"end":{"line":323,"column":10}},"267":{"start":{"line":319,"column":26},"end":{"line":319,"column":176}},"268":{"start":{"line":320,"column":12},"end":{"line":320,"column":55}},"269":{"start":{"line":321,"column":25},"end":{"line":321,"column":52}},"270":{"start":{"line":322,"column":12},"end":{"line":322,"column":26}},"271":{"start":{"line":325,"column":4},"end":{"line":325,"column":21}},"272":{"start":{"line":327,"column":0},"end":{"line":327,"column":30}}},"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":52,"column":17},"end":{"line":52,"column":18}},"loc":{"start":{"line":52,"column":29},"end":{"line":326,"column":1}},"line":52},"14":{"name":"Container","decl":{"start":{"line":53,"column":13},"end":{"line":53,"column":22}},"loc":{"start":{"line":53,"column":41},"end":{"line":89,"column":5}},"line":53},"15":{"name":"(anonymous_15)","decl":{"start":{"line":90,"column":22},"end":{"line":90,"column":23}},"loc":{"start":{"line":90,"column":56},"end":{"line":105,"column":5}},"line":90},"16":{"name":"copyDictionary","decl":{"start":{"line":95,"column":17},"end":{"line":95,"column":31}},"loc":{"start":{"line":95,"column":53},"end":{"line":101,"column":9}},"line":95},"17":{"name":"(anonymous_17)","decl":{"start":{"line":96,"column":28},"end":{"line":96,"column":29}},"loc":{"start":{"line":96,"column":50},"end":{"line":100,"column":13}},"line":96},"18":{"name":"(anonymous_18)","decl":{"start":{"line":97,"column":30},"end":{"line":97,"column":31}},"loc":{"start":{"line":97,"column":49},"end":{"line":99,"column":17}},"line":97},"19":{"name":"(anonymous_19)","decl":{"start":{"line":106,"column":31},"end":{"line":106,"column":32}},"loc":{"start":{"line":106,"column":43},"end":{"line":117,"column":5}},"line":106},"20":{"name":"(anonymous_20)","decl":{"start":{"line":118,"column":36},"end":{"line":118,"column":37}},"loc":{"start":{"line":118,"column":48},"end":{"line":146,"column":5}},"line":118},"21":{"name":"(anonymous_21)","decl":{"start":{"line":123,"column":47},"end":{"line":123,"column":48}},"loc":{"start":{"line":123,"column":59},"end":{"line":145,"column":9}},"line":123},"22":{"name":"(anonymous_22)","decl":{"start":{"line":125,"column":37},"end":{"line":125,"column":38}},"loc":{"start":{"line":125,"column":51},"end":{"line":144,"column":13}},"line":125},"23":{"name":"(anonymous_23)","decl":{"start":{"line":147,"column":33},"end":{"line":147,"column":34}},"loc":{"start":{"line":147,"column":45},"end":{"line":160,"column":5}},"line":147},"24":{"name":"(anonymous_24)","decl":{"start":{"line":153,"column":31},"end":{"line":153,"column":32}},"loc":{"start":{"line":153,"column":51},"end":{"line":155,"column":12}},"line":153},"25":{"name":"(anonymous_25)","decl":{"start":{"line":153,"column":60},"end":{"line":153,"column":61}},"loc":{"start":{"line":153,"column":76},"end":{"line":155,"column":9}},"line":153},"26":{"name":"(anonymous_26)","decl":{"start":{"line":156,"column":24},"end":{"line":156,"column":25}},"loc":{"start":{"line":156,"column":42},"end":{"line":159,"column":9}},"line":156},"27":{"name":"(anonymous_27)","decl":{"start":{"line":161,"column":31},"end":{"line":161,"column":32}},"loc":{"start":{"line":161,"column":60},"end":{"line":166,"column":5}},"line":161},"28":{"name":"(anonymous_28)","decl":{"start":{"line":167,"column":33},"end":{"line":167,"column":34}},"loc":{"start":{"line":167,"column":62},"end":{"line":170,"column":5}},"line":167},"29":{"name":"(anonymous_29)","decl":{"start":{"line":171,"column":33},"end":{"line":171,"column":34}},"loc":{"start":{"line":171,"column":62},"end":{"line":178,"column":5}},"line":171},"30":{"name":"(anonymous_30)","decl":{"start":{"line":179,"column":36},"end":{"line":179,"column":37}},"loc":{"start":{"line":179,"column":48},"end":{"line":181,"column":5}},"line":179},"31":{"name":"(anonymous_31)","decl":{"start":{"line":182,"column":34},"end":{"line":182,"column":35}},"loc":{"start":{"line":182,"column":63},"end":{"line":188,"column":5}},"line":182},"32":{"name":"(anonymous_32)","decl":{"start":{"line":189,"column":39},"end":{"line":189,"column":40}},"loc":{"start":{"line":189,"column":75},"end":{"line":191,"column":5}},"line":189},"33":{"name":"(anonymous_33)","decl":{"start":{"line":192,"column":40},"end":{"line":192,"column":41}},"loc":{"start":{"line":192,"column":81},"end":{"line":203,"column":5}},"line":192},"34":{"name":"(anonymous_34)","decl":{"start":{"line":197,"column":34},"end":{"line":197,"column":35}},"loc":{"start":{"line":197,"column":47},"end":{"line":197,"column":82}},"line":197},"35":{"name":"(anonymous_35)","decl":{"start":{"line":204,"column":35},"end":{"line":204,"column":36}},"loc":{"start":{"line":204,"column":47},"end":{"line":206,"column":5}},"line":204},"36":{"name":"(anonymous_36)","decl":{"start":{"line":207,"column":34},"end":{"line":207,"column":35}},"loc":{"start":{"line":207,"column":46},"end":{"line":214,"column":5}},"line":207},"37":{"name":"(anonymous_37)","decl":{"start":{"line":215,"column":38},"end":{"line":215,"column":39}},"loc":{"start":{"line":215,"column":66},"end":{"line":219,"column":5}},"line":215},"38":{"name":"(anonymous_38)","decl":{"start":{"line":220,"column":42},"end":{"line":220,"column":43}},"loc":{"start":{"line":220,"column":54},"end":{"line":227,"column":5}},"line":220},"39":{"name":"(anonymous_39)","decl":{"start":{"line":226,"column":46},"end":{"line":226,"column":47}},"loc":{"start":{"line":226,"column":68},"end":{"line":226,"column":90}},"line":226},"40":{"name":"(anonymous_40)","decl":{"start":{"line":228,"column":52},"end":{"line":228,"column":53}},"loc":{"start":{"line":228,"column":78},"end":{"line":230,"column":5}},"line":228},"41":{"name":"(anonymous_41)","decl":{"start":{"line":231,"column":30},"end":{"line":231,"column":31}},"loc":{"start":{"line":231,"column":59},"end":{"line":233,"column":5}},"line":231},"42":{"name":"(anonymous_42)","decl":{"start":{"line":234,"column":36},"end":{"line":234,"column":37}},"loc":{"start":{"line":234,"column":77},"end":{"line":236,"column":5}},"line":234},"43":{"name":"(anonymous_43)","decl":{"start":{"line":237,"column":35},"end":{"line":237,"column":36}},"loc":{"start":{"line":237,"column":71},"end":{"line":239,"column":5}},"line":237},"44":{"name":"(anonymous_44)","decl":{"start":{"line":240,"column":33},"end":{"line":240,"column":34}},"loc":{"start":{"line":240,"column":62},"end":{"line":242,"column":5}},"line":240},"45":{"name":"(anonymous_45)","decl":{"start":{"line":243,"column":39},"end":{"line":243,"column":40}},"loc":{"start":{"line":243,"column":80},"end":{"line":245,"column":5}},"line":243},"46":{"name":"(anonymous_46)","decl":{"start":{"line":246,"column":38},"end":{"line":246,"column":39}},"loc":{"start":{"line":246,"column":74},"end":{"line":248,"column":5}},"line":246},"47":{"name":"(anonymous_47)","decl":{"start":{"line":249,"column":34},"end":{"line":249,"column":35}},"loc":{"start":{"line":249,"column":65},"end":{"line":253,"column":5}},"line":249},"48":{"name":"(anonymous_48)","decl":{"start":{"line":254,"column":60},"end":{"line":254,"column":61}},"loc":{"start":{"line":254,"column":72},"end":{"line":293,"column":5}},"line":254},"49":{"name":"(anonymous_49)","decl":{"start":{"line":256,"column":26},"end":{"line":256,"column":27}},"loc":{"start":{"line":256,"column":63},"end":{"line":258,"column":9}},"line":256},"50":{"name":"(anonymous_50)","decl":{"start":{"line":259,"column":30},"end":{"line":259,"column":31}},"loc":{"start":{"line":259,"column":50},"end":{"line":266,"column":9}},"line":259},"51":{"name":"(anonymous_51)","decl":{"start":{"line":260,"column":19},"end":{"line":260,"column":20}},"loc":{"start":{"line":260,"column":48},"end":{"line":265,"column":13}},"line":260},"52":{"name":"(anonymous_52)","decl":{"start":{"line":267,"column":32},"end":{"line":267,"column":33}},"loc":{"start":{"line":267,"column":52},"end":{"line":272,"column":9}},"line":267},"53":{"name":"(anonymous_53)","decl":{"start":{"line":268,"column":19},"end":{"line":268,"column":20}},"loc":{"start":{"line":268,"column":48},"end":{"line":271,"column":13}},"line":268},"54":{"name":"(anonymous_54)","decl":{"start":{"line":273,"column":33},"end":{"line":273,"column":34}},"loc":{"start":{"line":273,"column":53},"end":{"line":278,"column":9}},"line":273},"55":{"name":"(anonymous_55)","decl":{"start":{"line":274,"column":19},"end":{"line":274,"column":20}},"loc":{"start":{"line":274,"column":48},"end":{"line":277,"column":13}},"line":274},"56":{"name":"(anonymous_56)","decl":{"start":{"line":279,"column":32},"end":{"line":279,"column":33}},"loc":{"start":{"line":279,"column":52},"end":{"line":286,"column":9}},"line":279},"57":{"name":"(anonymous_57)","decl":{"start":{"line":280,"column":19},"end":{"line":280,"column":20}},"loc":{"start":{"line":280,"column":48},"end":{"line":285,"column":13}},"line":280},"58":{"name":"(anonymous_58)","decl":{"start":{"line":287,"column":15},"end":{"line":287,"column":16}},"loc":{"start":{"line":287,"column":30},"end":{"line":292,"column":13}},"line":287},"59":{"name":"(anonymous_59)","decl":{"start":{"line":294,"column":31},"end":{"line":294,"column":32}},"loc":{"start":{"line":294,"column":117},"end":{"line":315,"column":5}},"line":294},"60":{"name":"(anonymous_60)","decl":{"start":{"line":298,"column":32},"end":{"line":298,"column":33}},"loc":{"start":{"line":298,"column":51},"end":{"line":298,"column":70}},"line":298},"61":{"name":"(anonymous_61)","decl":{"start":{"line":316,"column":42},"end":{"line":316,"column":43}},"loc":{"start":{"line":316,"column":54},"end":{"line":324,"column":5}},"line":316},"62":{"name":"(anonymous_62)","decl":{"start":{"line":318,"column":15},"end":{"line":318,"column":16}},"loc":{"start":{"line":318,"column":31},"end":{"line":323,"column":9}},"line":318}},"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":54,"column":22},"end":{"line":54,"column":44}},"type":"binary-expr","locations":[{"start":{"line":54,"column":22},"end":{"line":54,"column":38}},{"start":{"line":54,"column":42},"end":{"line":54,"column":44}}],"line":54},"30":{"loc":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},{"start":{"line":55,"column":8},"end":{"line":57,"column":9}}],"line":55},"31":{"loc":{"start":{"line":58,"column":8},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":58,"column":8},"end":{"line":65,"column":9}},{"start":{"line":58,"column":8},"end":{"line":65,"column":9}}],"line":58},"32":{"loc":{"start":{"line":61,"column":13},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":61,"column":13},"end":{"line":65,"column":9}},{"start":{"line":61,"column":13},"end":{"line":65,"column":9}}],"line":61},"33":{"loc":{"start":{"line":61,"column":17},"end":{"line":63,"column":77}},"type":"binary-expr","locations":[{"start":{"line":61,"column":17},"end":{"line":61,"column":84}},{"start":{"line":62,"column":12},"end":{"line":62,"column":79}},{"start":{"line":63,"column":12},"end":{"line":63,"column":77}}],"line":61},"34":{"loc":{"start":{"line":66,"column":8},"end":{"line":71,"column":9}},"type":"if","locations":[{"start":{"line":66,"column":8},"end":{"line":71,"column":9}},{"start":{"line":66,"column":8},"end":{"line":71,"column":9}}],"line":66},"35":{"loc":{"start":{"line":69,"column":13},"end":{"line":71,"column":9}},"type":"if","locations":[{"start":{"line":69,"column":13},"end":{"line":71,"column":9}},{"start":{"line":69,"column":13},"end":{"line":71,"column":9}}],"line":69},"36":{"loc":{"start":{"line":72,"column":8},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":72,"column":8},"end":{"line":77,"column":9}},{"start":{"line":72,"column":8},"end":{"line":77,"column":9}}],"line":72},"37":{"loc":{"start":{"line":75,"column":13},"end":{"line":77,"column":9}},"type":"if","locations":[{"start":{"line":75,"column":13},"end":{"line":77,"column":9}},{"start":{"line":75,"column":13},"end":{"line":77,"column":9}}],"line":75},"38":{"loc":{"start":{"line":126,"column":16},"end":{"line":143,"column":17}},"type":"switch","locations":[{"start":{"line":127,"column":20},"end":{"line":130,"column":37}},{"start":{"line":131,"column":20},"end":{"line":135,"column":214}},{"start":{"line":136,"column":20},"end":{"line":138,"column":37}},{"start":{"line":139,"column":20},"end":{"line":141,"column":38}},{"start":{"line":142,"column":20},"end":{"line":142,"column":39}}],"line":126},"39":{"loc":{"start":{"line":132,"column":24},"end":{"line":132,"column":68}},"type":"if","locations":[{"start":{"line":132,"column":24},"end":{"line":132,"column":68}},{"start":{"line":132,"column":24},"end":{"line":132,"column":68}}],"line":132},"40":{"loc":{"start":{"line":162,"column":20},"end":{"line":162,"column":91}},"type":"binary-expr","locations":[{"start":{"line":162,"column":20},"end":{"line":162,"column":45}},{"start":{"line":162,"column":49},"end":{"line":162,"column":91}}],"line":162},"41":{"loc":{"start":{"line":184,"column":8},"end":{"line":186,"column":9}},"type":"if","locations":[{"start":{"line":184,"column":8},"end":{"line":186,"column":9}},{"start":{"line":184,"column":8},"end":{"line":186,"column":9}}],"line":184},"42":{"loc":{"start":{"line":184,"column":12},"end":{"line":184,"column":33}},"type":"binary-expr","locations":[{"start":{"line":184,"column":12},"end":{"line":184,"column":18}},{"start":{"line":184,"column":22},"end":{"line":184,"column":33}}],"line":184},"43":{"loc":{"start":{"line":194,"column":8},"end":{"line":198,"column":9}},"type":"if","locations":[{"start":{"line":194,"column":8},"end":{"line":198,"column":9}},{"start":{"line":194,"column":8},"end":{"line":198,"column":9}}],"line":194},"44":{"loc":{"start":{"line":199,"column":8},"end":{"line":201,"column":9}},"type":"if","locations":[{"start":{"line":199,"column":8},"end":{"line":201,"column":9}},{"start":{"line":199,"column":8},"end":{"line":201,"column":9}}],"line":199},"45":{"loc":{"start":{"line":199,"column":12},"end":{"line":199,"column":33}},"type":"binary-expr","locations":[{"start":{"line":199,"column":12},"end":{"line":199,"column":18}},{"start":{"line":199,"column":22},"end":{"line":199,"column":33}}],"line":199},"46":{"loc":{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},"type":"if","locations":[{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},{"start":{"line":209,"column":8},"end":{"line":211,"column":9}}],"line":209},"47":{"loc":{"start":{"line":216,"column":34},"end":{"line":216,"column":66}},"type":"binary-expr","locations":[{"start":{"line":216,"column":34},"end":{"line":216,"column":50}},{"start":{"line":216,"column":54},"end":{"line":216,"column":66}}],"line":216},"48":{"loc":{"start":{"line":225,"column":22},"end":{"line":225,"column":84}},"type":"cond-expr","locations":[{"start":{"line":225,"column":43},"end":{"line":225,"column":59}},{"start":{"line":225,"column":62},"end":{"line":225,"column":84}}],"line":225},"49":{"loc":{"start":{"line":305,"column":8},"end":{"line":313,"column":9}},"type":"if","locations":[{"start":{"line":305,"column":8},"end":{"line":313,"column":9}},{"start":{"line":305,"column":8},"end":{"line":313,"column":9}}],"line":305},"50":{"loc":{"start":{"line":307,"column":12},"end":{"line":309,"column":13}},"type":"if","locations":[{"start":{"line":307,"column":12},"end":{"line":309,"column":13}},{"start":{"line":307,"column":12},"end":{"line":309,"column":13}}],"line":307},"51":{"loc":{"start":{"line":307,"column":16},"end":{"line":307,"column":55}},"type":"binary-expr","locations":[{"start":{"line":307,"column":16},"end":{"line":307,"column":36}},{"start":{"line":307,"column":40},"end":{"line":307,"column":55}}],"line":307}},"s":{"0":1,"1":2,"2":0,"3":1,"4":2,"5":2,"6":0,"7":0,"8":0,"9":0,"10":3,"11":1,"12":1,"13":1,"14":2,"15":0,"16":2,"17":1,"18":0,"19":3,"20":3,"21":3,"22":0,"23":3,"24":9,"25":9,"26":0,"27":9,"28":0,"29":9,"30":3,"31":3,"32":2,"33":2,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":4,"42":1,"43":1,"44":3,"45":3,"46":3,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":6,"60":0,"61":0,"62":9,"63":1,"64":0,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":177,"82":177,"83":1,"84":176,"85":158,"86":18,"87":1,"88":175,"89":159,"90":16,"91":1,"92":174,"93":162,"94":12,"95":0,"96":174,"97":174,"98":174,"99":174,"100":174,"101":174,"102":174,"103":1,"104":1,"105":1,"106":1,"107":1,"108":2,"109":4,"110":4,"111":1,"112":1,"113":1,"114":1,"115":5,"116":5,"117":5,"118":6,"119":5,"120":5,"121":5,"122":5,"123":6,"124":6,"125":6,"126":1,"127":1,"128":1,"129":1,"130":2,"131":1,"132":1,"133":6,"134":1,"135":1,"136":1,"137":3,"138":1,"139":2,"140":2,"141":2,"142":2,"143":2,"144":2,"145":2,"146":1,"147":1,"148":2,"149":2,"150":2,"151":2,"152":2,"153":2,"154":2,"155":5,"156":2,"157":2,"158":2,"159":1,"160":24314,"161":24314,"162":24314,"163":24314,"164":1,"165":2,"166":2,"167":1,"168":9,"169":9,"170":1,"171":1,"172":3,"173":1,"174":18,"175":18,"176":2,"177":18,"178":1,"179":8,"180":1,"181":32,"182":32,"183":16,"184":16,"185":16,"186":20,"187":32,"188":16,"189":32,"190":1,"191":2,"192":1,"193":3,"194":3,"195":1,"196":2,"197":2,"198":1,"199":11,"200":11,"201":11,"202":1,"203":11,"204":11,"205":11,"206":14,"207":11,"208":11,"209":14,"210":1,"211":3,"212":1,"213":859,"214":1,"215":22,"216":1,"217":13,"218":1,"219":6,"220":1,"221":8,"222":1,"223":4,"224":1,"225":2,"226":2,"227":2,"228":1,"229":6,"230":6,"231":10,"232":6,"233":8,"234":9,"235":9,"236":9,"237":9,"238":6,"239":8,"240":2,"241":2,"242":6,"243":8,"244":2,"245":2,"246":6,"247":8,"248":1,"249":1,"250":1,"251":1,"252":6,"253":8,"254":1,"255":895,"256":895,"257":859,"258":895,"259":9,"260":9,"261":1,"262":886,"263":183,"264":1,"265":896,"266":896,"267":895,"268":859,"269":859,"270":180,"271":1,"272":1},"f":{"0":1,"1":2,"2":0,"3":1,"4":2,"5":0,"6":3,"7":1,"8":2,"9":0,"10":3,"11":3,"12":3,"13":1,"14":177,"15":1,"16":2,"17":4,"18":4,"19":5,"20":1,"21":1,"22":6,"23":2,"24":2,"25":5,"26":2,"27":24314,"28":2,"29":9,"30":3,"31":18,"32":8,"33":32,"34":20,"35":2,"36":3,"37":11,"38":11,"39":14,"40":3,"41":859,"42":22,"43":13,"44":6,"45":8,"46":4,"47":2,"48":6,"49":10,"50":8,"51":9,"52":8,"53":2,"54":8,"55":2,"56":8,"57":1,"58":8,"59":895,"60":859,"61":896,"62":895},"b":{"0":[1,1,1],"1":[2,0],"2":[1,1],"3":[1,2],"4":[1,1],"5":[1,1,1],"6":[0,2],"7":[1,1],"8":[0,3],"9":[0,9],"10":[9,0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,9],"16":[3,3,2,0,0,4],"17":[1,3],"18":[4,4,4],"19":[4,0],"20":[3,0],"21":[3,3,0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,1],"28":[1,0],"29":[177,151],"30":[1,176],"31":[158,18],"32":[1,17],"33":[18,11,2],"34":[159,16],"35":[1,15],"36":[162,12],"37":[0,12],"38":[1,3,2,2,1],"39":[1,2],"40":[24314,0],"41":[2,16],"42":[18,10],"43":[16,16],"44":[16,16],"45":[32,20],"46":[1,2],"47":[11,10],"48":[1,10],"49":[9,886],"50":[1,8],"51":[9,8]},"inputSourceMap":{"version":3,"sources":["container/container.ts"],"names":[],"mappings":"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","file":"container.js","sourcesContent":["import { Binding } from \"../bindings/binding\";\nimport * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { BindingScopeEnum, TargetTypeEnum } from \"../constants/literal_types\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { MetadataReader } from \"../planning/metadata_reader\";\nimport { createMockRequest, getBindingDictionary, plan } from \"../planning/planner\";\nimport { resolve } from \"../resolution/resolver\";\nimport { BindingToSyntax } from \"../syntax/binding_to_syntax\";\nimport { id } from \"../utils/id\";\nimport { getServiceIdentifierAsString } from \"../utils/serialization\";\nimport { ContainerSnapshot } from \"./container_snapshot\";\nimport { Lookup } from \"./lookup\";\n\nclass Container implements interfaces.Container {\n\n public id: number;\n public parent: interfaces.Container | null;\n public readonly options: interfaces.ContainerOptions;\n private _middleware: interfaces.Next | null;\n private _bindingDictionary: interfaces.Lookup<interfaces.Binding<any>>;\n private _snapshots: interfaces.ContainerSnapshot[];\n private _metadataReader: interfaces.MetadataReader;\n\n public static merge(container1: interfaces.Container, container2: interfaces.Container): interfaces.Container {\n\n const container = new Container();\n const bindingDictionary: interfaces.Lookup<interfaces.Binding<any>> = getBindingDictionary(container);\n const bindingDictionary1: interfaces.Lookup<interfaces.Binding<any>> = getBindingDictionary(container1);\n const bindingDictionary2: interfaces.Lookup<interfaces.Binding<any>> = getBindingDictionary(container2);\n\n function copyDictionary(\n origin: interfaces.Lookup<interfaces.Binding<any>>,\n destination: interfaces.Lookup<interfaces.Binding<any>>\n ) {\n\n origin.traverse((key, value) => {\n value.forEach((binding) => {\n destination.add(binding.serviceIdentifier, binding.clone());\n });\n });\n\n }\n\n copyDictionary(bindingDictionary1, bindingDictionary);\n copyDictionary(bindingDictionary2, bindingDictionary);\n\n return container;\n\n }\n\n public constructor(containerOptions?: interfaces.ContainerOptions) {\n const options = containerOptions || {};\n if (typeof options !== \"object\") {\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT}`);\n }\n\n if (options.defaultScope === undefined) {\n options.defaultScope = BindingScopeEnum.Transient;\n } else if (\n options.defaultScope !== BindingScopeEnum.Singleton &&\n options.defaultScope !== BindingScopeEnum.Transient &&\n options.defaultScope !== BindingScopeEnum.Request\n ) {\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE}`);\n }\n\n if (options.autoBindInjectable === undefined) {\n options.autoBindInjectable = false;\n } else if (\n typeof options.autoBindInjectable !== \"boolean\"\n ) {\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE}`);\n }\n\n if (options.skipBaseClassChecks === undefined) {\n options.skipBaseClassChecks = false;\n } else if (\n typeof options.skipBaseClassChecks !== \"boolean\"\n ) {\n throw new Error(`${ERROR_MSGS.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK}`);\n }\n\n this.options = {\n autoBindInjectable: options.autoBindInjectable,\n defaultScope: options.defaultScope,\n skipBaseClassChecks: options.skipBaseClassChecks\n };\n\n this.id = id();\n this._bindingDictionary = new Lookup<interfaces.Binding<any>>();\n this._snapshots = [];\n this._middleware = null;\n this.parent = null;\n this._metadataReader = new MetadataReader();\n }\n\n public load(...modules: interfaces.ContainerModule[]) {\n\n const getHelpers = this._getContainerModuleHelpersFactory();\n\n for (const currentModule of modules) {\n\n const containerModuleHelpers = getHelpers(currentModule.id);\n\n currentModule.registry(\n containerModuleHelpers.bindFunction,\n containerModuleHelpers.unbindFunction,\n containerModuleHelpers.isboundFunction,\n containerModuleHelpers.rebindFunction\n );\n\n }\n\n }\n\n public async loadAsync(...modules: interfaces.AsyncContainerModule[]) {\n\n const getHelpers = this._getContainerModuleHelpersFactory();\n\n for (const currentModule of modules) {\n\n const containerModuleHelpers = getHelpers(currentModule.id);\n\n await currentModule.registry(\n containerModuleHelpers.bindFunction,\n containerModuleHelpers.unbindFunction,\n containerModuleHelpers.isboundFunction,\n containerModuleHelpers.rebindFunction\n );\n\n }\n\n }\n\n public unload(...modules: interfaces.ContainerModule[]): void {\n\n const conditionFactory = (expected: any) => (item: interfaces.Binding<any>): boolean =>\n item.moduleId === expected;\n\n modules.forEach((module) => {\n const condition = conditionFactory(module.id);\n this._bindingDictionary.removeByCondition(condition);\n });\n\n }\n\n // Registers a type binding\n public bind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T> {\n const scope = this.options.defaultScope || BindingScopeEnum.Transient;\n const binding = new Binding<T>(serviceIdentifier, scope);\n this._bindingDictionary.add(serviceIdentifier, binding);\n return new BindingToSyntax<T>(binding);\n }\n\n public rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T> {\n this.unbind(serviceIdentifier);\n return this.bind(serviceIdentifier);\n }\n\n // Removes a type binding from the registry by its key\n public unbind(serviceIdentifier: interfaces.ServiceIdentifier<any>): void {\n try {\n this._bindingDictionary.remove(serviceIdentifier);\n } catch (e) {\n throw new Error(`${ERROR_MSGS.CANNOT_UNBIND} ${getServiceIdentifierAsString(serviceIdentifier)}`);\n }\n }\n\n // Removes all the type bindings from the registry\n public unbindAll(): void {\n this._bindingDictionary = new Lookup<Binding<any>>();\n }\n\n // Allows to check if there are bindings available for serviceIdentifier\n public isBound(serviceIdentifier: interfaces.ServiceIdentifier<any>): boolean {\n let bound = this._bindingDictionary.hasKey(serviceIdentifier);\n if (!bound && this.parent) {\n bound = this.parent.isBound(serviceIdentifier);\n }\n return bound;\n }\n\n public isBoundNamed(serviceIdentifier: interfaces.ServiceIdentifier<any>, named: string | number | symbol): boolean {\n return this.isBoundTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n // Check if a binding with a complex constraint is available without throwing a error. Ancestors are also verified.\n public isBoundTagged(serviceIdentifier: interfaces.ServiceIdentifier<any>, key: string | number | symbol, value: any): boolean {\n let bound = false;\n\n // verify if there are bindings available for serviceIdentifier on current binding dictionary\n if (this._bindingDictionary.hasKey(serviceIdentifier)) {\n const bindings = this._bindingDictionary.get(serviceIdentifier);\n const request = createMockRequest(this, serviceIdentifier, key, value);\n bound = bindings.some((b) => b.constraint(request));\n }\n\n // verify if there is a parent container that could solve the request\n if (!bound && this.parent) {\n bound = this.parent.isBoundTagged(serviceIdentifier, key, value);\n }\n\n return bound;\n }\n\n public snapshot(): void {\n this._snapshots.push(ContainerSnapshot.of(this._bindingDictionary.clone(), this._middleware));\n }\n\n public restore(): void {\n const snapshot = this._snapshots.pop();\n if (snapshot === undefined) {\n throw new Error(ERROR_MSGS.NO_MORE_SNAPSHOTS_AVAILABLE);\n }\n this._bindingDictionary = snapshot.bindings;\n this._middleware = snapshot.middleware;\n }\n\n public createChild(containerOptions?: interfaces.ContainerOptions): Container {\n const child = new Container(containerOptions || this.options);\n child.parent = this;\n return child;\n }\n\n public applyMiddleware(...middlewares: interfaces.Middleware[]): void {\n const initial: interfaces.Next = (this._middleware) ? this._middleware : this._planAndResolve();\n this._middleware = middlewares.reduce(\n (prev, curr) => curr(prev),\n initial);\n }\n\n public applyCustomMetadataReader(metadataReader: interfaces.MetadataReader) {\n this._metadataReader = metadataReader;\n }\n\n // Resolves a dependency by its runtime identifier\n // The runtime identifier must be associated with only one binding\n // use getAll when the runtime identifier is associated with multiple bindings\n public get<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T {\n return this._get<T>(false, false, TargetTypeEnum.Variable, serviceIdentifier) as T;\n }\n\n public getTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: any): T {\n return this._get<T>(false, false, TargetTypeEnum.Variable, serviceIdentifier, key, value) as T;\n }\n\n public getNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T {\n return this.getTagged<T>(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n // Resolves a dependency by its runtime identifier\n // The runtime identifier can be associated with one or multiple bindings\n public getAll<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T[] {\n return this._get<T>(true, true, TargetTypeEnum.Variable, serviceIdentifier) as T[];\n }\n\n public getAllTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: any): T[] {\n return this._get<T>(false, true, TargetTypeEnum.Variable, serviceIdentifier, key, value) as T[];\n }\n\n public getAllNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T[] {\n return this.getAllTagged<T>(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n }\n\n public resolve<T>(constructorFunction: interfaces.Newable<T>) {\n const tempContainer = this.createChild();\n tempContainer.bind<T>(constructorFunction).toSelf();\n return tempContainer.get<T>(constructorFunction);\n }\n\n private _getContainerModuleHelpersFactory() {\n\n const setModuleId = (bindingToSyntax: any, moduleId: number) => {\n bindingToSyntax._binding.moduleId = moduleId;\n };\n\n const getBindFunction = (moduleId: number) =>\n (serviceIdentifier: interfaces.ServiceIdentifier<any>) => {\n const _bind = this.bind.bind(this);\n const bindingToSyntax = _bind(serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax;\n };\n\n const getUnbindFunction = (moduleId: number) =>\n (serviceIdentifier: interfaces.ServiceIdentifier<any>) => {\n const _unbind = this.unbind.bind(this);\n _unbind(serviceIdentifier);\n };\n\n const getIsboundFunction = (moduleId: number) =>\n (serviceIdentifier: interfaces.ServiceIdentifier<any>) => {\n const _isBound = this.isBound.bind(this);\n return _isBound(serviceIdentifier);\n };\n\n const getRebindFunction = (moduleId: number) =>\n (serviceIdentifier: interfaces.ServiceIdentifier<any>) => {\n const _rebind = this.rebind.bind(this);\n const bindingToSyntax = _rebind(serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax;\n };\n\n return (mId: number) => ({\n bindFunction: getBindFunction(mId),\n isboundFunction: getIsboundFunction(mId),\n rebindFunction: getRebindFunction(mId),\n unbindFunction: getUnbindFunction(mId)\n });\n\n }\n\n // Prepares arguments required for resolution and\n // delegates resolution to _middleware if available\n // otherwise it delegates resolution to _planAndResolve\n private _get<T>(\n avoidConstraints: boolean,\n isMultiInject: boolean,\n targetType: interfaces.TargetType,\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n key?: string | number | symbol,\n value?: any\n ): (T | T[]) {\n\n let result: (T | T[]) | null = null;\n\n const defaultArgs: interfaces.NextArgs = {\n avoidConstraints,\n contextInterceptor: (context: interfaces.Context) => context,\n isMultiInject,\n key,\n serviceIdentifier,\n targetType,\n value\n };\n\n if (this._middleware) {\n result = this._middleware(defaultArgs);\n if (result === undefined || result === null) {\n throw new Error(ERROR_MSGS.INVALID_MIDDLEWARE_RETURN);\n }\n } else {\n result = this._planAndResolve<T>()(defaultArgs);\n }\n\n return result;\n }\n\n // Planner creates a plan and Resolver resolves a plan\n // one of the jobs of the Container is to links the Planner\n // with the Resolver and that is what this function is about\n private _planAndResolve<T>(): (args: interfaces.NextArgs) => (T | T[]) {\n return (args: interfaces.NextArgs) => {\n\n // create a plan\n let context = plan(\n this._metadataReader,\n this,\n args.isMultiInject,\n args.targetType,\n args.serviceIdentifier,\n args.key,\n args.value,\n args.avoidConstraints\n );\n\n // apply context interceptor\n context = args.contextInterceptor(context);\n\n // resolve plan\n const result = resolve<T>(context);\n return result;\n\n };\n }\n\n}\n\nexport { Container };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"18648411b74dc2681521c26e844ef722a889778f","contentHash":"3ee919d767b3a57e0cacf1697b998a9253768a3166e341202a9f1c363572db16"},"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding.js","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":36,"column":3}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":28}},"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":33}},"18":{"start":{"line":21,"column":4},"end":{"line":34,"column":6}},"19":{"start":{"line":22,"column":20},"end":{"line":22,"column":67}},"20":{"start":{"line":23,"column":8},"end":{"line":23,"column":32}},"21":{"start":{"line":24,"column":8},"end":{"line":24,"column":59}},"22":{"start":{"line":25,"column":8},"end":{"line":25,"column":47}},"23":{"start":{"line":26,"column":8},"end":{"line":26,"column":33}},"24":{"start":{"line":27,"column":8},"end":{"line":27,"column":31}},"25":{"start":{"line":28,"column":8},"end":{"line":28,"column":37}},"26":{"start":{"line":29,"column":8},"end":{"line":29,"column":39}},"27":{"start":{"line":30,"column":8},"end":{"line":30,"column":43}},"28":{"start":{"line":31,"column":8},"end":{"line":31,"column":47}},"29":{"start":{"line":32,"column":8},"end":{"line":32,"column":33}},"30":{"start":{"line":33,"column":8},"end":{"line":33,"column":21}},"31":{"start":{"line":35,"column":4},"end":{"line":35,"column":19}},"32":{"start":{"line":37,"column":0},"end":{"line":37,"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":36,"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":20,"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":21,"column":30},"end":{"line":21,"column":31}},"loc":{"start":{"line":21,"column":42},"end":{"line":34,"column":5}},"line":21}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":24366,"6":24366,"7":24366,"8":24366,"9":24366,"10":24366,"11":8785,"12":24366,"13":24366,"14":24366,"15":24366,"16":24366,"17":24366,"18":1,"19":7,"20":7,"21":7,"22":7,"23":7,"24":7,"25":7,"26":7,"27":7,"28":7,"29":7,"30":7,"31":1,"32":1},"f":{"0":1,"1":24366,"2":8785,"3":7},"b":{},"inputSourceMap":{"version":3,"sources":["bindings/binding.ts"],"names":[],"mappings":";;;AAAA,4DAA6D;AAE7D,kCAAiC;AAEjC;IAwCI,iBAAmB,iBAAkD,EAAE,KAA8B;QACjG,IAAI,CAAC,EAAE,GAAG,OAAE,EAAE,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,OAA2B,IAAK,OAAA,IAAI,EAAJ,CAAI,CAAC;QACxD,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,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEM,uBAAK,GAAZ;QACI,IAAM,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QACxB,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,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEL,cAAC;AAAD,CAtEA,AAsEC,IAAA;AAEQ,0BAAO","file":"binding.js","sourcesContent":["import { BindingTypeEnum } from \"../constants/literal_types\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { id } from \"../utils/id\";\n\nclass Binding<T> implements interfaces.Binding<T> {\n\n public id: number;\n public moduleId: string;\n\n // Determines weather the bindings has been already activated\n // The activation action takes place when an instance is resolved\n // If the scope is singleton it only happens once\n public activated: boolean;\n\n // A runtime identifier because at runtime we don't have interfaces\n public serviceIdentifier: interfaces.ServiceIdentifier<T>;\n\n // The constructor of a class which must implement T\n public implementationType: interfaces.Newable<T> | null;\n\n // Cache used to allow singleton scope and BindingType.ConstantValue bindings\n public cache: T | null;\n\n // Cache used to allow BindingType.DynamicValue bindings\n public dynamicValue: ((context: interfaces.Context) => T) | null;\n\n // The scope mode to be used\n public scope: interfaces.BindingScope;\n\n // The kind of binding\n public type: interfaces.BindingType;\n\n // A factory method used in BindingType.Factory bindings\n public factory: interfaces.FactoryCreator<T> | null;\n\n // An async factory method used in BindingType.Provider bindings\n public provider: interfaces.ProviderCreator<T> | null;\n\n // A constraint used to limit the contexts in which this binding is applicable\n public constraint: (request: interfaces.Request) => boolean;\n\n // On activation handler (invoked just before an instance is added to cache and injected)\n public onActivation: ((context: interfaces.Context, injectable: T) => T) | null;\n\n public constructor(serviceIdentifier: interfaces.ServiceIdentifier<T>, scope: interfaces.BindingScope) {\n this.id = id();\n this.activated = false;\n this.serviceIdentifier = serviceIdentifier;\n this.scope = scope;\n this.type = BindingTypeEnum.Invalid;\n this.constraint = (request: interfaces.Request) => true;\n this.implementationType = null;\n this.cache = null;\n this.factory = null;\n this.provider = null;\n this.onActivation = null;\n this.dynamicValue = null;\n }\n\n public clone(): interfaces.Binding<T> {\n const clone = new Binding(this.serviceIdentifier, this.scope);\n clone.activated = false;\n clone.implementationType = this.implementationType;\n clone.dynamicValue = this.dynamicValue;\n clone.scope = this.scope;\n clone.type = this.type;\n clone.factory = this.factory;\n clone.provider = this.provider;\n clone.constraint = this.constraint;\n clone.onActivation = this.onActivation;\n clone.cache = this.cache;\n return clone;\n }\n\n}\n\nexport { Binding };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b161e16857edeb61e5decc522c7da023daf90ad0","contentHash":"78409b7279e1472f69d49fb4824b74d6885d06c0fbbb591ccf23580ddd32d32d"},"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/literal_types.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/constants/literal_types.js","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,"sources":["constants/literal_types.ts"],"names":[],"mappings":";;;AAEA,IAAM,gBAAgB,GAAgC;IAClD,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACzB,CAAC;AAmBO,4CAAgB;AAjBzB,IAAM,eAAe,GAA+B;IAChD,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;CACvB,CAAC;AAQyB,0CAAe;AAN1C,IAAM,cAAc,GAA8B;IAC9C,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,QAAQ,EAAE,UAAU;CACvB,CAAC;AAE0C,wCAAc","file":"literal_types.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nconst BindingScopeEnum: interfaces.BindingScopeEnum = {\n Request: \"Request\",\n Singleton: \"Singleton\",\n Transient: \"Transient\"\n};\n\nconst BindingTypeEnum: interfaces.BindingTypeEnum = {\n ConstantValue: \"ConstantValue\",\n Constructor: \"Constructor\",\n DynamicValue: \"DynamicValue\",\n Factory: \"Factory\",\n Function: \"Function\",\n Instance: \"Instance\",\n Invalid: \"Invalid\",\n Provider: \"Provider\"\n};\n\nconst TargetTypeEnum: interfaces.TargetTypeEnum = {\n ClassProperty: \"ClassProperty\",\n ConstructorArgument: \"ConstructorArgument\",\n Variable: \"Variable\"\n};\n\nexport { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e9045056e925db4c739aa49188ed569e607ecf51","contentHash":"4c7d8e6e0d3895cc916cf8760e4ddb9f431b2413674911a77e970bf8eb4094ed"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/id.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/id.js","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":52258,"4":1},"f":{"0":52258},"b":{},"inputSourceMap":{"version":3,"sources":["utils/id.ts"],"names":[],"mappings":";;;AAAA,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,SAAS,EAAE;IACT,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAEQ,gBAAE","file":"id.js","sourcesContent":["let idCounter = 0;\r\n\r\nfunction id(): number {\r\n return idCounter++;\r\n}\r\n\r\nexport { id };\r\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3c40f47e649648cc69572c9cd83123c595345556","contentHash":"cffa440e7128d45ce754b1f2e6b3bf3a0fcd4a2431bd77bd2c0076c3ba4d803e"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata_reader.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/metadata_reader.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":32}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":56}},"3":{"start":{"line":5,"column":22},"end":{"line":21,"column":3}},"4":{"start":{"line":8,"column":4},"end":{"line":15,"column":6}},"5":{"start":{"line":9,"column":40},"end":{"line":9,"column":102}},"6":{"start":{"line":10,"column":36},"end":{"line":10,"column":93}},"7":{"start":{"line":11,"column":8},"end":{"line":14,"column":10}},"8":{"start":{"line":16,"column":4},"end":{"line":19,"column":6}},"9":{"start":{"line":17,"column":36},"end":{"line":17,"column":104}},"10":{"start":{"line":18,"column":8},"end":{"line":18,"column":37}},"11":{"start":{"line":20,"column":4},"end":{"line":20,"column":26}},"12":{"start":{"line":22,"column":0},"end":{"line":22,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":22},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":34},"end":{"line":21,"column":1}},"line":5},"1":{"name":"MetadataReader","decl":{"start":{"line":6,"column":13},"end":{"line":6,"column":27}},"loc":{"start":{"line":6,"column":30},"end":{"line":7,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":54},"end":{"line":8,"column":55}},"loc":{"start":{"line":8,"column":81},"end":{"line":15,"column":5}},"line":8},"3":{"name":"(anonymous_3)","decl":{"start":{"line":16,"column":53},"end":{"line":16,"column":54}},"loc":{"start":{"line":16,"column":80},"end":{"line":19,"column":5}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":35},"end":{"line":13,"column":62}},"type":"binary-expr","locations":[{"start":{"line":13,"column":35},"end":{"line":13,"column":56}},{"start":{"line":13,"column":60},"end":{"line":13,"column":62}}],"line":13},"1":{"loc":{"start":{"line":17,"column":36},"end":{"line":17,"column":104}},"type":"binary-expr","locations":[{"start":{"line":17,"column":36},"end":{"line":17,"column":98}},{"start":{"line":17,"column":102},"end":{"line":17,"column":104}}],"line":17}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":8074,"6":8074,"7":8074,"8":1,"9":8080,"10":8080,"11":1,"12":1},"f":{"0":1,"1":202,"2":8074,"3":8080},"b":{"0":[8074,2309],"1":[8080,8067]},"inputSourceMap":{"version":3,"sources":["planning/metadata_reader.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAG3D;IAAA;IAuBA,CAAC;IArBU,+CAAsB,GAA7B,UAA8B,eAAyB;QAGnD,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;YACH,yBAAyB,2BAAA;YACzB,qBAAqB,EAAE,qBAAqB,IAAI,EAAE;SACrD,CAAC;IAEN,CAAC;IAEM,8CAAqB,GAA5B,UAA6B,eAAyB;QAElD,IAAM,qBAAqB,GAAI,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QACpG,OAAO,qBAAqB,CAAC;IACjC,CAAC;IAEL,qBAAC;AAAD,CAvBA,AAuBC,IAAA;AAEQ,wCAAc","file":"metadata_reader.js","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\n\nclass MetadataReader implements interfaces.MetadataReader {\n\n public getConstructorMetadata(constructorFunc: Function): interfaces.ConstructorMetadata {\n\n // TypeScript compiler generated annotations\n const compilerGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.PARAM_TYPES, constructorFunc);\n\n // User generated constructor annotations\n const userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED, constructorFunc);\n\n return {\n compilerGeneratedMetadata,\n userGeneratedMetadata: userGeneratedMetadata || {}\n };\n\n }\n\n public getPropertiesMetadata(constructorFunc: Function): interfaces.MetadataMap {\n // User generated properties annotations\n const userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc) || [];\n return userGeneratedMetadata;\n }\n\n}\n\nexport { MetadataReader };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6bb580128b0d74cd3c5b9c146012f6372f7c2c98","contentHash":"454aff7f4ca168d9975f601ff99ca3bce53b3c9efdded510324f12c528a83f6f"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/planner.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/planner.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":81}},"2":{"start":{"line":4,"column":22},"end":{"line":4,"column":58}},"3":{"start":{"line":5,"column":17},"end":{"line":5,"column":51}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":59}},"5":{"start":{"line":7,"column":19},"end":{"line":7,"column":56}},"6":{"start":{"line":8,"column":19},"end":{"line":8,"column":49}},"7":{"start":{"line":9,"column":22},"end":{"line":9,"column":55}},"8":{"start":{"line":10,"column":16},"end":{"line":10,"column":36}},"9":{"start":{"line":11,"column":17},"end":{"line":11,"column":38}},"10":{"start":{"line":12,"column":13},"end":{"line":12,"column":30}},"11":{"start":{"line":13,"column":25},"end":{"line":13,"column":54}},"12":{"start":{"line":14,"column":16},"end":{"line":14,"column":36}},"13":{"start":{"line":15,"column":15},"end":{"line":15,"column":34}},"14":{"start":{"line":17,"column":4},"end":{"line":17,"column":36}},"15":{"start":{"line":19,"column":0},"end":{"line":19,"column":52}},"16":{"start":{"line":21,"column":22},"end":{"line":21,"column":93}},"17":{"start":{"line":22,"column":25},"end":{"line":22,"column":80}},"18":{"start":{"line":23,"column":17},"end":{"line":23,"column":89}},"19":{"start":{"line":24,"column":4},"end":{"line":27,"column":5}},"20":{"start":{"line":25,"column":26},"end":{"line":25,"column":61}},"21":{"start":{"line":26,"column":8},"end":{"line":26,"column":42}},"22":{"start":{"line":28,"column":4},"end":{"line":28,"column":18}},"23":{"start":{"line":31,"column":19},"end":{"line":31,"column":75}},"24":{"start":{"line":32,"column":25},"end":{"line":32,"column":27}},"25":{"start":{"line":33,"column":4},"end":{"line":39,"column":5}},"26":{"start":{"line":37,"column":8},"end":{"line":37,"column":66}},"27":{"start":{"line":38,"column":8},"end":{"line":38,"column":76}},"28":{"start":{"line":40,"column":4},"end":{"line":48,"column":5}},"29":{"start":{"line":41,"column":8},"end":{"line":44,"column":11}},"30":{"start":{"line":42,"column":26},"end":{"line":42,"column":115}},"31":{"start":{"line":43,"column":12},"end":{"line":43,"column":47}},"32":{"start":{"line":47,"column":8},"end":{"line":47,"column":34}},"33":{"start":{"line":49,"column":4},"end":{"line":49,"column":101}},"34":{"start":{"line":50,"column":4},"end":{"line":50,"column":26}},"35":{"start":{"line":53,"column":4},"end":{"line":80,"column":5}},"36":{"start":{"line":55,"column":12},"end":{"line":64,"column":13}},"37":{"start":{"line":56,"column":16},"end":{"line":56,"column":32}},"38":{"start":{"line":59,"column":46},"end":{"line":59,"column":109}},"39":{"start":{"line":60,"column":26},"end":{"line":60,"column":51}},"40":{"start":{"line":61,"column":16},"end":{"line":61,"column":94}},"41":{"start":{"line":62,"column":16},"end":{"line":62,"column":131}},"42":{"start":{"line":63,"column":16},"end":{"line":63,"column":37}},"43":{"start":{"line":66,"column":12},"end":{"line":68,"column":13}},"44":{"start":{"line":67,"column":16},"end":{"line":67,"column":32}},"45":{"start":{"line":71,"column":12},"end":{"line":79,"column":13}},"46":{"start":{"line":72,"column":46},"end":{"line":72,"column":109}},"47":{"start":{"line":73,"column":26},"end":{"line":73,"column":84}},"48":{"start":{"line":74,"column":16},"end":{"line":74,"column":131}},"49":{"start":{"line":75,"column":16},"end":{"line":75,"column":37}},"50":{"start":{"line":78,"column":16},"end":{"line":78,"column":32}},"51":{"start":{"line":85,"column":4},"end":{"line":94,"column":5}},"52":{"start":{"line":86,"column":8},"end":{"line":86,"column":101}},"53":{"start":{"line":87,"column":8},"end":{"line":87,"column":103}},"54":{"start":{"line":88,"column":22},"end":{"line":88,"column":60}},"55":{"start":{"line":89,"column":8},"end":{"line":89,"column":33}},"56":{"start":{"line":92,"column":8},"end":{"line":92,"column":110}},"57":{"start":{"line":93,"column":8},"end":{"line":93,"column":103}},"58":{"start":{"line":95,"column":4},"end":{"line":119,"column":7}},"59":{"start":{"line":96,"column":30},"end":{"line":96,"column":34}},"60":{"start":{"line":97,"column":8},"end":{"line":105,"column":9}},"61":{"start":{"line":98,"column":12},"end":{"line":98,"column":103}},"62":{"start":{"line":101,"column":12},"end":{"line":103,"column":13}},"63":{"start":{"line":102,"column":16},"end":{"line":102,"column":23}},"64":{"start":{"line":104,"column":12},"end":{"line":104,"column":43}},"65":{"start":{"line":106,"column":8},"end":{"line":118,"column":9}},"66":{"start":{"line":107,"column":31},"end":{"line":107,"column":109}},"67":{"start":{"line":108,"column":12},"end":{"line":114,"column":13}},"68":{"start":{"line":109,"column":47},"end":{"line":109,"column":137}},"69":{"start":{"line":110,"column":16},"end":{"line":113,"column":17}},"70":{"start":{"line":111,"column":32},"end":{"line":111,"column":132}},"71":{"start":{"line":112,"column":20},"end":{"line":112,"column":43}},"72":{"start":{"line":115,"column":12},"end":{"line":117,"column":15}},"73":{"start":{"line":116,"column":16},"end":{"line":116,"column":126}},"74":{"start":{"line":122,"column":19},"end":{"line":122,"column":21}},"75":{"start":{"line":123,"column":28},"end":{"line":123,"column":59}},"76":{"start":{"line":124,"column":4},"end":{"line":129,"column":5}},"77":{"start":{"line":125,"column":8},"end":{"line":125,"column":60}},"78":{"start":{"line":127,"column":9},"end":{"line":129,"column":5}},"79":{"start":{"line":128,"column":8},"end":{"line":128,"column":68}},"80":{"start":{"line":130,"column":4},"end":{"line":130,"column":20}},"81":{"start":{"line":133,"column":4},"end":{"line":133,"column":66}},"82":{"start":{"line":133,"column":39},"end":{"line":133,"column":64}},"83":{"start":{"line":134,"column":18},"end":{"line":134,"column":50}},"84":{"start":{"line":135,"column":17},"end":{"line":135,"column":92}},"85":{"start":{"line":136,"column":4},"end":{"line":147,"column":5}},"86":{"start":{"line":137,"column":8},"end":{"line":137,"column":103}},"87":{"start":{"line":138,"column":8},"end":{"line":138,"column":23}},"88":{"start":{"line":141,"column":8},"end":{"line":145,"column":9}},"89":{"start":{"line":142,"column":12},"end":{"line":144,"column":13}},"90":{"start":{"line":143,"column":16},"end":{"line":143,"column":88}},"91":{"start":{"line":146,"column":8},"end":{"line":146,"column":20}},"92":{"start":{"line":149,"column":0},"end":{"line":149,"column":20}},"93":{"start":{"line":151,"column":17},"end":{"line":151,"column":137}},"94":{"start":{"line":152,"column":18},"end":{"line":152,"column":50}},"95":{"start":{"line":153,"column":18},"end":{"line":153,"column":85}},"96":{"start":{"line":154,"column":4},"end":{"line":154,"column":19}},"97":{"start":{"line":156,"column":0},"end":{"line":156,"column":46}}},"fnMap":{"0":{"name":"getBindingDictionary","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":29}},"loc":{"start":{"line":16,"column":37},"end":{"line":18,"column":1}},"line":16},"1":{"name":"_createTarget","decl":{"start":{"line":20,"column":9},"end":{"line":20,"column":22}},"loc":{"start":{"line":20,"column":87},"end":{"line":29,"column":1}},"line":20},"2":{"name":"_getActiveBindings","decl":{"start":{"line":30,"column":9},"end":{"line":30,"column":27}},"loc":{"start":{"line":30,"column":94},"end":{"line":51,"column":1}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":41,"column":41},"end":{"line":41,"column":42}},"loc":{"start":{"line":41,"column":60},"end":{"line":44,"column":9}},"line":41},"4":{"name":"_validateActiveBindingCount","decl":{"start":{"line":52,"column":9},"end":{"line":52,"column":36}},"loc":{"start":{"line":52,"column":85},"end":{"line":81,"column":1}},"line":52},"5":{"name":"_createSubRequests","decl":{"start":{"line":82,"column":9},"end":{"line":82,"column":27}},"loc":{"start":{"line":82,"column":113},"end":{"line":120,"column":1}},"line":82},"6":{"name":"(anonymous_6)","decl":{"start":{"line":95,"column":27},"end":{"line":95,"column":28}},"loc":{"start":{"line":95,"column":46},"end":{"line":119,"column":5}},"line":95},"7":{"name":"(anonymous_7)","decl":{"start":{"line":115,"column":33},"end":{"line":115,"column":34}},"loc":{"start":{"line":115,"column":55},"end":{"line":117,"column":13}},"line":115},"8":{"name":"getBindings","decl":{"start":{"line":121,"column":9},"end":{"line":121,"column":20}},"loc":{"start":{"line":121,"column":51},"end":{"line":131,"column":1}},"line":121},"9":{"name":"plan","decl":{"start":{"line":132,"column":9},"end":{"line":132,"column":13}},"loc":{"start":{"line":132,"column":117},"end":{"line":148,"column":1}},"line":132},"10":{"name":"createMockRequest","decl":{"start":{"line":150,"column":9},"end":{"line":150,"column":26}},"loc":{"start":{"line":150,"column":69},"end":{"line":155,"column":1}},"line":150}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":22},"end":{"line":21,"column":93}},"type":"cond-expr","locations":[{"start":{"line":21,"column":38},"end":{"line":21,"column":67}},{"start":{"line":21,"column":70},"end":{"line":21,"column":93}}],"line":21},"1":{"loc":{"start":{"line":24,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":27,"column":5}},{"start":{"line":24,"column":4},"end":{"line":27,"column":5}}],"line":24},"2":{"loc":{"start":{"line":33,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":39,"column":5}},{"start":{"line":33,"column":4},"end":{"line":39,"column":5}}],"line":33},"3":{"loc":{"start":{"line":33,"column":8},"end":{"line":36,"column":97}},"type":"binary-expr","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":76}},{"start":{"line":34,"column":8},"end":{"line":34,"column":52}},{"start":{"line":35,"column":8},"end":{"line":35,"column":54}},{"start":{"line":36,"column":8},"end":{"line":36,"column":97}}],"line":33},"4":{"loc":{"start":{"line":40,"column":4},"end":{"line":48,"column":5}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":48,"column":5}},{"start":{"line":40,"column":4},"end":{"line":48,"column":5}}],"line":40},"5":{"loc":{"start":{"line":53,"column":4},"end":{"line":80,"column":5}},"type":"switch","locations":[{"start":{"line":54,"column":8},"end":{"line":64,"column":13}},{"start":{"line":65,"column":8},"end":{"line":68,"column":13}},{"start":{"line":69,"column":8},"end":{"line":69,"column":68}},{"start":{"line":70,"column":8},"end":{"line":79,"column":13}}],"line":53},"6":{"loc":{"start":{"line":55,"column":12},"end":{"line":64,"column":13}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":64,"column":13}},{"start":{"line":55,"column":12},"end":{"line":64,"column":13}}],"line":55},"7":{"loc":{"start":{"line":66,"column":12},"end":{"line":68,"column":13}},"type":"if","locations":[{"start":{"line":66,"column":12},"end":{"line":68,"column":13}},{"start":{"line":66,"column":12},"end":{"line":68,"column":13}}],"line":66},"8":{"loc":{"start":{"line":71,"column":12},"end":{"line":79,"column":13}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":79,"column":13}},{"start":{"line":71,"column":12},"end":{"line":79,"column":13}}],"line":71},"9":{"loc":{"start":{"line":85,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":85,"column":4},"end":{"line":94,"column":5}},{"start":{"line":85,"column":4},"end":{"line":94,"column":5}}],"line":85},"10":{"loc":{"start":{"line":97,"column":8},"end":{"line":105,"column":9}},"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":105,"column":9}},{"start":{"line":97,"column":8},"end":{"line":105,"column":9}}],"line":97},"11":{"loc":{"start":{"line":101,"column":12},"end":{"line":103,"column":13}},"type":"if","locations":[{"start":{"line":101,"column":12},"end":{"line":103,"column":13}},{"start":{"line":101,"column":12},"end":{"line":103,"column":13}}],"line":101},"12":{"loc":{"start":{"line":106,"column":8},"end":{"line":118,"column":9}},"type":"if","locations":[{"start":{"line":106,"column":8},"end":{"line":118,"column":9}},{"start":{"line":106,"column":8},"end":{"line":118,"column":9}}],"line":106},"13":{"loc":{"start":{"line":106,"column":12},"end":{"line":106,"column":108}},"type":"binary-expr","locations":[{"start":{"line":106,"column":12},"end":{"line":106,"column":69}},{"start":{"line":106,"column":73},"end":{"line":106,"column":108}}],"line":106},"14":{"loc":{"start":{"line":108,"column":12},"end":{"line":114,"column":13}},"type":"if","locations":[{"start":{"line":108,"column":12},"end":{"line":114,"column":13}},{"start":{"line":108,"column":12},"end":{"line":114,"column":13}}],"line":108},"15":{"loc":{"start":{"line":110,"column":16},"end":{"line":113,"column":17}},"type":"if","locations":[{"start":{"line":110,"column":16},"end":{"line":113,"column":17}},{"start":{"line":110,"column":16},"end":{"line":113,"column":17}}],"line":110},"16":{"loc":{"start":{"line":124,"column":4},"end":{"line":129,"column":5}},"type":"if","locations":[{"start":{"line":124,"column":4},"end":{"line":129,"column":5}},{"start":{"line":124,"column":4},"end":{"line":129,"column":5}}],"line":124},"17":{"loc":{"start":{"line":127,"column":9},"end":{"line":129,"column":5}},"type":"if","locations":[{"start":{"line":127,"column":9},"end":{"line":129,"column":5}},{"start":{"line":127,"column":9},"end":{"line":129,"column":5}}],"line":127},"18":{"loc":{"start":{"line":133,"column":4},"end":{"line":133,"column":66}},"type":"if","locations":[{"start":{"line":133,"column":4},"end":{"line":133,"column":66}},{"start":{"line":133,"column":4},"end":{"line":133,"column":66}}],"line":133},"19":{"loc":{"start":{"line":141,"column":8},"end":{"line":145,"column":9}},"type":"if","locations":[{"start":{"line":141,"column":8},"end":{"line":145,"column":9}},{"start":{"line":141,"column":8},"end":{"line":145,"column":9}}],"line":141},"20":{"loc":{"start":{"line":142,"column":12},"end":{"line":144,"column":13}},"type":"if","locations":[{"start":{"line":142,"column":12},"end":{"line":144,"column":13}},{"start":{"line":142,"column":12},"end":{"line":144,"column":13}}],"line":142}},"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":8927,"15":1,"16":921,"17":921,"18":921,"19":921,"20":30,"21":30,"22":921,"23":8868,"24":8867,"25":8867,"26":6,"27":6,"28":8867,"29":8861,"30":8910,"31":8908,"32":6,"33":8865,"34":8833,"35":8865,"36":31,"37":3,"38":28,"39":28,"40":28,"41":28,"42":28,"43":8819,"44":8813,"45":21,"46":4,"47":4,"48":4,"49":4,"50":17,"51":8868,"52":921,"53":891,"54":891,"55":891,"56":7947,"57":7942,"58":8833,"59":8841,"60":8841,"61":28,"62":8813,"63":63,"64":8750,"65":8778,"66":8057,"67":8054,"68":8052,"69":8050,"70":1,"71":1,"72":8051,"73":7947,"74":8913,"75":8913,"76":8913,"77":8851,"78":62,"79":7,"80":8912,"81":921,"82":26,"83":921,"84":921,"85":921,"86":921,"87":880,"88":41,"89":4,"90":4,"91":38,"92":1,"93":16,"94":16,"95":16,"96":16,"97":1},"f":{"0":8927,"1":921,"2":8868,"3":8910,"4":8865,"5":8868,"6":8841,"7":7947,"8":8913,"9":921,"10":16},"b":{"0":[14,907],"1":[30,891],"2":[6,8861],"3":[8867,32,7,7],"4":[8861,6],"5":[31,8819,21,21],"6":[3,28],"7":[8813,6],"8":[4,17],"9":[921,7947],"10":[28,8813],"11":[63,8750],"12":[8057,721],"13":[8778,8057],"14":[8052,2],"15":[1,8049],"16":[8851,62],"17":[7,55],"18":[26,895],"19":[4,37],"20":[4,0]},"inputSourceMap":{"version":3,"sources":["planning/planner.ts"],"names":[],"mappings":"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","file":"planner.js","sourcesContent":["import { BindingCount } from \"../bindings/binding_count\";\nimport * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { BindingTypeEnum, TargetTypeEnum } from \"../constants/literal_types\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { isStackOverflowExeption } from \"../utils/exceptions\";\nimport {\n circularDependencyToException,\n getServiceIdentifierAsString,\n listMetadataForTarget,\n listRegisteredBindingsForServiceIdentifier\n} from \"../utils/serialization\";\nimport { Context } from \"./context\";\nimport { Metadata } from \"./metadata\";\nimport { Plan } from \"./plan\";\nimport { getBaseClassDependencyCount, getDependencies, getFunctionName } from \"./reflection_utils\";\nimport { Request } from \"./request\";\nimport { Target } from \"./target\";\n\nfunction getBindingDictionary (cntnr: any): interfaces.Lookup<interfaces.Binding<any>> {\n return cntnr._bindingDictionary;\n}\n\nfunction _createTarget(\n isMultiInject: boolean,\n targetType: interfaces.TargetType,\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n name: string,\n key?: string | number | symbol,\n value?: any\n): interfaces.Target {\n\n const metadataKey = isMultiInject ? METADATA_KEY.MULTI_INJECT_TAG : METADATA_KEY.INJECT_TAG;\n const injectMetadata = new Metadata(metadataKey, serviceIdentifier);\n const target = new Target(targetType, name, serviceIdentifier, injectMetadata);\n\n if (key !== undefined) {\n const tagMetadata = new Metadata(key, value);\n target.metadata.push(tagMetadata);\n }\n\n return target;\n\n}\n\nfunction _getActiveBindings(\n metadataReader: interfaces.MetadataReader,\n avoidConstraints: boolean,\n context: interfaces.Context,\n parentRequest: interfaces.Request | null,\n target: interfaces.Target\n): interfaces.Binding<any>[] {\n\n let bindings = getBindings<any>(context.container, target.serviceIdentifier);\n let activeBindings: interfaces.Binding<any>[] = [];\n\n // automatic binding\n if (bindings.length === BindingCount.NoBindingsAvailable &&\n context.container.options.autoBindInjectable &&\n typeof target.serviceIdentifier === \"function\" &&\n metadataReader.getConstructorMetadata(target.serviceIdentifier).compilerGeneratedMetadata\n ) {\n context.container.bind(target.serviceIdentifier).toSelf();\n bindings = getBindings(context.container, target.serviceIdentifier);\n }\n\n // multiple bindings available\n if (!avoidConstraints) {\n\n // apply constraints if available to reduce the number of active bindings\n activeBindings = bindings.filter((binding) => {\n\n const request = new Request(\n binding.serviceIdentifier,\n context,\n parentRequest,\n binding,\n target\n );\n\n return binding.constraint(request);\n\n });\n\n } else {\n // simple injection or multi-injection without constraints\n activeBindings = bindings;\n }\n\n // validate active bindings\n _validateActiveBindingCount(target.serviceIdentifier, activeBindings, target, context.container);\n\n return activeBindings;\n}\n\nfunction _validateActiveBindingCount(\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n bindings: interfaces.Binding<any>[],\n target: interfaces.Target,\n container: interfaces.Container\n): interfaces.Binding<any>[] {\n\n switch (bindings.length) {\n\n case BindingCount.NoBindingsAvailable:\n if (target.isOptional()) {\n return bindings;\n } else {\n const serviceIdentifierString = getServiceIdentifierAsString(serviceIdentifier);\n let msg = ERROR_MSGS.NOT_REGISTERED;\n msg += listMetadataForTarget(serviceIdentifierString, target);\n msg += listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\n throw new Error(msg);\n }\n\n case BindingCount.OnlyOneBindingAvailable:\n if (!target.isArray()) {\n return bindings;\n }\n\n case BindingCount.MultipleBindingsAvailable:\n default:\n if (!target.isArray()) {\n const serviceIdentifierString = getServiceIdentifierAsString(serviceIdentifier);\n let msg = `${ERROR_MSGS.AMBIGUOUS_MATCH} ${serviceIdentifierString}`;\n msg += listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\n throw new Error(msg);\n } else {\n return bindings;\n }\n }\n\n}\n\nfunction _createSubRequests(\n metadataReader: interfaces.MetadataReader,\n avoidConstraints: boolean,\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n context: interfaces.Context,\n parentRequest: interfaces.Request | null,\n target: interfaces.Target\n) {\n\n let activeBindings: interfaces.Binding<any>[];\n let childRequest: interfaces.Request;\n\n if (parentRequest === null) {\n\n activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, null, target);\n\n childRequest = new Request(\n serviceIdentifier,\n context,\n null,\n activeBindings,\n target\n );\n\n const thePlan = new Plan(context, childRequest);\n context.addPlan(thePlan);\n\n } else {\n activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target);\n childRequest = parentRequest.addChildRequest(target.serviceIdentifier, activeBindings, target);\n }\n\n activeBindings.forEach((binding) => {\n\n let subChildRequest: interfaces.Request | null = null;\n\n if (target.isArray()) {\n subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target);\n } else {\n if (binding.cache) {\n return;\n }\n subChildRequest = childRequest;\n }\n\n if (binding.type === BindingTypeEnum.Instance && binding.implementationType !== null) {\n\n const dependencies = getDependencies(metadataReader, binding.implementationType);\n\n if (!context.container.options.skipBaseClassChecks) {\n // Throw if a derived class does not implement its constructor explicitly\n // We do this to prevent errors when a base class (parent) has dependencies\n // and one of the derived classes (children) has no dependencies\n const baseClassDependencyCount = getBaseClassDependencyCount(metadataReader, binding.implementationType);\n\n if (dependencies.length < baseClassDependencyCount) {\n const error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH(getFunctionName(binding.implementationType));\n throw new Error(error);\n }\n }\n\n dependencies.forEach((dependency: interfaces.Target) => {\n _createSubRequests(metadataReader, false, dependency.serviceIdentifier, context, subChildRequest, dependency);\n });\n\n }\n\n });\n\n}\n\nfunction getBindings<T>(\n container: interfaces.Container,\n serviceIdentifier: interfaces.ServiceIdentifier<T>\n): interfaces.Binding<T>[] {\n\n let bindings: interfaces.Binding<T>[] = [];\n const bindingDictionary: interfaces.Lookup<interfaces.Binding<any>> = getBindingDictionary(container);\n\n if (bindingDictionary.hasKey(serviceIdentifier)) {\n\n bindings = bindingDictionary.get(serviceIdentifier);\n\n } else if (container.parent !== null) {\n\n // recursively try to get bindings from parent container\n bindings = getBindings<T>(container.parent, serviceIdentifier);\n\n }\n\n return bindings;\n}\n\nfunction plan(\n metadataReader: interfaces.MetadataReader,\n container: interfaces.Container,\n isMultiInject: boolean,\n targetType: interfaces.TargetType,\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n key?: string | number | symbol,\n value?: any,\n avoidConstraints = false\n): interfaces.Context {\n\n const context = new Context(container);\n const target = _createTarget(isMultiInject, targetType, serviceIdentifier, \"\", key, value);\n\n try {\n _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, null, target);\n return context;\n } catch (error) {\n if (\n isStackOverflowExeption(error)\n ) {\n if (context.plan) {\n circularDependencyToException(context.plan.rootRequest);\n }\n }\n throw error;\n }\n\n}\n\nfunction createMockRequest(\n container: interfaces.Container,\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n key: string | number | symbol,\n value: any\n): interfaces.Request {\n\n const target = new Target(TargetTypeEnum.Variable, \"\", serviceIdentifier, new Metadata(key, value));\n const context = new Context(container);\n const request = new Request(serviceIdentifier, context, null, [], target);\n return request;\n}\n\nexport { plan, createMockRequest, getBindingDictionary };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d75e3624bbc0dba9caffa120e951dcac57e8aaee","contentHash":"b6f429168160b33b33cc49c4393f1c056aa6a214a30db906baab83aa81604cd9"},"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding_count.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/bindings/binding_count.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":30}},"2":{"start":{"line":4,"column":19},"end":{"line":8,"column":1}},"3":{"start":{"line":9,"column":0},"end":{"line":9,"column":36}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1},"f":{},"b":{},"inputSourceMap":{"version":3,"sources":["bindings/binding_count.ts"],"names":[],"mappings":";;;AAAA,IAAM,YAAY,GAAG;IACjB,yBAAyB,EAAE,CAAC;IAC5B,mBAAmB,EAAE,CAAC;IACtB,uBAAuB,EAAE,CAAC;CAC7B,CAAC;AAEO,oCAAY","file":"binding_count.js","sourcesContent":["const BindingCount = {\n MultipleBindingsAvailable: 2,\n NoBindingsAvailable: 0,\n OnlyOneBindingAvailable: 1\n};\n\nexport { BindingCount };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"eb529245b1aec143e8f05d9d99318fed486e29a0","contentHash":"97147c16c5a91143ac7710eccaa01297286ddcce8fa25fdbdfc0790462b377d1"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/exceptions.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/exceptions.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":41}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":51}},"3":{"start":{"line":6,"column":4},"end":{"line":7,"column":53}},"4":{"start":{"line":9,"column":0},"end":{"line":9,"column":58}}},"fnMap":{"0":{"name":"isStackOverflowExeption","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":32}},"loc":{"start":{"line":5,"column":40},"end":{"line":8,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":12},"end":{"line":7,"column":51}},"type":"binary-expr","locations":[{"start":{"line":6,"column":12},"end":{"line":6,"column":39}},{"start":{"line":7,"column":8},"end":{"line":7,"column":51}}],"line":6}},"s":{"0":1,"1":1,"2":1,"3":719,"4":1},"f":{"0":719},"b":{"0":[719,687]},"inputSourceMap":{"version":3,"sources":["utils/exceptions.ts"],"names":[],"mappings":";;;AAAA,oDAAsD;AAEtD,SAAgB,uBAAuB,CAAC,KAAY;IAChD,OAAO,CACH,KAAK,YAAY,UAAU;QAC3B,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc,CAC9C,CAAC;AACN,CAAC;AALD,0DAKC","file":"exceptions.js","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\n\nexport function isStackOverflowExeption(error: Error) {\n return (\n error instanceof RangeError ||\n error.message === ERROR_MSGS.STACK_OVERFLOW\n );\n}\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a35b63ed5a039e91648dc771b282ad906888aaaf","contentHash":"d4a848e752ff96d013347de4e70f1fe9be622c9d243b49ba003b5b7d1f3b3f14"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/serialization.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/serialization.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":197}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":51}},"3":{"start":{"line":6,"column":4},"end":{"line":16,"column":5}},"4":{"start":{"line":7,"column":33},"end":{"line":7,"column":50}},"5":{"start":{"line":8,"column":8},"end":{"line":8,"column":39}},"6":{"start":{"line":10,"column":9},"end":{"line":16,"column":5}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":44}},"8":{"start":{"line":14,"column":33},"end":{"line":14,"column":50}},"9":{"start":{"line":15,"column":8},"end":{"line":15,"column":34}},"10":{"start":{"line":18,"column":0},"end":{"line":18,"column":68}},"11":{"start":{"line":20,"column":33},"end":{"line":20,"column":35}},"12":{"start":{"line":21,"column":29},"end":{"line":21,"column":70}},"13":{"start":{"line":22,"column":4},"end":{"line":34,"column":5}},"14":{"start":{"line":23,"column":8},"end":{"line":23,"column":58}},"15":{"start":{"line":24,"column":8},"end":{"line":33,"column":11}},"16":{"start":{"line":25,"column":23},"end":{"line":25,"column":31}},"17":{"start":{"line":26,"column":12},"end":{"line":28,"column":13}},"18":{"start":{"line":27,"column":16},"end":{"line":27,"column":67}},"19":{"start":{"line":29,"column":12},"end":{"line":29,"column":75}},"20":{"start":{"line":30,"column":12},"end":{"line":32,"column":13}},"21":{"start":{"line":31,"column":16},"end":{"line":31,"column":102}},"22":{"start":{"line":35,"column":4},"end":{"line":35,"column":34}},"23":{"start":{"line":37,"column":0},"end":{"line":37,"column":96}},"24":{"start":{"line":39,"column":4},"end":{"line":47,"column":5}},"25":{"start":{"line":40,"column":8},"end":{"line":40,"column":21}},"26":{"start":{"line":42,"column":9},"end":{"line":47,"column":5}},"27":{"start":{"line":43,"column":8},"end":{"line":43,"column":20}},"28":{"start":{"line":46,"column":8},"end":{"line":46,"column":80}},"29":{"start":{"line":51,"column":8},"end":{"line":51,"column":47}},"30":{"start":{"line":51,"column":33},"end":{"line":51,"column":45}},"31":{"start":{"line":52,"column":32},"end":{"line":52,"column":83}},"32":{"start":{"line":53,"column":8},"end":{"line":53,"column":39}},"33":{"start":{"line":54,"column":8},"end":{"line":56,"column":9}},"34":{"start":{"line":55,"column":12},"end":{"line":55,"column":63}},"35":{"start":{"line":57,"column":8},"end":{"line":57,"column":22}},"36":{"start":{"line":59,"column":20},"end":{"line":59,"column":45}},"37":{"start":{"line":60,"column":4},"end":{"line":60,"column":45}},"38":{"start":{"line":63,"column":4},"end":{"line":71,"column":7}},"39":{"start":{"line":64,"column":8},"end":{"line":70,"column":9}},"40":{"start":{"line":65,"column":27},"end":{"line":65,"column":64}},"41":{"start":{"line":66,"column":12},"end":{"line":66,"column":77}},"42":{"start":{"line":69,"column":12},"end":{"line":69,"column":56}},"43":{"start":{"line":73,"column":0},"end":{"line":73,"column":70}},"44":{"start":{"line":75,"column":4},"end":{"line":91,"column":5}},"45":{"start":{"line":76,"column":18},"end":{"line":76,"column":20}},"46":{"start":{"line":77,"column":23},"end":{"line":77,"column":43}},"47":{"start":{"line":78,"column":24},"end":{"line":78,"column":46}},"48":{"start":{"line":79,"column":8},"end":{"line":81,"column":9}},"49":{"start":{"line":80,"column":12},"end":{"line":80,"column":46}},"50":{"start":{"line":82,"column":8},"end":{"line":86,"column":9}},"51":{"start":{"line":83,"column":12},"end":{"line":85,"column":15}},"52":{"start":{"line":84,"column":16},"end":{"line":84,"column":45}},"53":{"start":{"line":87,"column":8},"end":{"line":87,"column":93}},"54":{"start":{"line":90,"column":8},"end":{"line":90,"column":45}},"55":{"start":{"line":93,"column":0},"end":{"line":93,"column":54}},"56":{"start":{"line":95,"column":4},"end":{"line":102,"column":5}},"57":{"start":{"line":96,"column":8},"end":{"line":96,"column":22}},"58":{"start":{"line":99,"column":21},"end":{"line":99,"column":33}},"59":{"start":{"line":100,"column":20},"end":{"line":100,"column":57}},"60":{"start":{"line":101,"column":8},"end":{"line":101,"column":66}},"61":{"start":{"line":104,"column":0},"end":{"line":104,"column":42}}},"fnMap":{"0":{"name":"getServiceIdentifierAsString","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":37}},"loc":{"start":{"line":5,"column":57},"end":{"line":17,"column":1}},"line":5},"1":{"name":"listRegisteredBindingsForServiceIdentifier","decl":{"start":{"line":19,"column":9},"end":{"line":19,"column":51}},"loc":{"start":{"line":19,"column":95},"end":{"line":36,"column":1}},"line":19},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":35},"end":{"line":24,"column":36}},"loc":{"start":{"line":24,"column":54},"end":{"line":33,"column":9}},"line":24},"3":{"name":"alreadyDependencyChain","decl":{"start":{"line":38,"column":9},"end":{"line":38,"column":31}},"loc":{"start":{"line":38,"column":60},"end":{"line":48,"column":1}},"line":38},"4":{"name":"dependencyChainToString","decl":{"start":{"line":49,"column":9},"end":{"line":49,"column":32}},"loc":{"start":{"line":49,"column":42},"end":{"line":61,"column":1}},"line":49},"5":{"name":"_createStringArr","decl":{"start":{"line":50,"column":13},"end":{"line":50,"column":29}},"loc":{"start":{"line":50,"column":43},"end":{"line":58,"column":5}},"line":50},"6":{"name":"circularDependencyToException","decl":{"start":{"line":62,"column":9},"end":{"line":62,"column":38}},"loc":{"start":{"line":62,"column":48},"end":{"line":72,"column":1}},"line":62},"7":{"name":"(anonymous_7)","decl":{"start":{"line":63,"column":34},"end":{"line":63,"column":35}},"loc":{"start":{"line":63,"column":58},"end":{"line":71,"column":5}},"line":63},"8":{"name":"listMetadataForTarget","decl":{"start":{"line":74,"column":9},"end":{"line":74,"column":30}},"loc":{"start":{"line":74,"column":64},"end":{"line":92,"column":1}},"line":74},"9":{"name":"(anonymous_9)","decl":{"start":{"line":83,"column":30},"end":{"line":83,"column":31}},"loc":{"start":{"line":83,"column":45},"end":{"line":85,"column":13}},"line":83},"10":{"name":"getFunctionName","decl":{"start":{"line":94,"column":9},"end":{"line":94,"column":24}},"loc":{"start":{"line":94,"column":28},"end":{"line":103,"column":1}},"line":94}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":16,"column":5}},{"start":{"line":6,"column":4},"end":{"line":16,"column":5}}],"line":6},"1":{"loc":{"start":{"line":10,"column":9},"end":{"line":16,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":9},"end":{"line":16,"column":5}},{"start":{"line":10,"column":9},"end":{"line":16,"column":5}}],"line":10},"2":{"loc":{"start":{"line":22,"column":4},"end":{"line":34,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":34,"column":5}},{"start":{"line":22,"column":4},"end":{"line":34,"column":5}}],"line":22},"3":{"loc":{"start":{"line":26,"column":12},"end":{"line":28,"column":13}},"type":"if","locations":[{"start":{"line":26,"column":12},"end":{"line":28,"column":13}},{"start":{"line":26,"column":12},"end":{"line":28,"column":13}}],"line":26},"4":{"loc":{"start":{"line":30,"column":12},"end":{"line":32,"column":13}},"type":"if","locations":[{"start":{"line":30,"column":12},"end":{"line":32,"column":13}},{"start":{"line":30,"column":12},"end":{"line":32,"column":13}}],"line":30},"5":{"loc":{"start":{"line":39,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":47,"column":5}},{"start":{"line":39,"column":4},"end":{"line":47,"column":5}}],"line":39},"6":{"loc":{"start":{"line":42,"column":9},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":42,"column":9},"end":{"line":47,"column":5}},{"start":{"line":42,"column":9},"end":{"line":47,"column":5}}],"line":42},"7":{"loc":{"start":{"line":51,"column":8},"end":{"line":51,"column":47}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":51,"column":47}},{"start":{"line":51,"column":8},"end":{"line":51,"column":47}}],"line":51},"8":{"loc":{"start":{"line":54,"column":8},"end":{"line":56,"column":9}},"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":56,"column":9}},{"start":{"line":54,"column":8},"end":{"line":56,"column":9}}],"line":54},"9":{"loc":{"start":{"line":64,"column":8},"end":{"line":70,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":70,"column":9}},{"start":{"line":64,"column":8},"end":{"line":70,"column":9}}],"line":64},"10":{"loc":{"start":{"line":75,"column":4},"end":{"line":91,"column":5}},"type":"if","locations":[{"start":{"line":75,"column":4},"end":{"line":91,"column":5}},{"start":{"line":75,"column":4},"end":{"line":91,"column":5}}],"line":75},"11":{"loc":{"start":{"line":75,"column":8},"end":{"line":75,"column":45}},"type":"binary-expr","locations":[{"start":{"line":75,"column":8},"end":{"line":75,"column":25}},{"start":{"line":75,"column":29},"end":{"line":75,"column":45}}],"line":75},"12":{"loc":{"start":{"line":79,"column":8},"end":{"line":81,"column":9}},"type":"if","locations":[{"start":{"line":79,"column":8},"end":{"line":81,"column":9}},{"start":{"line":79,"column":8},"end":{"line":81,"column":9}}],"line":79},"13":{"loc":{"start":{"line":82,"column":8},"end":{"line":86,"column":9}},"type":"if","locations":[{"start":{"line":82,"column":8},"end":{"line":86,"column":9}},{"start":{"line":82,"column":8},"end":{"line":86,"column":9}}],"line":82},"14":{"loc":{"start":{"line":95,"column":4},"end":{"line":102,"column":5}},"type":"if","locations":[{"start":{"line":95,"column":4},"end":{"line":102,"column":5}},{"start":{"line":95,"column":4},"end":{"line":102,"column":5}}],"line":95},"15":{"loc":{"start":{"line":101,"column":15},"end":{"line":101,"column":65}},"type":"cond-expr","locations":[{"start":{"line":101,"column":23},"end":{"line":101,"column":31}},{"start":{"line":101,"column":34},"end":{"line":101,"column":65}}],"line":101}},"s":{"0":1,"1":1,"2":1,"3":53,"4":6,"5":6,"6":47,"7":8,"8":39,"9":39,"10":1,"11":32,"12":32,"13":32,"14":9,"15":9,"16":19,"17":19,"18":17,"19":19,"20":19,"21":13,"22":32,"23":1,"24":41,"25":12,"26":29,"27":3,"28":26,"29":13,"30":3,"31":13,"32":13,"33":13,"34":10,"35":3,"36":3,"37":3,"38":16,"39":15,"40":3,"41":3,"42":12,"43":1,"44":29,"45":10,"46":10,"47":10,"48":10,"49":6,"50":10,"51":4,"52":4,"53":10,"54":19,"55":1,"56":8094,"57":8092,"58":2,"59":2,"60":2,"61":1},"f":{"0":53,"1":32,"2":19,"3":41,"4":3,"5":13,"6":16,"7":15,"8":29,"9":4,"10":8094},"b":{"0":[6,47],"1":[8,39],"2":[9,23],"3":[17,2],"4":[13,6],"5":[12,29],"6":[3,26],"7":[3,10],"8":[10,3],"9":[3,12],"10":[10,19],"11":[29,25],"12":[6,4],"13":[4,6],"14":[8092,2],"15":[1,1]},"inputSourceMap":{"version":3,"sources":["utils/serialization.ts"],"names":[],"mappings":"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","file":"serialization.js","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { interfaces } from \"../interfaces/interfaces\";\n\nfunction getServiceIdentifierAsString(serviceIdentifier: interfaces.ServiceIdentifier<any>): string {\n if (typeof serviceIdentifier === \"function\") {\n const _serviceIdentifier: any = serviceIdentifier;\n return _serviceIdentifier.name;\n } else if (typeof serviceIdentifier === \"symbol\") {\n return serviceIdentifier.toString();\n } else { // string\n const _serviceIdentifier: any = serviceIdentifier;\n return _serviceIdentifier;\n }\n}\n\nfunction listRegisteredBindingsForServiceIdentifier(\n container: interfaces.Container,\n serviceIdentifier: string,\n getBindings: <T>(\n container: interfaces.Container,\n serviceIdentifier: interfaces.ServiceIdentifier<T>\n ) => interfaces.Binding<T>[]\n): string {\n\n let registeredBindingsList = \"\";\n const registeredBindings = getBindings(container, serviceIdentifier);\n\n if (registeredBindings.length !== 0) {\n\n registeredBindingsList = \"\\nRegistered bindings:\";\n\n registeredBindings.forEach((binding: interfaces.Binding<any>) => {\n\n // Use \"Object as name of constant value injections\"\n let name = \"Object\";\n\n // Use function name if available\n if (binding.implementationType !== null) {\n name = getFunctionName(binding.implementationType);\n }\n\n registeredBindingsList = `${registeredBindingsList}\\n ${name}`;\n\n if (binding.constraint.metaData) {\n registeredBindingsList = `${registeredBindingsList} - ${binding.constraint.metaData}`;\n }\n\n });\n\n }\n\n return registeredBindingsList;\n}\n\nfunction alreadyDependencyChain(\n request: interfaces.Request,\n serviceIdentifier: interfaces.ServiceIdentifier<any>\n): boolean {\n if (request.parentRequest === null) {\n return false;\n } else if (request.parentRequest.serviceIdentifier === serviceIdentifier) {\n return true;\n } else {\n return alreadyDependencyChain(request.parentRequest, serviceIdentifier);\n }\n}\n\nfunction dependencyChainToString(\n request: interfaces.Request\n) {\n\n function _createStringArr(\n req: interfaces.Request,\n result: string[] = []\n ): string[] {\n const serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);\n result.push(serviceIdentifier);\n if (req.parentRequest !== null) {\n return _createStringArr(req.parentRequest, result);\n }\n return result;\n }\n\n const stringArr = _createStringArr(request);\n return stringArr.reverse().join(\" --> \");\n\n}\n\nfunction circularDependencyToException(\n request: interfaces.Request\n) {\n request.childRequests.forEach((childRequest) => {\n if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {\n const services = dependencyChainToString(childRequest);\n throw new Error(`${ERROR_MSGS.CIRCULAR_DEPENDENCY} ${services}`);\n } else {\n circularDependencyToException(childRequest);\n }\n });\n}\n\nfunction listMetadataForTarget(serviceIdentifierString: string, target: interfaces.Target): string {\n if (target.isTagged() || target.isNamed()) {\n\n let m = \"\";\n\n const namedTag = target.getNamedTag();\n const otherTags = target.getCustomTags();\n\n if (namedTag !== null) {\n m += namedTag.toString() + \"\\n\";\n }\n\n if (otherTags !== null) {\n otherTags.forEach((tag) => {\n m += tag.toString() + \"\\n\";\n });\n }\n\n return ` ${serviceIdentifierString}\\n ${serviceIdentifierString} - ${m}`;\n\n } else {\n return ` ${serviceIdentifierString}`;\n }\n}\n\nfunction getFunctionName(v: any): string {\n if (v.name) {\n return v.name;\n } else {\n const name = v.toString();\n const match = name.match(/^function\\s*([^\\s(]+)/);\n return match ? match[1] : `Anonymous function: ${name}`;\n }\n}\n\nexport {\n getFunctionName,\n getServiceIdentifierAsString,\n listRegisteredBindingsForServiceIdentifier,\n listMetadataForTarget,\n circularDependencyToException\n};\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"01d044d7333203db9dd8641c2e4254ac654b34c0","contentHash":"feeea52af9324c1cee44324880c5ebd4b286ee99e6412b394983c9d655d9bf19"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/context.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/context.js","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":28}},"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":950,"5":950,"6":1,"7":892,"8":1,"9":1697,"10":1,"11":1},"f":{"0":1,"1":950,"2":892,"3":1697},"b":{},"inputSourceMap":{"version":3,"sources":["planning/context.ts"],"names":[],"mappings":";;;AACA,kCAAiC;AAEjC;IAOI,iBACI,SAA+B;QAC/B,IAAI,CAAC,EAAE,GAAG,OAAE,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,yBAAO,GAAd,UAAe,IAAqB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEM,mCAAiB,GAAxB,UAAyB,cAAkC;QACvD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAEL,cAAC;AAAD,CArBA,AAqBC,IAAA;AAEQ,0BAAO","file":"context.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { id } from \"../utils/id\";\n\nclass Context implements interfaces.Context {\n\n public id: number;\n public container: interfaces.Container;\n public plan: interfaces.Plan;\n public currentRequest: interfaces.Request;\n\n public constructor(\n container: interfaces.Container) {\n this.id = id();\n this.container = container;\n }\n\n public addPlan(plan: interfaces.Plan) {\n this.plan = plan;\n }\n\n public setCurrentRequest(currentRequest: interfaces.Request) {\n this.currentRequest = currentRequest;\n }\n\n}\n\nexport { Context };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"021eb4947153bd5848005a3fe62ecbbc81c14e0a","contentHash":"8912b634edf713f3dd909f37a50f6e4ff74e8986f789cc2fd38fba219ef42175"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/plan.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/plan.js","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":893,"4":893,"5":1,"6":1},"f":{"0":1,"1":893},"b":{},"inputSourceMap":{"version":3,"sources":["planning/plan.ts"],"names":[],"mappings":";;;AAEA;IAKI,cAAmB,aAAiC,EAAE,WAA+B;QACjF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IACL,WAAC;AAAD,CATA,AASC,IAAA;AAEQ,oBAAI","file":"plan.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nclass Plan implements interfaces.Plan {\n\n public parentContext: interfaces.Context;\n public rootRequest: interfaces.Request;\n\n public constructor(parentContext: interfaces.Context, rootRequest: interfaces.Request) {\n this.parentContext = parentContext;\n this.rootRequest = rootRequest;\n }\n}\n\nexport { Plan };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"149843ac8b2b2347f9aa3d9df83c352480dfef6a","contentHash":"0d719d605035247565b6021c958332ab384ca6ab08ed44ba90bfd61676522a8e"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/reflection_utils.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/reflection_utils.js","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":8,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":88}},"2":{"start":{"line":3,"column":17},"end":{"line":3,"column":18}},"3":{"start":{"line":3,"column":24},"end":{"line":3,"column":25}},"4":{"start":{"line":3,"column":32},"end":{"line":3,"column":48}},"5":{"start":{"line":3,"column":63},"end":{"line":3,"column":88}},"6":{"start":{"line":4,"column":4},"end":{"line":6,"column":24}},"7":{"start":{"line":4,"column":17},"end":{"line":4,"column":25}},"8":{"start":{"line":4,"column":31},"end":{"line":4,"column":32}},"9":{"start":{"line":4,"column":38},"end":{"line":4,"column":39}},"10":{"start":{"line":5,"column":8},"end":{"line":6,"column":24}},"11":{"start":{"line":5,"column":21},"end":{"line":5,"column":33}},"12":{"start":{"line":5,"column":39},"end":{"line":5,"column":40}},"13":{"start":{"line":5,"column":47},"end":{"line":5,"column":55}},"14":{"start":{"line":6,"column":12},"end":{"line":6,"column":24}},"15":{"start":{"line":7,"column":4},"end":{"line":7,"column":13}},"16":{"start":{"line":9,"column":0},"end":{"line":9,"column":62}},"17":{"start":{"line":10,"column":0},"end":{"line":10,"column":97}},"18":{"start":{"line":11,"column":15},"end":{"line":11,"column":46}},"19":{"start":{"line":12,"column":17},"end":{"line":12,"column":51}},"20":{"start":{"line":13,"column":22},"end":{"line":13,"column":59}},"21":{"start":{"line":14,"column":19},"end":{"line":14,"column":56}},"22":{"start":{"line":15,"column":22},"end":{"line":15,"column":55}},"23":{"start":{"line":16,"column":0},"end":{"line":16,"column":134}},"24":{"start":{"line":16,"column":89},"end":{"line":16,"column":128}},"25":{"start":{"line":17,"column":15},"end":{"line":17,"column":34}},"26":{"start":{"line":19,"column":26},"end":{"line":19,"column":63}},"27":{"start":{"line":20,"column":18},"end":{"line":20,"column":74}},"28":{"start":{"line":21,"column":4},"end":{"line":21,"column":19}},"29":{"start":{"line":23,"column":0},"end":{"line":23,"column":42}},"30":{"start":{"line":25,"column":19},"end":{"line":25,"column":62}},"31":{"start":{"line":26,"column":29},"end":{"line":26,"column":63}},"32":{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},"33":{"start":{"line":28,"column":18},"end":{"line":28,"column":88}},"34":{"start":{"line":29,"column":8},"end":{"line":29,"column":29}},"35":{"start":{"line":31,"column":34},"end":{"line":31,"column":64}},"36":{"start":{"line":32,"column":15},"end":{"line":32,"column":51}},"37":{"start":{"line":33,"column":44},"end":{"line":33,"column":80}},"38":{"start":{"line":34,"column":21},"end":{"line":34,"column":83}},"39":{"start":{"line":35,"column":29},"end":{"line":35,"column":143}},"40":{"start":{"line":36,"column":26},"end":{"line":36,"column":70}},"41":{"start":{"line":37,"column":18},"end":{"line":37,"column":69}},"42":{"start":{"line":38,"column":4},"end":{"line":38,"column":19}},"43":{"start":{"line":41,"column":25},"end":{"line":41,"column":72}},"44":{"start":{"line":42,"column":19},"end":{"line":42,"column":55}},"45":{"start":{"line":43,"column":20},"end":{"line":43,"column":47}},"46":{"start":{"line":44,"column":28},"end":{"line":44,"column":53}},"47":{"start":{"line":45,"column":28},"end":{"line":45,"column":67}},"48":{"start":{"line":46,"column":4},"end":{"line":46,"column":84}},"49":{"start":{"line":47,"column":4},"end":{"line":49,"column":5}},"50":{"start":{"line":48,"column":8},"end":{"line":48,"column":55}},"51":{"start":{"line":50,"column":4},"end":{"line":62,"column":5}},"52":{"start":{"line":51,"column":23},"end":{"line":51,"column":51}},"53":{"start":{"line":52,"column":25},"end":{"line":52,"column":55}},"54":{"start":{"line":53,"column":26},"end":{"line":53,"column":57}},"55":{"start":{"line":54,"column":29},"end":{"line":54,"column":66}},"56":{"start":{"line":55,"column":8},"end":{"line":58,"column":9}},"57":{"start":{"line":56,"column":22},"end":{"line":56,"column":120}},"58":{"start":{"line":57,"column":12},"end":{"line":57,"column":33}},"59":{"start":{"line":59,"column":21},"end":{"line":59,"column":132}},"60":{"start":{"line":60,"column":8},"end":{"line":60,"column":41}},"61":{"start":{"line":61,"column":8},"end":{"line":61,"column":22}},"62":{"start":{"line":63,"column":4},"end":{"line":63,"column":16}},"63":{"start":{"line":66,"column":18},"end":{"line":66,"column":20}},"64":{"start":{"line":67,"column":4},"end":{"line":73,"column":5}},"65":{"start":{"line":67,"column":17},"end":{"line":67,"column":18}},"66":{"start":{"line":68,"column":20},"end":{"line":68,"column":21}},"67":{"start":{"line":69,"column":21},"end":{"line":69,"column":129}},"68":{"start":{"line":70,"column":8},"end":{"line":72,"column":9}},"69":{"start":{"line":71,"column":12},"end":{"line":71,"column":33}},"70":{"start":{"line":74,"column":4},"end":{"line":74,"column":19}},"71":{"start":{"line":77,"column":29},"end":{"line":77,"column":82}},"72":{"start":{"line":78,"column":18},"end":{"line":78,"column":20}},"73":{"start":{"line":79,"column":15},"end":{"line":79,"column":46}},"74":{"start":{"line":80,"column":4},"end":{"line":89,"column":5}},"75":{"start":{"line":80,"column":18},"end":{"line":80,"column":19}},"76":{"start":{"line":80,"column":30},"end":{"line":80,"column":34}},"77":{"start":{"line":81,"column":18},"end":{"line":81,"column":28}},"78":{"start":{"line":82,"column":29},"end":{"line":82,"column":52}},"79":{"start":{"line":83,"column":23},"end":{"line":83,"column":68}},"80":{"start":{"line":84,"column":25},"end":{"line":84,"column":51}},"81":{"start":{"line":85,"column":33},"end":{"line":85,"column":72}},"82":{"start":{"line":86,"column":21},"end":{"line":86,"column":117}},"83":{"start":{"line":87,"column":8},"end":{"line":87,"column":41}},"84":{"start":{"line":88,"column":8},"end":{"line":88,"column":29}},"85":{"start":{"line":90,"column":26},"end":{"line":90,"column":86}},"86":{"start":{"line":91,"column":4},"end":{"line":94,"column":5}},"87":{"start":{"line":92,"column":26},"end":{"line":92,"column":81}},"88":{"start":{"line":93,"column":8},"end":{"line":93,"column":55}},"89":{"start":{"line":95,"column":4},"end":{"line":95,"column":19}},"90":{"start":{"line":98,"column":26},"end":{"line":98,"column":75}},"91":{"start":{"line":99,"column":4},"end":{"line":118,"column":5}},"92":{"start":{"line":100,"column":34},"end":{"line":100,"column":82}},"93":{"start":{"line":101,"column":22},"end":{"line":101,"column":92}},"94":{"start":{"line":102,"column":23},"end":{"line":106,"column":10}},"95":{"start":{"line":103,"column":12},"end":{"line":105,"column":15}},"96":{"start":{"line":104,"column":16},"end":{"line":104,"column":60}},"97":{"start":{"line":107,"column":29},"end":{"line":107,"column":65}},"98":{"start":{"line":108,"column":30},"end":{"line":108,"column":61}},"99":{"start":{"line":109,"column":8},"end":{"line":114,"column":9}},"100":{"start":{"line":110,"column":12},"end":{"line":110,"column":35}},"101":{"start":{"line":113,"column":12},"end":{"line":113,"column":80}},"102":{"start":{"line":117,"column":8},"end":{"line":117,"column":17}},"103":{"start":{"line":120,"column":0},"end":{"line":120,"column":66}},"104":{"start":{"line":122,"column":28},"end":{"line":122,"column":30}},"105":{"start":{"line":123,"column":4},"end":{"line":125,"column":7}},"106":{"start":{"line":124,"column":8},"end":{"line":124,"column":54}},"107":{"start":{"line":126,"column":4},"end":{"line":131,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":54},"end":{"line":2,"column":55}},"loc":{"start":{"line":2,"column":66},"end":{"line":8,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":75},"end":{"line":16,"column":76}},"loc":{"start":{"line":16,"column":87},"end":{"line":16,"column":130}},"line":16},"2":{"name":"getDependencies","decl":{"start":{"line":18,"column":9},"end":{"line":18,"column":24}},"loc":{"start":{"line":18,"column":47},"end":{"line":22,"column":1}},"line":18},"3":{"name":"getTargets","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":19}},"loc":{"start":{"line":24,"column":72},"end":{"line":39,"column":1}},"line":24},"4":{"name":"getConstructorArgsAsTarget","decl":{"start":{"line":40,"column":9},"end":{"line":40,"column":35}},"loc":{"start":{"line":40,"column":118},"end":{"line":64,"column":1}},"line":40},"5":{"name":"getConstructorArgsAsTargets","decl":{"start":{"line":65,"column":9},"end":{"line":65,"column":36}},"loc":{"start":{"line":65,"column":124},"end":{"line":75,"column":1}},"line":65},"6":{"name":"getClassPropsAsTargets","decl":{"start":{"line":76,"column":9},"end":{"line":76,"column":31}},"loc":{"start":{"line":76,"column":65},"end":{"line":96,"column":1}},"line":76},"7":{"name":"getBaseClassDependencyCount","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":36}},"loc":{"start":{"line":97,"column":59},"end":{"line":119,"column":1}},"line":97},"8":{"name":"(anonymous_8)","decl":{"start":{"line":102,"column":35},"end":{"line":102,"column":36}},"loc":{"start":{"line":102,"column":48},"end":{"line":106,"column":9}},"line":102},"9":{"name":"(anonymous_9)","decl":{"start":{"line":103,"column":37},"end":{"line":103,"column":38}},"loc":{"start":{"line":103,"column":50},"end":{"line":105,"column":13}},"line":103},"10":{"name":"formatTargetMetadata","decl":{"start":{"line":121,"column":9},"end":{"line":121,"column":29}},"loc":{"start":{"line":121,"column":46},"end":{"line":132,"column":1}},"line":121},"11":{"name":"(anonymous_11)","decl":{"start":{"line":123,"column":27},"end":{"line":123,"column":28}},"loc":{"start":{"line":123,"column":40},"end":{"line":125,"column":5}},"line":123}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":21},"end":{"line":8,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":22},"end":{"line":2,"column":26}},{"start":{"line":2,"column":30},"end":{"line":2,"column":49}},{"start":{"line":2,"column":54},"end":{"line":8,"column":1}}],"line":2},"1":{"loc":{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":30,"column":5}},{"start":{"line":27,"column":4},"end":{"line":30,"column":5}}],"line":27},"2":{"loc":{"start":{"line":33,"column":44},"end":{"line":33,"column":80}},"type":"binary-expr","locations":[{"start":{"line":33,"column":44},"end":{"line":33,"column":61}},{"start":{"line":33,"column":65},"end":{"line":33,"column":80}}],"line":33},"3":{"loc":{"start":{"line":34,"column":21},"end":{"line":34,"column":83}},"type":"cond-expr","locations":[{"start":{"line":34,"column":58},"end":{"line":34,"column":69}},{"start":{"line":34,"column":72},"end":{"line":34,"column":83}}],"line":34},"4":{"loc":{"start":{"line":41,"column":25},"end":{"line":41,"column":72}},"type":"binary-expr","locations":[{"start":{"line":41,"column":25},"end":{"line":41,"column":66}},{"start":{"line":41,"column":70},"end":{"line":41,"column":72}}],"line":41},"5":{"loc":{"start":{"line":45,"column":28},"end":{"line":45,"column":67}},"type":"binary-expr","locations":[{"start":{"line":45,"column":28},"end":{"line":45,"column":43}},{"start":{"line":45,"column":47},"end":{"line":45,"column":67}}],"line":45},"6":{"loc":{"start":{"line":46,"column":24},"end":{"line":46,"column":83}},"type":"cond-expr","locations":[{"start":{"line":46,"column":46},"end":{"line":46,"column":62}},{"start":{"line":46,"column":66},"end":{"line":46,"column":83}}],"line":46},"7":{"loc":{"start":{"line":47,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":49,"column":5}},{"start":{"line":47,"column":4},"end":{"line":49,"column":5}}],"line":47},"8":{"loc":{"start":{"line":50,"column":4},"end":{"line":62,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":4},"end":{"line":62,"column":5}},{"start":{"line":50,"column":4},"end":{"line":62,"column":5}}],"line":50},"9":{"loc":{"start":{"line":54,"column":29},"end":{"line":54,"column":66}},"type":"binary-expr","locations":[{"start":{"line":54,"column":29},"end":{"line":54,"column":37}},{"start":{"line":54,"column":41},"end":{"line":54,"column":51}},{"start":{"line":54,"column":55},"end":{"line":54,"column":66}}],"line":54},"10":{"loc":{"start":{"line":55,"column":8},"end":{"line":58,"column":9}},"type":"if","locations":[{"start":{"line":55,"column":8},"end":{"line":58,"column":9}},{"start":{"line":55,"column":8},"end":{"line":58,"column":9}}],"line":55},"11":{"loc":{"start":{"line":55,"column":12},"end":{"line":55,"column":41}},"type":"binary-expr","locations":[{"start":{"line":55,"column":12},"end":{"line":55,"column":24}},{"start":{"line":55,"column":28},"end":{"line":55,"column":41}}],"line":55},"12":{"loc":{"start":{"line":70,"column":8},"end":{"line":72,"column":9}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":72,"column":9}},{"start":{"line":70,"column":8},"end":{"line":72,"column":9}}],"line":70},"13":{"loc":{"start":{"line":84,"column":25},"end":{"line":84,"column":51}},"type":"binary-expr","locations":[{"start":{"line":84,"column":25},"end":{"line":84,"column":44}},{"start":{"line":84,"column":48},"end":{"line":84,"column":51}}],"line":84},"14":{"loc":{"start":{"line":85,"column":33},"end":{"line":85,"column":72}},"type":"binary-expr","locations":[{"start":{"line":85,"column":33},"end":{"line":85,"column":48}},{"start":{"line":85,"column":52},"end":{"line":85,"column":72}}],"line":85},"15":{"loc":{"start":{"line":91,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":91,"column":4},"end":{"line":94,"column":5}},{"start":{"line":91,"column":4},"end":{"line":94,"column":5}}],"line":91},"16":{"loc":{"start":{"line":99,"column":4},"end":{"line":118,"column":5}},"type":"if","locations":[{"start":{"line":99,"column":4},"end":{"line":118,"column":5}},{"start":{"line":99,"column":4},"end":{"line":118,"column":5}}],"line":99},"17":{"loc":{"start":{"line":109,"column":8},"end":{"line":114,"column":9}},"type":"if","locations":[{"start":{"line":109,"column":8},"end":{"line":114,"column":9}},{"start":{"line":109,"column":8},"end":{"line":114,"column":9}}],"line":109}},"s":{"0":1,"1":8086,"2":8086,"3":8086,"4":8086,"5":16172,"6":8086,"7":8086,"8":8086,"9":8086,"10":16172,"11":16172,"12":16172,"13":16172,"14":7965,"15":8086,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":8058,"27":8058,"28":8055,"29":1,"30":8073,"31":8073,"32":8073,"33":2,"34":2,"35":8071,"36":8071,"37":8071,"38":8071,"39":8071,"40":8069,"41":8069,"42":8069,"43":7955,"44":7955,"45":7955,"46":7955,"47":7955,"48":7955,"49":7955,"50":0,"51":7955,"52":7946,"53":7946,"54":7946,"55":7946,"56":7946,"57":2,"58":2,"59":7944,"60":7944,"61":7944,"62":9,"63":8071,"64":8071,"65":8071,"66":7955,"67":7955,"68":7953,"69":7944,"70":8069,"71":8086,"72":8086,"73":8086,"74":8086,"75":8086,"76":8086,"77":17,"78":17,"79":17,"80":17,"81":17,"82":17,"83":17,"84":17,"85":8086,"86":8086,"87":17,"88":17,"89":8086,"90":8056,"91":8056,"92":15,"93":15,"94":14,"95":9,"96":7,"97":14,"98":14,"99":14,"100":9,"101":5,"102":8041,"103":1,"104":7972,"105":7972,"106":8036,"107":7972},"f":{"0":8086,"1":1,"2":8058,"3":8073,"4":7955,"5":8071,"6":8086,"7":8056,"8":9,"9":7,"10":7972,"11":8036},"b":{"0":[1,1,1],"1":[2,8071],"2":[8071,2297],"3":[9,8062],"4":[7955,18],"5":[7955,33],"6":[7928,27],"7":[0,7955],"8":[7946,9],"9":[7946,7944,7943],"10":[2,7944],"11":[7946,7939],"12":[7944,9],"13":[17,17],"14":[17,1],"15":[17,8069],"16":[15,8041],"17":[9,5]},"inputSourceMap":{"version":3,"sources":["planning/reflection_utils.ts"],"names":[],"mappings":"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","file":"reflection_utils.js","sourcesContent":["import { LazyServiceIdentifer } from \"../annotation/inject\";\nimport * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { TargetTypeEnum } from \"../constants/literal_types\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { getFunctionName } from \"../utils/serialization\";\nimport { Target } from \"./target\";\n\nfunction getDependencies(\n metadataReader: interfaces.MetadataReader, func: Function\n): interfaces.Target[] {\n const constructorName = getFunctionName(func);\n const targets: interfaces.Target[] = getTargets(metadataReader, constructorName, func, false);\n return targets;\n}\n\nfunction getTargets(\n metadataReader: interfaces.MetadataReader, constructorName: string, func: Function, isBaseClass: boolean\n): interfaces.Target[] {\n\n const metadata = metadataReader.getConstructorMetadata(func);\n\n // TypeScript compiler generated annotations\n const serviceIdentifiers = metadata.compilerGeneratedMetadata;\n\n // All types resolved must be annotated with @injectable\n if (serviceIdentifiers === undefined) {\n const msg = `${ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION} ${constructorName}.`;\n throw new Error(msg);\n }\n\n // User generated annotations\n const constructorArgsMetadata = metadata.userGeneratedMetadata;\n\n const keys = Object.keys(constructorArgsMetadata);\n const hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0);\n const iterations = (hasUserDeclaredUnknownInjections) ? keys.length : func.length;\n\n // Target instances that represent constructor arguments to be injected\n const constructorTargets = getConstructorArgsAsTargets(\n isBaseClass,\n constructorName,\n serviceIdentifiers,\n constructorArgsMetadata,\n iterations\n );\n\n // Target instances that represent properties to be injected\n const propertyTargets = getClassPropsAsTargets(metadataReader, func);\n\n const targets = [\n ...constructorTargets,\n ...propertyTargets\n ];\n\n return targets;\n\n}\nfunction getConstructorArgsAsTarget(\n index: number,\n isBaseClass: boolean,\n constructorName: string,\n serviceIdentifiers: any,\n constructorArgsMetadata: any\n) {\n // Create map from array of metadata for faster access to metadata\n const targetMetadata = constructorArgsMetadata[index.toString()] || [];\n const metadata = formatTargetMetadata(targetMetadata);\n const isManaged = metadata.unmanaged !== true;\n\n // Take types to be injected from user-generated metadata\n // if not available use compiler-generated metadata\n let serviceIdentifier = serviceIdentifiers[index];\n const injectIdentifier = (metadata.inject || metadata.multiInject);\n serviceIdentifier = (injectIdentifier) ? (injectIdentifier) : serviceIdentifier;\n\n // we unwrap LazyServiceIdentifer wrappers to allow circular dependencies on symbols\n if (serviceIdentifier instanceof LazyServiceIdentifer) {\n serviceIdentifier = serviceIdentifier.unwrap();\n }\n\n // Types Object and Function are too ambiguous to be resolved\n // user needs to generate metadata manually for those\n if (isManaged) {\n\n const isObject = serviceIdentifier === Object;\n const isFunction = serviceIdentifier === Function;\n const isUndefined = serviceIdentifier === undefined;\n const isUnknownType = (isObject || isFunction || isUndefined);\n\n if (!isBaseClass && isUnknownType) {\n const msg = `${ERROR_MSGS.MISSING_INJECT_ANNOTATION} argument ${index} in class ${constructorName}.`;\n throw new Error(msg);\n }\n\n const target = new Target(TargetTypeEnum.ConstructorArgument, metadata.targetName, serviceIdentifier);\n target.metadata = targetMetadata;\n return target;\n }\n\n return null;\n\n}\n\nfunction getConstructorArgsAsTargets(\n isBaseClass: boolean,\n constructorName: string,\n serviceIdentifiers: any,\n constructorArgsMetadata: any,\n iterations: number\n) {\n\n const targets: interfaces.Target[] = [];\n for (let i = 0; i < iterations; i++) {\n const index = i;\n const target = getConstructorArgsAsTarget(\n index,\n isBaseClass,\n constructorName,\n serviceIdentifiers,\n constructorArgsMetadata\n );\n if (target !== null) {\n targets.push(target);\n }\n }\n\n return targets;\n}\n\nfunction getClassPropsAsTargets(metadataReader: interfaces.MetadataReader, constructorFunc: Function) {\n\n const classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc);\n let targets: interfaces.Target[] = [];\n const keys = Object.keys(classPropsMetadata);\n\n for (const key of keys) {\n\n // the metadata for the property being injected\n const targetMetadata = classPropsMetadata[key];\n\n // the metadata formatted for easier access\n const metadata = formatTargetMetadata(classPropsMetadata[key]);\n\n // the name of the property being injected\n const targetName = metadata.targetName || key;\n\n // Take types to be injected from user-generated metadata\n const serviceIdentifier = (metadata.inject || metadata.multiInject);\n\n // The property target\n const target = new Target(TargetTypeEnum.ClassProperty, targetName, serviceIdentifier);\n target.metadata = targetMetadata;\n targets.push(target);\n }\n\n // Check if base class has injected properties\n const baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;\n\n if (baseConstructor !== Object) {\n\n const baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor);\n\n targets = [\n ...targets,\n ...baseTargets\n ];\n\n }\n\n return targets;\n}\n\nfunction getBaseClassDependencyCount(metadataReader: interfaces.MetadataReader, func: Function): number {\n\n const baseConstructor = Object.getPrototypeOf(func.prototype).constructor;\n\n if (baseConstructor !== Object) {\n\n // get targets for base class\n const baseConstructorName = getFunctionName(baseConstructor);\n\n const targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true);\n\n // get unmanaged metadata\n const metadata: any[] = targets.map((t: interfaces.Target) =>\n t.metadata.filter((m: interfaces.Metadata) =>\n m.key === METADATA_KEY.UNMANAGED_TAG));\n\n // Compare the number of constructor arguments with the number of\n // unmanaged dependencies unmanaged dependencies are not required\n const unmanagedCount = [].concat.apply([], metadata).length;\n const dependencyCount = targets.length - unmanagedCount;\n\n if (dependencyCount > 0) {\n return dependencyCount;\n } else {\n return getBaseClassDependencyCount(metadataReader, baseConstructor);\n }\n\n } else {\n return 0;\n }\n\n}\n\nfunction formatTargetMetadata(targetMetadata: any[]) {\n\n // Create map from array of metadata for faster access to metadata\n const targetMetadataMap: any = {};\n targetMetadata.forEach((m: interfaces.Metadata) => {\n targetMetadataMap[m.key.toString()] = m.value;\n });\n\n // user generated metadata\n return {\n inject : targetMetadataMap[METADATA_KEY.INJECT_TAG],\n multiInject: targetMetadataMap[METADATA_KEY.MULTI_INJECT_TAG],\n targetName: targetMetadataMap[METADATA_KEY.NAME_TAG],\n unmanaged: targetMetadataMap[METADATA_KEY.UNMANAGED_TAG]\n };\n\n}\n\nexport { getDependencies, getBaseClassDependencyCount, getFunctionName };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"efd3d45872311b1b4d925d3378030f35f2f78867","contentHash":"03df5a176d55c8578f89d21852d193e77e1ea0986380b6f26751208d593284ae"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/target.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/target.js","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":19},"end":{"line":4,"column":56}},"3":{"start":{"line":5,"column":11},"end":{"line":5,"column":33}},"4":{"start":{"line":6,"column":17},"end":{"line":6,"column":38}},"5":{"start":{"line":7,"column":25},"end":{"line":7,"column":54}},"6":{"start":{"line":8,"column":14},"end":{"line":90,"column":3}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":28}},"8":{"start":{"line":11,"column":8},"end":{"line":11,"column":25}},"9":{"start":{"line":12,"column":8},"end":{"line":12,"column":51}},"10":{"start":{"line":13,"column":8},"end":{"line":13,"column":71}},"11":{"start":{"line":14,"column":8},"end":{"line":14,"column":36}},"12":{"start":{"line":15,"column":27},"end":{"line":15,"column":31}},"13":{"start":{"line":16,"column":8},"end":{"line":21,"column":9}},"14":{"start":{"line":17,"column":12},"end":{"line":17,"column":90}},"15":{"start":{"line":19,"column":13},"end":{"line":21,"column":9}},"16":{"start":{"line":20,"column":12},"end":{"line":20,"column":41}},"17":{"start":{"line":22,"column":8},"end":{"line":24,"column":9}},"18":{"start":{"line":23,"column":12},"end":{"line":23,"column":45}},"19":{"start":{"line":26,"column":4},"end":{"line":34,"column":6}},"20":{"start":{"line":27,"column":8},"end":{"line":32,"column":9}},"21":{"start":{"line":27,"column":22},"end":{"line":27,"column":23}},"22":{"start":{"line":27,"column":30},"end":{"line":27,"column":43}},"23":{"start":{"line":28,"column":20},"end":{"line":28,"column":26}},"24":{"start":{"line":29,"column":12},"end":{"line":31,"column":13}},"25":{"start":{"line":30,"column":16},"end":{"line":30,"column":28}},"26":{"start":{"line":33,"column":8},"end":{"line":33,"column":21}},"27":{"start":{"line":35,"column":4},"end":{"line":37,"column":6}},"28":{"start":{"line":36,"column":8},"end":{"line":36,"column":58}},"29":{"start":{"line":38,"column":4},"end":{"line":40,"column":6}},"30":{"start":{"line":39,"column":8},"end":{"line":39,"column":68}},"31":{"start":{"line":41,"column":4},"end":{"line":43,"column":6}},"32":{"start":{"line":42,"column":8},"end":{"line":42,"column":51}},"33":{"start":{"line":44,"column":4},"end":{"line":52,"column":6}},"34":{"start":{"line":45,"column":8},"end":{"line":51,"column":11}},"35":{"start":{"line":46,"column":12},"end":{"line":50,"column":51}},"36":{"start":{"line":53,"column":4},"end":{"line":55,"column":6}},"37":{"start":{"line":54,"column":8},"end":{"line":54,"column":64}},"38":{"start":{"line":56,"column":4},"end":{"line":61,"column":6}},"39":{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},"40":{"start":{"line":58,"column":12},"end":{"line":58,"column":102}},"41":{"start":{"line":58,"column":55},"end":{"line":58,"column":95}},"42":{"start":{"line":60,"column":8},"end":{"line":60,"column":20}},"43":{"start":{"line":62,"column":4},"end":{"line":73,"column":6}},"44":{"start":{"line":63,"column":8},"end":{"line":71,"column":9}},"45":{"start":{"line":64,"column":12},"end":{"line":70,"column":15}},"46":{"start":{"line":65,"column":16},"end":{"line":69,"column":55}},"47":{"start":{"line":72,"column":8},"end":{"line":72,"column":20}},"48":{"start":{"line":74,"column":4},"end":{"line":76,"column":6}},"49":{"start":{"line":75,"column":8},"end":{"line":75,"column":61}},"50":{"start":{"line":77,"column":4},"end":{"line":88,"column":6}},"51":{"start":{"line":78,"column":20},"end":{"line":78,"column":24}},"52":{"start":{"line":79,"column":8},"end":{"line":87,"column":10}},"53":{"start":{"line":80,"column":12},"end":{"line":85,"column":13}},"54":{"start":{"line":80,"column":26},"end":{"line":80,"column":27}},"55":{"start":{"line":80,"column":34},"end":{"line":80,"column":48}},"56":{"start":{"line":81,"column":24},"end":{"line":81,"column":30}},"57":{"start":{"line":82,"column":16},"end":{"line":84,"column":17}},"58":{"start":{"line":83,"column":20},"end":{"line":83,"column":32}},"59":{"start":{"line":86,"column":12},"end":{"line":86,"column":25}},"60":{"start":{"line":89,"column":4},"end":{"line":89,"column":18}},"61":{"start":{"line":91,"column":0},"end":{"line":91,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":14},"end":{"line":8,"column":15}},"loc":{"start":{"line":8,"column":26},"end":{"line":90,"column":1}},"line":8},"1":{"name":"Target","decl":{"start":{"line":9,"column":13},"end":{"line":9,"column":19}},"loc":{"start":{"line":9,"column":66},"end":{"line":25,"column":5}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":30},"end":{"line":26,"column":31}},"loc":{"start":{"line":26,"column":45},"end":{"line":34,"column":5}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":35,"column":31},"end":{"line":35,"column":32}},"loc":{"start":{"line":35,"column":43},"end":{"line":37,"column":5}},"line":35},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":36},"end":{"line":38,"column":37}},"loc":{"start":{"line":38,"column":52},"end":{"line":40,"column":5}},"line":38},"5":{"name":"(anonymous_5)","decl":{"start":{"line":41,"column":31},"end":{"line":41,"column":32}},"loc":{"start":{"line":41,"column":43},"end":{"line":43,"column":5}},"line":41},"6":{"name":"(anonymous_6)","decl":{"start":{"line":44,"column":32},"end":{"line":44,"column":33}},"loc":{"start":{"line":44,"column":44},"end":{"line":52,"column":5}},"line":44},"7":{"name":"(anonymous_7)","decl":{"start":{"line":45,"column":34},"end":{"line":45,"column":35}},"loc":{"start":{"line":45,"column":47},"end":{"line":51,"column":9}},"line":45},"8":{"name":"(anonymous_8)","decl":{"start":{"line":53,"column":34},"end":{"line":53,"column":35}},"loc":{"start":{"line":53,"column":46},"end":{"line":55,"column":5}},"line":53},"9":{"name":"(anonymous_9)","decl":{"start":{"line":56,"column":35},"end":{"line":56,"column":36}},"loc":{"start":{"line":56,"column":47},"end":{"line":61,"column":5}},"line":56},"10":{"name":"(anonymous_10)","decl":{"start":{"line":58,"column":40},"end":{"line":58,"column":41}},"loc":{"start":{"line":58,"column":53},"end":{"line":58,"column":97}},"line":58},"11":{"name":"(anonymous_11)","decl":{"start":{"line":62,"column":37},"end":{"line":62,"column":38}},"loc":{"start":{"line":62,"column":49},"end":{"line":73,"column":5}},"line":62},"12":{"name":"(anonymous_12)","decl":{"start":{"line":64,"column":40},"end":{"line":64,"column":41}},"loc":{"start":{"line":64,"column":53},"end":{"line":70,"column":13}},"line":64},"13":{"name":"(anonymous_13)","decl":{"start":{"line":74,"column":39},"end":{"line":74,"column":40}},"loc":{"start":{"line":74,"column":55},"end":{"line":76,"column":5}},"line":74},"14":{"name":"(anonymous_14)","decl":{"start":{"line":77,"column":34},"end":{"line":77,"column":35}},"loc":{"start":{"line":77,"column":49},"end":{"line":88,"column":5}},"line":77},"15":{"name":"(anonymous_15)","decl":{"start":{"line":79,"column":15},"end":{"line":79,"column":16}},"loc":{"start":{"line":79,"column":32},"end":{"line":87,"column":9}},"line":79}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":59},"end":{"line":13,"column":69}},"type":"binary-expr","locations":[{"start":{"line":13,"column":59},"end":{"line":13,"column":63}},{"start":{"line":13,"column":67},"end":{"line":13,"column":69}}],"line":13},"1":{"loc":{"start":{"line":16,"column":8},"end":{"line":21,"column":9}},"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":21,"column":9}},{"start":{"line":16,"column":8},"end":{"line":21,"column":9}}],"line":16},"2":{"loc":{"start":{"line":19,"column":13},"end":{"line":21,"column":9}},"type":"if","locations":[{"start":{"line":19,"column":13},"end":{"line":21,"column":9}},{"start":{"line":19,"column":13},"end":{"line":21,"column":9}}],"line":19},"3":{"loc":{"start":{"line":22,"column":8},"end":{"line":24,"column":9}},"type":"if","locations":[{"start":{"line":22,"column":8},"end":{"line":24,"column":9}},{"start":{"line":22,"column":8},"end":{"line":24,"column":9}}],"line":22},"4":{"loc":{"start":{"line":29,"column":12},"end":{"line":31,"column":13}},"type":"if","locations":[{"start":{"line":29,"column":12},"end":{"line":31,"column":13}},{"start":{"line":29,"column":12},"end":{"line":31,"column":13}}],"line":29},"5":{"loc":{"start":{"line":46,"column":19},"end":{"line":50,"column":50}},"type":"binary-expr","locations":[{"start":{"line":46,"column":20},"end":{"line":46,"column":53}},{"start":{"line":47,"column":17},"end":{"line":47,"column":56}},{"start":{"line":48,"column":17},"end":{"line":48,"column":48}},{"start":{"line":49,"column":17},"end":{"line":49,"column":53}},{"start":{"line":50,"column":17},"end":{"line":50,"column":49}}],"line":46},"6":{"loc":{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},"type":"if","locations":[{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},{"start":{"line":57,"column":8},"end":{"line":59,"column":9}}],"line":57},"7":{"loc":{"start":{"line":63,"column":8},"end":{"line":71,"column":9}},"type":"if","locations":[{"start":{"line":63,"column":8},"end":{"line":71,"column":9}},{"start":{"line":63,"column":8},"end":{"line":71,"column":9}}],"line":63},"8":{"loc":{"start":{"line":65,"column":23},"end":{"line":69,"column":54}},"type":"binary-expr","locations":[{"start":{"line":65,"column":24},"end":{"line":65,"column":57}},{"start":{"line":66,"column":21},"end":{"line":66,"column":60}},{"start":{"line":67,"column":21},"end":{"line":67,"column":52}},{"start":{"line":68,"column":21},"end":{"line":68,"column":57}},{"start":{"line":69,"column":21},"end":{"line":69,"column":53}}],"line":65},"9":{"loc":{"start":{"line":82,"column":16},"end":{"line":84,"column":17}},"type":"if","locations":[{"start":{"line":82,"column":16},"end":{"line":84,"column":17}},{"start":{"line":82,"column":16},"end":{"line":84,"column":17}}],"line":82},"10":{"loc":{"start":{"line":82,"column":20},"end":{"line":82,"column":54}},"type":"binary-expr","locations":[{"start":{"line":82,"column":20},"end":{"line":82,"column":33}},{"start":{"line":82,"column":37},"end":{"line":82,"column":54}}],"line":82}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":8942,"8":8942,"9":8942,"10":8942,"11":8942,"12":8942,"13":8942,"14":7,"15":8935,"16":949,"17":8942,"18":956,"19":1,"20":19433,"21":19433,"22":19433,"23":19685,"24":19685,"25":115,"26":19318,"27":1,"28":19385,"29":1,"30":822,"31":1,"32":48,"33":1,"34":50,"35":71,"36":1,"37":1712,"38":1,"39":12,"40":8,"41":16,"42":4,"43":1,"44":10,"45":4,"46":8,"47":6,"48":1,"49":2,"50":1,"51":2708,"52":2708,"53":2708,"54":2708,"55":2708,"56":2888,"57":2888,"58":113,"59":2595,"60":1,"61":1},"f":{"0":1,"1":8942,"2":19433,"3":19385,"4":822,"5":48,"6":50,"7":71,"8":1712,"9":12,"10":16,"11":10,"12":8,"13":2,"14":2708,"15":2708},"b":{"0":[8942,8848],"1":[7,8935],"2":[949,7986],"3":[956,7986],"4":[115,19570],"5":[71,33,27,25,25],"6":[8,4],"7":[4,6],"8":[8,5,4,4,4],"9":[113,2775],"10":[2888,186]},"inputSourceMap":{"version":3,"sources":["planning/target.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAE3D,kCAAiC;AACjC,uCAAsC;AACtC,uDAAqD;AAErD;IAQI,gBACI,IAA2B,EAC3B,IAAY,EACZ,iBAAoD,EACpD,aAAmC;QAGnC,IAAI,CAAC,EAAE,GAAG,OAAE,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,kCAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAY,CAAC;QAEtC,IAAI,YAAY,GAA+B,IAAI,CAAC;QAGpD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACnC,YAAY,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;SACtE;aAAM,IAAI,aAAa,YAAY,mBAAQ,EAAE;YAE1C,YAAY,GAAG,aAAa,CAAC;SAChC;QAGD,IAAI,YAAY,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpC;IAEL,CAAC;IAEM,uBAAM,GAAb,UAAc,GAAW;QACrB,KAAgB,UAAa,EAAb,KAAA,IAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;YAA1B,IAAM,CAAC,SAAA;YACR,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBACf,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,wBAAO,GAAd;QACI,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAEM,6BAAY,GAAnB,UAAoB,IAAuC;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAEM,wBAAO,GAAd;QACI,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAEM,yBAAQ,GAAf;QACI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC;YACxB,OAAA,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,UAAU,CAAC;gBAC5B,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,gBAAgB,CAAC;gBACzC,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,QAAQ,CAAC;gBACjC,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,aAAa,CAAC;gBACtC,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,SAAS,CAAC;QAJzC,CAIyC,CAAC,CAAC;IACnD,CAAC;IAEM,2BAAU,GAAjB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEM,4BAAW,GAAlB;QACI,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,SAAS,EAAhC,CAAgC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3E;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,8BAAa,GAApB;QACI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC;gBAC1B,OAAA,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,UAAU,CAAC;oBAC/B,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,gBAAgB,CAAC;oBACzC,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,QAAQ,CAAC;oBACjC,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,aAAa,CAAC;oBACtC,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,SAAS,CAAC;YAJtC,CAIsC,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,gCAAe,GAAtB,UAAuB,IAAY;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,2BAAU,GAAjB,UAAkB,GAAW;QAA7B,iBASC;QARG,OAAO,UAAC,KAAU;YACd,KAAgB,UAAa,EAAb,KAAA,KAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA1B,IAAM,CAAC,SAAA;gBACR,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;oBACpC,OAAO,IAAI,CAAC;iBACf;aACJ;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;IACN,CAAC;IAEL,aAAC;AAAD,CA1GA,AA0GC,IAAA;AAEQ,wBAAM","file":"target.js","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { id } from \"../utils/id\";\nimport { Metadata } from \"./metadata\";\nimport { QueryableString } from \"./queryable_string\";\n\nclass Target implements interfaces.Target {\n\n public id: number;\n public type: interfaces.TargetType;\n public serviceIdentifier: interfaces.ServiceIdentifier<any>;\n public name: interfaces.QueryableString;\n public metadata: Metadata[];\n\n public constructor(\n type: interfaces.TargetType,\n name: string,\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n namedOrTagged?: (string | Metadata)\n ) {\n\n this.id = id();\n this.type = type;\n this.serviceIdentifier = serviceIdentifier;\n this.name = new QueryableString(name || \"\");\n this.metadata = new Array<Metadata>();\n\n let metadataItem: interfaces.Metadata | null = null;\n\n // is named target\n if (typeof namedOrTagged === \"string\") {\n metadataItem = new Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);\n } else if (namedOrTagged instanceof Metadata) {\n // is target with metadata\n metadataItem = namedOrTagged;\n }\n\n // target has metadata\n if (metadataItem !== null) {\n this.metadata.push(metadataItem);\n }\n\n }\n\n public hasTag(key: string): boolean {\n for (const m of this.metadata) {\n if (m.key === key) {\n return true;\n }\n }\n return false;\n }\n\n public isArray(): boolean {\n return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);\n }\n\n public matchesArray(name: interfaces.ServiceIdentifier<any>): boolean {\n return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);\n }\n\n public isNamed(): boolean {\n return this.hasTag(METADATA_KEY.NAMED_TAG);\n }\n\n public isTagged(): boolean {\n return this.metadata.some((m) =>\n (m.key !== METADATA_KEY.INJECT_TAG) &&\n (m.key !== METADATA_KEY.MULTI_INJECT_TAG) &&\n (m.key !== METADATA_KEY.NAME_TAG) &&\n (m.key !== METADATA_KEY.UNMANAGED_TAG) &&\n (m.key !== METADATA_KEY.NAMED_TAG));\n }\n\n public isOptional(): boolean {\n return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);\n }\n\n public getNamedTag(): interfaces.Metadata | null {\n if (this.isNamed()) {\n return this.metadata.filter((m) => m.key === METADATA_KEY.NAMED_TAG)[0];\n }\n return null;\n }\n\n public getCustomTags(): interfaces.Metadata[] | null {\n if (this.isTagged()) {\n return this.metadata.filter((m) =>\n (m.key !== METADATA_KEY.INJECT_TAG) &&\n (m.key !== METADATA_KEY.MULTI_INJECT_TAG) &&\n (m.key !== METADATA_KEY.NAME_TAG) &&\n (m.key !== METADATA_KEY.UNMANAGED_TAG) &&\n (m.key !== METADATA_KEY.NAMED_TAG));\n }\n return null;\n }\n\n public matchesNamedTag(name: string): boolean {\n return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);\n }\n\n public matchesTag(key: string) {\n return (value: any) => {\n for (const m of this.metadata) {\n if (m.key === key && m.value === value) {\n return true;\n }\n }\n return false;\n };\n }\n\n}\n\nexport { Target };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"cf8477fc1e1c0d87d93728318769f65b14b8186e","contentHash":"05065ab59851aeb3cf3bd0d37b9d4262aa4e229ce8c5e6ed94b32a1e983c8555"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/queryable_string.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/queryable_string.js","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":8947,"4":1,"5":8,"6":1,"7":4,"8":4,"9":4,"10":4,"11":1,"12":2,"13":1,"14":6,"15":1,"16":28,"17":1,"18":1},"f":{"0":1,"1":8947,"2":8,"3":4,"4":2,"5":6,"6":28},"b":{},"inputSourceMap":{"version":3,"sources":["planning/queryable_string.ts"],"names":[],"mappings":";;;AAEA;IAIE,yBAAmB,GAAW;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,oCAAU,GAAjB,UAAkB,YAAoB;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAEM,kCAAQ,GAAf,UAAgB,YAAoB;QAClC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAG,aAAa,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC5E,CAAC;IAEM,kCAAQ,GAAf,UAAgB,YAAoB;QAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAEM,gCAAM,GAAb,UAAc,aAAqB;QACjC,OAAO,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC;IACpC,CAAC;IAEM,+BAAK,GAAZ;QACE,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEH,sBAAC;AAAD,CA/BA,AA+BC,IAAA;AAEQ,0CAAe","file":"queryable_string.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nclass QueryableString implements interfaces.QueryableString {\n\n private str: string;\n\n public constructor(str: string) {\n this.str = str;\n }\n\n public startsWith(searchString: string): boolean {\n return this.str.indexOf(searchString) === 0;\n }\n\n public endsWith(searchString: string): boolean {\n let reverseString = \"\";\n const reverseSearchString = searchString.split(\"\").reverse().join(\"\");\n reverseString = this.str.split(\"\").reverse().join(\"\");\n return this.startsWith.call({ str : reverseString }, reverseSearchString);\n }\n\n public contains(searchString: string): boolean {\n return (this.str.indexOf(searchString) !== -1);\n }\n\n public equals(compareString: string): boolean {\n return this.str === compareString;\n }\n\n public value(): string {\n return this.str;\n }\n\n}\n\nexport { QueryableString };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d17777d59e7f5ed0b03af63fa359b016aadf1a6b","contentHash":"af55a1085b48c675eb535a3e94d422e1479612fbeb995fd4ec835f939795c1e2"},"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/request.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/planning/request.js","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":28}},"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":17816,"5":17816,"6":17816,"7":17816,"8":17816,"9":17816,"10":17816,"11":17816,"12":1,"13":7971,"14":7971,"15":7971,"16":1,"17":1},"f":{"0":1,"1":17816,"2":7971},"b":{"0":[8855,8961],"1":[1858,15958]},"inputSourceMap":{"version":3,"sources":["planning/request.ts"],"names":[],"mappings":";;;AACA,kCAAiC;AAEjC;IAWI,iBACI,iBAAoD,EACpD,aAAiC,EACjC,aAAwC,EACxC,QAA+D,EAC/D,MAAyB;QAErB,IAAI,CAAC,EAAE,GAAG,OAAE,EAAE,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;YACtC,CAAC,CAAC,IAAI,GAAG,EAAY;YACrB,CAAC,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,iCAAe,GAAtB,UACI,iBAAoD,EACpD,QAA+D,EAC/D,MAAyB;QAGrB,IAAM,KAAK,GAAG,IAAI,OAAO,CACrB,iBAAiB,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,EACJ,QAAQ,EACR,MAAM,CACT,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACrB,CAAC;IACL,cAAC;AAAD,CAhDA,AAgDC,IAAA;AAEQ,0BAAO","file":"request.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { id } from \"../utils/id\";\n\nclass Request implements interfaces.Request {\n\n public id: number;\n public serviceIdentifier: interfaces.ServiceIdentifier<any>;\n public parentContext: interfaces.Context;\n public parentRequest: interfaces.Request | null;\n public bindings: interfaces.Binding<any>[];\n public childRequests: interfaces.Request[];\n public target: interfaces.Target;\n public requestScope: interfaces.RequestScope;\n\n public constructor(\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n parentContext: interfaces.Context,\n parentRequest: interfaces.Request | null,\n bindings: (interfaces.Binding<any> | interfaces.Binding<any>[]),\n target: interfaces.Target\n ) {\n this.id = id();\n this.serviceIdentifier = serviceIdentifier;\n this.parentContext = parentContext;\n this.parentRequest = parentRequest;\n this.target = target;\n this.childRequests = [];\n this.bindings = (Array.isArray(bindings) ? bindings : [bindings]);\n\n // Set requestScope if Request is the root request\n this.requestScope = parentRequest === null\n ? new Map<any, any>()\n : null;\n }\n\n public addChildRequest(\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n bindings: (interfaces.Binding<any> | interfaces.Binding<any>[]),\n target: interfaces.Target\n ): interfaces.Request {\n\n const child = new Request(\n serviceIdentifier,\n this.parentContext,\n this,\n bindings,\n target\n );\n this.childRequests.push(child);\n return child;\n }\n}\n\nexport { Request };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b30a90842f6e7e432621dd656687fb6b7ec2a179","contentHash":"3539dd148b25621d2613365c2e2264c23b8c8810cc70ed9fd6fe927a362498f9"},"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/resolver.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/resolver.js","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":17},"end":{"line":4,"column":51}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":59}},"4":{"start":{"line":6,"column":19},"end":{"line":6,"column":49}},"5":{"start":{"line":7,"column":22},"end":{"line":7,"column":55}},"6":{"start":{"line":8,"column":22},"end":{"line":8,"column":48}},"7":{"start":{"line":9,"column":20},"end":{"line":21,"column":1}},"8":{"start":{"line":10,"column":4},"end":{"line":20,"column":5}},"9":{"start":{"line":11,"column":8},"end":{"line":11,"column":20}},"10":{"start":{"line":14,"column":8},"end":{"line":19,"column":9}},"11":{"start":{"line":15,"column":12},"end":{"line":15,"column":114}},"12":{"start":{"line":18,"column":12},"end":{"line":18,"column":24}},"13":{"start":{"line":22,"column":22},"end":{"line":94,"column":1}},"14":{"start":{"line":23,"column":4},"end":{"line":93,"column":6}},"15":{"start":{"line":24,"column":8},"end":{"line":24,"column":57}},"16":{"start":{"line":25,"column":23},"end":{"line":25,"column":39}},"17":{"start":{"line":26,"column":28},"end":{"line":26,"column":49}},"18":{"start":{"line":27,"column":30},"end":{"line":27,"column":72}},"19":{"start":{"line":28,"column":39},"end":{"line":31,"column":88}},"20":{"start":{"line":32,"column":8},"end":{"line":92,"column":9}},"21":{"start":{"line":33,"column":12},"end":{"line":36,"column":15}},"22":{"start":{"line":34,"column":25},"end":{"line":34,"column":54}},"23":{"start":{"line":35,"column":16},"end":{"line":35,"column":40}},"24":{"start":{"line":39,"column":25},"end":{"line":39,"column":29}},"25":{"start":{"line":40,"column":12},"end":{"line":42,"column":13}},"26":{"start":{"line":41,"column":16},"end":{"line":41,"column":33}},"27":{"start":{"line":43,"column":28},"end":{"line":43,"column":39}},"28":{"start":{"line":44,"column":30},"end":{"line":44,"column":92}},"29":{"start":{"line":45,"column":37},"end":{"line":45,"column":97}},"30":{"start":{"line":46,"column":12},"end":{"line":48,"column":13}},"31":{"start":{"line":47,"column":16},"end":{"line":47,"column":39}},"32":{"start":{"line":49,"column":12},"end":{"line":53,"column":13}},"33":{"start":{"line":52,"column":16},"end":{"line":52,"column":54}},"34":{"start":{"line":54,"column":12},"end":{"line":78,"column":13}},"35":{"start":{"line":55,"column":16},"end":{"line":55,"column":41}},"36":{"start":{"line":57,"column":17},"end":{"line":78,"column":13}},"37":{"start":{"line":58,"column":16},"end":{"line":58,"column":41}},"38":{"start":{"line":60,"column":17},"end":{"line":78,"column":13}},"39":{"start":{"line":61,"column":16},"end":{"line":61,"column":54}},"40":{"start":{"line":63,"column":17},"end":{"line":78,"column":13}},"41":{"start":{"line":64,"column":16},"end":{"line":64,"column":157}},"42":{"start":{"line":64,"column":100},"end":{"line":64,"column":153}},"43":{"start":{"line":66,"column":17},"end":{"line":78,"column":13}},"44":{"start":{"line":67,"column":16},"end":{"line":67,"column":147}},"45":{"start":{"line":67,"column":95},"end":{"line":67,"column":143}},"46":{"start":{"line":69,"column":17},"end":{"line":78,"column":13}},"47":{"start":{"line":70,"column":16},"end":{"line":70,"column":149}},"48":{"start":{"line":70,"column":96},"end":{"line":70,"column":145}},"49":{"start":{"line":72,"column":17},"end":{"line":78,"column":13}},"50":{"start":{"line":73,"column":16},"end":{"line":73,"column":133}},"51":{"start":{"line":76,"column":40},"end":{"line":76,"column":111}},"52":{"start":{"line":77,"column":16},"end":{"line":77,"column":91}},"53":{"start":{"line":79,"column":12},"end":{"line":81,"column":13}},"54":{"start":{"line":80,"column":16},"end":{"line":80,"column":79}},"55":{"start":{"line":82,"column":12},"end":{"line":85,"column":13}},"56":{"start":{"line":83,"column":16},"end":{"line":83,"column":41}},"57":{"start":{"line":84,"column":16},"end":{"line":84,"column":43}},"58":{"start":{"line":86,"column":12},"end":{"line":90,"column":13}},"59":{"start":{"line":89,"column":16},"end":{"line":89,"column":55}},"60":{"start":{"line":91,"column":12},"end":{"line":91,"column":26}},"61":{"start":{"line":96,"column":13},"end":{"line":96,"column":67}},"62":{"start":{"line":97,"column":4},"end":{"line":97,"column":40}},"63":{"start":{"line":99,"column":0},"end":{"line":99,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":20},"end":{"line":9,"column":21}},"loc":{"start":{"line":9,"column":66},"end":{"line":21,"column":1}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":22},"end":{"line":22,"column":23}},"loc":{"start":{"line":22,"column":46},"end":{"line":94,"column":1}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":11},"end":{"line":23,"column":12}},"loc":{"start":{"line":23,"column":30},"end":{"line":93,"column":5}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":37},"end":{"line":33,"column":38}},"loc":{"start":{"line":33,"column":61},"end":{"line":36,"column":13}},"line":33},"4":{"name":"(anonymous_4)","decl":{"start":{"line":64,"column":86},"end":{"line":64,"column":87}},"loc":{"start":{"line":64,"column":98},"end":{"line":64,"column":155}},"line":64},"5":{"name":"(anonymous_5)","decl":{"start":{"line":67,"column":81},"end":{"line":67,"column":82}},"loc":{"start":{"line":67,"column":93},"end":{"line":67,"column":145}},"line":67},"6":{"name":"(anonymous_6)","decl":{"start":{"line":70,"column":82},"end":{"line":70,"column":83}},"loc":{"start":{"line":70,"column":94},"end":{"line":70,"column":147}},"line":70},"7":{"name":"resolve","decl":{"start":{"line":95,"column":9},"end":{"line":95,"column":16}},"loc":{"start":{"line":95,"column":26},"end":{"line":98,"column":1}},"line":95}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":8},"end":{"line":19,"column":9}},"type":"if","locations":[{"start":{"line":14,"column":8},"end":{"line":19,"column":9}},{"start":{"line":14,"column":8},"end":{"line":19,"column":9}}],"line":14},"1":{"loc":{"start":{"line":27,"column":30},"end":{"line":27,"column":72}},"type":"binary-expr","locations":[{"start":{"line":27,"column":30},"end":{"line":27,"column":44}},{"start":{"line":27,"column":48},"end":{"line":27,"column":72}}],"line":27},"2":{"loc":{"start":{"line":28,"column":39},"end":{"line":31,"column":88}},"type":"binary-expr","locations":[{"start":{"line":28,"column":39},"end":{"line":28,"column":61}},{"start":{"line":29,"column":12},"end":{"line":29,"column":41}},{"start":{"line":30,"column":12},"end":{"line":30,"column":27}},{"start":{"line":31,"column":12},"end":{"line":31,"column":88}}],"line":28},"3":{"loc":{"start":{"line":32,"column":8},"end":{"line":92,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":92,"column":9}},{"start":{"line":32,"column":8},"end":{"line":92,"column":9}}],"line":32},"4":{"loc":{"start":{"line":32,"column":12},"end":{"line":32,"column":55}},"type":"binary-expr","locations":[{"start":{"line":32,"column":12},"end":{"line":32,"column":27}},{"start":{"line":32,"column":31},"end":{"line":32,"column":55}}],"line":32},"5":{"loc":{"start":{"line":40,"column":12},"end":{"line":42,"column":13}},"type":"if","locations":[{"start":{"line":40,"column":12},"end":{"line":42,"column":13}},{"start":{"line":40,"column":12},"end":{"line":42,"column":13}}],"line":40},"6":{"loc":{"start":{"line":40,"column":16},"end":{"line":40,"column":68}},"type":"binary-expr","locations":[{"start":{"line":40,"column":16},"end":{"line":40,"column":43}},{"start":{"line":40,"column":47},"end":{"line":40,"column":68}}],"line":40},"7":{"loc":{"start":{"line":46,"column":12},"end":{"line":48,"column":13}},"type":"if","locations":[{"start":{"line":46,"column":12},"end":{"line":48,"column":13}},{"start":{"line":46,"column":12},"end":{"line":48,"column":13}}],"line":46},"8":{"loc":{"start":{"line":46,"column":16},"end":{"line":46,"column":50}},"type":"binary-expr","locations":[{"start":{"line":46,"column":16},"end":{"line":46,"column":27}},{"start":{"line":46,"column":31},"end":{"line":46,"column":50}}],"line":46},"9":{"loc":{"start":{"line":49,"column":12},"end":{"line":53,"column":13}},"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":53,"column":13}},{"start":{"line":49,"column":12},"end":{"line":53,"column":13}}],"line":49},"10":{"loc":{"start":{"line":49,"column":16},"end":{"line":51,"column":46}},"type":"binary-expr","locations":[{"start":{"line":49,"column":16},"end":{"line":49,"column":34}},{"start":{"line":50,"column":16},"end":{"line":50,"column":37}},{"start":{"line":51,"column":16},"end":{"line":51,"column":46}}],"line":49},"11":{"loc":{"start":{"line":54,"column":12},"end":{"line":78,"column":13}},"type":"if","locations":[{"start":{"line":54,"column":12},"end":{"line":78,"column":13}},{"start":{"line":54,"column":12},"end":{"line":78,"column":13}}],"line":54},"12":{"loc":{"start":{"line":57,"column":17},"end":{"line":78,"column":13}},"type":"if","locations":[{"start":{"line":57,"column":17},"end":{"line":78,"column":13}},{"start":{"line":57,"column":17},"end":{"line":78,"column":13}}],"line":57},"13":{"loc":{"start":{"line":60,"column":17},"end":{"line":78,"column":13}},"type":"if","locations":[{"start":{"line":60,"column":17},"end":{"line":78,"column":13}},{"start":{"line":60,"column":17},"end":{"line":78,"column":13}}],"line":60},"14":{"loc":{"start":{"line":63,"column":17},"end":{"line":78,"column":13}},"type":"if","locations":[{"start":{"line":63,"column":17},"end":{"line":78,"column":13}},{"start":{"line":63,"column":17},"end":{"line":78,"column":13}}],"line":63},"15":{"loc":{"start":{"line":63,"column":21},"end":{"line":63,"column":119}},"type":"binary-expr","locations":[{"start":{"line":63,"column":21},"end":{"line":63,"column":84}},{"start":{"line":63,"column":88},"end":{"line":63,"column":119}}],"line":63},"16":{"loc":{"start":{"line":66,"column":17},"end":{"line":78,"column":13}},"type":"if","locations":[{"start":{"line":66,"column":17},"end":{"line":78,"column":13}},{"start":{"line":66,"column":17},"end":{"line":78,"column":13}}],"line":66},"17":{"loc":{"start":{"line":66,"column":21},"end":{"line":66,"column":109}},"type":"binary-expr","locations":[{"start":{"line":66,"column":21},"end":{"line":66,"column":79}},{"start":{"line":66,"column":83},"end":{"line":66,"column":109}}],"line":66},"18":{"loc":{"start":{"line":69,"column":17},"end":{"line":78,"column":13}},"type":"if","locations":[{"start":{"line":69,"column":17},"end":{"line":78,"column":13}},{"start":{"line":69,"column":17},"end":{"line":78,"column":13}}],"line":69},"19":{"loc":{"start":{"line":69,"column":21},"end":{"line":69,"column":111}},"type":"binary-expr","locations":[{"start":{"line":69,"column":21},"end":{"line":69,"column":80}},{"start":{"line":69,"column":84},"end":{"line":69,"column":111}}],"line":69},"20":{"loc":{"start":{"line":72,"column":17},"end":{"line":78,"column":13}},"type":"if","locations":[{"start":{"line":72,"column":17},"end":{"line":78,"column":13}},{"start":{"line":72,"column":17},"end":{"line":78,"column":13}}],"line":72},"21":{"loc":{"start":{"line":72,"column":21},"end":{"line":72,"column":121}},"type":"binary-expr","locations":[{"start":{"line":72,"column":21},"end":{"line":72,"column":80}},{"start":{"line":72,"column":84},"end":{"line":72,"column":121}}],"line":72},"22":{"loc":{"start":{"line":79,"column":12},"end":{"line":81,"column":13}},"type":"if","locations":[{"start":{"line":79,"column":12},"end":{"line":81,"column":13}},{"start":{"line":79,"column":12},"end":{"line":81,"column":13}}],"line":79},"23":{"loc":{"start":{"line":82,"column":12},"end":{"line":85,"column":13}},"type":"if","locations":[{"start":{"line":82,"column":12},"end":{"line":85,"column":13}},{"start":{"line":82,"column":12},"end":{"line":85,"column":13}}],"line":82},"24":{"loc":{"start":{"line":86,"column":12},"end":{"line":90,"column":13}},"type":"if","locations":[{"start":{"line":86,"column":12},"end":{"line":90,"column":13}},{"start":{"line":86,"column":12},"end":{"line":90,"column":13}}],"line":86},"25":{"loc":{"start":{"line":86,"column":16},"end":{"line":88,"column":47}},"type":"binary-expr","locations":[{"start":{"line":86,"column":16},"end":{"line":86,"column":34}},{"start":{"line":87,"column":16},"end":{"line":87,"column":37}},{"start":{"line":88,"column":16},"end":{"line":88,"column":47}}],"line":86}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":697,"9":697,"10":678,"11":28,"12":650,"13":1,"14":1793,"15":1697,"16":1697,"17":1697,"18":1697,"19":1697,"20":1697,"21":16,"22":26,"23":26,"24":1681,"25":1681,"26":3,"27":1678,"28":1678,"29":1678,"30":1678,"31":21,"32":1657,"33":4,"34":1653,"35":61,"36":1592,"37":1,"38":1591,"39":2,"40":1589,"41":690,"42":690,"43":899,"44":2,"45":2,"46":897,"47":5,"48":5,"49":892,"50":890,"51":2,"52":2,"53":295,"54":2,"55":295,"56":16,"57":16,"58":295,"59":6,"60":295,"61":877,"62":877,"63":1},"f":{"0":697,"1":1793,"2":1697,"3":26,"4":690,"5":2,"6":5,"7":877},"b":{"0":[28,650],"1":[1697,1697],"2":[1697,820,820,820],"3":[16,1681],"4":[1697,42],"5":[3,1678],"6":[1681,6],"7":[21,1657],"8":[1678,1393],"9":[4,1653],"10":[1657,10,10],"11":[61,1592],"12":[1,1591],"13":[2,1589],"14":[690,899],"15":[1589,690],"16":[2,897],"17":[899,2],"18":[5,892],"19":[897,5],"20":[890,2],"21":[892,890],"22":[2,293],"23":[16,279],"24":[6,289],"25":[295,6,6]},"inputSourceMap":{"version":3,"sources":["resolution/resolver.ts"],"names":[],"mappings":"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","file":"resolver.js","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { BindingScopeEnum, BindingTypeEnum } from \"../constants/literal_types\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { isStackOverflowExeption } from \"../utils/exceptions\";\nimport { getServiceIdentifierAsString } from \"../utils/serialization\";\nimport { resolveInstance } from \"./instantiation\";\n\ntype FactoryType = \"toDynamicValue\" | \"toFactory\" | \"toAutoFactory\" | \"toProvider\";\n\nconst invokeFactory = (\n factoryType: FactoryType,\n serviceIdentifier: interfaces.ServiceIdentifier<any>,\n fn: () => any\n) => {\n try {\n return fn();\n } catch (error) {\n if (isStackOverflowExeption(error)) {\n throw new Error(\n ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryType, serviceIdentifier.toString())\n );\n } else {\n throw error;\n }\n }\n};\n\nconst _resolveRequest = (requestScope: interfaces.RequestScope) =>\n (request: interfaces.Request): any => {\n\n request.parentContext.setCurrentRequest(request);\n\n const bindings = request.bindings;\n const childRequests = request.childRequests;\n\n const targetIsAnArray = request.target && request.target.isArray();\n\n const targetParentIsNotAnArray = !request.parentRequest ||\n !request.parentRequest.target ||\n !request.target ||\n !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);\n\n if (targetIsAnArray && targetParentIsNotAnArray) {\n\n // Create an array instead of creating an instance\n return childRequests.map((childRequest: interfaces.Request) => {\n const _f = _resolveRequest(requestScope);\n return _f(childRequest);\n });\n\n } else {\n\n let result: any = null;\n\n if (request.target.isOptional() && bindings.length === 0) {\n return undefined;\n }\n\n const binding = bindings[0];\n const isSingleton = binding.scope === BindingScopeEnum.Singleton;\n const isRequestSingleton = binding.scope === BindingScopeEnum.Request;\n\n if (isSingleton && binding.activated) {\n return binding.cache;\n }\n\n if (\n isRequestSingleton &&\n requestScope !== null &&\n requestScope.has(binding.id)\n ) {\n return requestScope.get(binding.id);\n }\n\n if (binding.type === BindingTypeEnum.ConstantValue) {\n result = binding.cache;\n } else if (binding.type === BindingTypeEnum.Function) {\n result = binding.cache;\n } else if (binding.type === BindingTypeEnum.Constructor) {\n result = binding.implementationType;\n } else if (binding.type === BindingTypeEnum.DynamicValue && binding.dynamicValue !== null) {\n result = invokeFactory(\n \"toDynamicValue\",\n binding.serviceIdentifier,\n () => (binding.dynamicValue as (context: interfaces.Context) => any)(request.parentContext)\n );\n } else if (binding.type === BindingTypeEnum.Factory && binding.factory !== null) {\n result = invokeFactory(\n \"toFactory\",\n binding.serviceIdentifier,\n () => (binding.factory as interfaces.FactoryCreator<any>)(request.parentContext)\n );\n } else if (binding.type === BindingTypeEnum.Provider && binding.provider !== null) {\n result = invokeFactory(\n \"toProvider\",\n binding.serviceIdentifier,\n () => (binding.provider as interfaces.Provider<any>)(request.parentContext)\n );\n } else if (binding.type === BindingTypeEnum.Instance && binding.implementationType !== null) {\n result = resolveInstance(\n binding.implementationType,\n childRequests,\n _resolveRequest(requestScope)\n );\n } else {\n // The user probably created a binding but didn't finish it\n // e.g. container.bind<T>(\"Something\"); missing BindingToSyntax\n const serviceIdentifier = getServiceIdentifierAsString(request.serviceIdentifier);\n throw new Error(`${ERROR_MSGS.INVALID_BINDING_TYPE} ${serviceIdentifier}`);\n }\n\n // use activation handler if available\n if (typeof binding.onActivation === \"function\") {\n result = binding.onActivation(request.parentContext, result);\n }\n\n // store in cache if scope is singleton\n if (isSingleton) {\n binding.cache = result;\n binding.activated = true;\n }\n\n if (\n isRequestSingleton &&\n requestScope !== null &&\n !requestScope.has(binding.id)\n ) {\n requestScope.set(binding.id, result);\n }\n\n return result;\n }\n\n};\n\nfunction resolve<T>(context: interfaces.Context): T {\n const _f = _resolveRequest(context.plan.rootRequest.requestScope);\n return _f(context.plan.rootRequest);\n}\n\nexport { resolve };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f15fdb8243969e57d5f6fb33d771a8077522c56b","contentHash":"2947024538962863324bf000abc4def4171374310eb31534d1689ace19748989"},"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/instantiation.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/resolution/instantiation.js","statementMap":{"0":{"start":{"line":2,"column":21},"end":{"line":8,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":88}},"2":{"start":{"line":3,"column":17},"end":{"line":3,"column":18}},"3":{"start":{"line":3,"column":24},"end":{"line":3,"column":25}},"4":{"start":{"line":3,"column":32},"end":{"line":3,"column":48}},"5":{"start":{"line":3,"column":63},"end":{"line":3,"column":88}},"6":{"start":{"line":4,"column":4},"end":{"line":6,"column":24}},"7":{"start":{"line":4,"column":17},"end":{"line":4,"column":25}},"8":{"start":{"line":4,"column":31},"end":{"line":4,"column":32}},"9":{"start":{"line":4,"column":38},"end":{"line":4,"column":39}},"10":{"start":{"line":5,"column":8},"end":{"line":6,"column":24}},"11":{"start":{"line":5,"column":21},"end":{"line":5,"column":33}},"12":{"start":{"line":5,"column":39},"end":{"line":5,"column":40}},"13":{"start":{"line":5,"column":47},"end":{"line":5,"column":55}},"14":{"start":{"line":6,"column":12},"end":{"line":6,"column":24}},"15":{"start":{"line":7,"column":4},"end":{"line":7,"column":13}},"16":{"start":{"line":9,"column":0},"end":{"line":9,"column":62}},"17":{"start":{"line":10,"column":0},"end":{"line":10,"column":33}},"18":{"start":{"line":11,"column":19},"end":{"line":11,"column":53}},"19":{"start":{"line":12,"column":22},"end":{"line":12,"column":59}},"20":{"start":{"line":13,"column":19},"end":{"line":13,"column":56}},"21":{"start":{"line":15,"column":37},"end":{"line":18,"column":6}},"22":{"start":{"line":16,"column":8},"end":{"line":17,"column":87}},"23":{"start":{"line":19,"column":29},"end":{"line":19,"column":75}},"24":{"start":{"line":20,"column":4},"end":{"line":25,"column":7}},"25":{"start":{"line":21,"column":27},"end":{"line":21,"column":29}},"26":{"start":{"line":22,"column":8},"end":{"line":22,"column":45}},"27":{"start":{"line":23,"column":24},"end":{"line":23,"column":49}},"28":{"start":{"line":24,"column":8},"end":{"line":24,"column":43}},"29":{"start":{"line":26,"column":4},"end":{"line":26,"column":20}},"30":{"start":{"line":29,"column":4},"end":{"line":29,"column":79}},"31":{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},"32":{"start":{"line":33,"column":19},"end":{"line":33,"column":75}},"33":{"start":{"line":34,"column":8},"end":{"line":39,"column":9}},"34":{"start":{"line":35,"column":12},"end":{"line":35,"column":33}},"35":{"start":{"line":38,"column":12},"end":{"line":38,"column":87}},"36":{"start":{"line":43,"column":17},"end":{"line":43,"column":21}},"37":{"start":{"line":44,"column":4},"end":{"line":54,"column":5}},"38":{"start":{"line":45,"column":44},"end":{"line":47,"column":10}},"39":{"start":{"line":46,"column":12},"end":{"line":46,"column":133}},"40":{"start":{"line":48,"column":36},"end":{"line":48,"column":85}},"41":{"start":{"line":49,"column":8},"end":{"line":49,"column":64}},"42":{"start":{"line":50,"column":8},"end":{"line":50,"column":74}},"43":{"start":{"line":53,"column":8},"end":{"line":53,"column":30}},"44":{"start":{"line":55,"column":4},"end":{"line":55,"column":35}},"45":{"start":{"line":56,"column":4},"end":{"line":56,"column":18}},"46":{"start":{"line":58,"column":0},"end":{"line":58,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":54},"end":{"line":2,"column":55}},"loc":{"start":{"line":2,"column":66},"end":{"line":8,"column":1}},"line":2},"1":{"name":"_injectProperties","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":26}},"loc":{"start":{"line":14,"column":68},"end":{"line":27,"column":1}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":58},"end":{"line":15,"column":59}},"loc":{"start":{"line":15,"column":82},"end":{"line":18,"column":5}},"line":15},"3":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":39},"end":{"line":20,"column":40}},"loc":{"start":{"line":20,"column":59},"end":{"line":25,"column":5}},"line":20},"4":{"name":"_createInstance","decl":{"start":{"line":28,"column":9},"end":{"line":28,"column":24}},"loc":{"start":{"line":28,"column":43},"end":{"line":30,"column":1}},"line":28},"5":{"name":"_postConstruct","decl":{"start":{"line":31,"column":9},"end":{"line":31,"column":23}},"loc":{"start":{"line":31,"column":40},"end":{"line":41,"column":1}},"line":31},"6":{"name":"resolveInstance","decl":{"start":{"line":42,"column":9},"end":{"line":42,"column":24}},"loc":{"start":{"line":42,"column":64},"end":{"line":57,"column":1}},"line":42},"7":{"name":"(anonymous_7)","decl":{"start":{"line":45,"column":65},"end":{"line":45,"column":66}},"loc":{"start":{"line":45,"column":89},"end":{"line":47,"column":9}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":21},"end":{"line":8,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":22},"end":{"line":2,"column":26}},{"start":{"line":2,"column":30},"end":{"line":2,"column":49}},{"start":{"line":2,"column":54},"end":{"line":8,"column":1}}],"line":2},"1":{"loc":{"start":{"line":16,"column":16},"end":{"line":17,"column":85}},"type":"binary-expr","locations":[{"start":{"line":16,"column":16},"end":{"line":16,"column":44}},{"start":{"line":17,"column":12},"end":{"line":17,"column":85}}],"line":16},"2":{"loc":{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":40,"column":5}},{"start":{"line":32,"column":4},"end":{"line":40,"column":5}}],"line":32},"3":{"loc":{"start":{"line":44,"column":4},"end":{"line":54,"column":5}},"type":"if","locations":[{"start":{"line":44,"column":4},"end":{"line":54,"column":5}},{"start":{"line":44,"column":4},"end":{"line":54,"column":5}}],"line":44},"4":{"loc":{"start":{"line":46,"column":20},"end":{"line":46,"column":131}},"type":"binary-expr","locations":[{"start":{"line":46,"column":20},"end":{"line":46,"column":48}},{"start":{"line":46,"column":52},"end":{"line":46,"column":131}}],"line":46}},"s":{"0":1,"1":74,"2":74,"3":74,"4":74,"5":148,"6":74,"7":74,"8":74,"9":74,"10":148,"11":148,"12":148,"13":148,"14":175,"15":74,"16":1,"17":1,"18":1,"19":1,"20":1,"21":74,"22":116,"23":74,"24":74,"25":15,"26":15,"27":15,"28":15,"29":74,"30":74,"31":213,"32":4,"33":4,"34":4,"35":1,"36":891,"37":891,"38":752,"39":794,"40":752,"41":74,"42":74,"43":139,"44":213,"45":212,"46":1},"f":{"0":74,"1":74,"2":116,"3":15,"4":74,"5":213,"6":891,"7":794},"b":{"0":[1,1,1],"1":[116,116],"2":[4,209],"3":[752,139],"4":[794,794]},"inputSourceMap":{"version":3,"sources":["resolution/instantiation.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,sDAA+D;AAC/D,4DAA4D;AAC5D,yDAA2D;AAI3D,SAAS,iBAAiB,CACtB,QAAa,EACb,aAAmC,EACnC,cAAgD;IAGhD,IAAM,0BAA0B,GAAG,aAAa,CAAC,MAAM,CAAC,UAAC,YAAgC;QACrF,OAAA,CACI,YAAY,CAAC,MAAM,KAAK,IAAI;YAC5B,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,8BAAc,CAAC,aAAa,CAC5D;IAHD,CAGC,CAAC,CAAC;IAEP,IAAM,kBAAkB,GAAG,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE1E,0BAA0B,CAAC,OAAO,CAAC,UAAC,CAAqB,EAAE,KAAa;QACpE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,IAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAEpB,CAAC;AAED,SAAS,eAAe,CAAC,IAA6B,EAAE,UAAoB;IACxE,YAAW,IAAI,YAAJ,IAAI,2BAAI,UAAU,MAAE;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B,EAAE,MAAW;IAChE,IAAI,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE;QAC1D,IAAM,IAAI,GAAa,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAChF,IAAI;YACA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,iCAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjE;KACJ;AACL,CAAC;AAED,SAAS,eAAe,CACpB,MAA+B,EAC/B,aAAmC,EACnC,cAAgD;IAGhD,IAAI,MAAM,GAAQ,IAAI,CAAC;IAEvB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAE1B,IAAM,6BAA6B,GAAG,aAAa,CAAC,MAAM,CAAC,UAAC,YAAgC;YACxF,OAAA,CAAC,YAAY,CAAC,MAAM,KAAK,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,8BAAc,CAAC,mBAAmB,CAAC;QAAjG,CAAiG,CAAC,CAAC;QAEvG,IAAM,qBAAqB,GAAG,6BAA6B,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEhF,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACxD,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;KAErE;SAAM;QACH,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;KACzB;IACD,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B,OAAO,MAAM,CAAC;AAClB,CAAC;AAEQ,0CAAe","file":"instantiation.js","sourcesContent":["import { POST_CONSTRUCT_ERROR } from \"../constants/error_msgs\";\nimport { TargetTypeEnum } from \"../constants/literal_types\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { Metadata } from \"../planning/metadata\";\n\nfunction _injectProperties(\n instance: any,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): any {\n\n const propertyInjectionsRequests = childRequests.filter((childRequest: interfaces.Request) =>\n (\n childRequest.target !== null &&\n childRequest.target.type === TargetTypeEnum.ClassProperty\n ));\n\n const propertyInjections = propertyInjectionsRequests.map(resolveRequest);\n\n propertyInjectionsRequests.forEach((r: interfaces.Request, index: number) => {\n let propertyName = \"\";\n propertyName = r.target.name.value();\n const injection = propertyInjections[index];\n instance[propertyName] = injection;\n });\n\n return instance;\n\n}\n\nfunction _createInstance(Func: interfaces.Newable<any>, injections: Object[]): any {\n return new Func(...injections);\n}\n\nfunction _postConstruct(constr: interfaces.Newable<any>, result: any): void {\n if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {\n const data: Metadata = Reflect.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);\n try {\n result[data.value]();\n } catch (e) {\n throw new Error(POST_CONSTRUCT_ERROR(constr.name, e.message));\n }\n }\n}\n\nfunction resolveInstance(\n constr: interfaces.Newable<any>,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): any {\n\n let result: any = null;\n\n if (childRequests.length > 0) {\n\n const constructorInjectionsRequests = childRequests.filter((childRequest: interfaces.Request) =>\n (childRequest.target !== null && childRequest.target.type === TargetTypeEnum.ConstructorArgument));\n\n const constructorInjections = constructorInjectionsRequests.map(resolveRequest);\n\n result = _createInstance(constr, constructorInjections);\n result = _injectProperties(result, childRequests, resolveRequest);\n\n } else {\n result = new constr();\n }\n _postConstruct(constr, result);\n\n return result;\n}\n\nexport { resolveInstance };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0d0bdd0235d241c702e38d4d1b8daebb095df7e5","contentHash":"e22411460c9ba19f3c2b86c51729844832b0fd2159b75182f823aded8a21fc68"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_to_syntax.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_to_syntax.js","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":17},"end":{"line":4,"column":51}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":59}},"4":{"start":{"line":6,"column":34},"end":{"line":6,"column":72}},"5":{"start":{"line":7,"column":31},"end":{"line":7,"column":66}},"6":{"start":{"line":8,"column":23},"end":{"line":73,"column":3}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":32}},"8":{"start":{"line":12,"column":4},"end":{"line":16,"column":6}},"9":{"start":{"line":13,"column":8},"end":{"line":13,"column":70}},"10":{"start":{"line":14,"column":8},"end":{"line":14,"column":55}},"11":{"start":{"line":15,"column":8},"end":{"line":15,"column":84}},"12":{"start":{"line":17,"column":4},"end":{"line":23,"column":6}},"13":{"start":{"line":18,"column":8},"end":{"line":20,"column":9}},"14":{"start":{"line":19,"column":12},"end":{"line":19,"column":67}},"15":{"start":{"line":21,"column":19},"end":{"line":21,"column":50}},"16":{"start":{"line":22,"column":8},"end":{"line":22,"column":29}},"17":{"start":{"line":24,"column":4},"end":{"line":30,"column":6}},"18":{"start":{"line":25,"column":8},"end":{"line":25,"column":75}},"19":{"start":{"line":26,"column":8},"end":{"line":26,"column":36}},"20":{"start":{"line":27,"column":8},"end":{"line":27,"column":42}},"21":{"start":{"line":28,"column":8},"end":{"line":28,"column":48}},"22":{"start":{"line":29,"column":8},"end":{"line":29,"column":79}},"23":{"start":{"line":31,"column":4},"end":{"line":37,"column":6}},"24":{"start":{"line":32,"column":8},"end":{"line":32,"column":74}},"25":{"start":{"line":33,"column":8},"end":{"line":33,"column":35}},"26":{"start":{"line":34,"column":8},"end":{"line":34,"column":42}},"27":{"start":{"line":35,"column":8},"end":{"line":35,"column":48}},"28":{"start":{"line":36,"column":8},"end":{"line":36,"column":84}},"29":{"start":{"line":38,"column":4},"end":{"line":42,"column":6}},"30":{"start":{"line":39,"column":8},"end":{"line":39,"column":73}},"31":{"start":{"line":40,"column":8},"end":{"line":40,"column":55}},"32":{"start":{"line":41,"column":8},"end":{"line":41,"column":79}},"33":{"start":{"line":43,"column":4},"end":{"line":47,"column":6}},"34":{"start":{"line":44,"column":8},"end":{"line":44,"column":69}},"35":{"start":{"line":45,"column":8},"end":{"line":45,"column":40}},"36":{"start":{"line":46,"column":8},"end":{"line":46,"column":79}},"37":{"start":{"line":48,"column":4},"end":{"line":55,"column":6}},"38":{"start":{"line":49,"column":8},"end":{"line":51,"column":9}},"39":{"start":{"line":50,"column":12},"end":{"line":50,"column":65}},"40":{"start":{"line":52,"column":34},"end":{"line":52,"column":60}},"41":{"start":{"line":53,"column":8},"end":{"line":53,"column":70}},"42":{"start":{"line":54,"column":8},"end":{"line":54,"column":35}},"43":{"start":{"line":56,"column":4},"end":{"line":63,"column":6}},"44":{"start":{"line":57,"column":8},"end":{"line":57,"column":69}},"45":{"start":{"line":58,"column":8},"end":{"line":61,"column":10}},"46":{"start":{"line":59,"column":30},"end":{"line":59,"column":94}},"47":{"start":{"line":59,"column":44},"end":{"line":59,"column":92}},"48":{"start":{"line":60,"column":12},"end":{"line":60,"column":31}},"49":{"start":{"line":62,"column":8},"end":{"line":62,"column":79}},"50":{"start":{"line":64,"column":4},"end":{"line":68,"column":6}},"51":{"start":{"line":65,"column":8},"end":{"line":65,"column":70}},"52":{"start":{"line":66,"column":8},"end":{"line":66,"column":42}},"53":{"start":{"line":67,"column":8},"end":{"line":67,"column":79}},"54":{"start":{"line":69,"column":4},"end":{"line":71,"column":6}},"55":{"start":{"line":70,"column":8},"end":{"line":70,"column":91}},"56":{"start":{"line":70,"column":49},"end":{"line":70,"column":87}},"57":{"start":{"line":72,"column":4},"end":{"line":72,"column":27}},"58":{"start":{"line":74,"column":0},"end":{"line":74,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":23},"end":{"line":8,"column":24}},"loc":{"start":{"line":8,"column":35},"end":{"line":73,"column":1}},"line":8},"1":{"name":"BindingToSyntax","decl":{"start":{"line":9,"column":13},"end":{"line":9,"column":28}},"loc":{"start":{"line":9,"column":38},"end":{"line":11,"column":5}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":35},"end":{"line":12,"column":36}},"loc":{"start":{"line":12,"column":58},"end":{"line":16,"column":5}},"line":12},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":39},"end":{"line":17,"column":40}},"loc":{"start":{"line":17,"column":51},"end":{"line":23,"column":5}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":48},"end":{"line":24,"column":49}},"loc":{"start":{"line":24,"column":65},"end":{"line":30,"column":5}},"line":24},"5":{"name":"(anonymous_5)","decl":{"start":{"line":31,"column":47},"end":{"line":31,"column":48}},"loc":{"start":{"line":31,"column":63},"end":{"line":37,"column":5}},"line":31},"6":{"name":"(anonymous_6)","decl":{"start":{"line":38,"column":46},"end":{"line":38,"column":47}},"loc":{"start":{"line":38,"column":69},"end":{"line":42,"column":5}},"line":38},"7":{"name":"(anonymous_7)","decl":{"start":{"line":43,"column":42},"end":{"line":43,"column":43}},"loc":{"start":{"line":43,"column":61},"end":{"line":47,"column":5}},"line":43},"8":{"name":"(anonymous_8)","decl":{"start":{"line":48,"column":43},"end":{"line":48,"column":44}},"loc":{"start":{"line":48,"column":59},"end":{"line":55,"column":5}},"line":48},"9":{"name":"(anonymous_9)","decl":{"start":{"line":56,"column":46},"end":{"line":56,"column":47}},"loc":{"start":{"line":56,"column":75},"end":{"line":63,"column":5}},"line":56},"10":{"name":"(anonymous_10)","decl":{"start":{"line":58,"column":32},"end":{"line":58,"column":33}},"loc":{"start":{"line":58,"column":51},"end":{"line":61,"column":9}},"line":58},"11":{"name":"(anonymous_11)","decl":{"start":{"line":59,"column":30},"end":{"line":59,"column":31}},"loc":{"start":{"line":59,"column":42},"end":{"line":59,"column":94}},"line":59},"12":{"name":"(anonymous_12)","decl":{"start":{"line":64,"column":43},"end":{"line":64,"column":44}},"loc":{"start":{"line":64,"column":63},"end":{"line":68,"column":5}},"line":64},"13":{"name":"(anonymous_13)","decl":{"start":{"line":69,"column":42},"end":{"line":69,"column":43}},"loc":{"start":{"line":69,"column":61},"end":{"line":71,"column":5}},"line":69},"14":{"name":"(anonymous_14)","decl":{"start":{"line":70,"column":28},"end":{"line":70,"column":29}},"loc":{"start":{"line":70,"column":47},"end":{"line":70,"column":89}},"line":70}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":8},"end":{"line":20,"column":9}},"type":"if","locations":[{"start":{"line":18,"column":8},"end":{"line":20,"column":9}},{"start":{"line":18,"column":8},"end":{"line":20,"column":9}}],"line":18},"1":{"loc":{"start":{"line":49,"column":8},"end":{"line":51,"column":9}},"type":"if","locations":[{"start":{"line":49,"column":8},"end":{"line":51,"column":9}},{"start":{"line":49,"column":8},"end":{"line":51,"column":9}}],"line":49}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":24317,"8":1,"9":242,"10":242,"11":242,"12":1,"13":20,"14":1,"15":19,"16":19,"17":1,"18":24052,"19":24052,"20":24052,"21":24052,"22":24052,"23":1,"24":11,"25":11,"26":11,"27":11,"28":11,"29":1,"30":3,"31":3,"32":3,"33":1,"34":3,"35":3,"36":3,"37":1,"38":3,"39":1,"40":2,"41":2,"42":2,"43":1,"44":2,"45":2,"46":1,"47":1,"48":1,"49":2,"50":1,"51":6,"52":6,"53":6,"54":1,"55":4,"56":5,"57":1,"58":1},"f":{"0":1,"1":24317,"2":242,"3":20,"4":24052,"5":11,"6":3,"7":3,"8":3,"9":2,"10":1,"11":1,"12":6,"13":4,"14":5},"b":{"0":[1,19],"1":[1,2]},"inputSourceMap":{"version":3,"sources":["syntax/binding_to_syntax.ts"],"names":[],"mappings":"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","file":"binding_to_syntax.js","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { BindingTypeEnum } from \"../constants/literal_types\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { BindingInWhenOnSyntax } from \"./binding_in_when_on_syntax\";\nimport { BindingWhenOnSyntax } from \"./binding_when_on_syntax\";\n\nclass BindingToSyntax<T> implements interfaces.BindingToSyntax<T> {\n\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n public to(constructor: new (...args: any[]) => T): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Instance;\n this._binding.implementationType = constructor;\n return new BindingInWhenOnSyntax<T>(this._binding);\n }\n\n public toSelf(): interfaces.BindingInWhenOnSyntax<T> {\n if (typeof this._binding.serviceIdentifier !== \"function\") {\n throw new Error(`${ERROR_MSGS.INVALID_TO_SELF_VALUE}`);\n }\n const self: any = this._binding.serviceIdentifier;\n return this.to(self);\n }\n\n public toConstantValue(value: T): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.ConstantValue;\n this._binding.cache = value;\n this._binding.dynamicValue = null;\n this._binding.implementationType = null;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public toDynamicValue(func: (context: interfaces.Context) => T): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.DynamicValue;\n this._binding.cache = null;\n this._binding.dynamicValue = func;\n this._binding.implementationType = null;\n return new BindingInWhenOnSyntax<T>(this._binding);\n }\n\n public toConstructor<T2>(constructor: interfaces.Newable<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Constructor;\n this._binding.implementationType = constructor as any;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public toFactory<T2>(factory: interfaces.FactoryCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = factory;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public toFunction(func: T): interfaces.BindingWhenOnSyntax<T> {\n // toFunction is an alias of toConstantValue\n if (typeof func !== \"function\") { throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING); }\n const bindingWhenOnSyntax = this.toConstantValue(func);\n this._binding.type = BindingTypeEnum.Function;\n return bindingWhenOnSyntax;\n }\n\n public toAutoFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = (context) => {\n const autofactory = () => context.container.get<T2>(serviceIdentifier);\n return autofactory;\n };\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public toProvider<T2>(provider: interfaces.ProviderCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Provider;\n this._binding.provider = provider;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public toService(service: string | symbol | interfaces.Newable<T> | interfaces.Abstract<T>): void {\n this.toDynamicValue(\n (context) => context.container.get<T>(service)\n );\n }\n\n}\n\nexport { BindingToSyntax };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a6b2dcb90563853fe8965362729f221d5256ea86","contentHash":"c070fc1df0027c22dd5721e14e858449e335b870ff577fabc48a16b279128628"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_when_on_syntax.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_when_on_syntax.js","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":72,"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":71,"column":33}},"49":{"start":{"line":73,"column":0},"end":{"line":73,"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":72,"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}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":257,"7":257,"8":257,"9":257,"10":1,"11":3,"12":1,"13":11,"14":1,"15":2,"16":1,"17":3,"18":1,"19":22,"20":1,"21":1,"22":1,"23":13,"24":1,"25":5,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":3,"48":1,"49":1},"f":{"0":1,"1":257,"2":3,"3":11,"4":2,"5":3,"6":22,"7":1,"8":13,"9":5,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":3},"b":{},"inputSourceMap":{"version":3,"sources":["syntax/binding_in_when_on_syntax.ts"],"names":[],"mappings":"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","file":"binding_in_when_on_syntax.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { BindingInSyntax } from \"./binding_in_syntax\";\nimport { BindingOnSyntax } from \"./binding_on_syntax\";\nimport { BindingWhenSyntax } from \"./binding_when_syntax\";\n\nclass BindingInWhenOnSyntax<T> implements interfaces.BindingInSyntax<T>, interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {\n\n private _bindingInSyntax: interfaces.BindingInSyntax<T>;\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\n private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\n this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\n this._bindingInSyntax = new BindingInSyntax<T>(binding);\n }\n\n public inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inRequestScope();\n }\n\n public inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inSingletonScope();\n }\n\n public inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inTransientScope();\n }\n\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.when(constraint);\n }\n\n public whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetIsDefault();\n }\n\n public whenTargetTagged(tag: string, value: any): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n }\n\n public whenInjectedInto(parent: (Function | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenInjectedInto(parent);\n }\n\n public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenParentNamed(name);\n }\n\n public whenParentTagged(tag: string, value: any): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\n }\n\n public whenAnyAncestorIs(ancestor: (Function | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n }\n\n public whenNoAncestorIs(ancestor: (Function | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n }\n\n public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n }\n\n public whenAnyAncestorTagged(tag: string, value: any): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n }\n\n public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n }\n\n public whenNoAncestorTagged(tag: string, value: any): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n }\n\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n }\n\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n }\n\n public onActivation(handler: (context: interfaces.Context, injectable: T) => T): interfaces.BindingWhenSyntax<T> {\n return this._bindingOnSyntax.onActivation(handler);\n }\n\n}\n\nexport { BindingInWhenOnSyntax };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fc38d36abd941443b17bcbbf26891c2fcb84f686","contentHash":"4c3baeb897ba7714e9fb39e194bfdf6c10184673855d8c53f5161e93d9bc3348"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_syntax.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_in_syntax.js","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":259,"6":1,"7":3,"8":3,"9":1,"10":11,"11":11,"12":1,"13":2,"14":2,"15":1,"16":1},"f":{"0":1,"1":259,"2":3,"3":11,"4":2},"b":{},"inputSourceMap":{"version":3,"sources":["syntax/binding_in_syntax.ts"],"names":[],"mappings":";;;AAAA,4DAA8D;AAE9D,mEAA+D;AAE/D;IAII,yBAAmB,OAA8B;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAEM,wCAAc,GAArB;QACI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,OAAO,CAAC;QAC/C,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAEM,0CAAgB,GAAvB;QACI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAEM,0CAAgB,GAAvB;QACI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAEL,sBAAC;AAAD,CAvBA,AAuBC,IAAA;AAEQ,0CAAe","file":"binding_in_syntax.js","sourcesContent":["import { BindingScopeEnum } from \"../constants/literal_types\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { BindingWhenOnSyntax } from \"./binding_when_on_syntax\";\n\nclass BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {\n\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n public inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Request;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n public inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Transient;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n}\n\nexport { BindingInSyntax };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9baab32c75d62b8fafbd570b05983333702b7361","contentHash":"c0ec6fc21e25f9275ac0912b8f7ef07c0841cf825a1932336b64fc7a81e37f95"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_on_syntax.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_on_syntax.js","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":61,"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":60,"column":31}},"41":{"start":{"line":62,"column":0},"end":{"line":62,"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":61,"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}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":24085,"6":24085,"7":24085,"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":1,"40":1,"41":1},"f":{"0":1,"1":24085,"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":1},"b":{},"inputSourceMap":{"version":3,"sources":["syntax/binding_when_on_syntax.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AACtD,6DAA0D;AAE1D;IAMI,6BAAmB,OAA8B;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAe,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEM,kCAAI,GAAX,UAAY,UAAoD;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAEM,6CAAe,GAAtB,UAAuB,IAAY;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,iDAAmB,GAA1B;QACI,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;IACzD,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,GAAW,EAAE,KAAU;QAC3C,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,MAA2B;QAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAEM,6CAAe,GAAtB,UAAuB,IAAY;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,GAAW,EAAE,KAAU;QAC3C,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAEM,+CAAiB,GAAxB,UAAyB,QAA6B;QAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,QAA6B;QACjD,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAEM,kDAAoB,GAA3B,UAA4B,IAAY;QACpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEM,mDAAqB,GAA5B,UAA6B,GAAW,EAAE,KAAU;QAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAEM,iDAAmB,GAA1B,UAA2B,IAAY;QACnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEM,kDAAoB,GAA3B,UAA4B,GAAW,EAAE,KAAU;QAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAEM,oDAAsB,GAA7B,UAA8B,UAAoD;QAC9E,OAAO,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IAEM,mDAAqB,GAA5B,UAA6B,UAAoD;QAC7E,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAEM,0CAAY,GAAnB,UAAoB,OAA0D;QAC1E,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAEL,0BAAC;AAAD,CA5EA,AA4EC,IAAA;AAEQ,kDAAmB","file":"binding_when_on_syntax.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { BindingOnSyntax } from \"./binding_on_syntax\";\nimport { BindingWhenSyntax } from \"./binding_when_syntax\";\n\nclass BindingWhenOnSyntax<T> implements interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {\n\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\n private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\n this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\n }\n\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.when(constraint);\n }\n\n public whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetIsDefault();\n }\n\n public whenTargetTagged(tag: string, value: any): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n }\n\n public whenInjectedInto(parent: (Function | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenInjectedInto(parent);\n }\n\n public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenParentNamed(name);\n }\n\n public whenParentTagged(tag: string, value: any): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\n }\n\n public whenAnyAncestorIs(ancestor: (Function | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n }\n\n public whenNoAncestorIs(ancestor: (Function | string)): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n }\n\n public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n }\n\n public whenAnyAncestorTagged(tag: string, value: any): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n }\n\n public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n }\n\n public whenNoAncestorTagged(tag: string, value: any): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n }\n\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n }\n\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n }\n\n public onActivation(handler: (context: interfaces.Context, injectable: T) => T): interfaces.BindingWhenSyntax<T> {\n return this._bindingOnSyntax.onActivation(handler);\n }\n\n}\n\nexport { BindingWhenOnSyntax };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"94b97c884a149380b2c041f753d7d51cd93b1fce","contentHash":"a4a9150cf00602076586a1d4b4f3a2d26dbe7d8bcc6dd706a533ba3add090f19"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_on_syntax.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_on_syntax.js","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":14,"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":13,"column":27}},"9":{"start":{"line":15,"column":0},"end":{"line":15,"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":14,"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}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":24461,"5":1,"6":3,"7":3,"8":1,"9":1},"f":{"0":1,"1":24461,"2":3},"b":{},"inputSourceMap":{"version":3,"sources":["syntax/binding_on_syntax.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAE1D;IAII,yBAAmB,OAA8B;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAEM,sCAAY,GAAnB,UAAoB,OAA0D;QAC1E,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC;QACrC,OAAO,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEL,sBAAC;AAAD,CAbA,AAaC,IAAA;AAEQ,0CAAe","file":"binding_on_syntax.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { BindingWhenSyntax } from \"./binding_when_syntax\";\n\nclass BindingOnSyntax<T> implements interfaces.BindingOnSyntax<T> {\n\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n public onActivation(handler: (context: interfaces.Context, injectable: T) => T): interfaces.BindingWhenSyntax<T> {\n this._binding.onActivation = handler;\n return new BindingWhenSyntax<T>(this._binding);\n }\n\n}\n\nexport { BindingOnSyntax };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d794122c56c8d60f5a68032656ac9b8cb076c972","contentHash":"7343e044e94c19babd54f87ac4348031de3de7851c65b82fd6e87a826329bc81"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_syntax.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/binding_when_syntax.js","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":98,"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":78}},"11":{"start":{"line":16,"column":8},"end":{"line":16,"column":70}},"12":{"start":{"line":18,"column":4},"end":{"line":26,"column":6}},"13":{"start":{"line":19,"column":8},"end":{"line":24,"column":10}},"14":{"start":{"line":20,"column":34},"end":{"line":22,"column":44}},"15":{"start":{"line":23,"column":12},"end":{"line":23,"column":35}},"16":{"start":{"line":25,"column":8},"end":{"line":25,"column":70}},"17":{"start":{"line":27,"column":4},"end":{"line":30,"column":6}},"18":{"start":{"line":28,"column":8},"end":{"line":28,"column":85}},"19":{"start":{"line":29,"column":8},"end":{"line":29,"column":70}},"20":{"start":{"line":31,"column":4},"end":{"line":36,"column":6}},"21":{"start":{"line":32,"column":8},"end":{"line":34,"column":10}},"22":{"start":{"line":33,"column":12},"end":{"line":33,"column":86}},"23":{"start":{"line":35,"column":8},"end":{"line":35,"column":70}},"24":{"start":{"line":37,"column":4},"end":{"line":42,"column":6}},"25":{"start":{"line":38,"column":8},"end":{"line":40,"column":10}},"26":{"start":{"line":39,"column":12},"end":{"line":39,"column":85}},"27":{"start":{"line":41,"column":8},"end":{"line":41,"column":70}},"28":{"start":{"line":43,"column":4},"end":{"line":48,"column":6}},"29":{"start":{"line":44,"column":8},"end":{"line":46,"column":10}},"30":{"start":{"line":45,"column":12},"end":{"line":45,"column":92}},"31":{"start":{"line":47,"column":8},"end":{"line":47,"column":70}},"32":{"start":{"line":49,"column":4},"end":{"line":54,"column":6}},"33":{"start":{"line":50,"column":8},"end":{"line":52,"column":10}},"34":{"start":{"line":51,"column":12},"end":{"line":51,"column":115}},"35":{"start":{"line":53,"column":8},"end":{"line":53,"column":70}},"36":{"start":{"line":55,"column":4},"end":{"line":60,"column":6}},"37":{"start":{"line":56,"column":8},"end":{"line":58,"column":10}},"38":{"start":{"line":57,"column":12},"end":{"line":57,"column":116}},"39":{"start":{"line":59,"column":8},"end":{"line":59,"column":70}},"40":{"start":{"line":61,"column":4},"end":{"line":66,"column":6}},"41":{"start":{"line":62,"column":8},"end":{"line":64,"column":10}},"42":{"start":{"line":63,"column":12},"end":{"line":63,"column":112}},"43":{"start":{"line":65,"column":8},"end":{"line":65,"column":70}},"44":{"start":{"line":67,"column":4},"end":{"line":72,"column":6}},"45":{"start":{"line":68,"column":8},"end":{"line":70,"column":10}},"46":{"start":{"line":69,"column":12},"end":{"line":69,"column":113}},"47":{"start":{"line":71,"column":8},"end":{"line":71,"column":70}},"48":{"start":{"line":73,"column":4},"end":{"line":78,"column":6}},"49":{"start":{"line":74,"column":8},"end":{"line":76,"column":10}},"50":{"start":{"line":75,"column":12},"end":{"line":75,"column":119}},"51":{"start":{"line":77,"column":8},"end":{"line":77,"column":70}},"52":{"start":{"line":79,"column":4},"end":{"line":84,"column":6}},"53":{"start":{"line":80,"column":8},"end":{"line":82,"column":10}},"54":{"start":{"line":81,"column":12},"end":{"line":81,"column":120}},"55":{"start":{"line":83,"column":8},"end":{"line":83,"column":70}},"56":{"start":{"line":85,"column":4},"end":{"line":90,"column":6}},"57":{"start":{"line":86,"column":8},"end":{"line":88,"column":10}},"58":{"start":{"line":87,"column":12},"end":{"line":87,"column":80}},"59":{"start":{"line":89,"column":8},"end":{"line":89,"column":70}},"60":{"start":{"line":91,"column":4},"end":{"line":96,"column":6}},"61":{"start":{"line":92,"column":8},"end":{"line":94,"column":10}},"62":{"start":{"line":93,"column":12},"end":{"line":93,"column":81}},"63":{"start":{"line":95,"column":8},"end":{"line":95,"column":70}},"64":{"start":{"line":97,"column":4},"end":{"line":97,"column":29}},"65":{"start":{"line":99,"column":0},"end":{"line":99,"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":98,"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":26,"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":24,"column":9}},"line":19},"6":{"name":"(anonymous_6)","decl":{"start":{"line":27,"column":51},"end":{"line":27,"column":52}},"loc":{"start":{"line":27,"column":73},"end":{"line":30,"column":5}},"line":27},"7":{"name":"(anonymous_7)","decl":{"start":{"line":31,"column":51},"end":{"line":31,"column":52}},"loc":{"start":{"line":31,"column":69},"end":{"line":36,"column":5}},"line":31},"8":{"name":"(anonymous_8)","decl":{"start":{"line":32,"column":35},"end":{"line":32,"column":36}},"loc":{"start":{"line":32,"column":54},"end":{"line":34,"column":9}},"line":32},"9":{"name":"(anonymous_9)","decl":{"start":{"line":37,"column":50},"end":{"line":37,"column":51}},"loc":{"start":{"line":37,"column":66},"end":{"line":42,"column":5}},"line":37},"10":{"name":"(anonymous_10)","decl":{"start":{"line":38,"column":35},"end":{"line":38,"column":36}},"loc":{"start":{"line":38,"column":54},"end":{"line":40,"column":9}},"line":38},"11":{"name":"(anonymous_11)","decl":{"start":{"line":43,"column":51},"end":{"line":43,"column":52}},"loc":{"start":{"line":43,"column":73},"end":{"line":48,"column":5}},"line":43},"12":{"name":"(anonymous_12)","decl":{"start":{"line":44,"column":35},"end":{"line":44,"column":36}},"loc":{"start":{"line":44,"column":54},"end":{"line":46,"column":9}},"line":44},"13":{"name":"(anonymous_13)","decl":{"start":{"line":49,"column":52},"end":{"line":49,"column":53}},"loc":{"start":{"line":49,"column":72},"end":{"line":54,"column":5}},"line":49},"14":{"name":"(anonymous_14)","decl":{"start":{"line":50,"column":35},"end":{"line":50,"column":36}},"loc":{"start":{"line":50,"column":54},"end":{"line":52,"column":9}},"line":50},"15":{"name":"(anonymous_15)","decl":{"start":{"line":55,"column":51},"end":{"line":55,"column":52}},"loc":{"start":{"line":55,"column":71},"end":{"line":60,"column":5}},"line":55},"16":{"name":"(anonymous_16)","decl":{"start":{"line":56,"column":35},"end":{"line":56,"column":36}},"loc":{"start":{"line":56,"column":54},"end":{"line":58,"column":9}},"line":56},"17":{"name":"(anonymous_17)","decl":{"start":{"line":61,"column":55},"end":{"line":61,"column":56}},"loc":{"start":{"line":61,"column":71},"end":{"line":66,"column":5}},"line":61},"18":{"name":"(anonymous_18)","decl":{"start":{"line":62,"column":35},"end":{"line":62,"column":36}},"loc":{"start":{"line":62,"column":54},"end":{"line":64,"column":9}},"line":62},"19":{"name":"(anonymous_19)","decl":{"start":{"line":67,"column":54},"end":{"line":67,"column":55}},"loc":{"start":{"line":67,"column":70},"end":{"line":72,"column":5}},"line":67},"20":{"name":"(anonymous_20)","decl":{"start":{"line":68,"column":35},"end":{"line":68,"column":36}},"loc":{"start":{"line":68,"column":54},"end":{"line":70,"column":9}},"line":68},"21":{"name":"(anonymous_21)","decl":{"start":{"line":73,"column":56},"end":{"line":73,"column":57}},"loc":{"start":{"line":73,"column":78},"end":{"line":78,"column":5}},"line":73},"22":{"name":"(anonymous_22)","decl":{"start":{"line":74,"column":35},"end":{"line":74,"column":36}},"loc":{"start":{"line":74,"column":54},"end":{"line":76,"column":9}},"line":74},"23":{"name":"(anonymous_23)","decl":{"start":{"line":79,"column":55},"end":{"line":79,"column":56}},"loc":{"start":{"line":79,"column":77},"end":{"line":84,"column":5}},"line":79},"24":{"name":"(anonymous_24)","decl":{"start":{"line":80,"column":35},"end":{"line":80,"column":36}},"loc":{"start":{"line":80,"column":54},"end":{"line":82,"column":9}},"line":80},"25":{"name":"(anonymous_25)","decl":{"start":{"line":85,"column":57},"end":{"line":85,"column":58}},"loc":{"start":{"line":85,"column":79},"end":{"line":90,"column":5}},"line":85},"26":{"name":"(anonymous_26)","decl":{"start":{"line":86,"column":35},"end":{"line":86,"column":36}},"loc":{"start":{"line":86,"column":54},"end":{"line":88,"column":9}},"line":86},"27":{"name":"(anonymous_27)","decl":{"start":{"line":91,"column":56},"end":{"line":91,"column":57}},"loc":{"start":{"line":91,"column":78},"end":{"line":96,"column":5}},"line":91},"28":{"name":"(anonymous_28)","decl":{"start":{"line":92,"column":35},"end":{"line":92,"column":36}},"loc":{"start":{"line":92,"column":54},"end":{"line":94,"column":9}},"line":92}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":34},"end":{"line":22,"column":44}},"type":"binary-expr","locations":[{"start":{"line":20,"column":35},"end":{"line":20,"column":58}},{"start":{"line":21,"column":17},"end":{"line":21,"column":42}},{"start":{"line":22,"column":17},"end":{"line":22,"column":43}}],"line":20}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":24357,"6":1,"7":3,"8":3,"9":1,"10":34,"11":34,"12":1,"13":2,"14":4,"15":4,"16":2,"17":1,"18":27,"19":27,"20":1,"21":11,"22":25,"23":11,"24":1,"25":4,"26":4,"27":4,"28":1,"29":4,"30":4,"31":4,"32":1,"33":4,"34":8,"35":4,"36":1,"37":4,"38":8,"39":4,"40":1,"41":4,"42":8,"43":4,"44":1,"45":4,"46":8,"47":4,"48":1,"49":4,"50":8,"51":4,"52":1,"53":4,"54":8,"55":4,"56":1,"57":4,"58":8,"59":4,"60":1,"61":4,"62":8,"63":4,"64":1,"65":1},"f":{"0":1,"1":24357,"2":3,"3":34,"4":2,"5":4,"6":27,"7":11,"8":25,"9":4,"10":4,"11":4,"12":4,"13":4,"14":8,"15":4,"16":8,"17":4,"18":8,"19":4,"20":8,"21":4,"22":8,"23":4,"24":8,"25":4,"26":8,"27":4,"28":8},"b":{"0":[4,4,2]},"inputSourceMap":{"version":3,"sources":["syntax/binding_when_syntax.ts"],"names":[],"mappings":"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","file":"binding_when_syntax.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\nimport { BindingOnSyntax } from \"./binding_on_syntax\";\nimport { namedConstraint, taggedConstraint, traverseAncerstors, typeConstraint } from \"./constraint_helpers\";\n\nclass BindingWhenSyntax<T> implements interfaces.BindingWhenSyntax<T> {\n\n private _binding: interfaces.Binding<T>;\n\n public constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = constraint;\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenTargetNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = namedConstraint(name);\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request) => {\n\n const targetIsDefault = (request.target !== null) &&\n (!request.target.isNamed()) &&\n (!request.target.isTagged());\n\n return targetIsDefault;\n };\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenTargetTagged(tag: string | number | symbol, value: any): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = taggedConstraint(tag)(value);\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenInjectedInto(parent: (Function | string)): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request) =>\n typeConstraint(parent)(request.parentRequest);\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenParentNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request) =>\n namedConstraint(name)(request.parentRequest);\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenParentTagged(tag: string | number | symbol, value: any): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request) =>\n taggedConstraint(tag)(value)(request.parentRequest);\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenAnyAncestorIs(ancestor: (Function | string)): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request) =>\n traverseAncerstors(request, typeConstraint(ancestor));\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenNoAncestorIs(ancestor: (Function | string)): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = (request: interfaces.Request) =>\n !traverseAncerstors(request, typeConstraint(ancestor));\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenAnyAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request) =>\n traverseAncerstors(request, namedConstraint(name));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenNoAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request) =>\n !traverseAncerstors(request, namedConstraint(name));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenAnyAncestorTagged(tag: string | number | symbol, value: any): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request) =>\n traverseAncerstors(request, taggedConstraint(tag)(value));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenNoAncestorTagged(tag: string | number | symbol, value: any): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request) =>\n !traverseAncerstors(request, taggedConstraint(tag)(value));\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request) =>\n traverseAncerstors(request, constraint);\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n\n this._binding.constraint = (request: interfaces.Request) =>\n !traverseAncerstors(request, constraint);\n\n return new BindingOnSyntax<T>(this._binding);\n }\n\n}\n\nexport { BindingWhenSyntax };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c3ad03f0cb8520f91cb35423769901c35f2ef483","contentHash":"1f218d04a871ca52111899384a30d154fe160cf2ca830060fb0ebc8337c1b463"},"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/constraint_helpers.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/syntax/constraint_helpers.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":114}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":56}},"3":{"start":{"line":5,"column":17},"end":{"line":5,"column":48}},"4":{"start":{"line":6,"column":25},"end":{"line":14,"column":1}},"5":{"start":{"line":7,"column":17},"end":{"line":7,"column":38}},"6":{"start":{"line":8,"column":4},"end":{"line":13,"column":5}},"7":{"start":{"line":9,"column":8},"end":{"line":9,"column":82}},"8":{"start":{"line":12,"column":8},"end":{"line":12,"column":21}},"9":{"start":{"line":15,"column":0},"end":{"line":15,"column":48}},"10":{"start":{"line":16,"column":23},"end":{"line":22,"column":4}},"11":{"start":{"line":16,"column":40},"end":{"line":22,"column":2}},"12":{"start":{"line":17,"column":21},"end":{"line":19,"column":5}},"13":{"start":{"line":18,"column":8},"end":{"line":18,"column":100}},"14":{"start":{"line":20,"column":4},"end":{"line":20,"column":62}},"15":{"start":{"line":21,"column":4},"end":{"line":21,"column":22}},"16":{"start":{"line":23,"column":0},"end":{"line":23,"column":44}},"17":{"start":{"line":24,"column":22},"end":{"line":24,"column":62}},"18":{"start":{"line":25,"column":0},"end":{"line":25,"column":42}},"19":{"start":{"line":26,"column":21},"end":{"line":40,"column":4}},"20":{"start":{"line":26,"column":39},"end":{"line":40,"column":2}},"21":{"start":{"line":27,"column":18},"end":{"line":27,"column":22}},"22":{"start":{"line":28,"column":4},"end":{"line":38,"column":5}},"23":{"start":{"line":29,"column":8},"end":{"line":29,"column":38}},"24":{"start":{"line":30,"column":8},"end":{"line":37,"column":9}},"25":{"start":{"line":31,"column":36},"end":{"line":31,"column":61}},"26":{"start":{"line":32,"column":12},"end":{"line":32,"column":46}},"27":{"start":{"line":35,"column":30},"end":{"line":35,"column":68}},"28":{"start":{"line":36,"column":12},"end":{"line":36,"column":40}},"29":{"start":{"line":39,"column":4},"end":{"line":39,"column":17}},"30":{"start":{"line":41,"column":0},"end":{"line":41,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":25},"end":{"line":6,"column":26}},"loc":{"start":{"line":6,"column":56},"end":{"line":14,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":23},"end":{"line":16,"column":24}},"loc":{"start":{"line":16,"column":38},"end":{"line":22,"column":4}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":47},"end":{"line":16,"column":48}},"loc":{"start":{"line":16,"column":64},"end":{"line":22,"column":1}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":21},"end":{"line":17,"column":22}},"loc":{"start":{"line":17,"column":40},"end":{"line":19,"column":5}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":26,"column":21},"end":{"line":26,"column":22}},"loc":{"start":{"line":26,"column":37},"end":{"line":40,"column":4}},"line":26},"5":{"name":"(anonymous_5)","decl":{"start":{"line":26,"column":46},"end":{"line":26,"column":47}},"loc":{"start":{"line":26,"column":65},"end":{"line":40,"column":1}},"line":26}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":13,"column":5}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":13,"column":5}},{"start":{"line":8,"column":4},"end":{"line":13,"column":5}}],"line":8},"1":{"loc":{"start":{"line":9,"column":15},"end":{"line":9,"column":81}},"type":"cond-expr","locations":[{"start":{"line":9,"column":36},"end":{"line":9,"column":40}},{"start":{"line":9,"column":43},"end":{"line":9,"column":81}}],"line":9},"2":{"loc":{"start":{"line":18,"column":15},"end":{"line":18,"column":99}},"type":"binary-expr","locations":[{"start":{"line":18,"column":15},"end":{"line":18,"column":31}},{"start":{"line":18,"column":35},"end":{"line":18,"column":58}},{"start":{"line":18,"column":62},"end":{"line":18,"column":99}}],"line":18},"3":{"loc":{"start":{"line":28,"column":4},"end":{"line":38,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":38,"column":5}},{"start":{"line":28,"column":4},"end":{"line":38,"column":5}}],"line":28},"4":{"loc":{"start":{"line":30,"column":8},"end":{"line":37,"column":9}},"type":"if","locations":[{"start":{"line":30,"column":8},"end":{"line":37,"column":9}},{"start":{"line":30,"column":8},"end":{"line":37,"column":9}}],"line":30}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":104,"6":104,"7":64,"8":40,"9":1,"10":1,"11":48,"12":101,"13":170,"14":101,"15":101,"16":1,"17":1,"18":1,"19":1,"20":50,"21":58,"22":58,"23":57,"24":57,"25":8,"26":8,"27":49,"28":49,"29":1,"30":1},"f":{"0":104,"1":48,"2":101,"3":170,"4":50,"5":58},"b":{"0":[64,40],"1":[24,40],"2":[170,170,170],"3":[57,1],"4":[8,49]},"inputSourceMap":{"version":3,"sources":["syntax/constraint_helpers.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAE3D,iDAAgD;AAEhD,IAAM,kBAAkB,GAAG,UACvB,OAA2B,EAC3B,UAAyC;IAGzC,IAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IACrC,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;KAC7E;SAAM;QACH,OAAO,KAAK,CAAC;KAChB;AACL,CAAC,CAAC;AAoCO,gDAAkB;AAhC3B,IAAM,gBAAgB,GAAG,UAAC,GAA6B,IAAK,OAAA,UAAC,KAAU;IAEnE,IAAM,UAAU,GAAmC,UAAC,OAAkC;QAClF,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;IAEzF,UAAU,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE/C,OAAO,UAAU,CAAC;AACtB,CAAC,EAR2D,CAQ3D,CAAC;AAwB2B,4CAAgB;AAtB7C,IAAM,eAAe,GAAG,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAsBlB,0CAAe;AApB9D,IAAM,cAAc,GAAG,UAAC,IAAyB,IAAK,OAAA,UAAC,OAAkC;IAIrF,IAAI,OAAO,GAAmC,IAAI,CAAC;IAEnD,IAAI,OAAO,KAAK,IAAI,EAAE;QAClB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,IAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YACpD,OAAO,iBAAiB,KAAK,IAAI,CAAC;SACrC;aAAM;YACH,IAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAC3D,OAAO,IAAI,KAAK,WAAW,CAAC;SAC/B;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,EAlBqD,CAkBrD,CAAC;AAE8D,wCAAc","file":"constraint_helpers.js","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { Metadata } from \"../planning/metadata\";\n\nconst traverseAncerstors = (\n request: interfaces.Request,\n constraint: interfaces.ConstraintFunction\n): boolean => {\n\n const parent = request.parentRequest;\n if (parent !== null) {\n return constraint(parent) ? true : traverseAncerstors(parent, constraint);\n } else {\n return false;\n }\n};\n\n// This helpers use currying to help you to generate constraints\n\nconst taggedConstraint = (key: string | number | symbol) => (value: any) => {\n\n const constraint: interfaces.ConstraintFunction = (request: interfaces.Request | null) =>\n request !== null && request.target !== null && request.target.matchesTag(key)(value);\n\n constraint.metaData = new Metadata(key, value);\n\n return constraint;\n};\n\nconst namedConstraint = taggedConstraint(METADATA_KEY.NAMED_TAG);\n\nconst typeConstraint = (type: (Function | string)) => (request: interfaces.Request | null) => {\n\n // Using index 0 because constraints are applied\n // to one binding at a time (see Planner class)\n let binding: interfaces.Binding<any> | null = null;\n\n if (request !== null) {\n binding = request.bindings[0];\n if (typeof type === \"string\") {\n const serviceIdentifier = binding.serviceIdentifier;\n return serviceIdentifier === type;\n } else {\n const constructor = request.bindings[0].implementationType;\n return type === constructor;\n }\n }\n\n return false;\n};\n\nexport { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"763b92c761107c5b622097387b5a040cb33a3426","contentHash":"5bca45d143496bb8d1e1ea09fa2f3114143a94fa2cd96eb94a4d038201d9a469"},"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_snapshot.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_snapshot.js","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":14,"column":3}},"3":{"start":{"line":7,"column":4},"end":{"line":12,"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":24}},"8":{"start":{"line":13,"column":4},"end":{"line":13,"column":29}},"9":{"start":{"line":15,"column":0},"end":{"line":15,"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":14,"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":59},"end":{"line":12,"column":5}},"line":7}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":1,"9":1},"f":{"0":1,"1":2,"2":2},"b":{},"inputSourceMap":{"version":3,"sources":["container/container_snapshot.ts"],"names":[],"mappings":";;;AAEA;IAAA;IAYA,CAAC;IAPiB,oBAAE,GAAhB,UAAiB,QAAoD,EAAE,UAAkC;QACrG,IAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEL,wBAAC;AAAD,CAZA,AAYC,IAAA;AAEQ,8CAAiB","file":"container_snapshot.js","sourcesContent":["import { interfaces } from \"../interfaces/interfaces\";\n\nclass ContainerSnapshot implements interfaces.ContainerSnapshot {\n\n public bindings: interfaces.Lookup<interfaces.Binding<any>>;\n public middleware: interfaces.Next | null;\n\n public static of(bindings: interfaces.Lookup<interfaces.Binding<any>>, middleware: interfaces.Next | null) {\n const snapshot = new ContainerSnapshot();\n snapshot.bindings = bindings;\n snapshot.middleware = middleware;\n return snapshot;\n }\n\n}\n\nexport { ContainerSnapshot };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"cae11f376c7d0ce3cd9b1ea44723ecad5f07f18f","contentHash":"d444070029cb6586a0bfba76b94eb019f5bbb40e27e45e9e716405c1176b1112"},"/Users/dan/jsProjects/inversify/InversifyJS/src/container/lookup.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/lookup.js","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":51}},"3":{"start":{"line":5,"column":14},"end":{"line":79,"column":3}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":30}},"5":{"start":{"line":9,"column":4},"end":{"line":11,"column":6}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":25}},"7":{"start":{"line":12,"column":4},"end":{"line":27,"column":6}},"8":{"start":{"line":13,"column":8},"end":{"line":15,"column":9}},"9":{"start":{"line":14,"column":12},"end":{"line":14,"column":54}},"10":{"start":{"line":16,"column":8},"end":{"line":18,"column":9}},"11":{"start":{"line":17,"column":12},"end":{"line":17,"column":54}},"12":{"start":{"line":19,"column":20},"end":{"line":19,"column":52}},"13":{"start":{"line":20,"column":8},"end":{"line":26,"column":9}},"14":{"start":{"line":21,"column":12},"end":{"line":21,"column":30}},"15":{"start":{"line":22,"column":12},"end":{"line":22,"column":52}},"16":{"start":{"line":25,"column":12},"end":{"line":25,"column":54}},"17":{"start":{"line":28,"column":4},"end":{"line":39,"column":6}},"18":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"19":{"start":{"line":30,"column":12},"end":{"line":30,"column":54}},"20":{"start":{"line":32,"column":20},"end":{"line":32,"column":52}},"21":{"start":{"line":33,"column":8},"end":{"line":38,"column":9}},"22":{"start":{"line":34,"column":12},"end":{"line":34,"column":25}},"23":{"start":{"line":37,"column":12},"end":{"line":37,"column":54}},"24":{"start":{"line":40,"column":4},"end":{"line":47,"column":6}},"25":{"start":{"line":41,"column":8},"end":{"line":43,"column":9}},"26":{"start":{"line":42,"column":12},"end":{"line":42,"column":54}},"27":{"start":{"line":44,"column":8},"end":{"line":46,"column":9}},"28":{"start":{"line":45,"column":12},"end":{"line":45,"column":54}},"29":{"start":{"line":48,"column":4},"end":{"line":59,"column":6}},"30":{"start":{"line":49,"column":20},"end":{"line":49,"column":24}},"31":{"start":{"line":50,"column":8},"end":{"line":58,"column":11}},"32":{"start":{"line":51,"column":33},"end":{"line":51,"column":95}},"33":{"start":{"line":51,"column":67},"end":{"line":51,"column":92}},"34":{"start":{"line":52,"column":12},"end":{"line":57,"column":13}},"35":{"start":{"line":53,"column":16},"end":{"line":53,"column":52}},"36":{"start":{"line":56,"column":16},"end":{"line":56,"column":39}},"37":{"start":{"line":60,"column":4},"end":{"line":65,"column":6}},"38":{"start":{"line":61,"column":8},"end":{"line":63,"column":9}},"39":{"start":{"line":62,"column":12},"end":{"line":62,"column":54}},"40":{"start":{"line":64,"column":8},"end":{"line":64,"column":48}},"41":{"start":{"line":66,"column":4},"end":{"line":72,"column":6}},"42":{"start":{"line":67,"column":19},"end":{"line":67,"column":31}},"43":{"start":{"line":68,"column":8},"end":{"line":70,"column":11}},"44":{"start":{"line":69,"column":12},"end":{"line":69,"column":77}},"45":{"start":{"line":69,"column":41},"end":{"line":69,"column":73}},"46":{"start":{"line":71,"column":8},"end":{"line":71,"column":20}},"47":{"start":{"line":73,"column":4},"end":{"line":77,"column":6}},"48":{"start":{"line":74,"column":8},"end":{"line":76,"column":11}},"49":{"start":{"line":75,"column":12},"end":{"line":75,"column":29}},"50":{"start":{"line":78,"column":4},"end":{"line":78,"column":18}},"51":{"start":{"line":80,"column":0},"end":{"line":80,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":14},"end":{"line":5,"column":15}},"loc":{"start":{"line":5,"column":26},"end":{"line":79,"column":1}},"line":5},"1":{"name":"Lookup","decl":{"start":{"line":6,"column":13},"end":{"line":6,"column":19}},"loc":{"start":{"line":6,"column":22},"end":{"line":8,"column":5}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":30},"end":{"line":9,"column":31}},"loc":{"start":{"line":9,"column":42},"end":{"line":11,"column":5}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":12,"column":27},"end":{"line":12,"column":28}},"loc":{"start":{"line":12,"column":63},"end":{"line":27,"column":5}},"line":12},"4":{"name":"(anonymous_4)","decl":{"start":{"line":28,"column":27},"end":{"line":28,"column":28}},"loc":{"start":{"line":28,"column":56},"end":{"line":39,"column":5}},"line":28},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":30},"end":{"line":40,"column":31}},"loc":{"start":{"line":40,"column":59},"end":{"line":47,"column":5}},"line":40},"6":{"name":"(anonymous_6)","decl":{"start":{"line":48,"column":41},"end":{"line":48,"column":42}},"loc":{"start":{"line":48,"column":62},"end":{"line":59,"column":5}},"line":48},"7":{"name":"(anonymous_7)","decl":{"start":{"line":50,"column":26},"end":{"line":50,"column":27}},"loc":{"start":{"line":50,"column":50},"end":{"line":58,"column":9}},"line":50},"8":{"name":"(anonymous_8)","decl":{"start":{"line":51,"column":48},"end":{"line":51,"column":49}},"loc":{"start":{"line":51,"column":65},"end":{"line":51,"column":94}},"line":51},"9":{"name":"(anonymous_9)","decl":{"start":{"line":60,"column":30},"end":{"line":60,"column":31}},"loc":{"start":{"line":60,"column":59},"end":{"line":65,"column":5}},"line":60},"10":{"name":"(anonymous_10)","decl":{"start":{"line":66,"column":29},"end":{"line":66,"column":30}},"loc":{"start":{"line":66,"column":41},"end":{"line":72,"column":5}},"line":66},"11":{"name":"(anonymous_11)","decl":{"start":{"line":68,"column":26},"end":{"line":68,"column":27}},"loc":{"start":{"line":68,"column":48},"end":{"line":70,"column":9}},"line":68},"12":{"name":"(anonymous_12)","decl":{"start":{"line":69,"column":26},"end":{"line":69,"column":27}},"loc":{"start":{"line":69,"column":39},"end":{"line":69,"column":75}},"line":69},"13":{"name":"(anonymous_13)","decl":{"start":{"line":73,"column":32},"end":{"line":73,"column":33}},"loc":{"start":{"line":73,"column":48},"end":{"line":77,"column":5}},"line":73},"14":{"name":"(anonymous_14)","decl":{"start":{"line":74,"column":26},"end":{"line":74,"column":27}},"loc":{"start":{"line":74,"column":48},"end":{"line":76,"column":9}},"line":74}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":8},"end":{"line":15,"column":9}},"type":"if","locations":[{"start":{"line":13,"column":8},"end":{"line":15,"column":9}},{"start":{"line":13,"column":8},"end":{"line":15,"column":9}}],"line":13},"1":{"loc":{"start":{"line":13,"column":12},"end":{"line":13,"column":73}},"type":"binary-expr","locations":[{"start":{"line":13,"column":12},"end":{"line":13,"column":38}},{"start":{"line":13,"column":42},"end":{"line":13,"column":73}}],"line":13},"2":{"loc":{"start":{"line":16,"column":8},"end":{"line":18,"column":9}},"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":18,"column":9}},{"start":{"line":16,"column":8},"end":{"line":18,"column":9}}],"line":16},"3":{"loc":{"start":{"line":16,"column":12},"end":{"line":16,"column":49}},"type":"binary-expr","locations":[{"start":{"line":16,"column":12},"end":{"line":16,"column":26}},{"start":{"line":16,"column":30},"end":{"line":16,"column":49}}],"line":16},"4":{"loc":{"start":{"line":20,"column":8},"end":{"line":26,"column":9}},"type":"if","locations":[{"start":{"line":20,"column":8},"end":{"line":26,"column":9}},{"start":{"line":20,"column":8},"end":{"line":26,"column":9}}],"line":20},"5":{"loc":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},{"start":{"line":29,"column":8},"end":{"line":31,"column":9}}],"line":29},"6":{"loc":{"start":{"line":29,"column":12},"end":{"line":29,"column":73}},"type":"binary-expr","locations":[{"start":{"line":29,"column":12},"end":{"line":29,"column":38}},{"start":{"line":29,"column":42},"end":{"line":29,"column":73}}],"line":29},"7":{"loc":{"start":{"line":33,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":33,"column":8},"end":{"line":38,"column":9}},{"start":{"line":33,"column":8},"end":{"line":38,"column":9}}],"line":33},"8":{"loc":{"start":{"line":41,"column":8},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":41,"column":8},"end":{"line":43,"column":9}},{"start":{"line":41,"column":8},"end":{"line":43,"column":9}}],"line":41},"9":{"loc":{"start":{"line":41,"column":12},"end":{"line":41,"column":73}},"type":"binary-expr","locations":[{"start":{"line":41,"column":12},"end":{"line":41,"column":38}},{"start":{"line":41,"column":42},"end":{"line":41,"column":73}}],"line":41},"10":{"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},"11":{"loc":{"start":{"line":52,"column":12},"end":{"line":57,"column":13}},"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":57,"column":13}},{"start":{"line":52,"column":12},"end":{"line":57,"column":13}}],"line":52},"12":{"loc":{"start":{"line":61,"column":8},"end":{"line":63,"column":9}},"type":"if","locations":[{"start":{"line":61,"column":8},"end":{"line":63,"column":9}},{"start":{"line":61,"column":8},"end":{"line":63,"column":9}}],"line":61},"13":{"loc":{"start":{"line":61,"column":12},"end":{"line":61,"column":73}},"type":"binary-expr","locations":[{"start":{"line":61,"column":12},"end":{"line":61,"column":38}},{"start":{"line":61,"column":42},"end":{"line":61,"column":73}}],"line":61}},"s":{"0":1,"1":1,"2":1,"3":1,"4":189,"5":1,"6":10,"7":1,"8":24339,"9":1,"10":24338,"11":1,"12":24337,"13":24337,"14":53,"15":53,"16":24284,"17":1,"18":8878,"19":1,"20":8877,"21":8877,"22":8876,"23":1,"24":1,"25":12,"26":1,"27":11,"28":2,"29":1,"30":5,"31":5,"32":11,"33":15,"34":11,"35":6,"36":5,"37":1,"38":8974,"39":1,"40":8973,"41":1,"42":3,"43":3,"44":4,"45":5,"46":3,"47":1,"48":2,"49":4,"50":1,"51":1},"f":{"0":1,"1":189,"2":10,"3":24339,"4":8878,"5":12,"6":5,"7":11,"8":15,"9":8974,"10":3,"11":4,"12":5,"13":2,"14":4},"b":{"0":[1,24338],"1":[24339,24338],"2":[1,24337],"3":[24338,24337],"4":[53,24284],"5":[1,8877],"6":[8878,8877],"7":[8876,1],"8":[1,11],"9":[12,11],"10":[2,9],"11":[6,5],"12":[1,8973],"13":[8974,8973]},"inputSourceMap":{"version":3,"sources":["container/lookup.ts"],"names":[],"mappings":";;;AAAA,oDAAsD;AAGtD;IAKI;QACI,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAA0C,CAAC;IAClE,CAAC;IAEM,uBAAM,GAAb;QACI,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAGM,oBAAG,GAAV,UAAW,iBAAoD,EAAE,KAAQ;QAErE,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC7C;QAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC7C;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;SAC3C;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7C;IACL,CAAC;IAGM,oBAAG,GAAV,UAAW,iBAAoD;QAE3D,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC7C;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/C,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,OAAO,KAAK,CAAC;SAChB;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC7C;IACL,CAAC;IAGM,uBAAM,GAAb,UAAc,iBAAoD;QAE9D,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC7C;IAEL,CAAC;IAEM,kCAAiB,GAAxB,UAAyB,SAA+B;QAAxD,iBASC;QARG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,GAAG;YAC3B,IAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,SAAS,CAAC,KAAK,CAAC,EAAjB,CAAiB,CAAC,CAAC;YACpE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;aACtC;iBAAM;gBACH,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACzB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAGM,uBAAM,GAAb,UAAc,iBAAoD;QAE9D,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC7C;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IAIM,sBAAK,GAAZ;QAEI,IAAM,IAAI,GAAG,IAAI,MAAM,EAAK,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,GAAG;YACzB,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAxB,CAAwB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,yBAAQ,GAAf,UAAgB,IAAkE;QAC9E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,GAAG;YACzB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAEL,aAAC;AAAD,CAtGA,AAsGC,IAAA;AAEQ,wBAAM","file":"lookup.js","sourcesContent":["import * as ERROR_MSGS from \"../constants/error_msgs\";\nimport { interfaces } from \"../interfaces/interfaces\";\n\nclass Lookup<T extends interfaces.Clonable<T>> implements interfaces.Lookup<T> {\n\n // dictionary used store multiple values for each key <key>\n private _map: Map<interfaces.ServiceIdentifier<any>, T[]>;\n\n public constructor() {\n this._map = new Map<interfaces.ServiceIdentifier<any>, T[]>();\n }\n\n public getMap() {\n return this._map;\n }\n\n // adds a new entry to _map\n public add(serviceIdentifier: interfaces.ServiceIdentifier<any>, value: T): void {\n\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n if (value === null || value === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n const entry = this._map.get(serviceIdentifier);\n if (entry !== undefined) {\n entry.push(value);\n this._map.set(serviceIdentifier, entry);\n } else {\n this._map.set(serviceIdentifier, [value]);\n }\n }\n\n // gets the value of a entry by its key (serviceIdentifier)\n public get(serviceIdentifier: interfaces.ServiceIdentifier<any>): T[] {\n\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n const entry = this._map.get(serviceIdentifier);\n\n if (entry !== undefined) {\n return entry;\n } else {\n throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\n }\n }\n\n // removes a entry from _map by its key (serviceIdentifier)\n public remove(serviceIdentifier: interfaces.ServiceIdentifier<any>): void {\n\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n if (!this._map.delete(serviceIdentifier)) {\n throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\n }\n\n }\n\n public removeByCondition(condition: (item: T) => boolean): void {\n this._map.forEach((entries, key) => {\n const updatedEntries = entries.filter((entry) => !condition(entry));\n if (updatedEntries.length > 0) {\n this._map.set(key, updatedEntries);\n } else {\n this._map.delete(key);\n }\n });\n }\n\n // returns true if _map contains a key (serviceIdentifier)\n public hasKey(serviceIdentifier: interfaces.ServiceIdentifier<any>): boolean {\n\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n\n return this._map.has(serviceIdentifier);\n }\n\n // returns a new Lookup instance; note: this is not a deep clone, only Lookup related data structure (dictionary) is\n // cloned, content remains the same\n public clone(): interfaces.Lookup<T> {\n\n const copy = new Lookup<T>();\n\n this._map.forEach((value, key) => {\n value.forEach((b) => copy.add(key, b.clone()));\n });\n\n return copy;\n }\n\n public traverse(func: (key: interfaces.ServiceIdentifier<any>, value: T[]) => void): void {\n this._map.forEach((value, key) => {\n func(key, value);\n });\n }\n\n}\n\nexport { Lookup };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5a4e0d53bce954f8e7d0dfaeae25bdfa5ed5505c","contentHash":"ee8300725db1e35bf5b17ba6b6ab7640ae145d5f5b071fb124e484fce5196c00"},"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_module.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/container/container_module.js","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":28}},"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":28}},"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":7,"5":7,"6":1,"7":1,"8":1,"9":2,"10":2,"11":1,"12":1},"f":{"0":1,"1":7,"2":1,"3":2},"b":{},"inputSourceMap":{"version":3,"sources":["container/container_module.ts"],"names":[],"mappings":";;;AACA,kCAAiC;AAEjC;IAKI,yBAAmB,QAA4C;QAC3D,IAAI,CAAC,EAAE,GAAG,OAAE,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEL,sBAAC;AAAD,CAVA,AAUC,IAAA;AAVY,0CAAe;AAY5B;IAKI,8BAAmB,QAAiD;QAChE,IAAI,CAAC,EAAE,GAAG,OAAE,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEL,2BAAC;AAAD,CAVA,AAUC,IAAA;AAVY,oDAAoB","file":"container_module.js","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"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fca83bb81c66cc83a50b7eb87bf50fcb5a1873f0","contentHash":"1494c6cd152399489a70abd6bd0a00fcbfe07df3820d096df802904cfd94ec76"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/injectable.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/injectable.js","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":18},"end":{"line":4,"column":52}},"3":{"start":{"line":5,"column":19},"end":{"line":5,"column":56}},"4":{"start":{"line":7,"column":4},"end":{"line":14,"column":6}},"5":{"start":{"line":8,"column":8},"end":{"line":10,"column":9}},"6":{"start":{"line":9,"column":12},"end":{"line":9,"column":73}},"7":{"start":{"line":11,"column":20},"end":{"line":11,"column":86}},"8":{"start":{"line":12,"column":8},"end":{"line":12,"column":72}},"9":{"start":{"line":13,"column":8},"end":{"line":13,"column":22}},"10":{"start":{"line":16,"column":0},"end":{"line":16,"column":32}}},"fnMap":{"0":{"name":"injectable","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":19}},"loc":{"start":{"line":6,"column":22},"end":{"line":15,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":11},"end":{"line":7,"column":12}},"loc":{"start":{"line":7,"column":29},"end":{"line":14,"column":5}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":8},"end":{"line":10,"column":9}},"type":"if","locations":[{"start":{"line":8,"column":8},"end":{"line":10,"column":9}},{"start":{"line":8,"column":8},"end":{"line":10,"column":9}}],"line":8},"1":{"loc":{"start":{"line":11,"column":20},"end":{"line":11,"column":86}},"type":"binary-expr","locations":[{"start":{"line":11,"column":20},"end":{"line":11,"column":80}},{"start":{"line":11,"column":84},"end":{"line":11,"column":86}}],"line":11}},"s":{"0":1,"1":1,"2":1,"3":1,"4":266,"5":266,"6":1,"7":265,"8":265,"9":265,"10":1},"f":{"0":266,"1":266},"b":{"0":[1,265],"1":[265,130]},"inputSourceMap":{"version":3,"sources":["annotation/injectable.ts"],"names":[],"mappings":";;;AAAA,qDAAuD;AACvD,yDAA2D;AAE3D,SAAS,UAAU;IACjB,OAAO,UAAS,MAAW;QAEzB,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","file":"injectable.js","sourcesContent":["import * as ERRORS_MSGS from \"../constants/error_msgs\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\n\nfunction injectable() {\n return function(target: any) {\n\n if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {\n throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR);\n }\n\n const types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];\n Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target);\n\n return target;\n };\n}\n\nexport { injectable };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"198270ffac765dbe19346c0cc9a679ce52ac4ba9","contentHash":"e4907188e69adbf8c8d5605051ca9ad639ad262e293f9ea209105781d695d012"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/tagged.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/tagged.js","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":15,"column":6}},"5":{"start":{"line":8,"column":23},"end":{"line":8,"column":74}},"6":{"start":{"line":9,"column":8},"end":{"line":14,"column":9}},"7":{"start":{"line":10,"column":12},"end":{"line":10,"column":79}},"8":{"start":{"line":13,"column":12},"end":{"line":13,"column":71}},"9":{"start":{"line":17,"column":0},"end":{"line":17,"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":16,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":7,"column":11},"end":{"line":7,"column":12}},"loc":{"start":{"line":7,"column":47},"end":{"line":15,"column":5}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":8},"end":{"line":14,"column":9}},"type":"if","locations":[{"start":{"line":9,"column":8},"end":{"line":14,"column":9}},{"start":{"line":9,"column":8},"end":{"line":14,"column":9}}],"line":9}},"s":{"0":1,"1":1,"2":1,"3":1,"4":25,"5":25,"6":25,"7":18,"8":7,"9":1},"f":{"0":25,"1":25},"b":{"0":[18,7]},"inputSourceMap":{"version":3,"sources":["annotation/tagged.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAChD,qDAA8D;AAG9D,SAAS,MAAM,CAAC,WAAqC,EAAE,aAAkB;IACrE,OAAO,UAAS,MAAW,EAAE,SAAiB,EAAE,KAAc;QAC1D,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,8BAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;SACpD;aAAM;YACH,6BAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC5C;IACL,CAAC,CAAC;AACN,CAAC;AAEQ,wBAAM","file":"tagged.js","sourcesContent":["import { Metadata } from \"../planning/metadata\";\nimport { tagParameter, tagProperty } from \"./decorator_utils\";\n\n// Used to add custom metadata which is used to resolve metadata-based contextual bindings.\nfunction tagged(metadataKey: string | number | symbol, metadataValue: any) {\n return function(target: any, targetKey: string, index?: number) {\n const metadata = new Metadata(metadataKey, metadataValue);\n if (typeof index === \"number\") {\n tagParameter(target, targetKey, index, metadata);\n } else {\n tagProperty(target, targetKey, metadata);\n }\n };\n}\n\nexport { tagged };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"776d9df73dd3d96093610f8fcf1a9f2510f6fef8","contentHash":"d980bae90cb6ba467e070366d8467d34496ea8224fccf79e989d2f71814bf64a"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/named.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/named.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":23}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":56}},"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":23},"end":{"line":9,"column":76}},"7":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"8":{"start":{"line":11,"column":12},"end":{"line":11,"column":79}},"9":{"start":{"line":14,"column":12},"end":{"line":14,"column":71}},"10":{"start":{"line":18,"column":0},"end":{"line":18,"column":22}}},"fnMap":{"0":{"name":"named","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":14}},"loc":{"start":{"line":7,"column":21},"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":47},"end":{"line":16,"column":5}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"type":"if","locations":[{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},{"start":{"line":10,"column":8},"end":{"line":15,"column":9}}],"line":10}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":24,"6":24,"7":24,"8":20,"9":4,"10":1},"f":{"0":24,"1":24},"b":{"0":[20,4]},"inputSourceMap":{"version":3,"sources":["annotation/named.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAC3D,iDAAgD;AAChD,qDAA8D;AAG9D,SAAS,KAAK,CAAC,IAA8B;IACzC,OAAO,UAAS,MAAW,EAAE,SAAiB,EAAE,KAAc;QAC1D,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,8BAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;SACpD;aAAM;YACH,6BAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC5C;IACL,CAAC,CAAC;AACN,CAAC;AAEQ,sBAAK","file":"named.js","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\r\nimport { Metadata } from \"../planning/metadata\";\r\nimport { tagParameter, tagProperty } 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 function(target: any, targetKey: string, index?: number) {\r\n const metadata = new Metadata(METADATA_KEY.NAMED_TAG, name);\r\n if (typeof index === \"number\") {\r\n tagParameter(target, targetKey, index, metadata);\r\n } else {\r\n tagProperty(target, targetKey, metadata);\r\n }\r\n };\r\n}\r\n\r\nexport { named };\r\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b65f6cbfad80671e8090c9f08f13b7cc82a9bc91","contentHash":"798a8ef872f7919b4b3b7695b49de91a2afa18d0d4d8a33768236f4771e50c6b"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/optional.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/optional.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":26}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":56}},"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":23},"end":{"line":9,"column":79}},"7":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"8":{"start":{"line":11,"column":12},"end":{"line":11,"column":79}},"9":{"start":{"line":14,"column":12},"end":{"line":14,"column":71}},"10":{"start":{"line":18,"column":0},"end":{"line":18,"column":28}}},"fnMap":{"0":{"name":"optional","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":17}},"loc":{"start":{"line":7,"column":20},"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":47},"end":{"line":16,"column":5}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"type":"if","locations":[{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},{"start":{"line":10,"column":8},"end":{"line":15,"column":9}}],"line":10}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":3,"6":3,"7":3,"8":2,"9":1,"10":1},"f":{"0":3,"1":3},"b":{"0":[2,1]},"inputSourceMap":{"version":3,"sources":["annotation/optional.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAC3D,iDAAgD;AAChD,qDAA8D;AAE9D,SAAS,QAAQ;IACb,OAAO,UAAS,MAAW,EAAE,SAAiB,EAAE,KAAc;QAE1D,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAE/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,8BAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;SACpD;aAAM;YACH,6BAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC5C;IAEL,CAAC,CAAC;AACN,CAAC;AAEQ,4BAAQ","file":"optional.js","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { Metadata } from \"../planning/metadata\";\nimport { tagParameter, tagProperty } from \"./decorator_utils\";\n\nfunction optional() {\n return function(target: any, targetKey: string, index?: number) {\n\n const metadata = new Metadata(METADATA_KEY.OPTIONAL_TAG, true);\n\n if (typeof index === \"number\") {\n tagParameter(target, targetKey, index, metadata);\n } else {\n tagProperty(target, targetKey, metadata);\n }\n\n };\n}\n\nexport { optional };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"06363426d37342fe4b15fc9a6633b865b0800d06","contentHash":"571d1d0b595cfb5158c55a797060eca4c8b9b06c5bedacb265390ae81ecfac28"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/unmanaged.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/unmanaged.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":27}},"2":{"start":{"line":4,"column":19},"end":{"line":4,"column":56}},"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":11,"column":6}},"6":{"start":{"line":9,"column":23},"end":{"line":9,"column":80}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":75}},"8":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}}},"fnMap":{"0":{"name":"unmanaged","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":18}},"loc":{"start":{"line":7,"column":21},"end":{"line":12,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":11},"end":{"line":8,"column":12}},"loc":{"start":{"line":8,"column":47},"end":{"line":11,"column":5}},"line":8}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":6,"6":6,"7":6,"8":1},"f":{"0":6,"1":6},"b":{},"inputSourceMap":{"version":3,"sources":["annotation/unmanaged.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAC3D,iDAAgD;AAChD,qDAAiD;AAEjD,SAAS,SAAS;IACd,OAAO,UAAS,MAAW,EAAE,SAAiB,EAAE,KAAa;QACzD,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAChE,8BAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC,CAAC;AACN,CAAC;AAEQ,8BAAS","file":"unmanaged.js","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { Metadata } from \"../planning/metadata\";\nimport { tagParameter } from \"./decorator_utils\";\n\nfunction unmanaged() {\n return function(target: any, targetKey: string, index: number) {\n const metadata = new Metadata(METADATA_KEY.UNMANAGED_TAG, true);\n tagParameter(target, targetKey, index, metadata);\n };\n}\n\nexport { unmanaged };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"89c0c090130f9ead564f93f2dae929dddd29b283","contentHash":"8771453c74139a25ea3d1875211b78cf8f684e4e65074cb14fd83273c09c6133"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/multi_inject.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/multi_inject.js","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":4,"column":19},"end":{"line":4,"column":56}},"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":23},"end":{"line":9,"column":96}},"7":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"8":{"start":{"line":11,"column":12},"end":{"line":11,"column":79}},"9":{"start":{"line":14,"column":12},"end":{"line":14,"column":71}},"10":{"start":{"line":18,"column":0},"end":{"line":18,"column":34}}},"fnMap":{"0":{"name":"multiInject","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":20}},"loc":{"start":{"line":7,"column":40},"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":47},"end":{"line":16,"column":5}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"type":"if","locations":[{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},{"start":{"line":10,"column":8},"end":{"line":15,"column":9}}],"line":10}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":10,"6":10,"7":10,"8":9,"9":1,"10":1},"f":{"0":10,"1":10},"b":{"0":[9,1]},"inputSourceMap":{"version":3,"sources":["annotation/multi_inject.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAE3D,iDAAgD;AAChD,qDAA8D;AAE9D,SAAS,WAAW,CAAC,iBAAoD;IACvE,OAAO,UAAS,MAAW,EAAE,SAAiB,EAAE,KAAc;QAE5D,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QAEhF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,8BAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;SAClD;aAAM;YACL,6BAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC1C;IAEH,CAAC,CAAC;AACJ,CAAC;AAEQ,kCAAW","file":"multi_inject.js","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { interfaces } from \"../interfaces/interfaces\";\nimport { Metadata } from \"../planning/metadata\";\nimport { tagParameter, tagProperty } from \"./decorator_utils\";\n\nfunction multiInject(serviceIdentifier: interfaces.ServiceIdentifier<any>) {\n return function(target: any, targetKey: string, index?: number) {\n\n const metadata = new Metadata(METADATA_KEY.MULTI_INJECT_TAG, serviceIdentifier);\n\n if (typeof index === \"number\") {\n tagParameter(target, targetKey, index, metadata);\n } else {\n tagProperty(target, targetKey, metadata);\n }\n\n };\n}\n\nexport { multiInject };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"20ab81954c84c8600ccc5ffa6dba6154614d5c95","contentHash":"704e644b5ab800c58cff0eb363d67a9f2a77ad844c131e7f7f5c76381d98349f"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/target_name.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/target_name.js","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":56}},"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":11,"column":6}},"6":{"start":{"line":9,"column":23},"end":{"line":9,"column":75}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":75}},"8":{"start":{"line":13,"column":0},"end":{"line":13,"column":32}}},"fnMap":{"0":{"name":"targetName","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":19}},"loc":{"start":{"line":7,"column":26},"end":{"line":12,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":11},"end":{"line":8,"column":12}},"loc":{"start":{"line":8,"column":47},"end":{"line":11,"column":5}},"line":8}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":55,"6":55,"7":55,"8":1},"f":{"0":55,"1":55},"b":{},"inputSourceMap":{"version":3,"sources":["annotation/target_name.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAC3D,iDAAgD;AAChD,qDAAiD;AAEjD,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,UAAS,MAAW,EAAE,SAAiB,EAAE,KAAa;QAC3D,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3D,8BAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAEQ,gCAAU","file":"target_name.js","sourcesContent":["import * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { Metadata } from \"../planning/metadata\";\nimport { tagParameter } from \"./decorator_utils\";\n\nfunction targetName(name: string) {\n return function(target: any, targetKey: string, index: number) {\n const metadata = new Metadata(METADATA_KEY.NAME_TAG, name);\n tagParameter(target, targetKey, index, metadata);\n };\n}\n\nexport { targetName };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c7e819a2934bec314cae77f8f62fa66ed18d11d5","contentHash":"8cb289ce5017604086cafd3680eb6010221ec0fb2ec340f72a494d9ef48380cf"},"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/post_construct.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/annotation/post_construct.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":31}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":52}},"3":{"start":{"line":5,"column":19},"end":{"line":5,"column":56}},"4":{"start":{"line":6,"column":17},"end":{"line":6,"column":48}},"5":{"start":{"line":8,"column":4},"end":{"line":14,"column":6}},"6":{"start":{"line":9,"column":23},"end":{"line":9,"column":88}},"7":{"start":{"line":10,"column":8},"end":{"line":12,"column":9}},"8":{"start":{"line":11,"column":12},"end":{"line":11,"column":73}},"9":{"start":{"line":13,"column":8},"end":{"line":13,"column":90}},"10":{"start":{"line":16,"column":0},"end":{"line":16,"column":38}}},"fnMap":{"0":{"name":"postConstruct","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":22}},"loc":{"start":{"line":7,"column":25},"end":{"line":15,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":11},"end":{"line":8,"column":12}},"loc":{"start":{"line":8,"column":54},"end":{"line":14,"column":5}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":8},"end":{"line":12,"column":9}},"type":"if","locations":[{"start":{"line":10,"column":8},"end":{"line":12,"column":9}},{"start":{"line":10,"column":8},"end":{"line":12,"column":9}}],"line":10}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":8,"6":8,"7":8,"8":1,"9":7,"10":1},"f":{"0":8,"1":8},"b":{"0":[1,7]},"inputSourceMap":{"version":3,"sources":["annotation/post_construct.ts"],"names":[],"mappings":";;;AAAA,qDAAuD;AACvD,yDAA2D;AAC3D,iDAAgD;AAEhD,SAAS,aAAa;IAClB,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC7E,IAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAExE,IAAI,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;YACzE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;SAChE;QACD,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACtF,CAAC,CAAC;AACN,CAAC;AAEQ,sCAAa","file":"post_construct.js","sourcesContent":["import * as ERRORS_MSGS from \"../constants/error_msgs\";\nimport * as METADATA_KEY from \"../constants/metadata_keys\";\nimport { Metadata } from \"../planning/metadata\";\n\nfunction postConstruct() {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const metadata = new Metadata(METADATA_KEY.POST_CONSTRUCT, propertyKey);\n\n if (Reflect.hasOwnMetadata(METADATA_KEY.POST_CONSTRUCT, target.constructor)) {\n throw new Error(ERRORS_MSGS.MULTIPLE_POST_CONSTRUCT_METHODS);\n }\n Reflect.defineMetadata(METADATA_KEY.POST_CONSTRUCT, metadata, target.constructor);\n };\n}\n\nexport { postConstruct };\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"32071233c1ecb74b458799d50ce19b34f10770c4","contentHash":"3884a51f09a1dde9ee02559f3cf98a5a8936b450acd601666204fe7f8a9af3c0"},"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/binding_utils.js":{"path":"/Users/dan/jsProjects/inversify/InversifyJS/src/utils/binding_utils.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":36}},"2":{"start":{"line":4,"column":0},"end":{"line":14,"column":2}},"3":{"start":{"line":5,"column":4},"end":{"line":13,"column":6}},"4":{"start":{"line":6,"column":8},"end":{"line":12,"column":10}},"5":{"start":{"line":7,"column":24},"end":{"line":7,"column":26}},"6":{"start":{"line":8,"column":12},"end":{"line":10,"column":13}},"7":{"start":{"line":8,"column":26},"end":{"line":8,"column":27}},"8":{"start":{"line":9,"column":16},"end":{"line":9,"column":42}},"9":{"start":{"line":11,"column":12},"end":{"line":11,"column":96}},"10":{"start":{"line":11,"column":48},"end":{"line":11,"column":92}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":29},"end":{"line":4,"column":30}},"loc":{"start":{"line":4,"column":50},"end":{"line":14,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":11},"end":{"line":5,"column":12}},"loc":{"start":{"line":5,"column":30},"end":{"line":13,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":6,"column":15},"end":{"line":6,"column":16}},"loc":{"start":{"line":6,"column":27},"end":{"line":12,"column":9}},"line":6},"3":{"name":"(anonymous_3)","decl":{"start":{"line":11,"column":33},"end":{"line":11,"column":34}},"loc":{"start":{"line":11,"column":46},"end":{"line":11,"column":94}},"line":11}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":2,"9":1,"10":2},"f":{"0":1,"1":1,"2":1,"3":2},"b":{},"inputSourceMap":{"version":3,"sources":["utils/binding_utils.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAG,UAAC,SAA+B;IAC9D,OAAA,UAAC,OAA0C;QACvC,OAAA;YAAC,eAA6C;iBAA7C,UAA6C,EAA7C,qBAA6C,EAA7C,IAA6C;gBAA7C,0BAA6C;;YAC1C,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;IAD9D,CAC8D;AAFlE,CAEkE,CAAC","file":"binding_utils.js","sourcesContent":["import { interfaces } from \"../inversify\";\n\nexport const multiBindToService = (container: interfaces.Container) =>\n (service: interfaces.ServiceIdentifier<any>) =>\n (...types: interfaces.ServiceIdentifier<any>[]) =>\n types.forEach((t) => container.bind(t).toService(service));\n"],"sourceRoot":"/Users/dan/jsProjects/inversify/InversifyJS/src"},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c378c93352aa0f4b601902044a22d208593ca5c5","contentHash":"a300075dfd5ab039ef34149e0f0010aec256a4b90995f796b5de9d4f94516126"}}
|