@angular/core 2.2.0-rc.0 → 2.2.3
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/bundles/core-testing.umd.js +44 -11
- package/bundles/core.umd.js +560 -513
- package/bundles/core.umd.min.js +8 -8
- package/package.json +1 -1
- package/src/animation/animation_group_player.d.ts +3 -1
- package/src/animation/animation_group_player.js +18 -7
- package/src/animation/animation_group_player.js.map +1 -1
- package/src/animation/animation_player.d.ts +1 -1
- package/src/animation/animation_player.js +1 -1
- package/src/animation/animation_player.js.map +1 -1
- package/src/animation/animation_queue.js +8 -0
- package/src/animation/animation_queue.js.map +1 -1
- package/src/animation/animation_sequence_player.d.ts +3 -1
- package/src/animation/animation_sequence_player.js +20 -8
- package/src/animation/animation_sequence_player.js.map +1 -1
- package/src/animation/animation_style_util.js +1 -0
- package/src/animation/animation_style_util.js.map +1 -1
- package/src/animation/animation_style_util.metadata.json +1 -1
- package/src/animation/metadata.js.map +1 -1
- package/src/animation/view_animation_map.js.map +1 -1
- package/src/change_detection/constants.d.ts +1 -1
- package/src/change_detection/constants.js +1 -1
- package/src/change_detection/constants.js.map +1 -1
- package/src/change_detection/differs/default_iterable_differ.js +2 -2
- package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
- package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
- package/src/change_detection/differs/iterable_differs.js.map +1 -1
- package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
- package/src/core_private_export.d.ts +8 -3
- package/src/core_private_export.js +6 -2
- package/src/core_private_export.js.map +1 -1
- package/src/core_private_export.metadata.json +1 -1
- package/src/debug/debug_node.js +12 -24
- package/src/debug/debug_node.js.map +1 -1
- package/src/debug/debug_node.metadata.json +1 -1
- package/src/debug/debug_renderer.d.ts +2 -2
- package/src/debug/debug_renderer.js +7 -5
- package/src/debug/debug_renderer.js.map +1 -1
- package/src/di/reflective_errors.js.map +1 -1
- package/src/di/reflective_injector.js.map +1 -1
- package/src/di/reflective_key.js.map +1 -1
- package/src/di/reflective_provider.js +13 -14
- package/src/di/reflective_provider.js.map +1 -1
- package/src/facade/collection.d.ts +2 -10
- package/src/facade/collection.js +8 -73
- package/src/facade/collection.js.map +1 -1
- package/src/facade/lang.d.ts +0 -1
- package/src/facade/lang.js +5 -24
- package/src/facade/lang.js.map +1 -1
- package/src/facade/lang.metadata.json +1 -1
- package/src/linker/animation_view_context.d.ts +1 -1
- package/src/linker/animation_view_context.js +16 -5
- package/src/linker/animation_view_context.js.map +1 -1
- package/src/linker/component_factory.d.ts +8 -6
- package/src/linker/component_factory.js +17 -23
- package/src/linker/component_factory.js.map +1 -1
- package/src/linker/component_factory_resolver.js.map +1 -1
- package/src/linker/debug_context.js +6 -9
- package/src/linker/debug_context.js.map +1 -1
- package/src/linker/element_injector.js +1 -8
- package/src/linker/element_injector.js.map +1 -1
- package/src/linker/ng_module_factory.js.map +1 -1
- package/src/linker/ng_module_factory_loader.js.map +1 -1
- package/src/linker/system_js_ng_module_factory_loader.js +2 -1
- package/src/linker/system_js_ng_module_factory_loader.js.map +1 -1
- package/src/linker/template_ref.d.ts +5 -4
- package/src/linker/template_ref.js +8 -6
- package/src/linker/template_ref.js.map +1 -1
- package/src/linker/view.d.ts +29 -17
- package/src/linker/view.js +143 -51
- package/src/linker/view.js.map +1 -1
- package/src/linker/{element.d.ts → view_container.d.ts} +4 -7
- package/src/linker/{element.js → view_container.js} +45 -50
- package/src/linker/view_container.js.map +1 -0
- package/src/linker/view_container_ref.d.ts +2 -2
- package/src/linker/view_container_ref.js.map +1 -1
- package/src/linker/view_utils.d.ts +6 -10
- package/src/linker/view_utils.js +17 -14
- package/src/linker/view_utils.js.map +1 -1
- package/src/linker/view_utils.metadata.json +1 -1
- package/src/profile/wtf_impl.js.map +1 -1
- package/src/reflection/reflection_capabilities.js +5 -2
- package/src/reflection/reflection_capabilities.js.map +1 -1
- package/src/render/api.d.ts +8 -1
- package/src/render/api.js.map +1 -1
- package/src/testability/testability.js +2 -3
- package/src/testability/testability.js.map +1 -1
- package/src/util/decorators.js.map +1 -1
- package/testing/async.js.map +1 -1
- package/testing/facade/lang.d.ts +0 -1
- package/testing/facade/lang.js +5 -24
- package/testing/facade/lang.js.map +1 -1
- package/testing/facade/lang.metadata.json +1 -1
- package/testing/fake_async.js.map +1 -1
- package/testing/mock_animation_player.d.ts +16 -1
- package/testing/mock_animation_player.js +43 -14
- package/testing/mock_animation_player.js.map +1 -1
- package/testing/test_bed.js.map +1 -1
- package/testing/testing.js.map +1 -1
- package/src/linker/element.js.map +0 -1
package/src/debug/debug_node.js
CHANGED
|
@@ -10,8 +10,6 @@ var __extends = (this && this.__extends) || function (d, b) {
|
|
|
10
10
|
function __() { this.constructor = d; }
|
|
11
11
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
12
|
};
|
|
13
|
-
import { MapWrapper } from '../facade/collection';
|
|
14
|
-
import { isPresent } from '../facade/lang';
|
|
15
13
|
export var EventListener = (function () {
|
|
16
14
|
function EventListener(name, callback) {
|
|
17
15
|
this.name = name;
|
|
@@ -27,7 +25,7 @@ export var DebugNode = (function () {
|
|
|
27
25
|
function DebugNode(nativeNode, parent, _debugInfo) {
|
|
28
26
|
this._debugInfo = _debugInfo;
|
|
29
27
|
this.nativeNode = nativeNode;
|
|
30
|
-
if (
|
|
28
|
+
if (parent && parent instanceof DebugElement) {
|
|
31
29
|
parent.addChild(this);
|
|
32
30
|
}
|
|
33
31
|
else {
|
|
@@ -36,38 +34,34 @@ export var DebugNode = (function () {
|
|
|
36
34
|
this.listeners = [];
|
|
37
35
|
}
|
|
38
36
|
Object.defineProperty(DebugNode.prototype, "injector", {
|
|
39
|
-
get: function () { return
|
|
37
|
+
get: function () { return this._debugInfo ? this._debugInfo.injector : null; },
|
|
40
38
|
enumerable: true,
|
|
41
39
|
configurable: true
|
|
42
40
|
});
|
|
43
41
|
Object.defineProperty(DebugNode.prototype, "componentInstance", {
|
|
44
|
-
get: function () {
|
|
45
|
-
return isPresent(this._debugInfo) ? this._debugInfo.component : null;
|
|
46
|
-
},
|
|
42
|
+
get: function () { return this._debugInfo ? this._debugInfo.component : null; },
|
|
47
43
|
enumerable: true,
|
|
48
44
|
configurable: true
|
|
49
45
|
});
|
|
50
46
|
Object.defineProperty(DebugNode.prototype, "context", {
|
|
51
|
-
get: function () { return
|
|
47
|
+
get: function () { return this._debugInfo ? this._debugInfo.context : null; },
|
|
52
48
|
enumerable: true,
|
|
53
49
|
configurable: true
|
|
54
50
|
});
|
|
55
51
|
Object.defineProperty(DebugNode.prototype, "references", {
|
|
56
52
|
get: function () {
|
|
57
|
-
return
|
|
53
|
+
return this._debugInfo ? this._debugInfo.references : null;
|
|
58
54
|
},
|
|
59
55
|
enumerable: true,
|
|
60
56
|
configurable: true
|
|
61
57
|
});
|
|
62
58
|
Object.defineProperty(DebugNode.prototype, "providerTokens", {
|
|
63
|
-
get: function () {
|
|
64
|
-
return isPresent(this._debugInfo) ? this._debugInfo.providerTokens : null;
|
|
65
|
-
},
|
|
59
|
+
get: function () { return this._debugInfo ? this._debugInfo.providerTokens : null; },
|
|
66
60
|
enumerable: true,
|
|
67
61
|
configurable: true
|
|
68
62
|
});
|
|
69
63
|
Object.defineProperty(DebugNode.prototype, "source", {
|
|
70
|
-
get: function () { return
|
|
64
|
+
get: function () { return this._debugInfo ? this._debugInfo.source : null; },
|
|
71
65
|
enumerable: true,
|
|
72
66
|
configurable: true
|
|
73
67
|
});
|
|
@@ -88,7 +82,7 @@ export var DebugElement = (function (_super) {
|
|
|
88
82
|
this.nativeElement = nativeNode;
|
|
89
83
|
}
|
|
90
84
|
DebugElement.prototype.addChild = function (child) {
|
|
91
|
-
if (
|
|
85
|
+
if (child) {
|
|
92
86
|
this.childNodes.push(child);
|
|
93
87
|
child.parent = this;
|
|
94
88
|
}
|
|
@@ -108,7 +102,7 @@ export var DebugElement = (function (_super) {
|
|
|
108
102
|
this.childNodes = previousChildren.concat(newChildren, nextChildren);
|
|
109
103
|
for (var i = 0; i < newChildren.length; ++i) {
|
|
110
104
|
var newChild = newChildren[i];
|
|
111
|
-
if (
|
|
105
|
+
if (newChild.parent) {
|
|
112
106
|
newChild.parent.removeChild(newChild);
|
|
113
107
|
}
|
|
114
108
|
newChild.parent = this;
|
|
@@ -117,7 +111,7 @@ export var DebugElement = (function (_super) {
|
|
|
117
111
|
};
|
|
118
112
|
DebugElement.prototype.query = function (predicate) {
|
|
119
113
|
var results = this.queryAll(predicate);
|
|
120
|
-
return results
|
|
114
|
+
return results[0] || null;
|
|
121
115
|
};
|
|
122
116
|
DebugElement.prototype.queryAll = function (predicate) {
|
|
123
117
|
var matches = [];
|
|
@@ -131,13 +125,7 @@ export var DebugElement = (function (_super) {
|
|
|
131
125
|
};
|
|
132
126
|
Object.defineProperty(DebugElement.prototype, "children", {
|
|
133
127
|
get: function () {
|
|
134
|
-
|
|
135
|
-
this.childNodes.forEach(function (node) {
|
|
136
|
-
if (node instanceof DebugElement) {
|
|
137
|
-
children.push(node);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
return children;
|
|
128
|
+
return this.childNodes.filter(function (node) { return node instanceof DebugElement; });
|
|
141
129
|
},
|
|
142
130
|
enumerable: true,
|
|
143
131
|
configurable: true
|
|
@@ -188,7 +176,7 @@ export function getDebugNode(nativeNode) {
|
|
|
188
176
|
return _nativeNodeToDebugNode.get(nativeNode);
|
|
189
177
|
}
|
|
190
178
|
export function getAllDebugNodes() {
|
|
191
|
-
return
|
|
179
|
+
return Array.from(_nativeNodeToDebugNode.values());
|
|
192
180
|
}
|
|
193
181
|
export function indexDebugNode(node) {
|
|
194
182
|
_nativeNodeToDebugNode.set(node.nativeNode, node);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug_node.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/debug/debug_node.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector} from '../di';\nimport {MapWrapper, Predicate} from '../facade/collection';\nimport {isPresent} from '../facade/lang';\nimport {RenderDebugInfo} from '../render/api';\n\nexport class EventListener { constructor(public name: string, public callback: Function){}; }\n\n/**\n * @experimental All debugging apis are currently experimental.\n */\nexport class DebugNode {\n nativeNode: any;\n listeners: EventListener[];\n parent: DebugElement;\n\n constructor(nativeNode: any, parent: DebugNode, private _debugInfo: RenderDebugInfo) {\n this.nativeNode = nativeNode;\n if (isPresent(parent) && parent instanceof DebugElement) {\n parent.addChild(this);\n } else {\n this.parent = null;\n }\n this.listeners = [];\n }\n\n get injector(): Injector { return isPresent(this._debugInfo) ? this._debugInfo.injector : null; }\n\n get componentInstance(): any {\n return isPresent(this._debugInfo) ? this._debugInfo.component : null;\n }\n\n get context(): any { return isPresent(this._debugInfo) ? this._debugInfo.context : null; }\n\n get references(): {[key: string]: any} {\n return isPresent(this._debugInfo) ? this._debugInfo.references : null;\n }\n\n get providerTokens(): any[] {\n return isPresent(this._debugInfo) ? this._debugInfo.providerTokens : null;\n }\n\n get source(): string { return isPresent(this._debugInfo) ? this._debugInfo.source : null; }\n}\n\n/**\n * @experimental All debugging apis are currently experimental.\n */\nexport class DebugElement extends DebugNode {\n name: string;\n properties: {[key: string]: any};\n attributes: {[key: string]: string};\n classes: {[key: string]: boolean};\n styles: {[key: string]: string};\n childNodes: DebugNode[];\n nativeElement: any;\n\n constructor(nativeNode: any, parent: any, _debugInfo: RenderDebugInfo) {\n super(nativeNode, parent, _debugInfo);\n this.properties = {};\n this.attributes = {};\n this.classes = {};\n this.styles = {};\n this.childNodes = [];\n this.nativeElement = nativeNode;\n }\n\n addChild(child: DebugNode) {\n if (isPresent(child)) {\n this.childNodes.push(child);\n child.parent = this;\n }\n }\n\n removeChild(child: DebugNode) {\n var childIndex = this.childNodes.indexOf(child);\n if (childIndex !== -1) {\n child.parent = null;\n this.childNodes.splice(childIndex, 1);\n }\n }\n\n insertChildrenAfter(child: DebugNode, newChildren: DebugNode[]) {\n var siblingIndex = this.childNodes.indexOf(child);\n if (siblingIndex !== -1) {\n var previousChildren = this.childNodes.slice(0, siblingIndex + 1);\n var nextChildren = this.childNodes.slice(siblingIndex + 1);\n this.childNodes = previousChildren.concat(newChildren, nextChildren);\n for (var i = 0; i < newChildren.length; ++i) {\n var newChild = newChildren[i];\n if (isPresent(newChild.parent)) {\n newChild.parent.removeChild(newChild);\n }\n newChild.parent = this;\n }\n }\n }\n\n query(predicate: Predicate<DebugElement>): DebugElement {\n var results = this.queryAll(predicate);\n return results.length > 0 ? results[0] : null;\n }\n\n queryAll(predicate: Predicate<DebugElement>): DebugElement[] {\n var matches: DebugElement[] = [];\n _queryElementChildren(this, predicate, matches);\n return matches;\n }\n\n queryAllNodes(predicate: Predicate<DebugNode>): DebugNode[] {\n var matches: DebugNode[] = [];\n _queryNodeChildren(this, predicate, matches);\n return matches;\n }\n\n get children(): DebugElement[] {\n var children: DebugElement[] = [];\n this.childNodes.forEach((node) => {\n if (node instanceof DebugElement) {\n children.push(node);\n }\n });\n return children;\n }\n\n triggerEventHandler(eventName: string, eventObj: any) {\n this.listeners.forEach((listener) => {\n if (listener.name == eventName) {\n listener.callback(eventObj);\n }\n });\n }\n}\n\n/**\n * @experimental\n */\nexport function asNativeElements(debugEls: DebugElement[]): any {\n return debugEls.map((el) => el.nativeElement);\n}\n\nfunction _queryElementChildren(\n element: DebugElement, predicate: Predicate<DebugElement>, matches: DebugElement[]) {\n element.childNodes.forEach(node => {\n if (node instanceof DebugElement) {\n if (predicate(node)) {\n matches.push(node);\n }\n _queryElementChildren(node, predicate, matches);\n }\n });\n}\n\nfunction _queryNodeChildren(\n parentNode: DebugNode, predicate: Predicate<DebugNode>, matches: DebugNode[]) {\n if (parentNode instanceof DebugElement) {\n parentNode.childNodes.forEach(node => {\n if (predicate(node)) {\n matches.push(node);\n }\n if (node instanceof DebugElement) {\n _queryNodeChildren(node, predicate, matches);\n }\n });\n }\n}\n\n// Need to keep the nodes in a global Map so that multiple angular apps are supported.\nvar _nativeNodeToDebugNode = new Map<any, DebugNode>();\n\n/**\n * @experimental\n */\nexport function getDebugNode(nativeNode: any): DebugNode {\n return _nativeNodeToDebugNode.get(nativeNode);\n}\n\nexport function getAllDebugNodes(): DebugNode[] {\n return MapWrapper.values(_nativeNodeToDebugNode);\n}\n\nexport function indexDebugNode(node: DebugNode) {\n _nativeNodeToDebugNode.set(node.nativeNode, node);\n}\n\nexport function removeDebugNodeFromIndex(node: DebugNode) {\n _nativeNodeToDebugNode.delete(node.nativeNode);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"debug_node.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/debug/debug_node.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector} from '../di';\nimport {Predicate} from '../facade/collection';\nimport {RenderDebugInfo} from '../render/api';\n\nexport class EventListener { constructor(public name: string, public callback: Function){}; }\n\n/**\n * @experimental All debugging apis are currently experimental.\n */\nexport class DebugNode {\n nativeNode: any;\n listeners: EventListener[];\n parent: DebugElement;\n\n constructor(nativeNode: any, parent: DebugNode, private _debugInfo: RenderDebugInfo) {\n this.nativeNode = nativeNode;\n if (parent && parent instanceof DebugElement) {\n parent.addChild(this);\n } else {\n this.parent = null;\n }\n this.listeners = [];\n }\n\n get injector(): Injector { return this._debugInfo ? this._debugInfo.injector : null; }\n\n get componentInstance(): any { return this._debugInfo ? this._debugInfo.component : null; }\n\n get context(): any { return this._debugInfo ? this._debugInfo.context : null; }\n\n get references(): {[key: string]: any} {\n return this._debugInfo ? this._debugInfo.references : null;\n }\n\n get providerTokens(): any[] { return this._debugInfo ? this._debugInfo.providerTokens : null; }\n\n get source(): string { return this._debugInfo ? this._debugInfo.source : null; }\n}\n\n/**\n * @experimental All debugging apis are currently experimental.\n */\nexport class DebugElement extends DebugNode {\n name: string;\n properties: {[key: string]: any};\n attributes: {[key: string]: string};\n classes: {[key: string]: boolean};\n styles: {[key: string]: string};\n childNodes: DebugNode[];\n nativeElement: any;\n\n constructor(nativeNode: any, parent: any, _debugInfo: RenderDebugInfo) {\n super(nativeNode, parent, _debugInfo);\n this.properties = {};\n this.attributes = {};\n this.classes = {};\n this.styles = {};\n this.childNodes = [];\n this.nativeElement = nativeNode;\n }\n\n addChild(child: DebugNode) {\n if (child) {\n this.childNodes.push(child);\n child.parent = this;\n }\n }\n\n removeChild(child: DebugNode) {\n const childIndex = this.childNodes.indexOf(child);\n if (childIndex !== -1) {\n child.parent = null;\n this.childNodes.splice(childIndex, 1);\n }\n }\n\n insertChildrenAfter(child: DebugNode, newChildren: DebugNode[]) {\n const siblingIndex = this.childNodes.indexOf(child);\n if (siblingIndex !== -1) {\n const previousChildren = this.childNodes.slice(0, siblingIndex + 1);\n const nextChildren = this.childNodes.slice(siblingIndex + 1);\n this.childNodes = previousChildren.concat(newChildren, nextChildren);\n for (let i = 0; i < newChildren.length; ++i) {\n const newChild = newChildren[i];\n if (newChild.parent) {\n newChild.parent.removeChild(newChild);\n }\n newChild.parent = this;\n }\n }\n }\n\n query(predicate: Predicate<DebugElement>): DebugElement {\n const results = this.queryAll(predicate);\n return results[0] || null;\n }\n\n queryAll(predicate: Predicate<DebugElement>): DebugElement[] {\n const matches: DebugElement[] = [];\n _queryElementChildren(this, predicate, matches);\n return matches;\n }\n\n queryAllNodes(predicate: Predicate<DebugNode>): DebugNode[] {\n const matches: DebugNode[] = [];\n _queryNodeChildren(this, predicate, matches);\n return matches;\n }\n\n get children(): DebugElement[] {\n return this.childNodes.filter((node) => node instanceof DebugElement) as DebugElement[];\n }\n\n triggerEventHandler(eventName: string, eventObj: any) {\n this.listeners.forEach((listener) => {\n if (listener.name == eventName) {\n listener.callback(eventObj);\n }\n });\n }\n}\n\n/**\n * @experimental\n */\nexport function asNativeElements(debugEls: DebugElement[]): any {\n return debugEls.map((el) => el.nativeElement);\n}\n\nfunction _queryElementChildren(\n element: DebugElement, predicate: Predicate<DebugElement>, matches: DebugElement[]) {\n element.childNodes.forEach(node => {\n if (node instanceof DebugElement) {\n if (predicate(node)) {\n matches.push(node);\n }\n _queryElementChildren(node, predicate, matches);\n }\n });\n}\n\nfunction _queryNodeChildren(\n parentNode: DebugNode, predicate: Predicate<DebugNode>, matches: DebugNode[]) {\n if (parentNode instanceof DebugElement) {\n parentNode.childNodes.forEach(node => {\n if (predicate(node)) {\n matches.push(node);\n }\n if (node instanceof DebugElement) {\n _queryNodeChildren(node, predicate, matches);\n }\n });\n }\n}\n\n// Need to keep the nodes in a global Map so that multiple angular apps are supported.\nconst _nativeNodeToDebugNode = new Map<any, DebugNode>();\n\n/**\n * @experimental\n */\nexport function getDebugNode(nativeNode: any): DebugNode {\n return _nativeNodeToDebugNode.get(nativeNode);\n}\n\nexport function getAllDebugNodes(): DebugNode[] {\n return Array.from(_nativeNodeToDebugNode.values());\n}\n\nexport function indexDebugNode(node: DebugNode) {\n _nativeNodeToDebugNode.set(node.nativeNode, node);\n}\n\nexport function removeDebugNodeFromIndex(node: DebugNode) {\n _nativeNodeToDebugNode.delete(node.nativeNode);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":1,"metadata":{"asNativeElements":{"__symbolic":"function","parameters":["debugEls"],"value":{"__symbolic":"error","message":"Function call not supported","line":
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"asNativeElements":{"__symbolic":"function","parameters":["debugEls"],"value":{"__symbolic":"error","message":"Function call not supported","line":134,"character":22}},"getDebugNode":{"__symbolic":"function","parameters":["nativeNode"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"}},"member":"get"},"arguments":[{"__symbolic":"reference","name":"nativeNode"}]}},"getAllDebugNodes":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Array"},"member":"from"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Map"}},"member":"values"}}]}}}}
|
|
@@ -14,7 +14,7 @@ export declare class DebugDomRootRenderer implements RootRenderer {
|
|
|
14
14
|
constructor(_delegate: RootRenderer);
|
|
15
15
|
renderComponent(componentProto: RenderComponentType): Renderer;
|
|
16
16
|
}
|
|
17
|
-
export declare class DebugDomRenderer
|
|
17
|
+
export declare class DebugDomRenderer {
|
|
18
18
|
private _delegate;
|
|
19
19
|
constructor(_delegate: Renderer);
|
|
20
20
|
selectRootElement(selectorOrNode: string | any, debugInfo?: RenderDebugInfo): any;
|
|
@@ -35,5 +35,5 @@ export declare class DebugDomRenderer implements Renderer {
|
|
|
35
35
|
setElementStyle(renderElement: any, styleName: string, styleValue: string): void;
|
|
36
36
|
invokeElementMethod(renderElement: any, methodName: string, args?: any[]): void;
|
|
37
37
|
setText(renderNode: any, text: string): void;
|
|
38
|
-
animate(element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[], duration: number, delay: number, easing: string): AnimationPlayer;
|
|
38
|
+
animate(element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[], duration: number, delay: number, easing: string, previousPlayers?: AnimationPlayer[]): AnimationPlayer;
|
|
39
39
|
}
|
|
@@ -59,9 +59,9 @@ export var DebugDomRenderer = (function () {
|
|
|
59
59
|
if (isPresent(debugNode)) {
|
|
60
60
|
var debugParent = debugNode.parent;
|
|
61
61
|
if (viewRootNodes.length > 0 && isPresent(debugParent)) {
|
|
62
|
-
var
|
|
63
|
-
viewRootNodes.forEach(function (rootNode) { return
|
|
64
|
-
debugParent.insertChildrenAfter(debugNode,
|
|
62
|
+
var debugViewRootNodes_1 = [];
|
|
63
|
+
viewRootNodes.forEach(function (rootNode) { return debugViewRootNodes_1.push(getDebugNode(rootNode)); });
|
|
64
|
+
debugParent.insertChildrenAfter(debugNode, debugViewRootNodes_1);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
this._delegate.attachViewAfter(node, viewRootNodes);
|
|
@@ -76,6 +76,7 @@ export var DebugDomRenderer = (function () {
|
|
|
76
76
|
this._delegate.detachView(viewRootNodes);
|
|
77
77
|
};
|
|
78
78
|
DebugDomRenderer.prototype.destroyView = function (hostElement, viewAllNodes) {
|
|
79
|
+
viewAllNodes = viewAllNodes || [];
|
|
79
80
|
viewAllNodes.forEach(function (node) { removeDebugNodeFromIndex(getDebugNode(node)); });
|
|
80
81
|
this._delegate.destroyView(hostElement, viewAllNodes);
|
|
81
82
|
};
|
|
@@ -124,8 +125,9 @@ export var DebugDomRenderer = (function () {
|
|
|
124
125
|
this._delegate.invokeElementMethod(renderElement, methodName, args);
|
|
125
126
|
};
|
|
126
127
|
DebugDomRenderer.prototype.setText = function (renderNode, text) { this._delegate.setText(renderNode, text); };
|
|
127
|
-
DebugDomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing) {
|
|
128
|
-
|
|
128
|
+
DebugDomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) {
|
|
129
|
+
if (previousPlayers === void 0) { previousPlayers = []; }
|
|
130
|
+
return this._delegate.animate(element, startingStyles, keyframes, duration, delay, easing, previousPlayers);
|
|
129
131
|
};
|
|
130
132
|
return DebugDomRenderer;
|
|
131
133
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug_renderer.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/debug/debug_renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AnimationKeyframe} from '../animation/animation_keyframe';\nimport {AnimationPlayer} from '../animation/animation_player';\nimport {AnimationStyles} from '../animation/animation_styles';\nimport {isPresent} from '../facade/lang';\nimport {RenderComponentType, RenderDebugInfo, Renderer, RootRenderer} from '../render/api';\n\nimport {DebugElement, DebugNode, EventListener, getDebugNode, indexDebugNode, removeDebugNodeFromIndex} from './debug_node';\n\nexport class DebugDomRootRenderer implements RootRenderer {\n constructor(private _delegate: RootRenderer) {}\n\n renderComponent(componentProto: RenderComponentType): Renderer {\n return new DebugDomRenderer(this._delegate.renderComponent(componentProto));\n }\n}\n\nexport class DebugDomRenderer implements Renderer {\n constructor(private _delegate: Renderer) {}\n\n selectRootElement(selectorOrNode: string|any, debugInfo?: RenderDebugInfo): any {\n var nativeEl = this._delegate.selectRootElement(selectorOrNode, debugInfo);\n var debugEl = new DebugElement(nativeEl, null, debugInfo);\n indexDebugNode(debugEl);\n return nativeEl;\n }\n\n createElement(parentElement: any, name: string, debugInfo?: RenderDebugInfo): any {\n var nativeEl = this._delegate.createElement(parentElement, name, debugInfo);\n var debugEl = new DebugElement(nativeEl, getDebugNode(parentElement), debugInfo);\n debugEl.name = name;\n indexDebugNode(debugEl);\n return nativeEl;\n }\n\n createViewRoot(hostElement: any): any { return this._delegate.createViewRoot(hostElement); }\n\n createTemplateAnchor(parentElement: any, debugInfo?: RenderDebugInfo): any {\n var comment = this._delegate.createTemplateAnchor(parentElement, debugInfo);\n var debugEl = new DebugNode(comment, getDebugNode(parentElement), debugInfo);\n indexDebugNode(debugEl);\n return comment;\n }\n\n createText(parentElement: any, value: string, debugInfo?: RenderDebugInfo): any {\n var text = this._delegate.createText(parentElement, value, debugInfo);\n var debugEl = new DebugNode(text, getDebugNode(parentElement), debugInfo);\n indexDebugNode(debugEl);\n return text;\n }\n\n projectNodes(parentElement: any, nodes: any[]) {\n var debugParent = getDebugNode(parentElement);\n if (isPresent(debugParent) && debugParent instanceof DebugElement) {\n let debugElement = debugParent;\n nodes.forEach((node) => { debugElement.addChild(getDebugNode(node)); });\n }\n this._delegate.projectNodes(parentElement, nodes);\n }\n\n attachViewAfter(node: any, viewRootNodes: any[]) {\n var debugNode = getDebugNode(node);\n if (isPresent(debugNode)) {\n var debugParent = debugNode.parent;\n if (viewRootNodes.length > 0 && isPresent(debugParent)) {\n var debugViewRootNodes: DebugNode[] = [];\n viewRootNodes.forEach((rootNode) => debugViewRootNodes.push(getDebugNode(rootNode)));\n debugParent.insertChildrenAfter(debugNode, debugViewRootNodes);\n }\n }\n this._delegate.attachViewAfter(node, viewRootNodes);\n }\n\n detachView(viewRootNodes: any[]) {\n viewRootNodes.forEach((node) => {\n var debugNode = getDebugNode(node);\n if (isPresent(debugNode) && isPresent(debugNode.parent)) {\n debugNode.parent.removeChild(debugNode);\n }\n });\n this._delegate.detachView(viewRootNodes);\n }\n\n destroyView(hostElement: any, viewAllNodes: any[]) {\n viewAllNodes.forEach((node) => { removeDebugNodeFromIndex(getDebugNode(node)); });\n this._delegate.destroyView(hostElement, viewAllNodes);\n }\n\n listen(renderElement: any, name: string, callback: Function): Function {\n var debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl)) {\n debugEl.listeners.push(new EventListener(name, callback));\n }\n return this._delegate.listen(renderElement, name, callback);\n }\n\n listenGlobal(target: string, name: string, callback: Function): Function {\n return this._delegate.listenGlobal(target, name, callback);\n }\n\n setElementProperty(renderElement: any, propertyName: string, propertyValue: any) {\n var debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n debugEl.properties[propertyName] = propertyValue;\n }\n this._delegate.setElementProperty(renderElement, propertyName, propertyValue);\n }\n\n setElementAttribute(renderElement: any, attributeName: string, attributeValue: string) {\n var debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n debugEl.attributes[attributeName] = attributeValue;\n }\n this._delegate.setElementAttribute(renderElement, attributeName, attributeValue);\n }\n\n setBindingDebugInfo(renderElement: any, propertyName: string, propertyValue: string) {\n this._delegate.setBindingDebugInfo(renderElement, propertyName, propertyValue);\n }\n\n setElementClass(renderElement: any, className: string, isAdd: boolean) {\n var debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n debugEl.classes[className] = isAdd;\n }\n this._delegate.setElementClass(renderElement, className, isAdd);\n }\n\n setElementStyle(renderElement: any, styleName: string, styleValue: string) {\n var debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n debugEl.styles[styleName] = styleValue;\n }\n this._delegate.setElementStyle(renderElement, styleName, styleValue);\n }\n\n invokeElementMethod(renderElement: any, methodName: string, args?: any[]) {\n this._delegate.invokeElementMethod(renderElement, methodName, args);\n }\n\n setText(renderNode: any, text: string) { this._delegate.setText(renderNode, text); }\n\n animate(\n element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[],\n duration: number, delay: number, easing: string): AnimationPlayer {\n return this._delegate.animate(element, startingStyles, keyframes, duration, delay, easing);\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"debug_renderer.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/debug/debug_renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AnimationKeyframe} from '../animation/animation_keyframe';\nimport {AnimationPlayer} from '../animation/animation_player';\nimport {AnimationStyles} from '../animation/animation_styles';\nimport {isPresent} from '../facade/lang';\nimport {RenderComponentType, RenderDebugInfo, Renderer, RootRenderer} from '../render/api';\n\nimport {DebugElement, DebugNode, EventListener, getDebugNode, indexDebugNode, removeDebugNodeFromIndex} from './debug_node';\n\nexport class DebugDomRootRenderer implements RootRenderer {\n constructor(private _delegate: RootRenderer) {}\n\n renderComponent(componentProto: RenderComponentType): Renderer {\n return new DebugDomRenderer(this._delegate.renderComponent(componentProto));\n }\n}\n\nexport class DebugDomRenderer {\n constructor(private _delegate: Renderer) {}\n\n selectRootElement(selectorOrNode: string|any, debugInfo?: RenderDebugInfo): any {\n const nativeEl = this._delegate.selectRootElement(selectorOrNode, debugInfo);\n const debugEl = new DebugElement(nativeEl, null, debugInfo);\n indexDebugNode(debugEl);\n return nativeEl;\n }\n\n createElement(parentElement: any, name: string, debugInfo?: RenderDebugInfo): any {\n const nativeEl = this._delegate.createElement(parentElement, name, debugInfo);\n const debugEl = new DebugElement(nativeEl, getDebugNode(parentElement), debugInfo);\n debugEl.name = name;\n indexDebugNode(debugEl);\n return nativeEl;\n }\n\n createViewRoot(hostElement: any): any { return this._delegate.createViewRoot(hostElement); }\n\n createTemplateAnchor(parentElement: any, debugInfo?: RenderDebugInfo): any {\n const comment = this._delegate.createTemplateAnchor(parentElement, debugInfo);\n const debugEl = new DebugNode(comment, getDebugNode(parentElement), debugInfo);\n indexDebugNode(debugEl);\n return comment;\n }\n\n createText(parentElement: any, value: string, debugInfo?: RenderDebugInfo): any {\n const text = this._delegate.createText(parentElement, value, debugInfo);\n const debugEl = new DebugNode(text, getDebugNode(parentElement), debugInfo);\n indexDebugNode(debugEl);\n return text;\n }\n\n projectNodes(parentElement: any, nodes: any[]) {\n const debugParent = getDebugNode(parentElement);\n if (isPresent(debugParent) && debugParent instanceof DebugElement) {\n const debugElement = debugParent;\n nodes.forEach((node) => { debugElement.addChild(getDebugNode(node)); });\n }\n this._delegate.projectNodes(parentElement, nodes);\n }\n\n attachViewAfter(node: any, viewRootNodes: any[]) {\n const debugNode = getDebugNode(node);\n if (isPresent(debugNode)) {\n const debugParent = debugNode.parent;\n if (viewRootNodes.length > 0 && isPresent(debugParent)) {\n const debugViewRootNodes: DebugNode[] = [];\n viewRootNodes.forEach((rootNode) => debugViewRootNodes.push(getDebugNode(rootNode)));\n debugParent.insertChildrenAfter(debugNode, debugViewRootNodes);\n }\n }\n this._delegate.attachViewAfter(node, viewRootNodes);\n }\n\n detachView(viewRootNodes: any[]) {\n viewRootNodes.forEach((node) => {\n const debugNode = getDebugNode(node);\n if (isPresent(debugNode) && isPresent(debugNode.parent)) {\n debugNode.parent.removeChild(debugNode);\n }\n });\n this._delegate.detachView(viewRootNodes);\n }\n\n destroyView(hostElement: any, viewAllNodes: any[]) {\n viewAllNodes = viewAllNodes || [];\n viewAllNodes.forEach((node) => { removeDebugNodeFromIndex(getDebugNode(node)); });\n this._delegate.destroyView(hostElement, viewAllNodes);\n }\n\n listen(renderElement: any, name: string, callback: Function): Function {\n const debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl)) {\n debugEl.listeners.push(new EventListener(name, callback));\n }\n return this._delegate.listen(renderElement, name, callback);\n }\n\n listenGlobal(target: string, name: string, callback: Function): Function {\n return this._delegate.listenGlobal(target, name, callback);\n }\n\n setElementProperty(renderElement: any, propertyName: string, propertyValue: any) {\n const debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n debugEl.properties[propertyName] = propertyValue;\n }\n this._delegate.setElementProperty(renderElement, propertyName, propertyValue);\n }\n\n setElementAttribute(renderElement: any, attributeName: string, attributeValue: string) {\n const debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n debugEl.attributes[attributeName] = attributeValue;\n }\n this._delegate.setElementAttribute(renderElement, attributeName, attributeValue);\n }\n\n setBindingDebugInfo(renderElement: any, propertyName: string, propertyValue: string) {\n this._delegate.setBindingDebugInfo(renderElement, propertyName, propertyValue);\n }\n\n setElementClass(renderElement: any, className: string, isAdd: boolean) {\n const debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n debugEl.classes[className] = isAdd;\n }\n this._delegate.setElementClass(renderElement, className, isAdd);\n }\n\n setElementStyle(renderElement: any, styleName: string, styleValue: string) {\n const debugEl = getDebugNode(renderElement);\n if (isPresent(debugEl) && debugEl instanceof DebugElement) {\n debugEl.styles[styleName] = styleValue;\n }\n this._delegate.setElementStyle(renderElement, styleName, styleValue);\n }\n\n invokeElementMethod(renderElement: any, methodName: string, args?: any[]) {\n this._delegate.invokeElementMethod(renderElement, methodName, args);\n }\n\n setText(renderNode: any, text: string) { this._delegate.setText(renderNode, text); }\n\n animate(\n element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[],\n duration: number, delay: number, easing: string,\n previousPlayers: AnimationPlayer[] = []): AnimationPlayer {\n return this._delegate.animate(\n element, startingStyles, keyframes, duration, delay, easing, previousPlayers);\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflective_errors.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/reflective_errors.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BaseError, WrappedError} from '../facade/errors';\nimport {stringify} from '../facade/lang';\nimport {Type} from '../type';\n\nimport {ReflectiveInjector} from './reflective_injector';\nimport {ReflectiveKey} from './reflective_key';\n\nfunction findFirstClosedCycle(keys: any[]): any[] {\n var res: any[] = [];\n for (var i = 0; i < keys.length; ++i) {\n if (res.indexOf(keys[i]) > -1) {\n res.push(keys[i]);\n return res;\n }\n res.push(keys[i]);\n }\n return res;\n}\n\nfunction constructResolvingPath(keys: any[]): string {\n if (keys.length > 1) {\n const reversed = findFirstClosedCycle(keys.slice().reverse());\n const tokenStrs = reversed.map(k => stringify(k.token));\n return ' (' + tokenStrs.join(' -> ') + ')';\n }\n\n return '';\n}\n\n\n/**\n * Base class for all errors arising from misconfigured providers.\n * @stable\n */\nexport class AbstractProviderError extends BaseError {\n /** @internal */\n message: string;\n\n /** @internal */\n keys: ReflectiveKey[];\n\n /** @internal */\n injectors: ReflectiveInjector[];\n\n /** @internal */\n constructResolvingMessage: Function;\n\n constructor(\n injector: ReflectiveInjector, key: ReflectiveKey, constructResolvingMessage: Function) {\n super('DI Error');\n this.keys = [key];\n this.injectors = [injector];\n this.constructResolvingMessage = constructResolvingMessage;\n this.message = this.constructResolvingMessage(this.keys);\n }\n\n addKey(injector: ReflectiveInjector, key: ReflectiveKey): void {\n this.injectors.push(injector);\n this.keys.push(key);\n this.message = this.constructResolvingMessage(this.keys);\n }\n}\n\n/**\n * Thrown when trying to retrieve a dependency by key from {@link Injector}, but the\n * {@link Injector} does not have a {@link Provider} for the given key.\n *\n * ### Example ([live demo](http://plnkr.co/edit/vq8D3FRB9aGbnWJqtEPE?p=preview))\n *\n * ```typescript\n * class A {\n * constructor(b:B) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n * @stable\n */\nexport class NoProviderError extends AbstractProviderError {\n constructor(injector: ReflectiveInjector, key: ReflectiveKey) {\n super(injector, key, function(keys: any[]) {\n const first = stringify(keys[0].token);\n return `No provider for ${first}!${constructResolvingPath(keys)}`;\n });\n }\n}\n\n/**\n * Thrown when dependencies form a cycle.\n *\n * ### Example ([live demo](http://plnkr.co/edit/wYQdNos0Tzql3ei1EV9j?p=info))\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * {provide: \"one\", useFactory: (two) => \"two\", deps: [[new Inject(\"two\")]]},\n * {provide: \"two\", useFactory: (one) => \"one\", deps: [[new Inject(\"one\")]]}\n * ]);\n *\n * expect(() => injector.get(\"one\")).toThrowError();\n * ```\n *\n * Retrieving `A` or `B` throws a `CyclicDependencyError` as the graph above cannot be constructed.\n * @stable\n */\nexport class CyclicDependencyError extends AbstractProviderError {\n constructor(injector: ReflectiveInjector, key: ReflectiveKey) {\n super(injector, key, function(keys: any[]) {\n return `Cannot instantiate cyclic dependency!${constructResolvingPath(keys)}`;\n });\n }\n}\n\n/**\n * Thrown when a constructing type returns with an Error.\n *\n * The `InstantiationError` class contains the original error plus the dependency graph which caused\n * this object to be instantiated.\n *\n * ### Example ([live demo](http://plnkr.co/edit/7aWYdcqTQsP0eNqEdUAf?p=preview))\n *\n * ```typescript\n * class A {\n * constructor() {\n * throw new Error('message');\n * }\n * }\n *\n * var injector = Injector.resolveAndCreate([A]);\n\n * try {\n * injector.get(A);\n * } catch (e) {\n * expect(e instanceof InstantiationError).toBe(true);\n * expect(e.originalException.message).toEqual(\"message\");\n * expect(e.originalStack).toBeDefined();\n * }\n * ```\n * @stable\n */\nexport class InstantiationError extends WrappedError {\n /** @internal */\n keys: ReflectiveKey[];\n\n /** @internal */\n injectors: ReflectiveInjector[];\n\n constructor(\n injector: ReflectiveInjector, originalException: any, originalStack: any,\n key: ReflectiveKey) {\n super('DI Error', originalException);\n this.keys = [key];\n this.injectors = [injector];\n }\n\n addKey(injector: ReflectiveInjector, key: ReflectiveKey): void {\n this.injectors.push(injector);\n this.keys.push(key);\n }\n\n get message(): string {\n var first = stringify(this.keys[0].token);\n return `${this.originalError.message}: Error during instantiation of ${first}!${constructResolvingPath(this.keys)}.`;\n }\n\n get causeKey(): ReflectiveKey { return this.keys[0]; }\n}\n\n/**\n * Thrown when an object other then {@link Provider} (or `Type`) is passed to {@link Injector}\n * creation.\n *\n * ### Example ([live demo](http://plnkr.co/edit/YatCFbPAMCL0JSSQ4mvH?p=preview))\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\"not a type\"])).toThrowError();\n * ```\n * @stable\n */\nexport class InvalidProviderError extends BaseError {\n constructor(provider: any) {\n super(`Invalid provider - only instances of Provider and Type are allowed, got: ${provider}`);\n }\n}\n\n/**\n * Thrown when the class has no annotation information.\n *\n * Lack of annotation information prevents the {@link Injector} from determining which dependencies\n * need to be injected into the constructor.\n *\n * ### Example ([live demo](http://plnkr.co/edit/rHnZtlNS7vJOPQ6pcVkm?p=preview))\n *\n * ```typescript\n * class A {\n * constructor(b) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n *\n * This error is also thrown when the class not marked with {@link Injectable} has parameter types.\n *\n * ```typescript\n * class B {}\n *\n * class A {\n * constructor(b:B) {} // no information about the parameter types of A is available at runtime.\n * }\n *\n * expect(() => Injector.resolveAndCreate([A,B])).toThrowError();\n * ```\n * @stable\n */\nexport class NoAnnotationError extends BaseError {\n constructor(typeOrFunc: Type<any>|Function, params: any[][]) {\n super(NoAnnotationError._genMessage(typeOrFunc, params));\n }\n\n private static _genMessage(typeOrFunc: Type<any>|Function, params: any[][]) {\n var signature: string[] = [];\n for (var i = 0, ii = params.length; i < ii; i++) {\n var parameter = params[i];\n if (!parameter || parameter.length == 0) {\n signature.push('?');\n } else {\n signature.push(parameter.map(stringify).join(' '));\n }\n }\n return 'Cannot resolve all parameters for \\'' + stringify(typeOrFunc) + '\\'(' +\n signature.join(', ') + '). ' +\n 'Make sure that all the parameters are decorated with Inject or have valid type annotations and that \\'' +\n stringify(typeOrFunc) + '\\' is decorated with Injectable.';\n }\n}\n\n/**\n * Thrown when getting an object by index.\n *\n * ### Example ([live demo](http://plnkr.co/edit/bRs0SX2OTQiJzqvjgl8P?p=preview))\n *\n * ```typescript\n * class A {}\n *\n * var injector = Injector.resolveAndCreate([A]);\n *\n * expect(() => injector.getAt(100)).toThrowError();\n * ```\n * @stable\n */\nexport class OutOfBoundsError extends BaseError {\n constructor(index: number) { super(`Index ${index} is out-of-bounds.`); }\n}\n\n// TODO: add a working example after alpha38 is released\n/**\n * Thrown when a multi provider and a regular provider are bound to the same token.\n *\n * ### Example\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\n * { provide: \"Strings\", useValue: \"string1\", multi: true},\n * { provide: \"Strings\", useValue: \"string2\", multi: false}\n * ])).toThrowError();\n * ```\n */\nexport class MixingMultiProvidersWithRegularProvidersError extends BaseError {\n constructor(provider1: any, provider2: any) {\n super(\n 'Cannot mix multi providers and regular providers, got: ' + provider1.toString() + ' ' +\n provider2.toString());\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"reflective_errors.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/reflective_errors.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BaseError, WrappedError} from '../facade/errors';\nimport {stringify} from '../facade/lang';\nimport {Type} from '../type';\n\nimport {ReflectiveInjector} from './reflective_injector';\nimport {ReflectiveKey} from './reflective_key';\n\nfunction findFirstClosedCycle(keys: any[]): any[] {\n const res: any[] = [];\n for (let i = 0; i < keys.length; ++i) {\n if (res.indexOf(keys[i]) > -1) {\n res.push(keys[i]);\n return res;\n }\n res.push(keys[i]);\n }\n return res;\n}\n\nfunction constructResolvingPath(keys: any[]): string {\n if (keys.length > 1) {\n const reversed = findFirstClosedCycle(keys.slice().reverse());\n const tokenStrs = reversed.map(k => stringify(k.token));\n return ' (' + tokenStrs.join(' -> ') + ')';\n }\n\n return '';\n}\n\n\n/**\n * Base class for all errors arising from misconfigured providers.\n * @stable\n */\nexport class AbstractProviderError extends BaseError {\n /** @internal */\n message: string;\n\n /** @internal */\n keys: ReflectiveKey[];\n\n /** @internal */\n injectors: ReflectiveInjector[];\n\n /** @internal */\n constructResolvingMessage: Function;\n\n constructor(\n injector: ReflectiveInjector, key: ReflectiveKey, constructResolvingMessage: Function) {\n super('DI Error');\n this.keys = [key];\n this.injectors = [injector];\n this.constructResolvingMessage = constructResolvingMessage;\n this.message = this.constructResolvingMessage(this.keys);\n }\n\n addKey(injector: ReflectiveInjector, key: ReflectiveKey): void {\n this.injectors.push(injector);\n this.keys.push(key);\n this.message = this.constructResolvingMessage(this.keys);\n }\n}\n\n/**\n * Thrown when trying to retrieve a dependency by key from {@link Injector}, but the\n * {@link Injector} does not have a {@link Provider} for the given key.\n *\n * ### Example ([live demo](http://plnkr.co/edit/vq8D3FRB9aGbnWJqtEPE?p=preview))\n *\n * ```typescript\n * class A {\n * constructor(b:B) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n * @stable\n */\nexport class NoProviderError extends AbstractProviderError {\n constructor(injector: ReflectiveInjector, key: ReflectiveKey) {\n super(injector, key, function(keys: any[]) {\n const first = stringify(keys[0].token);\n return `No provider for ${first}!${constructResolvingPath(keys)}`;\n });\n }\n}\n\n/**\n * Thrown when dependencies form a cycle.\n *\n * ### Example ([live demo](http://plnkr.co/edit/wYQdNos0Tzql3ei1EV9j?p=info))\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * {provide: \"one\", useFactory: (two) => \"two\", deps: [[new Inject(\"two\")]]},\n * {provide: \"two\", useFactory: (one) => \"one\", deps: [[new Inject(\"one\")]]}\n * ]);\n *\n * expect(() => injector.get(\"one\")).toThrowError();\n * ```\n *\n * Retrieving `A` or `B` throws a `CyclicDependencyError` as the graph above cannot be constructed.\n * @stable\n */\nexport class CyclicDependencyError extends AbstractProviderError {\n constructor(injector: ReflectiveInjector, key: ReflectiveKey) {\n super(injector, key, function(keys: any[]) {\n return `Cannot instantiate cyclic dependency!${constructResolvingPath(keys)}`;\n });\n }\n}\n\n/**\n * Thrown when a constructing type returns with an Error.\n *\n * The `InstantiationError` class contains the original error plus the dependency graph which caused\n * this object to be instantiated.\n *\n * ### Example ([live demo](http://plnkr.co/edit/7aWYdcqTQsP0eNqEdUAf?p=preview))\n *\n * ```typescript\n * class A {\n * constructor() {\n * throw new Error('message');\n * }\n * }\n *\n * var injector = Injector.resolveAndCreate([A]);\n\n * try {\n * injector.get(A);\n * } catch (e) {\n * expect(e instanceof InstantiationError).toBe(true);\n * expect(e.originalException.message).toEqual(\"message\");\n * expect(e.originalStack).toBeDefined();\n * }\n * ```\n * @stable\n */\nexport class InstantiationError extends WrappedError {\n /** @internal */\n keys: ReflectiveKey[];\n\n /** @internal */\n injectors: ReflectiveInjector[];\n\n constructor(\n injector: ReflectiveInjector, originalException: any, originalStack: any,\n key: ReflectiveKey) {\n super('DI Error', originalException);\n this.keys = [key];\n this.injectors = [injector];\n }\n\n addKey(injector: ReflectiveInjector, key: ReflectiveKey): void {\n this.injectors.push(injector);\n this.keys.push(key);\n }\n\n get message(): string {\n const first = stringify(this.keys[0].token);\n return `${this.originalError.message}: Error during instantiation of ${first}!${constructResolvingPath(this.keys)}.`;\n }\n\n get causeKey(): ReflectiveKey { return this.keys[0]; }\n}\n\n/**\n * Thrown when an object other then {@link Provider} (or `Type`) is passed to {@link Injector}\n * creation.\n *\n * ### Example ([live demo](http://plnkr.co/edit/YatCFbPAMCL0JSSQ4mvH?p=preview))\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\"not a type\"])).toThrowError();\n * ```\n * @stable\n */\nexport class InvalidProviderError extends BaseError {\n constructor(provider: any) {\n super(`Invalid provider - only instances of Provider and Type are allowed, got: ${provider}`);\n }\n}\n\n/**\n * Thrown when the class has no annotation information.\n *\n * Lack of annotation information prevents the {@link Injector} from determining which dependencies\n * need to be injected into the constructor.\n *\n * ### Example ([live demo](http://plnkr.co/edit/rHnZtlNS7vJOPQ6pcVkm?p=preview))\n *\n * ```typescript\n * class A {\n * constructor(b) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n *\n * This error is also thrown when the class not marked with {@link Injectable} has parameter types.\n *\n * ```typescript\n * class B {}\n *\n * class A {\n * constructor(b:B) {} // no information about the parameter types of A is available at runtime.\n * }\n *\n * expect(() => Injector.resolveAndCreate([A,B])).toThrowError();\n * ```\n * @stable\n */\nexport class NoAnnotationError extends BaseError {\n constructor(typeOrFunc: Type<any>|Function, params: any[][]) {\n super(NoAnnotationError._genMessage(typeOrFunc, params));\n }\n\n private static _genMessage(typeOrFunc: Type<any>|Function, params: any[][]) {\n const signature: string[] = [];\n for (let i = 0, ii = params.length; i < ii; i++) {\n const parameter = params[i];\n if (!parameter || parameter.length == 0) {\n signature.push('?');\n } else {\n signature.push(parameter.map(stringify).join(' '));\n }\n }\n return 'Cannot resolve all parameters for \\'' + stringify(typeOrFunc) + '\\'(' +\n signature.join(', ') + '). ' +\n 'Make sure that all the parameters are decorated with Inject or have valid type annotations and that \\'' +\n stringify(typeOrFunc) + '\\' is decorated with Injectable.';\n }\n}\n\n/**\n * Thrown when getting an object by index.\n *\n * ### Example ([live demo](http://plnkr.co/edit/bRs0SX2OTQiJzqvjgl8P?p=preview))\n *\n * ```typescript\n * class A {}\n *\n * var injector = Injector.resolveAndCreate([A]);\n *\n * expect(() => injector.getAt(100)).toThrowError();\n * ```\n * @stable\n */\nexport class OutOfBoundsError extends BaseError {\n constructor(index: number) { super(`Index ${index} is out-of-bounds.`); }\n}\n\n// TODO: add a working example after alpha38 is released\n/**\n * Thrown when a multi provider and a regular provider are bound to the same token.\n *\n * ### Example\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\n * { provide: \"Strings\", useValue: \"string1\", multi: true},\n * { provide: \"Strings\", useValue: \"string2\", multi: false}\n * ])).toThrowError();\n * ```\n */\nexport class MixingMultiProvidersWithRegularProvidersError extends BaseError {\n constructor(provider1: any, provider2: any) {\n super(\n 'Cannot mix multi providers and regular providers, got: ' + provider1.toString() + ' ' +\n provider2.toString());\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflective_injector.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/reflective_injector.ts"],"names":[],"mappings":"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,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YAC/E,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YAC/E,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,I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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {unimplemented} from '../facade/errors';\nimport {Type} from '../type';\n\nimport {Injector, THROW_IF_NOT_FOUND} from './injector';\nimport {Self, SkipSelf} from './metadata';\nimport {Provider} from './provider';\nimport {AbstractProviderError, CyclicDependencyError, InstantiationError, NoProviderError, OutOfBoundsError} from './reflective_errors';\nimport {ReflectiveKey} from './reflective_key';\nimport {ReflectiveDependency, ResolvedReflectiveFactory, ResolvedReflectiveProvider, resolveReflectiveProviders} from './reflective_provider';\n\n// Threshold for the dynamic version\nconst _MAX_CONSTRUCTION_COUNTER = 10;\nconst UNDEFINED = new Object();\n\nexport interface ReflectiveProtoInjectorStrategy {\n getProviderAtIndex(index: number): ResolvedReflectiveProvider;\n createInjectorStrategy(inj: ReflectiveInjector_): ReflectiveInjectorStrategy;\n}\n\nexport class ReflectiveProtoInjectorInlineStrategy implements ReflectiveProtoInjectorStrategy {\n provider0: ResolvedReflectiveProvider = null;\n provider1: ResolvedReflectiveProvider = null;\n provider2: ResolvedReflectiveProvider = null;\n provider3: ResolvedReflectiveProvider = null;\n provider4: ResolvedReflectiveProvider = null;\n provider5: ResolvedReflectiveProvider = null;\n provider6: ResolvedReflectiveProvider = null;\n provider7: ResolvedReflectiveProvider = null;\n provider8: ResolvedReflectiveProvider = null;\n provider9: ResolvedReflectiveProvider = null;\n\n keyId0: number = null;\n keyId1: number = null;\n keyId2: number = null;\n keyId3: number = null;\n keyId4: number = null;\n keyId5: number = null;\n keyId6: number = null;\n keyId7: number = null;\n keyId8: number = null;\n keyId9: number = null;\n\n constructor(protoEI: ReflectiveProtoInjector, providers: ResolvedReflectiveProvider[]) {\n var length = providers.length;\n\n if (length > 0) {\n this.provider0 = providers[0];\n this.keyId0 = providers[0].key.id;\n }\n if (length > 1) {\n this.provider1 = providers[1];\n this.keyId1 = providers[1].key.id;\n }\n if (length > 2) {\n this.provider2 = providers[2];\n this.keyId2 = providers[2].key.id;\n }\n if (length > 3) {\n this.provider3 = providers[3];\n this.keyId3 = providers[3].key.id;\n }\n if (length > 4) {\n this.provider4 = providers[4];\n this.keyId4 = providers[4].key.id;\n }\n if (length > 5) {\n this.provider5 = providers[5];\n this.keyId5 = providers[5].key.id;\n }\n if (length > 6) {\n this.provider6 = providers[6];\n this.keyId6 = providers[6].key.id;\n }\n if (length > 7) {\n this.provider7 = providers[7];\n this.keyId7 = providers[7].key.id;\n }\n if (length > 8) {\n this.provider8 = providers[8];\n this.keyId8 = providers[8].key.id;\n }\n if (length > 9) {\n this.provider9 = providers[9];\n this.keyId9 = providers[9].key.id;\n }\n }\n\n getProviderAtIndex(index: number): ResolvedReflectiveProvider {\n if (index == 0) return this.provider0;\n if (index == 1) return this.provider1;\n if (index == 2) return this.provider2;\n if (index == 3) return this.provider3;\n if (index == 4) return this.provider4;\n if (index == 5) return this.provider5;\n if (index == 6) return this.provider6;\n if (index == 7) return this.provider7;\n if (index == 8) return this.provider8;\n if (index == 9) return this.provider9;\n throw new OutOfBoundsError(index);\n }\n\n createInjectorStrategy(injector: ReflectiveInjector_): ReflectiveInjectorStrategy {\n return new ReflectiveInjectorInlineStrategy(injector, this);\n }\n}\n\nexport class ReflectiveProtoInjectorDynamicStrategy implements ReflectiveProtoInjectorStrategy {\n keyIds: number[];\n\n constructor(protoInj: ReflectiveProtoInjector, public providers: ResolvedReflectiveProvider[]) {\n var len = providers.length;\n\n this.keyIds = new Array(len);\n\n for (var i = 0; i < len; i++) {\n this.keyIds[i] = providers[i].key.id;\n }\n }\n\n getProviderAtIndex(index: number): ResolvedReflectiveProvider {\n if (index < 0 || index >= this.providers.length) {\n throw new OutOfBoundsError(index);\n }\n return this.providers[index];\n }\n\n createInjectorStrategy(ei: ReflectiveInjector_): ReflectiveInjectorStrategy {\n return new ReflectiveInjectorDynamicStrategy(this, ei);\n }\n}\n\nexport class ReflectiveProtoInjector {\n static fromResolvedProviders(providers: ResolvedReflectiveProvider[]): ReflectiveProtoInjector {\n return new ReflectiveProtoInjector(providers);\n }\n\n /** @internal */\n _strategy: ReflectiveProtoInjectorStrategy;\n numberOfProviders: number;\n\n constructor(providers: ResolvedReflectiveProvider[]) {\n this.numberOfProviders = providers.length;\n this._strategy = providers.length > _MAX_CONSTRUCTION_COUNTER ?\n new ReflectiveProtoInjectorDynamicStrategy(this, providers) :\n new ReflectiveProtoInjectorInlineStrategy(this, providers);\n }\n\n getProviderAtIndex(index: number): ResolvedReflectiveProvider {\n return this._strategy.getProviderAtIndex(index);\n }\n}\n\n\n\nexport interface ReflectiveInjectorStrategy {\n getObjByKeyId(keyId: number): any;\n getObjAtIndex(index: number): any;\n getMaxNumberOfObjects(): number;\n\n resetConstructionCounter(): void;\n instantiateProvider(provider: ResolvedReflectiveProvider): any;\n}\n\nexport class ReflectiveInjectorInlineStrategy implements ReflectiveInjectorStrategy {\n obj0: any = UNDEFINED;\n obj1: any = UNDEFINED;\n obj2: any = UNDEFINED;\n obj3: any = UNDEFINED;\n obj4: any = UNDEFINED;\n obj5: any = UNDEFINED;\n obj6: any = UNDEFINED;\n obj7: any = UNDEFINED;\n obj8: any = UNDEFINED;\n obj9: any = UNDEFINED;\n\n constructor(\n public injector: ReflectiveInjector_,\n public protoStrategy: ReflectiveProtoInjectorInlineStrategy) {}\n\n resetConstructionCounter(): void { this.injector._constructionCounter = 0; }\n\n instantiateProvider(provider: ResolvedReflectiveProvider): any {\n return this.injector._new(provider);\n }\n\n getObjByKeyId(keyId: number): any {\n var p = this.protoStrategy;\n var inj = this.injector;\n\n if (p.keyId0 === keyId) {\n if (this.obj0 === UNDEFINED) {\n this.obj0 = inj._new(p.provider0);\n }\n return this.obj0;\n }\n if (p.keyId1 === keyId) {\n if (this.obj1 === UNDEFINED) {\n this.obj1 = inj._new(p.provider1);\n }\n return this.obj1;\n }\n if (p.keyId2 === keyId) {\n if (this.obj2 === UNDEFINED) {\n this.obj2 = inj._new(p.provider2);\n }\n return this.obj2;\n }\n if (p.keyId3 === keyId) {\n if (this.obj3 === UNDEFINED) {\n this.obj3 = inj._new(p.provider3);\n }\n return this.obj3;\n }\n if (p.keyId4 === keyId) {\n if (this.obj4 === UNDEFINED) {\n this.obj4 = inj._new(p.provider4);\n }\n return this.obj4;\n }\n if (p.keyId5 === keyId) {\n if (this.obj5 === UNDEFINED) {\n this.obj5 = inj._new(p.provider5);\n }\n return this.obj5;\n }\n if (p.keyId6 === keyId) {\n if (this.obj6 === UNDEFINED) {\n this.obj6 = inj._new(p.provider6);\n }\n return this.obj6;\n }\n if (p.keyId7 === keyId) {\n if (this.obj7 === UNDEFINED) {\n this.obj7 = inj._new(p.provider7);\n }\n return this.obj7;\n }\n if (p.keyId8 === keyId) {\n if (this.obj8 === UNDEFINED) {\n this.obj8 = inj._new(p.provider8);\n }\n return this.obj8;\n }\n if (p.keyId9 === keyId) {\n if (this.obj9 === UNDEFINED) {\n this.obj9 = inj._new(p.provider9);\n }\n return this.obj9;\n }\n\n return UNDEFINED;\n }\n\n getObjAtIndex(index: number): any {\n if (index == 0) return this.obj0;\n if (index == 1) return this.obj1;\n if (index == 2) return this.obj2;\n if (index == 3) return this.obj3;\n if (index == 4) return this.obj4;\n if (index == 5) return this.obj5;\n if (index == 6) return this.obj6;\n if (index == 7) return this.obj7;\n if (index == 8) return this.obj8;\n if (index == 9) return this.obj9;\n throw new OutOfBoundsError(index);\n }\n\n getMaxNumberOfObjects(): number { return _MAX_CONSTRUCTION_COUNTER; }\n}\n\n\nexport class ReflectiveInjectorDynamicStrategy implements ReflectiveInjectorStrategy {\n objs: any[];\n\n constructor(\n public protoStrategy: ReflectiveProtoInjectorDynamicStrategy,\n public injector: ReflectiveInjector_) {\n this.objs = new Array(protoStrategy.providers.length).fill(UNDEFINED);\n }\n\n resetConstructionCounter(): void { this.injector._constructionCounter = 0; }\n\n instantiateProvider(provider: ResolvedReflectiveProvider): any {\n return this.injector._new(provider);\n }\n\n getObjByKeyId(keyId: number): any {\n const p = this.protoStrategy;\n\n for (let i = 0; i < p.keyIds.length; i++) {\n if (p.keyIds[i] === keyId) {\n if (this.objs[i] === UNDEFINED) {\n this.objs[i] = this.injector._new(p.providers[i]);\n }\n\n return this.objs[i];\n }\n }\n\n return UNDEFINED;\n }\n\n getObjAtIndex(index: number): any {\n if (index < 0 || index >= this.objs.length) {\n throw new OutOfBoundsError(index);\n }\n\n return this.objs[index];\n }\n\n getMaxNumberOfObjects(): number { return this.objs.length; }\n}\n\n/**\n * A ReflectiveDependency injection container used for instantiating objects and resolving\n * dependencies.\n *\n * An `Injector` is a replacement for a `new` operator, which can automatically resolve the\n * constructor dependencies.\n *\n * In typical use, application code asks for the dependencies in the constructor and they are\n * resolved by the `Injector`.\n *\n * ### Example ([live demo](http://plnkr.co/edit/jzjec0?p=preview))\n *\n * The following example creates an `Injector` configured to create `Engine` and `Car`.\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n * var car = injector.get(Car);\n * expect(car instanceof Car).toBe(true);\n * expect(car.engine instanceof Engine).toBe(true);\n * ```\n *\n * Notice, we don't use the `new` operator because we explicitly want to have the `Injector`\n * resolve all of the object's dependencies automatically.\n *\n * @stable\n */\nexport abstract class ReflectiveInjector implements Injector {\n /**\n * Turns an array of provider definitions into an array of resolved providers.\n *\n * A resolution is a process of flattening multiple nested arrays and converting individual\n * providers into an array of {@link ResolvedReflectiveProvider}s.\n *\n * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]);\n *\n * expect(providers.length).toEqual(2);\n *\n * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true);\n * expect(providers[0].key.displayName).toBe(\"Car\");\n * expect(providers[0].dependencies.length).toEqual(1);\n * expect(providers[0].factory).toBeDefined();\n *\n * expect(providers[1].key.displayName).toBe(\"Engine\");\n * });\n * ```\n *\n * See {@link ReflectiveInjector#fromResolvedProviders} for more info.\n */\n static resolve(providers: Provider[]): ResolvedReflectiveProvider[] {\n return resolveReflectiveProviders(providers);\n }\n\n /**\n * Resolves an array of providers and creates an injector from those providers.\n *\n * The passed-in providers can be an array of `Type`, {@link Provider},\n * or a recursive array of more providers.\n *\n * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n *\n * This function is slower than the corresponding `fromResolvedProviders`\n * because it needs to resolve the passed-in providers first.\n * See {@link Injector#resolve} and {@link Injector#fromResolvedProviders}.\n */\n static resolveAndCreate(providers: Provider[], parent: Injector = null): ReflectiveInjector {\n var ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);\n return ReflectiveInjector.fromResolvedProviders(ResolvedReflectiveProviders, parent);\n }\n\n /**\n * Creates an injector from previously resolved providers.\n *\n * This API is the recommended way to construct injectors in performance-sensitive parts.\n *\n * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, Engine]);\n * var injector = ReflectiveInjector.fromResolvedProviders(providers);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n * @experimental\n */\n static fromResolvedProviders(providers: ResolvedReflectiveProvider[], parent: Injector = null):\n ReflectiveInjector {\n return new ReflectiveInjector_(\n ReflectiveProtoInjector.fromResolvedProviders(providers), parent);\n }\n\n\n /**\n * Parent of this injector.\n *\n * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.\n * -->\n *\n * ### Example ([live demo](http://plnkr.co/edit/eosMGo?p=preview))\n *\n * ```typescript\n * var parent = ReflectiveInjector.resolveAndCreate([]);\n * var child = parent.resolveAndCreateChild([]);\n * expect(child.parent).toBe(parent);\n * ```\n */\n get parent(): Injector { return unimplemented(); }\n\n /**\n * Resolves an array of providers and creates a child injector from those providers.\n *\n * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.\n * -->\n *\n * The passed-in providers can be an array of `Type`, {@link Provider},\n * or a recursive array of more providers.\n *\n * ### Example ([live demo](http://plnkr.co/edit/opB3T4?p=preview))\n *\n * ```typescript\n * class ParentProvider {}\n * class ChildProvider {}\n *\n * var parent = ReflectiveInjector.resolveAndCreate([ParentProvider]);\n * var child = parent.resolveAndCreateChild([ChildProvider]);\n *\n * expect(child.get(ParentProvider) instanceof ParentProvider).toBe(true);\n * expect(child.get(ChildProvider) instanceof ChildProvider).toBe(true);\n * expect(child.get(ParentProvider)).toBe(parent.get(ParentProvider));\n * ```\n *\n * This function is slower than the corresponding `createChildFromResolved`\n * because it needs to resolve the passed-in providers first.\n * See {@link Injector#resolve} and {@link Injector#createChildFromResolved}.\n */\n resolveAndCreateChild(providers: Provider[]): ReflectiveInjector { return unimplemented(); }\n\n /**\n * Creates a child injector from previously resolved providers.\n *\n * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.\n * -->\n *\n * This API is the recommended way to construct injectors in performance-sensitive parts.\n *\n * ### Example ([live demo](http://plnkr.co/edit/VhyfjN?p=preview))\n *\n * ```typescript\n * class ParentProvider {}\n * class ChildProvider {}\n *\n * var parentProviders = ReflectiveInjector.resolve([ParentProvider]);\n * var childProviders = ReflectiveInjector.resolve([ChildProvider]);\n *\n * var parent = ReflectiveInjector.fromResolvedProviders(parentProviders);\n * var child = parent.createChildFromResolved(childProviders);\n *\n * expect(child.get(ParentProvider) instanceof ParentProvider).toBe(true);\n * expect(child.get(ChildProvider) instanceof ChildProvider).toBe(true);\n * expect(child.get(ParentProvider)).toBe(parent.get(ParentProvider));\n * ```\n */\n createChildFromResolved(providers: ResolvedReflectiveProvider[]): ReflectiveInjector {\n return unimplemented();\n }\n\n /**\n * Resolves a provider and instantiates an object in the context of the injector.\n *\n * The created object does not get cached by the injector.\n *\n * ### Example ([live demo](http://plnkr.co/edit/yvVXoB?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Engine]);\n *\n * var car = injector.resolveAndInstantiate(Car);\n * expect(car.engine).toBe(injector.get(Engine));\n * expect(car).not.toBe(injector.resolveAndInstantiate(Car));\n * ```\n */\n resolveAndInstantiate(provider: Provider): any { return unimplemented(); }\n\n /**\n * Instantiates an object using a resolved provider in the context of the injector.\n *\n * The created object does not get cached by the injector.\n *\n * ### Example ([live demo](http://plnkr.co/edit/ptCImQ?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Engine]);\n * var carProvider = ReflectiveInjector.resolve([Car])[0];\n * var car = injector.instantiateResolved(carProvider);\n * expect(car.engine).toBe(injector.get(Engine));\n * expect(car).not.toBe(injector.instantiateResolved(carProvider));\n * ```\n */\n instantiateResolved(provider: ResolvedReflectiveProvider): any { return unimplemented(); }\n\n abstract get(token: any, notFoundValue?: any): any;\n}\n\nexport class ReflectiveInjector_ implements ReflectiveInjector {\n private _strategy: ReflectiveInjectorStrategy;\n /** @internal */\n _constructionCounter: number = 0;\n /** @internal */\n public _proto: any /* ProtoInjector */;\n /** @internal */\n public _parent: Injector;\n /**\n * Private\n */\n constructor(_proto: any /* ProtoInjector */, _parent: Injector = null) {\n this._proto = _proto;\n this._parent = _parent;\n this._strategy = _proto._strategy.createInjectorStrategy(this);\n }\n\n get(token: any, notFoundValue: any = THROW_IF_NOT_FOUND): any {\n return this._getByKey(ReflectiveKey.get(token), null, null, notFoundValue);\n }\n\n getAt(index: number): any { return this._strategy.getObjAtIndex(index); }\n\n get parent(): Injector { return this._parent; }\n\n /**\n * @internal\n * Internal. Do not use.\n * We return `any` not to export the InjectorStrategy type.\n */\n get internalStrategy(): any { return this._strategy; }\n\n resolveAndCreateChild(providers: Provider[]): ReflectiveInjector {\n var ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);\n return this.createChildFromResolved(ResolvedReflectiveProviders);\n }\n\n createChildFromResolved(providers: ResolvedReflectiveProvider[]): ReflectiveInjector {\n var proto = new ReflectiveProtoInjector(providers);\n var inj = new ReflectiveInjector_(proto);\n inj._parent = this;\n return inj;\n }\n\n resolveAndInstantiate(provider: Provider): any {\n return this.instantiateResolved(ReflectiveInjector.resolve([provider])[0]);\n }\n\n instantiateResolved(provider: ResolvedReflectiveProvider): any {\n return this._instantiateProvider(provider);\n }\n\n /** @internal */\n _new(provider: ResolvedReflectiveProvider): any {\n if (this._constructionCounter++ > this._strategy.getMaxNumberOfObjects()) {\n throw new CyclicDependencyError(this, provider.key);\n }\n return this._instantiateProvider(provider);\n }\n\n private _instantiateProvider(provider: ResolvedReflectiveProvider): any {\n if (provider.multiProvider) {\n var res = new Array(provider.resolvedFactories.length);\n for (var i = 0; i < provider.resolvedFactories.length; ++i) {\n res[i] = this._instantiate(provider, provider.resolvedFactories[i]);\n }\n return res;\n } else {\n return this._instantiate(provider, provider.resolvedFactories[0]);\n }\n }\n\n private _instantiate(\n provider: ResolvedReflectiveProvider,\n ResolvedReflectiveFactory: ResolvedReflectiveFactory): any {\n var factory = ResolvedReflectiveFactory.factory;\n var deps = ResolvedReflectiveFactory.dependencies;\n var length = deps.length;\n\n var d0: any;\n var d1: any;\n var d2: any;\n var d3: any;\n var d4: any;\n var d5: any;\n var d6: any;\n var d7: any;\n var d8: any;\n var d9: any;\n var d10: any;\n var d11: any;\n var d12: any;\n var d13: any;\n var d14: any;\n var d15: any;\n var d16: any;\n var d17: any;\n var d18: any;\n var d19: any;\n try {\n d0 = length > 0 ? this._getByReflectiveDependency(provider, deps[0]) : null;\n d1 = length > 1 ? this._getByReflectiveDependency(provider, deps[1]) : null;\n d2 = length > 2 ? this._getByReflectiveDependency(provider, deps[2]) : null;\n d3 = length > 3 ? this._getByReflectiveDependency(provider, deps[3]) : null;\n d4 = length > 4 ? this._getByReflectiveDependency(provider, deps[4]) : null;\n d5 = length > 5 ? this._getByReflectiveDependency(provider, deps[5]) : null;\n d6 = length > 6 ? this._getByReflectiveDependency(provider, deps[6]) : null;\n d7 = length > 7 ? this._getByReflectiveDependency(provider, deps[7]) : null;\n d8 = length > 8 ? this._getByReflectiveDependency(provider, deps[8]) : null;\n d9 = length > 9 ? this._getByReflectiveDependency(provider, deps[9]) : null;\n d10 = length > 10 ? this._getByReflectiveDependency(provider, deps[10]) : null;\n d11 = length > 11 ? this._getByReflectiveDependency(provider, deps[11]) : null;\n d12 = length > 12 ? this._getByReflectiveDependency(provider, deps[12]) : null;\n d13 = length > 13 ? this._getByReflectiveDependency(provider, deps[13]) : null;\n d14 = length > 14 ? this._getByReflectiveDependency(provider, deps[14]) : null;\n d15 = length > 15 ? this._getByReflectiveDependency(provider, deps[15]) : null;\n d16 = length > 16 ? this._getByReflectiveDependency(provider, deps[16]) : null;\n d17 = length > 17 ? this._getByReflectiveDependency(provider, deps[17]) : null;\n d18 = length > 18 ? this._getByReflectiveDependency(provider, deps[18]) : null;\n d19 = length > 19 ? this._getByReflectiveDependency(provider, deps[19]) : null;\n } catch (e) {\n if (e instanceof AbstractProviderError || e instanceof InstantiationError) {\n e.addKey(this, provider.key);\n }\n throw e;\n }\n\n var obj: any;\n try {\n switch (length) {\n case 0:\n obj = factory();\n break;\n case 1:\n obj = factory(d0);\n break;\n case 2:\n obj = factory(d0, d1);\n break;\n case 3:\n obj = factory(d0, d1, d2);\n break;\n case 4:\n obj = factory(d0, d1, d2, d3);\n break;\n case 5:\n obj = factory(d0, d1, d2, d3, d4);\n break;\n case 6:\n obj = factory(d0, d1, d2, d3, d4, d5);\n break;\n case 7:\n obj = factory(d0, d1, d2, d3, d4, d5, d6);\n break;\n case 8:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7);\n break;\n case 9:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8);\n break;\n case 10:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9);\n break;\n case 11:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10);\n break;\n case 12:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11);\n break;\n case 13:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12);\n break;\n case 14:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13);\n break;\n case 15:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14);\n break;\n case 16:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15);\n break;\n case 17:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16);\n break;\n case 18:\n obj = factory(\n d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17);\n break;\n case 19:\n obj = factory(\n d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18);\n break;\n case 20:\n obj = factory(\n d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18,\n d19);\n break;\n default:\n throw new Error(\n `Cannot instantiate '${provider.key.displayName}' because it has more than 20 dependencies`);\n }\n } catch (e) {\n throw new InstantiationError(this, e, e.stack, provider.key);\n }\n return obj;\n }\n\n private _getByReflectiveDependency(\n provider: ResolvedReflectiveProvider, dep: ReflectiveDependency): any {\n return this._getByKey(\n dep.key, dep.lowerBoundVisibility, dep.upperBoundVisibility,\n dep.optional ? null : THROW_IF_NOT_FOUND);\n }\n\n private _getByKey(\n key: ReflectiveKey, lowerBoundVisibility: Object, upperBoundVisibility: Object,\n notFoundValue: any): any {\n if (key === INJECTOR_KEY) {\n return this;\n }\n\n if (upperBoundVisibility instanceof Self) {\n return this._getByKeySelf(key, notFoundValue);\n\n } else {\n return this._getByKeyDefault(key, notFoundValue, lowerBoundVisibility);\n }\n }\n\n /** @internal */\n _throwOrNull(key: ReflectiveKey, notFoundValue: any): any {\n if (notFoundValue !== THROW_IF_NOT_FOUND) {\n return notFoundValue;\n } else {\n throw new NoProviderError(this, key);\n }\n }\n\n /** @internal */\n _getByKeySelf(key: ReflectiveKey, notFoundValue: any): any {\n var obj = this._strategy.getObjByKeyId(key.id);\n return (obj !== UNDEFINED) ? obj : this._throwOrNull(key, notFoundValue);\n }\n\n /** @internal */\n _getByKeyDefault(key: ReflectiveKey, notFoundValue: any, lowerBoundVisibility: Object): any {\n var inj: Injector;\n\n if (lowerBoundVisibility instanceof SkipSelf) {\n inj = this._parent;\n } else {\n inj = this;\n }\n\n while (inj instanceof ReflectiveInjector_) {\n var inj_ = <ReflectiveInjector_>inj;\n var obj = inj_._strategy.getObjByKeyId(key.id);\n if (obj !== UNDEFINED) return obj;\n inj = inj_._parent;\n }\n if (inj !== null) {\n return inj.get(key.token, notFoundValue);\n } else {\n return this._throwOrNull(key, notFoundValue);\n }\n }\n\n get displayName(): string {\n const providers =\n _mapProviders(this, (b: ResolvedReflectiveProvider) => ' \"' + b.key.displayName + '\" ')\n .join(', ');\n return `ReflectiveInjector(providers: [${providers}])`;\n }\n\n toString(): string { return this.displayName; }\n}\n\nvar INJECTOR_KEY = ReflectiveKey.get(Injector);\n\nfunction _mapProviders(injector: ReflectiveInjector_, fn: Function): any[] {\n var res: any[] = new Array(injector._proto.numberOfProviders);\n for (var i = 0; i < injector._proto.numberOfProviders; ++i) {\n res[i] = fn(injector._proto.getProviderAtIndex(i));\n }\n return res;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"reflective_injector.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/reflective_injector.ts"],"names":[],"mappings":"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,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC5E,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YAC/E,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YAC/E,GAAG,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,I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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {unimplemented} from '../facade/errors';\nimport {Type} from '../type';\n\nimport {Injector, THROW_IF_NOT_FOUND} from './injector';\nimport {Self, SkipSelf} from './metadata';\nimport {Provider} from './provider';\nimport {AbstractProviderError, CyclicDependencyError, InstantiationError, NoProviderError, OutOfBoundsError} from './reflective_errors';\nimport {ReflectiveKey} from './reflective_key';\nimport {ReflectiveDependency, ResolvedReflectiveFactory, ResolvedReflectiveProvider, resolveReflectiveProviders} from './reflective_provider';\n\n// Threshold for the dynamic version\nconst _MAX_CONSTRUCTION_COUNTER = 10;\nconst UNDEFINED = new Object();\n\nexport interface ReflectiveProtoInjectorStrategy {\n getProviderAtIndex(index: number): ResolvedReflectiveProvider;\n createInjectorStrategy(inj: ReflectiveInjector_): ReflectiveInjectorStrategy;\n}\n\nexport class ReflectiveProtoInjectorInlineStrategy implements ReflectiveProtoInjectorStrategy {\n provider0: ResolvedReflectiveProvider = null;\n provider1: ResolvedReflectiveProvider = null;\n provider2: ResolvedReflectiveProvider = null;\n provider3: ResolvedReflectiveProvider = null;\n provider4: ResolvedReflectiveProvider = null;\n provider5: ResolvedReflectiveProvider = null;\n provider6: ResolvedReflectiveProvider = null;\n provider7: ResolvedReflectiveProvider = null;\n provider8: ResolvedReflectiveProvider = null;\n provider9: ResolvedReflectiveProvider = null;\n\n keyId0: number = null;\n keyId1: number = null;\n keyId2: number = null;\n keyId3: number = null;\n keyId4: number = null;\n keyId5: number = null;\n keyId6: number = null;\n keyId7: number = null;\n keyId8: number = null;\n keyId9: number = null;\n\n constructor(protoEI: ReflectiveProtoInjector, providers: ResolvedReflectiveProvider[]) {\n const length = providers.length;\n\n if (length > 0) {\n this.provider0 = providers[0];\n this.keyId0 = providers[0].key.id;\n }\n if (length > 1) {\n this.provider1 = providers[1];\n this.keyId1 = providers[1].key.id;\n }\n if (length > 2) {\n this.provider2 = providers[2];\n this.keyId2 = providers[2].key.id;\n }\n if (length > 3) {\n this.provider3 = providers[3];\n this.keyId3 = providers[3].key.id;\n }\n if (length > 4) {\n this.provider4 = providers[4];\n this.keyId4 = providers[4].key.id;\n }\n if (length > 5) {\n this.provider5 = providers[5];\n this.keyId5 = providers[5].key.id;\n }\n if (length > 6) {\n this.provider6 = providers[6];\n this.keyId6 = providers[6].key.id;\n }\n if (length > 7) {\n this.provider7 = providers[7];\n this.keyId7 = providers[7].key.id;\n }\n if (length > 8) {\n this.provider8 = providers[8];\n this.keyId8 = providers[8].key.id;\n }\n if (length > 9) {\n this.provider9 = providers[9];\n this.keyId9 = providers[9].key.id;\n }\n }\n\n getProviderAtIndex(index: number): ResolvedReflectiveProvider {\n if (index == 0) return this.provider0;\n if (index == 1) return this.provider1;\n if (index == 2) return this.provider2;\n if (index == 3) return this.provider3;\n if (index == 4) return this.provider4;\n if (index == 5) return this.provider5;\n if (index == 6) return this.provider6;\n if (index == 7) return this.provider7;\n if (index == 8) return this.provider8;\n if (index == 9) return this.provider9;\n throw new OutOfBoundsError(index);\n }\n\n createInjectorStrategy(injector: ReflectiveInjector_): ReflectiveInjectorStrategy {\n return new ReflectiveInjectorInlineStrategy(injector, this);\n }\n}\n\nexport class ReflectiveProtoInjectorDynamicStrategy implements ReflectiveProtoInjectorStrategy {\n keyIds: number[];\n\n constructor(protoInj: ReflectiveProtoInjector, public providers: ResolvedReflectiveProvider[]) {\n const len = providers.length;\n\n this.keyIds = new Array(len);\n\n for (let i = 0; i < len; i++) {\n this.keyIds[i] = providers[i].key.id;\n }\n }\n\n getProviderAtIndex(index: number): ResolvedReflectiveProvider {\n if (index < 0 || index >= this.providers.length) {\n throw new OutOfBoundsError(index);\n }\n return this.providers[index];\n }\n\n createInjectorStrategy(ei: ReflectiveInjector_): ReflectiveInjectorStrategy {\n return new ReflectiveInjectorDynamicStrategy(this, ei);\n }\n}\n\nexport class ReflectiveProtoInjector {\n static fromResolvedProviders(providers: ResolvedReflectiveProvider[]): ReflectiveProtoInjector {\n return new ReflectiveProtoInjector(providers);\n }\n\n /** @internal */\n _strategy: ReflectiveProtoInjectorStrategy;\n numberOfProviders: number;\n\n constructor(providers: ResolvedReflectiveProvider[]) {\n this.numberOfProviders = providers.length;\n this._strategy = providers.length > _MAX_CONSTRUCTION_COUNTER ?\n new ReflectiveProtoInjectorDynamicStrategy(this, providers) :\n new ReflectiveProtoInjectorInlineStrategy(this, providers);\n }\n\n getProviderAtIndex(index: number): ResolvedReflectiveProvider {\n return this._strategy.getProviderAtIndex(index);\n }\n}\n\n\n\nexport interface ReflectiveInjectorStrategy {\n getObjByKeyId(keyId: number): any;\n getObjAtIndex(index: number): any;\n getMaxNumberOfObjects(): number;\n\n resetConstructionCounter(): void;\n instantiateProvider(provider: ResolvedReflectiveProvider): any;\n}\n\nexport class ReflectiveInjectorInlineStrategy implements ReflectiveInjectorStrategy {\n obj0: any = UNDEFINED;\n obj1: any = UNDEFINED;\n obj2: any = UNDEFINED;\n obj3: any = UNDEFINED;\n obj4: any = UNDEFINED;\n obj5: any = UNDEFINED;\n obj6: any = UNDEFINED;\n obj7: any = UNDEFINED;\n obj8: any = UNDEFINED;\n obj9: any = UNDEFINED;\n\n constructor(\n public injector: ReflectiveInjector_,\n public protoStrategy: ReflectiveProtoInjectorInlineStrategy) {}\n\n resetConstructionCounter(): void { this.injector._constructionCounter = 0; }\n\n instantiateProvider(provider: ResolvedReflectiveProvider): any {\n return this.injector._new(provider);\n }\n\n getObjByKeyId(keyId: number): any {\n const p = this.protoStrategy;\n const inj = this.injector;\n\n if (p.keyId0 === keyId) {\n if (this.obj0 === UNDEFINED) {\n this.obj0 = inj._new(p.provider0);\n }\n return this.obj0;\n }\n if (p.keyId1 === keyId) {\n if (this.obj1 === UNDEFINED) {\n this.obj1 = inj._new(p.provider1);\n }\n return this.obj1;\n }\n if (p.keyId2 === keyId) {\n if (this.obj2 === UNDEFINED) {\n this.obj2 = inj._new(p.provider2);\n }\n return this.obj2;\n }\n if (p.keyId3 === keyId) {\n if (this.obj3 === UNDEFINED) {\n this.obj3 = inj._new(p.provider3);\n }\n return this.obj3;\n }\n if (p.keyId4 === keyId) {\n if (this.obj4 === UNDEFINED) {\n this.obj4 = inj._new(p.provider4);\n }\n return this.obj4;\n }\n if (p.keyId5 === keyId) {\n if (this.obj5 === UNDEFINED) {\n this.obj5 = inj._new(p.provider5);\n }\n return this.obj5;\n }\n if (p.keyId6 === keyId) {\n if (this.obj6 === UNDEFINED) {\n this.obj6 = inj._new(p.provider6);\n }\n return this.obj6;\n }\n if (p.keyId7 === keyId) {\n if (this.obj7 === UNDEFINED) {\n this.obj7 = inj._new(p.provider7);\n }\n return this.obj7;\n }\n if (p.keyId8 === keyId) {\n if (this.obj8 === UNDEFINED) {\n this.obj8 = inj._new(p.provider8);\n }\n return this.obj8;\n }\n if (p.keyId9 === keyId) {\n if (this.obj9 === UNDEFINED) {\n this.obj9 = inj._new(p.provider9);\n }\n return this.obj9;\n }\n\n return UNDEFINED;\n }\n\n getObjAtIndex(index: number): any {\n if (index == 0) return this.obj0;\n if (index == 1) return this.obj1;\n if (index == 2) return this.obj2;\n if (index == 3) return this.obj3;\n if (index == 4) return this.obj4;\n if (index == 5) return this.obj5;\n if (index == 6) return this.obj6;\n if (index == 7) return this.obj7;\n if (index == 8) return this.obj8;\n if (index == 9) return this.obj9;\n throw new OutOfBoundsError(index);\n }\n\n getMaxNumberOfObjects(): number { return _MAX_CONSTRUCTION_COUNTER; }\n}\n\n\nexport class ReflectiveInjectorDynamicStrategy implements ReflectiveInjectorStrategy {\n objs: any[];\n\n constructor(\n public protoStrategy: ReflectiveProtoInjectorDynamicStrategy,\n public injector: ReflectiveInjector_) {\n this.objs = new Array(protoStrategy.providers.length).fill(UNDEFINED);\n }\n\n resetConstructionCounter(): void { this.injector._constructionCounter = 0; }\n\n instantiateProvider(provider: ResolvedReflectiveProvider): any {\n return this.injector._new(provider);\n }\n\n getObjByKeyId(keyId: number): any {\n const p = this.protoStrategy;\n\n for (let i = 0; i < p.keyIds.length; i++) {\n if (p.keyIds[i] === keyId) {\n if (this.objs[i] === UNDEFINED) {\n this.objs[i] = this.injector._new(p.providers[i]);\n }\n\n return this.objs[i];\n }\n }\n\n return UNDEFINED;\n }\n\n getObjAtIndex(index: number): any {\n if (index < 0 || index >= this.objs.length) {\n throw new OutOfBoundsError(index);\n }\n\n return this.objs[index];\n }\n\n getMaxNumberOfObjects(): number { return this.objs.length; }\n}\n\n/**\n * A ReflectiveDependency injection container used for instantiating objects and resolving\n * dependencies.\n *\n * An `Injector` is a replacement for a `new` operator, which can automatically resolve the\n * constructor dependencies.\n *\n * In typical use, application code asks for the dependencies in the constructor and they are\n * resolved by the `Injector`.\n *\n * ### Example ([live demo](http://plnkr.co/edit/jzjec0?p=preview))\n *\n * The following example creates an `Injector` configured to create `Engine` and `Car`.\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n * var car = injector.get(Car);\n * expect(car instanceof Car).toBe(true);\n * expect(car.engine instanceof Engine).toBe(true);\n * ```\n *\n * Notice, we don't use the `new` operator because we explicitly want to have the `Injector`\n * resolve all of the object's dependencies automatically.\n *\n * @stable\n */\nexport abstract class ReflectiveInjector implements Injector {\n /**\n * Turns an array of provider definitions into an array of resolved providers.\n *\n * A resolution is a process of flattening multiple nested arrays and converting individual\n * providers into an array of {@link ResolvedReflectiveProvider}s.\n *\n * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]);\n *\n * expect(providers.length).toEqual(2);\n *\n * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true);\n * expect(providers[0].key.displayName).toBe(\"Car\");\n * expect(providers[0].dependencies.length).toEqual(1);\n * expect(providers[0].factory).toBeDefined();\n *\n * expect(providers[1].key.displayName).toBe(\"Engine\");\n * });\n * ```\n *\n * See {@link ReflectiveInjector#fromResolvedProviders} for more info.\n */\n static resolve(providers: Provider[]): ResolvedReflectiveProvider[] {\n return resolveReflectiveProviders(providers);\n }\n\n /**\n * Resolves an array of providers and creates an injector from those providers.\n *\n * The passed-in providers can be an array of `Type`, {@link Provider},\n * or a recursive array of more providers.\n *\n * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n *\n * This function is slower than the corresponding `fromResolvedProviders`\n * because it needs to resolve the passed-in providers first.\n * See {@link Injector#resolve} and {@link Injector#fromResolvedProviders}.\n */\n static resolveAndCreate(providers: Provider[], parent: Injector = null): ReflectiveInjector {\n const ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);\n return ReflectiveInjector.fromResolvedProviders(ResolvedReflectiveProviders, parent);\n }\n\n /**\n * Creates an injector from previously resolved providers.\n *\n * This API is the recommended way to construct injectors in performance-sensitive parts.\n *\n * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, Engine]);\n * var injector = ReflectiveInjector.fromResolvedProviders(providers);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n * @experimental\n */\n static fromResolvedProviders(providers: ResolvedReflectiveProvider[], parent: Injector = null):\n ReflectiveInjector {\n return new ReflectiveInjector_(\n ReflectiveProtoInjector.fromResolvedProviders(providers), parent);\n }\n\n\n /**\n * Parent of this injector.\n *\n * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.\n * -->\n *\n * ### Example ([live demo](http://plnkr.co/edit/eosMGo?p=preview))\n *\n * ```typescript\n * var parent = ReflectiveInjector.resolveAndCreate([]);\n * var child = parent.resolveAndCreateChild([]);\n * expect(child.parent).toBe(parent);\n * ```\n */\n get parent(): Injector { return unimplemented(); }\n\n /**\n * Resolves an array of providers and creates a child injector from those providers.\n *\n * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.\n * -->\n *\n * The passed-in providers can be an array of `Type`, {@link Provider},\n * or a recursive array of more providers.\n *\n * ### Example ([live demo](http://plnkr.co/edit/opB3T4?p=preview))\n *\n * ```typescript\n * class ParentProvider {}\n * class ChildProvider {}\n *\n * var parent = ReflectiveInjector.resolveAndCreate([ParentProvider]);\n * var child = parent.resolveAndCreateChild([ChildProvider]);\n *\n * expect(child.get(ParentProvider) instanceof ParentProvider).toBe(true);\n * expect(child.get(ChildProvider) instanceof ChildProvider).toBe(true);\n * expect(child.get(ParentProvider)).toBe(parent.get(ParentProvider));\n * ```\n *\n * This function is slower than the corresponding `createChildFromResolved`\n * because it needs to resolve the passed-in providers first.\n * See {@link Injector#resolve} and {@link Injector#createChildFromResolved}.\n */\n resolveAndCreateChild(providers: Provider[]): ReflectiveInjector { return unimplemented(); }\n\n /**\n * Creates a child injector from previously resolved providers.\n *\n * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.\n * -->\n *\n * This API is the recommended way to construct injectors in performance-sensitive parts.\n *\n * ### Example ([live demo](http://plnkr.co/edit/VhyfjN?p=preview))\n *\n * ```typescript\n * class ParentProvider {}\n * class ChildProvider {}\n *\n * var parentProviders = ReflectiveInjector.resolve([ParentProvider]);\n * var childProviders = ReflectiveInjector.resolve([ChildProvider]);\n *\n * var parent = ReflectiveInjector.fromResolvedProviders(parentProviders);\n * var child = parent.createChildFromResolved(childProviders);\n *\n * expect(child.get(ParentProvider) instanceof ParentProvider).toBe(true);\n * expect(child.get(ChildProvider) instanceof ChildProvider).toBe(true);\n * expect(child.get(ParentProvider)).toBe(parent.get(ParentProvider));\n * ```\n */\n createChildFromResolved(providers: ResolvedReflectiveProvider[]): ReflectiveInjector {\n return unimplemented();\n }\n\n /**\n * Resolves a provider and instantiates an object in the context of the injector.\n *\n * The created object does not get cached by the injector.\n *\n * ### Example ([live demo](http://plnkr.co/edit/yvVXoB?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Engine]);\n *\n * var car = injector.resolveAndInstantiate(Car);\n * expect(car.engine).toBe(injector.get(Engine));\n * expect(car).not.toBe(injector.resolveAndInstantiate(Car));\n * ```\n */\n resolveAndInstantiate(provider: Provider): any { return unimplemented(); }\n\n /**\n * Instantiates an object using a resolved provider in the context of the injector.\n *\n * The created object does not get cached by the injector.\n *\n * ### Example ([live demo](http://plnkr.co/edit/ptCImQ?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Engine]);\n * var carProvider = ReflectiveInjector.resolve([Car])[0];\n * var car = injector.instantiateResolved(carProvider);\n * expect(car.engine).toBe(injector.get(Engine));\n * expect(car).not.toBe(injector.instantiateResolved(carProvider));\n * ```\n */\n instantiateResolved(provider: ResolvedReflectiveProvider): any { return unimplemented(); }\n\n abstract get(token: any, notFoundValue?: any): any;\n}\n\nexport class ReflectiveInjector_ implements ReflectiveInjector {\n private _strategy: ReflectiveInjectorStrategy;\n /** @internal */\n _constructionCounter: number = 0;\n /** @internal */\n public _proto: any /* ProtoInjector */;\n /** @internal */\n public _parent: Injector;\n /**\n * Private\n */\n constructor(_proto: any /* ProtoInjector */, _parent: Injector = null) {\n this._proto = _proto;\n this._parent = _parent;\n this._strategy = _proto._strategy.createInjectorStrategy(this);\n }\n\n get(token: any, notFoundValue: any = THROW_IF_NOT_FOUND): any {\n return this._getByKey(ReflectiveKey.get(token), null, null, notFoundValue);\n }\n\n getAt(index: number): any { return this._strategy.getObjAtIndex(index); }\n\n get parent(): Injector { return this._parent; }\n\n /**\n * @internal\n * Internal. Do not use.\n * We return `any` not to export the InjectorStrategy type.\n */\n get internalStrategy(): any { return this._strategy; }\n\n resolveAndCreateChild(providers: Provider[]): ReflectiveInjector {\n const ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);\n return this.createChildFromResolved(ResolvedReflectiveProviders);\n }\n\n createChildFromResolved(providers: ResolvedReflectiveProvider[]): ReflectiveInjector {\n const proto = new ReflectiveProtoInjector(providers);\n const inj = new ReflectiveInjector_(proto);\n inj._parent = this;\n return inj;\n }\n\n resolveAndInstantiate(provider: Provider): any {\n return this.instantiateResolved(ReflectiveInjector.resolve([provider])[0]);\n }\n\n instantiateResolved(provider: ResolvedReflectiveProvider): any {\n return this._instantiateProvider(provider);\n }\n\n /** @internal */\n _new(provider: ResolvedReflectiveProvider): any {\n if (this._constructionCounter++ > this._strategy.getMaxNumberOfObjects()) {\n throw new CyclicDependencyError(this, provider.key);\n }\n return this._instantiateProvider(provider);\n }\n\n private _instantiateProvider(provider: ResolvedReflectiveProvider): any {\n if (provider.multiProvider) {\n const res = new Array(provider.resolvedFactories.length);\n for (let i = 0; i < provider.resolvedFactories.length; ++i) {\n res[i] = this._instantiate(provider, provider.resolvedFactories[i]);\n }\n return res;\n } else {\n return this._instantiate(provider, provider.resolvedFactories[0]);\n }\n }\n\n private _instantiate(\n provider: ResolvedReflectiveProvider,\n ResolvedReflectiveFactory: ResolvedReflectiveFactory): any {\n const factory = ResolvedReflectiveFactory.factory;\n const deps = ResolvedReflectiveFactory.dependencies;\n const length = deps.length;\n\n let d0: any;\n let d1: any;\n let d2: any;\n let d3: any;\n let d4: any;\n let d5: any;\n let d6: any;\n let d7: any;\n let d8: any;\n let d9: any;\n let d10: any;\n let d11: any;\n let d12: any;\n let d13: any;\n let d14: any;\n let d15: any;\n let d16: any;\n let d17: any;\n let d18: any;\n let d19: any;\n try {\n d0 = length > 0 ? this._getByReflectiveDependency(provider, deps[0]) : null;\n d1 = length > 1 ? this._getByReflectiveDependency(provider, deps[1]) : null;\n d2 = length > 2 ? this._getByReflectiveDependency(provider, deps[2]) : null;\n d3 = length > 3 ? this._getByReflectiveDependency(provider, deps[3]) : null;\n d4 = length > 4 ? this._getByReflectiveDependency(provider, deps[4]) : null;\n d5 = length > 5 ? this._getByReflectiveDependency(provider, deps[5]) : null;\n d6 = length > 6 ? this._getByReflectiveDependency(provider, deps[6]) : null;\n d7 = length > 7 ? this._getByReflectiveDependency(provider, deps[7]) : null;\n d8 = length > 8 ? this._getByReflectiveDependency(provider, deps[8]) : null;\n d9 = length > 9 ? this._getByReflectiveDependency(provider, deps[9]) : null;\n d10 = length > 10 ? this._getByReflectiveDependency(provider, deps[10]) : null;\n d11 = length > 11 ? this._getByReflectiveDependency(provider, deps[11]) : null;\n d12 = length > 12 ? this._getByReflectiveDependency(provider, deps[12]) : null;\n d13 = length > 13 ? this._getByReflectiveDependency(provider, deps[13]) : null;\n d14 = length > 14 ? this._getByReflectiveDependency(provider, deps[14]) : null;\n d15 = length > 15 ? this._getByReflectiveDependency(provider, deps[15]) : null;\n d16 = length > 16 ? this._getByReflectiveDependency(provider, deps[16]) : null;\n d17 = length > 17 ? this._getByReflectiveDependency(provider, deps[17]) : null;\n d18 = length > 18 ? this._getByReflectiveDependency(provider, deps[18]) : null;\n d19 = length > 19 ? this._getByReflectiveDependency(provider, deps[19]) : null;\n } catch (e) {\n if (e instanceof AbstractProviderError || e instanceof InstantiationError) {\n e.addKey(this, provider.key);\n }\n throw e;\n }\n\n let obj: any;\n try {\n switch (length) {\n case 0:\n obj = factory();\n break;\n case 1:\n obj = factory(d0);\n break;\n case 2:\n obj = factory(d0, d1);\n break;\n case 3:\n obj = factory(d0, d1, d2);\n break;\n case 4:\n obj = factory(d0, d1, d2, d3);\n break;\n case 5:\n obj = factory(d0, d1, d2, d3, d4);\n break;\n case 6:\n obj = factory(d0, d1, d2, d3, d4, d5);\n break;\n case 7:\n obj = factory(d0, d1, d2, d3, d4, d5, d6);\n break;\n case 8:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7);\n break;\n case 9:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8);\n break;\n case 10:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9);\n break;\n case 11:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10);\n break;\n case 12:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11);\n break;\n case 13:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12);\n break;\n case 14:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13);\n break;\n case 15:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14);\n break;\n case 16:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15);\n break;\n case 17:\n obj = factory(d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16);\n break;\n case 18:\n obj = factory(\n d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17);\n break;\n case 19:\n obj = factory(\n d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18);\n break;\n case 20:\n obj = factory(\n d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18,\n d19);\n break;\n default:\n throw new Error(\n `Cannot instantiate '${provider.key.displayName}' because it has more than 20 dependencies`);\n }\n } catch (e) {\n throw new InstantiationError(this, e, e.stack, provider.key);\n }\n return obj;\n }\n\n private _getByReflectiveDependency(\n provider: ResolvedReflectiveProvider, dep: ReflectiveDependency): any {\n return this._getByKey(\n dep.key, dep.lowerBoundVisibility, dep.upperBoundVisibility,\n dep.optional ? null : THROW_IF_NOT_FOUND);\n }\n\n private _getByKey(\n key: ReflectiveKey, lowerBoundVisibility: Object, upperBoundVisibility: Object,\n notFoundValue: any): any {\n if (key === INJECTOR_KEY) {\n return this;\n }\n\n if (upperBoundVisibility instanceof Self) {\n return this._getByKeySelf(key, notFoundValue);\n\n } else {\n return this._getByKeyDefault(key, notFoundValue, lowerBoundVisibility);\n }\n }\n\n /** @internal */\n _throwOrNull(key: ReflectiveKey, notFoundValue: any): any {\n if (notFoundValue !== THROW_IF_NOT_FOUND) {\n return notFoundValue;\n } else {\n throw new NoProviderError(this, key);\n }\n }\n\n /** @internal */\n _getByKeySelf(key: ReflectiveKey, notFoundValue: any): any {\n const obj = this._strategy.getObjByKeyId(key.id);\n return (obj !== UNDEFINED) ? obj : this._throwOrNull(key, notFoundValue);\n }\n\n /** @internal */\n _getByKeyDefault(key: ReflectiveKey, notFoundValue: any, lowerBoundVisibility: Object): any {\n let inj: Injector;\n\n if (lowerBoundVisibility instanceof SkipSelf) {\n inj = this._parent;\n } else {\n inj = this;\n }\n\n while (inj instanceof ReflectiveInjector_) {\n const inj_ = <ReflectiveInjector_>inj;\n const obj = inj_._strategy.getObjByKeyId(key.id);\n if (obj !== UNDEFINED) return obj;\n inj = inj_._parent;\n }\n if (inj !== null) {\n return inj.get(key.token, notFoundValue);\n } else {\n return this._throwOrNull(key, notFoundValue);\n }\n }\n\n get displayName(): string {\n const providers =\n _mapProviders(this, (b: ResolvedReflectiveProvider) => ' \"' + b.key.displayName + '\" ')\n .join(', ');\n return `ReflectiveInjector(providers: [${providers}])`;\n }\n\n toString(): string { return this.displayName; }\n}\n\nconst INJECTOR_KEY = ReflectiveKey.get(Injector);\n\nfunction _mapProviders(injector: ReflectiveInjector_, fn: Function): any[] {\n const res: any[] = new Array(injector._proto.numberOfProviders);\n for (let i = 0; i < injector._proto.numberOfProviders; ++i) {\n res[i] = fn(injector._proto.getProviderAtIndex(i));\n }\n return res;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|