@angular/core 6.0.3 → 6.0.7

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.
Files changed (233) hide show
  1. package/bundles/core-testing.umd.js +61 -237
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core-testing.umd.min.js +11 -4
  4. package/bundles/core-testing.umd.min.js.map +1 -1
  5. package/bundles/core.umd.js +591 -2007
  6. package/bundles/core.umd.js.map +1 -1
  7. package/bundles/core.umd.min.js +4 -32
  8. package/bundles/core.umd.min.js.map +1 -1
  9. package/core.metadata.json +1 -1
  10. package/esm2015/core.externs.js +3 -3
  11. package/esm2015/src/application_init.js +2 -9
  12. package/esm2015/src/application_module.js +1 -10
  13. package/esm2015/src/application_ref.js +15 -30
  14. package/esm2015/src/change_detection/change_detector_ref.js +7 -5
  15. package/esm2015/src/change_detection/differs/iterable_differs.js +4 -3
  16. package/esm2015/src/change_detection/differs/keyvalue_differs.js +4 -3
  17. package/esm2015/src/change_detection/pipe_transform.js +3 -6
  18. package/esm2015/src/console.js +0 -11
  19. package/esm2015/src/di/forward_ref.js +8 -6
  20. package/esm2015/src/di/injectable.js +1 -4
  21. package/esm2015/src/di/injection_token.js +6 -8
  22. package/esm2015/src/di/injector.js +5 -10
  23. package/esm2015/src/di/metadata.js +1 -16
  24. package/esm2015/src/di/provider.js +47 -138
  25. package/esm2015/src/di/reflective_errors.js +14 -7
  26. package/esm2015/src/di/reflective_injector.js +22 -24
  27. package/esm2015/src/di/reflective_provider.js +11 -12
  28. package/esm2015/src/error_handler.js +2 -5
  29. package/esm2015/src/event_emitter.js +6 -3
  30. package/esm2015/src/i18n/tokens.js +7 -4
  31. package/esm2015/src/linker/compiler.js +1 -12
  32. package/esm2015/src/linker/query_list.js +4 -4
  33. package/esm2015/src/linker/system_js_ng_module_factory_loader.js +3 -10
  34. package/esm2015/src/linker/view_ref.js +10 -7
  35. package/esm2015/src/metadata/di.js +10 -16
  36. package/esm2015/src/metadata/directives.js +111 -33
  37. package/esm2015/src/metadata/lifecycle_hooks.js +9 -9
  38. package/esm2015/src/metadata/ng_module.js +19 -11
  39. package/esm2015/src/render3/node_manipulation.js +2 -3
  40. package/esm2015/src/render3/view_ref.js +7 -3
  41. package/esm2015/src/testability/testability.js +2 -16
  42. package/esm2015/src/version.js +1 -1
  43. package/esm2015/src/view/ng_module.js +4 -1
  44. package/esm2015/src/zone/ng_zone.js +2 -1
  45. package/esm2015/testing/src/fake_async.js +5 -3
  46. package/esm2015/testing/src/fake_async_fallback.js +5 -3
  47. package/esm2015/testing/src/logger.js +0 -7
  48. package/esm2015/testing/src/metadata_override.js +1 -1
  49. package/esm2015/testing/src/ng_zone_mock.js +0 -7
  50. package/esm2015/testing/src/test_bed.js +1 -34
  51. package/esm2015/testing/src/test_compiler.js +1 -12
  52. package/esm5/index.js +5 -1
  53. package/esm5/public_api.js +6 -1
  54. package/esm5/src/application_init.js +3 -5
  55. package/esm5/src/application_module.js +2 -2
  56. package/esm5/src/application_ref.js +35 -211
  57. package/esm5/src/application_tokens.js +1 -1
  58. package/esm5/src/change_detection/change_detection.js +1 -1
  59. package/esm5/src/change_detection/change_detection_util.js +7 -72
  60. package/esm5/src/change_detection/change_detector_ref.js +1 -1
  61. package/esm5/src/change_detection/constants.js +1 -24
  62. package/esm5/src/change_detection/differs/default_iterable_differ.js +26 -209
  63. package/esm5/src/change_detection/differs/default_keyvalue_differ.js +7 -38
  64. package/esm5/src/change_detection/differs/iterable_differs.js +5 -42
  65. package/esm5/src/change_detection/differs/keyvalue_differs.js +6 -51
  66. package/esm5/src/change_detection/pipe_transform.js +1 -1
  67. package/esm5/src/change_detection.js +6 -1
  68. package/esm5/src/codegen_private_exports.js +1 -1
  69. package/esm5/src/console.js +2 -7
  70. package/esm5/src/core.js +6 -1
  71. package/esm5/src/core_private_export.js +1 -1
  72. package/esm5/src/core_render3_private_export.js +2 -1
  73. package/esm5/src/debug/debug_node.js +3 -15
  74. package/esm5/src/di/defs.js +1 -1
  75. package/esm5/src/di/forward_ref.js +7 -6
  76. package/esm5/src/di/injectable.js +2 -3
  77. package/esm5/src/di/injection_token.js +5 -83
  78. package/esm5/src/di/injector.js +13 -27
  79. package/esm5/src/di/metadata.js +1 -6
  80. package/esm5/src/di/provider.js +1 -1
  81. package/esm5/src/di/r3_injector.js +13 -39
  82. package/esm5/src/di/reflective_errors.js +14 -7
  83. package/esm5/src/di/reflective_injector.js +19 -265
  84. package/esm5/src/di/reflective_key.js +4 -45
  85. package/esm5/src/di/reflective_provider.js +17 -35
  86. package/esm5/src/di/scope.js +1 -1
  87. package/esm5/src/di.js +6 -1
  88. package/esm5/src/error_handler.js +7 -66
  89. package/esm5/src/errors.js +1 -1
  90. package/esm5/src/event_emitter.js +4 -95
  91. package/esm5/src/i18n/tokens.js +9 -49
  92. package/esm5/src/linker/compiler.js +9 -69
  93. package/esm5/src/linker/component_factory.js +2 -18
  94. package/esm5/src/linker/component_factory_resolver.js +1 -1
  95. package/esm5/src/linker/element_ref.js +2 -32
  96. package/esm5/src/linker/ng_module_factory.js +3 -25
  97. package/esm5/src/linker/ng_module_factory_loader.js +2 -10
  98. package/esm5/src/linker/query_list.js +12 -112
  99. package/esm5/src/linker/system_js_ng_module_factory_loader.js +4 -16
  100. package/esm5/src/linker/template_ref.js +2 -26
  101. package/esm5/src/linker/view_container_ref.js +2 -38
  102. package/esm5/src/linker/view_ref.js +10 -115
  103. package/esm5/src/linker.js +2 -1
  104. package/esm5/src/metadata/di.js +7 -25
  105. package/esm5/src/metadata/directives.js +111 -20
  106. package/esm5/src/metadata/lifecycle_hooks.js +1 -1
  107. package/esm5/src/metadata/ng_module.js +14 -9
  108. package/esm5/src/metadata/view.js +1 -20
  109. package/esm5/src/metadata.js +1 -1
  110. package/esm5/src/platform_core_providers.js +1 -1
  111. package/esm5/src/profile/profile.js +1 -1
  112. package/esm5/src/profile/wtf_impl.js +1 -1
  113. package/esm5/src/reflection/platform_reflection_capabilities.js +1 -1
  114. package/esm5/src/reflection/reflection.js +1 -1
  115. package/esm5/src/reflection/reflection_capabilities.js +3 -8
  116. package/esm5/src/reflection/reflector.js +2 -10
  117. package/esm5/src/reflection/types.js +1 -1
  118. package/esm5/src/render/api.js +7 -71
  119. package/esm5/src/render.js +2 -1
  120. package/esm5/src/render3/assert.js +1 -1
  121. package/esm5/src/render3/component.js +6 -5
  122. package/esm5/src/render3/definition.js +6 -8
  123. package/esm5/src/render3/di.js +9 -14
  124. package/esm5/src/render3/errors.js +1 -1
  125. package/esm5/src/render3/hooks.js +2 -2
  126. package/esm5/src/render3/index.js +11 -1
  127. package/esm5/src/render3/instructions.js +52 -38
  128. package/esm5/src/render3/interfaces/container.js +1 -1
  129. package/esm5/src/render3/interfaces/definition.js +1 -1
  130. package/esm5/src/render3/interfaces/injector.js +1 -1
  131. package/esm5/src/render3/interfaces/node.js +1 -1
  132. package/esm5/src/render3/interfaces/projection.js +1 -1
  133. package/esm5/src/render3/interfaces/query.js +1 -1
  134. package/esm5/src/render3/interfaces/renderer.js +1 -3
  135. package/esm5/src/render3/interfaces/view.js +1 -1
  136. package/esm5/src/render3/ng_dev_mode.js +1 -1
  137. package/esm5/src/render3/node_assert.js +1 -1
  138. package/esm5/src/render3/node_manipulation.js +12 -15
  139. package/esm5/src/render3/node_selector_matcher.js +2 -2
  140. package/esm5/src/render3/pipe.js +1 -1
  141. package/esm5/src/render3/pure_function.js +1 -1
  142. package/esm5/src/render3/query.js +11 -59
  143. package/esm5/src/render3/util.js +1 -1
  144. package/esm5/src/render3/view_ref.js +15 -345
  145. package/esm5/src/sanitization/html_sanitizer.js +8 -12
  146. package/esm5/src/sanitization/inert_body.js +8 -72
  147. package/esm5/src/sanitization/sanitization.js +1 -1
  148. package/esm5/src/sanitization/security.js +2 -37
  149. package/esm5/src/sanitization/style_sanitizer.js +1 -1
  150. package/esm5/src/sanitization/url_sanitizer.js +1 -1
  151. package/esm5/src/testability/testability.js +21 -143
  152. package/esm5/src/type.js +1 -1
  153. package/esm5/src/util/decorators.js +1 -1
  154. package/esm5/src/util/lang.js +1 -1
  155. package/esm5/src/util/property.js +1 -1
  156. package/esm5/src/util.js +6 -1
  157. package/esm5/src/version.js +3 -13
  158. package/esm5/src/view/element.js +7 -7
  159. package/esm5/src/view/entrypoint.js +1 -1
  160. package/esm5/src/view/errors.js +1 -1
  161. package/esm5/src/view/index.js +1 -1
  162. package/esm5/src/view/ng_content.js +1 -1
  163. package/esm5/src/view/ng_module.js +4 -1
  164. package/esm5/src/view/provider.js +12 -12
  165. package/esm5/src/view/pure_expression.js +1 -1
  166. package/esm5/src/view/query.js +6 -6
  167. package/esm5/src/view/refs.js +8 -14
  168. package/esm5/src/view/services.js +16 -20
  169. package/esm5/src/view/text.js +1 -1
  170. package/esm5/src/view/types.js +19 -41
  171. package/esm5/src/view/util.js +5 -5
  172. package/esm5/src/view/view.js +4 -6
  173. package/esm5/src/view/view_attach.js +5 -5
  174. package/esm5/src/zone/ng_zone.js +22 -257
  175. package/esm5/src/zone.js +2 -1
  176. package/esm5/testing/index.js +5 -1
  177. package/esm5/testing/public_api.js +6 -1
  178. package/esm5/testing/src/async.js +1 -1
  179. package/esm5/testing/src/async_fallback.js +1 -1
  180. package/esm5/testing/src/async_test_completer.js +2 -8
  181. package/esm5/testing/src/before_each.js +6 -1
  182. package/esm5/testing/src/component_fixture.js +9 -75
  183. package/esm5/testing/src/fake_async.js +12 -3
  184. package/esm5/testing/src/fake_async_fallback.js +5 -3
  185. package/esm5/testing/src/lang_utils.js +1 -1
  186. package/esm5/testing/src/logger.js +1 -1
  187. package/esm5/testing/src/metadata_override.js +1 -1
  188. package/esm5/testing/src/ng_zone_mock.js +1 -1
  189. package/esm5/testing/src/private_export_testing.js +1 -1
  190. package/esm5/testing/src/render3.js +1 -5
  191. package/esm5/testing/src/test_bed.js +20 -172
  192. package/esm5/testing/src/test_compiler.js +5 -43
  193. package/esm5/testing/src/testing.js +6 -1
  194. package/esm5/testing/src/testing_internal.js +3 -9
  195. package/fesm2015/core.js +248 -177
  196. package/fesm2015/core.js.map +1 -1
  197. package/fesm2015/testing.js +9 -13
  198. package/fesm2015/testing.js.map +1 -1
  199. package/fesm5/core.js +591 -2007
  200. package/fesm5/core.js.map +1 -1
  201. package/fesm5/testing.js +61 -237
  202. package/fesm5/testing.js.map +1 -1
  203. package/package.json +1 -1
  204. package/src/application_ref.d.ts +7 -8
  205. package/src/change_detection/change_detector_ref.d.ts +6 -4
  206. package/src/change_detection/differs/iterable_differs.d.ts +3 -2
  207. package/src/change_detection/differs/keyvalue_differs.d.ts +3 -2
  208. package/src/change_detection/pipe_transform.d.ts +2 -5
  209. package/src/di/forward_ref.d.ts +7 -5
  210. package/src/di/injectable.d.ts +4 -14
  211. package/src/di/injection_token.d.ts +5 -7
  212. package/src/di/injector.d.ts +7 -10
  213. package/src/di/metadata.d.ts +13 -86
  214. package/src/di/provider.d.ts +55 -150
  215. package/src/di/reflective_errors.d.ts +13 -6
  216. package/src/di/reflective_injector.d.ts +21 -23
  217. package/src/di/reflective_provider.d.ts +7 -8
  218. package/src/error_handler.d.ts +1 -4
  219. package/src/event_emitter.d.ts +3 -0
  220. package/src/i18n/tokens.d.ts +8 -4
  221. package/src/linker/query_list.d.ts +2 -2
  222. package/src/linker/view_ref.d.ts +9 -6
  223. package/src/metadata/di.d.ts +41 -59
  224. package/src/metadata/directives.d.ts +410 -460
  225. package/src/metadata/lifecycle_hooks.d.ts +8 -8
  226. package/src/metadata/ng_module.d.ts +49 -38
  227. package/src/render3/view_ref.d.ts +6 -2
  228. package/src/zone/ng_zone.d.ts +1 -0
  229. package/testing/src/fake_async.d.ts +4 -2
  230. package/testing/src/fake_async_fallback.d.ts +4 -2
  231. package/testing/src/metadata_override.d.ts +3 -3
  232. package/testing.d.ts +0 -5
  233. package/testing.metadata.json +1 -1
@@ -7,17 +7,11 @@
7
7
  */
8
8
  import { Type } from '../type';
9
9
  /**
10
- * @usageNotes
11
- * ```
12
- * @Injectable(SomeModule, {useValue: 'someValue'})
13
- * class SomeClass {}
14
- * ```
15
- *
16
- * @description
17
10
  * Configures the `Injector` to return a value for a token.
18
11
  *
19
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
12
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
20
13
  *
14
+ * @usageNotes
21
15
  * ### Example
22
16
  *
23
17
  * {@example core/di/ts/provider_spec.ts region='ValueSansProvider'}
@@ -31,21 +25,18 @@ export interface ValueSansProvider {
31
25
  useValue: any;
32
26
  }
33
27
  /**
34
- * @usageNotes
35
- * ```
36
- * const provider: ValueProvider = {provide: 'someToken', useValue: 'someValue'};
37
- * ```
38
- *
39
- * @description
40
28
  * Configures the `Injector` to return a value for a token.
41
29
  *
42
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
30
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
43
31
  *
32
+ * @usageNotes
44
33
  * ### Example
45
34
  *
46
35
  * {@example core/di/ts/provider_spec.ts region='ValueProvider'}
47
36
  *
37
+ * ### Multi-value example
48
38
  *
39
+ * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
49
40
  */
50
41
  export interface ValueProvider extends ValueSansProvider {
51
42
  /**
@@ -55,25 +46,15 @@ export interface ValueProvider extends ValueSansProvider {
55
46
  /**
56
47
  * If true, then injector returns an array of instances. This is useful to allow multiple
57
48
  * providers spread across many files to provide configuration information to a common token.
58
- *
59
- * ### Example
60
- *
61
- * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
62
49
  */
63
50
  multi?: boolean;
64
51
  }
65
52
  /**
66
- * @usageNotes
67
- * ```
68
- * @Injectable(SomeModule, {useClass: MyService, deps: []})
69
- * class MyService {}
70
- * ```
71
- *
72
- * @description
73
53
  * Configures the `Injector` to return an instance of `useClass` for a token.
74
54
  *
75
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
55
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
76
56
  *
57
+ * @usageNotes
77
58
  * ### Example
78
59
  *
79
60
  * {@example core/di/ts/provider_spec.ts region='StaticClassSansProvider'}
@@ -93,27 +74,22 @@ export interface StaticClassSansProvider {
93
74
  deps: any[];
94
75
  }
95
76
  /**
96
- * @usageNotes
97
- * ```
98
- * @Injectable()
99
- * class MyService {}
100
- *
101
- * const provider: ClassProvider = {provide: 'someToken', useClass: MyService, deps: []};
102
- * ```
103
- *
104
- * @description
105
77
  * Configures the `Injector` to return an instance of `useClass` for a token.
106
78
  *
107
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
79
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
108
80
  *
81
+ * @usageNotes
109
82
  * ### Example
110
83
  *
111
84
  * {@example core/di/ts/provider_spec.ts region='StaticClassProvider'}
112
85
  *
113
86
  * Note that following two providers are not equal:
87
+ *
114
88
  * {@example core/di/ts/provider_spec.ts region='StaticClassProviderDifference'}
115
89
  *
90
+ * ### Multi-value example
116
91
  *
92
+ * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
117
93
  */
118
94
  export interface StaticClassProvider extends StaticClassSansProvider {
119
95
  /**
@@ -123,15 +99,17 @@ export interface StaticClassProvider extends StaticClassSansProvider {
123
99
  /**
124
100
  * If true, then injector returns an array of instances. This is useful to allow multiple
125
101
  * providers spread across many files to provide configuration information to a common token.
126
- *
127
- * ### Example
128
- *
129
- * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
130
102
  */
131
103
  multi?: boolean;
132
104
  }
133
105
  /**
106
+ * Configures the `Injector` to return an instance of a token.
107
+ *
108
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
109
+ *
134
110
  * @usageNotes
111
+ * ### Example
112
+ *
135
113
  * ```
136
114
  * @Injectable(SomeModule, {deps: []})
137
115
  * class MyService {}
@@ -140,7 +118,7 @@ export interface StaticClassProvider extends StaticClassSansProvider {
140
118
  * @description
141
119
  * Configures the `Injector` to return an instance of a token.
142
120
  *
143
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
121
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
144
122
  *
145
123
  * ### Example
146
124
  *
@@ -156,24 +134,18 @@ export interface ConstructorSansProvider {
156
134
  deps?: any[];
157
135
  }
158
136
  /**
159
- * @usageNotes
160
- * ```
161
- * @Injectable()
162
- * class MyService {}
163
- *
164
- * const provider: ClassProvider = {provide: MyClass, deps: []};
165
- * ```
166
- *
167
- * @description
168
137
  * Configures the `Injector` to return an instance of a token.
169
138
  *
170
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
139
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
171
140
  *
141
+ * @usageNotes
172
142
  * ### Example
173
143
  *
174
144
  * {@example core/di/ts/provider_spec.ts region='ConstructorProvider'}
175
145
  *
146
+ * ### Multi-value example
176
147
  *
148
+ * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
177
149
  */
178
150
  export interface ConstructorProvider extends ConstructorSansProvider {
179
151
  /**
@@ -183,30 +155,18 @@ export interface ConstructorProvider extends ConstructorSansProvider {
183
155
  /**
184
156
  * If true, then injector returns an array of instances. This is useful to allow multiple
185
157
  * providers spread across many files to provide configuration information to a common token.
186
- *
187
- * ### Example
188
- *
189
- * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
190
158
  */
191
159
  multi?: boolean;
192
160
  }
193
161
  /**
194
- * @usageNotes
195
- * ```
196
- * @Injectable(SomeModule, {useExisting: 'someOtherToken'})
197
- * class SomeClass {}
198
- * ```
199
- *
200
- * @description
201
162
  * Configures the `Injector` to return a value of another `useExisting` token.
202
163
  *
203
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
164
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
204
165
  *
166
+ * @usageNotes
205
167
  * ### Example
206
168
  *
207
169
  * {@example core/di/ts/provider_spec.ts region='ExistingSansProvider'}
208
- *
209
- *
210
170
  */
211
171
  export interface ExistingSansProvider {
212
172
  /**
@@ -215,21 +175,18 @@ export interface ExistingSansProvider {
215
175
  useExisting: any;
216
176
  }
217
177
  /**
218
- * @usageNotes
219
- * ```
220
- * const provider: ExistingProvider = {provide: 'someToken', useExisting: 'someOtherToken'};
221
- * ```
222
- *
223
- * @description
224
178
  * Configures the `Injector` to return a value of another `useExisting` token.
225
179
  *
226
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
180
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
227
181
  *
182
+ * @usageNotes
228
183
  * ### Example
229
184
  *
230
185
  * {@example core/di/ts/provider_spec.ts region='ExistingProvider'}
231
186
  *
187
+ * ### Multi-value example
232
188
  *
189
+ * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
233
190
  */
234
191
  export interface ExistingProvider extends ExistingSansProvider {
235
192
  /**
@@ -239,33 +196,21 @@ export interface ExistingProvider extends ExistingSansProvider {
239
196
  /**
240
197
  * If true, then injector returns an array of instances. This is useful to allow multiple
241
198
  * providers spread across many files to provide configuration information to a common token.
242
- *
243
- * ### Example
244
- *
245
- * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
246
199
  */
247
200
  multi?: boolean;
248
201
  }
249
202
  /**
250
- * @usageNotes
251
- * ```
252
- * function serviceFactory() { ... }
253
- *
254
- * @Injectable(SomeModule, {useFactory: serviceFactory, deps: []})
255
- * class SomeClass {}
256
- * ```
257
- *
258
- * @description
259
203
  * Configures the `Injector` to return a value by invoking a `useFactory` function.
260
204
  *
261
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
205
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
262
206
  *
207
+ * @usageNotes
263
208
  * ### Example
264
209
  *
265
210
  * {@example core/di/ts/provider_spec.ts region='FactorySansProvider'}
266
211
  *
267
212
  * @experimental
268
- */
213
+ */
269
214
  export interface FactorySansProvider {
270
215
  /**
271
216
  * A function to invoke to create a value for this `token`. The function is invoked with
@@ -279,26 +224,22 @@ export interface FactorySansProvider {
279
224
  deps?: any[];
280
225
  }
281
226
  /**
282
- * @usageNotes
283
- * ```
284
- * function serviceFactory() { ... }
285
- *
286
- * const provider: FactoryProvider = {provide: 'someToken', useFactory: serviceFactory, deps: []};
287
- * ```
288
- *
289
- * @description
290
227
  * Configures the `Injector` to return a value by invoking a `useFactory` function.
291
228
  *
292
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
229
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
293
230
  *
231
+ * @usageNotes
294
232
  * ### Example
295
233
  *
296
234
  * {@example core/di/ts/provider_spec.ts region='FactoryProvider'}
297
235
  *
298
236
  * Dependencies can also be marked as optional:
237
+ *
299
238
  * {@example core/di/ts/provider_spec.ts region='FactoryProviderOptionalDeps'}
300
239
  *
240
+ * ### Multi-value example
301
241
  *
242
+ * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
302
243
  */
303
244
  export interface FactoryProvider extends FactorySansProvider {
304
245
  /**
@@ -308,65 +249,40 @@ export interface FactoryProvider extends FactorySansProvider {
308
249
  /**
309
250
  * If true, then injector returns an array of instances. This is useful to allow multiple
310
251
  * providers spread across many files to provide configuration information to a common token.
311
- *
312
- * ### Example
313
- *
314
- * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
315
252
  */
316
253
  multi?: boolean;
317
254
  }
318
255
  /**
319
- * @usageNotes
320
- * See {@link ValueProvider}, {@link ExistingProvider}, {@link FactoryProvider}.
321
- *
322
- * @description
323
256
  * Describes how the `Injector` should be configured in a static way (Without reflection).
324
257
  *
325
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
326
- *
258
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
327
259
  *
260
+ * @see `ValueProvider`
261
+ * @see `ExistingProvider`
262
+ * @see `FactoryProvider`
328
263
  */
329
264
  export declare type StaticProvider = ValueProvider | ExistingProvider | StaticClassProvider | ConstructorProvider | FactoryProvider | any[];
330
265
  /**
331
- * @usageNotes
332
- * ```
333
- * @Injectable()
334
- * class MyService {}
335
- *
336
- * const provider: TypeProvider = MyService;
337
- * ```
338
- *
339
- * @description
340
266
  * Configures the `Injector` to return an instance of `Type` when `Type' is used as the token.
341
267
  *
342
268
  * Create an instance by invoking the `new` operator and supplying additional arguments.
343
269
  * This form is a short form of `TypeProvider`;
344
270
  *
345
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
271
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
346
272
  *
273
+ * @usageNotes
347
274
  * ### Example
348
275
  *
349
276
  * {@example core/di/ts/provider_spec.ts region='TypeProvider'}
350
- *
351
- *
352
277
  */
353
278
  export interface TypeProvider extends Type<any> {
354
279
  }
355
280
  /**
356
- * @usageNotes
357
- * ```
358
- *
359
- * class SomeClassImpl {}
360
- *
361
- * @Injectable(SomeModule, {useClass: SomeClassImpl})
362
- * class SomeClass {}
363
- * ```
364
- *
365
- * @description
366
281
  * Configures the `Injector` to return a value by invoking a `useClass` function.
367
282
  *
368
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
283
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
369
284
  *
285
+ * @usageNotes
370
286
  * ### Example
371
287
  *
372
288
  * {@example core/di/ts/provider_spec.ts region='ClassSansProvider'}
@@ -380,27 +296,22 @@ export interface ClassSansProvider {
380
296
  useClass: Type<any>;
381
297
  }
382
298
  /**
383
- * @usageNotes
384
- * ```
385
- * @Injectable()
386
- * class MyService {}
387
- *
388
- * const provider: ClassProvider = {provide: 'someToken', useClass: MyService};
389
- * ```
390
- *
391
- * @description
392
299
  * Configures the `Injector` to return an instance of `useClass` for a token.
393
300
  *
394
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
301
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
395
302
  *
303
+ * @usageNotes
396
304
  * ### Example
397
305
  *
398
306
  * {@example core/di/ts/provider_spec.ts region='ClassProvider'}
399
307
  *
400
308
  * Note that following two providers are not equal:
309
+ *
401
310
  * {@example core/di/ts/provider_spec.ts region='ClassProviderDifference'}
402
311
  *
312
+ * ### Multi-value example
403
313
  *
314
+ * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
404
315
  */
405
316
  export interface ClassProvider extends ClassSansProvider {
406
317
  /**
@@ -410,22 +321,16 @@ export interface ClassProvider extends ClassSansProvider {
410
321
  /**
411
322
  * If true, then injector returns an array of instances. This is useful to allow multiple
412
323
  * providers spread across many files to provide configuration information to a common token.
413
- *
414
- * ### Example
415
- *
416
- * {@example core/di/ts/provider_spec.ts region='MultiProviderAspect'}
417
324
  */
418
325
  multi?: boolean;
419
326
  }
420
327
  /**
421
- * @usageNotes
422
- * See {@link TypeProvider}, {@link ClassProvider}, {@link StaticProvider}.
423
- *
424
- * @description
425
328
  * Describes how the `Injector` should be configured.
426
329
  *
427
- * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
428
- *
330
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
429
331
  *
332
+ * @see `TypeProvider`
333
+ * @see `ClassProvider`
334
+ * @see `StaticProvider`
430
335
  */
431
336
  export declare type Provider = TypeProvider | ValueProvider | ClassProvider | ExistingProvider | FactoryProvider | any[];
@@ -11,7 +11,8 @@ export interface InjectionError extends Error {
11
11
  * Thrown when trying to retrieve a dependency by key from {@link Injector}, but the
12
12
  * {@link Injector} does not have a {@link Provider} for the given key.
13
13
  *
14
- * ### Example ([live demo](http://plnkr.co/edit/vq8D3FRB9aGbnWJqtEPE?p=preview))
14
+ * @usageNotes
15
+ * ### Example
15
16
  *
16
17
  * ```typescript
17
18
  * class A {
@@ -25,7 +26,8 @@ export declare function noProviderError(injector: ReflectiveInjector, key: Refle
25
26
  /**
26
27
  * Thrown when dependencies form a cycle.
27
28
  *
28
- * ### Example ([live demo](http://plnkr.co/edit/wYQdNos0Tzql3ei1EV9j?p=info))
29
+ * @usageNotes
30
+ * ### Example
29
31
  *
30
32
  * ```typescript
31
33
  * var injector = Injector.resolveAndCreate([
@@ -45,7 +47,8 @@ export declare function cyclicDependencyError(injector: ReflectiveInjector, key:
45
47
  * The `InstantiationError` class contains the original error plus the dependency graph which caused
46
48
  * this object to be instantiated.
47
49
  *
48
- * ### Example ([live demo](http://plnkr.co/edit/7aWYdcqTQsP0eNqEdUAf?p=preview))
50
+ * @usageNotes
51
+ * ### Example
49
52
  *
50
53
  * ```typescript
51
54
  * class A {
@@ -70,7 +73,8 @@ export declare function instantiationError(injector: ReflectiveInjector, origina
70
73
  * Thrown when an object other then {@link Provider} (or `Type`) is passed to {@link Injector}
71
74
  * creation.
72
75
  *
73
- * ### Example ([live demo](http://plnkr.co/edit/YatCFbPAMCL0JSSQ4mvH?p=preview))
76
+ * @usageNotes
77
+ * ### Example
74
78
  *
75
79
  * ```typescript
76
80
  * expect(() => Injector.resolveAndCreate(["not a type"])).toThrowError();
@@ -83,7 +87,8 @@ export declare function invalidProviderError(provider: any): Error;
83
87
  * Lack of annotation information prevents the {@link Injector} from determining which dependencies
84
88
  * need to be injected into the constructor.
85
89
  *
86
- * ### Example ([live demo](http://plnkr.co/edit/rHnZtlNS7vJOPQ6pcVkm?p=preview))
90
+ * @usageNotes
91
+ * ### Example
87
92
  *
88
93
  * ```typescript
89
94
  * class A {
@@ -110,7 +115,8 @@ export declare function noAnnotationError(typeOrFunc: Type<any> | Function, para
110
115
  /**
111
116
  * Thrown when getting an object by index.
112
117
  *
113
- * ### Example ([live demo](http://plnkr.co/edit/bRs0SX2OTQiJzqvjgl8P?p=preview))
118
+ * @usageNotes
119
+ * ### Example
114
120
  *
115
121
  * ```typescript
116
122
  * class A {}
@@ -125,6 +131,7 @@ export declare function outOfBoundsError(index: number): Error;
125
131
  /**
126
132
  * Thrown when a multi provider and a regular provider are bound to the same token.
127
133
  *
134
+ * @usageNotes
128
135
  * ### Example
129
136
  *
130
137
  * ```typescript
@@ -18,7 +18,8 @@ import { ResolvedReflectiveProvider } from './reflective_provider';
18
18
  * In typical use, application code asks for the dependencies in the constructor and they are
19
19
  * resolved by the `Injector`.
20
20
  *
21
- * ### Example ([live demo](http://plnkr.co/edit/jzjec0?p=preview))
21
+ * @usageNotes
22
+ * ### Example
22
23
  *
23
24
  * The following example creates an `Injector` configured to create `Engine` and `Car`.
24
25
  *
@@ -48,9 +49,10 @@ export declare abstract class ReflectiveInjector implements Injector {
48
49
  * Turns an array of provider definitions into an array of resolved providers.
49
50
  *
50
51
  * A resolution is a process of flattening multiple nested arrays and converting individual
51
- * providers into an array of {@link ResolvedReflectiveProvider}s.
52
+ * providers into an array of `ResolvedReflectiveProvider`s.
52
53
  *
53
- * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview))
54
+ * @usageNotes
55
+ * ### Example
54
56
  *
55
57
  * ```typescript
56
58
  * @Injectable()
@@ -75,16 +77,16 @@ export declare abstract class ReflectiveInjector implements Injector {
75
77
  * });
76
78
  * ```
77
79
  *
78
- * See {@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders} for more info.
79
80
  */
80
81
  static resolve(providers: Provider[]): ResolvedReflectiveProvider[];
81
82
  /**
82
83
  * Resolves an array of providers and creates an injector from those providers.
83
84
  *
84
- * The passed-in providers can be an array of `Type`, {@link Provider},
85
+ * The passed-in providers can be an array of `Type`, `Provider`,
85
86
  * or a recursive array of more providers.
86
87
  *
87
- * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview))
88
+ * @usageNotes
89
+ * ### Example
88
90
  *
89
91
  * ```typescript
90
92
  * @Injectable()
@@ -99,11 +101,6 @@ export declare abstract class ReflectiveInjector implements Injector {
99
101
  * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);
100
102
  * expect(injector.get(Car) instanceof Car).toBe(true);
101
103
  * ```
102
- *
103
- * This function is slower than the corresponding `fromResolvedProviders`
104
- * because it needs to resolve the passed-in providers first.
105
- * See {@link ReflectiveInjector#resolve resolve} and
106
- * {@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders}.
107
104
  */
108
105
  static resolveAndCreate(providers: Provider[], parent?: Injector): ReflectiveInjector;
109
106
  /**
@@ -111,7 +108,8 @@ export declare abstract class ReflectiveInjector implements Injector {
111
108
  *
112
109
  * This API is the recommended way to construct injectors in performance-sensitive parts.
113
110
  *
114
- * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview))
111
+ * @usageNotes
112
+ * ### Example
115
113
  *
116
114
  * ```typescript
117
115
  * @Injectable()
@@ -136,7 +134,8 @@ export declare abstract class ReflectiveInjector implements Injector {
136
134
  * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.
137
135
  * -->
138
136
  *
139
- * ### Example ([live demo](http://plnkr.co/edit/eosMGo?p=preview))
137
+ * @usageNotes
138
+ * ### Example
140
139
  *
141
140
  * ```typescript
142
141
  * var parent = ReflectiveInjector.resolveAndCreate([]);
@@ -151,10 +150,11 @@ export declare abstract class ReflectiveInjector implements Injector {
151
150
  * <!-- TODO: Add a link to the section of the user guide talking about hierarchical injection.
152
151
  * -->
153
152
  *
154
- * The passed-in providers can be an array of `Type`, {@link Provider},
153
+ * The passed-in providers can be an array of `Type`, `Provider`,
155
154
  * or a recursive array of more providers.
156
155
  *
157
- * ### Example ([live demo](http://plnkr.co/edit/opB3T4?p=preview))
156
+ * @usageNotes
157
+ * ### Example
158
158
  *
159
159
  * ```typescript
160
160
  * class ParentProvider {}
@@ -167,11 +167,6 @@ export declare abstract class ReflectiveInjector implements Injector {
167
167
  * expect(child.get(ChildProvider) instanceof ChildProvider).toBe(true);
168
168
  * expect(child.get(ParentProvider)).toBe(parent.get(ParentProvider));
169
169
  * ```
170
- *
171
- * This function is slower than the corresponding `createChildFromResolved`
172
- * because it needs to resolve the passed-in providers first.
173
- * See {@link ReflectiveInjector#resolve resolve} and
174
- * {@link ReflectiveInjector#createChildFromResolved createChildFromResolved}.
175
170
  */
176
171
  abstract resolveAndCreateChild(providers: Provider[]): ReflectiveInjector;
177
172
  /**
@@ -182,7 +177,8 @@ export declare abstract class ReflectiveInjector implements Injector {
182
177
  *
183
178
  * This API is the recommended way to construct injectors in performance-sensitive parts.
184
179
  *
185
- * ### Example ([live demo](http://plnkr.co/edit/VhyfjN?p=preview))
180
+ * @usageNotes
181
+ * ### Example
186
182
  *
187
183
  * ```typescript
188
184
  * class ParentProvider {}
@@ -205,7 +201,8 @@ export declare abstract class ReflectiveInjector implements Injector {
205
201
  *
206
202
  * The created object does not get cached by the injector.
207
203
  *
208
- * ### Example ([live demo](http://plnkr.co/edit/yvVXoB?p=preview))
204
+ * @usageNotes
205
+ * ### Example
209
206
  *
210
207
  * ```typescript
211
208
  * @Injectable()
@@ -230,7 +227,8 @@ export declare abstract class ReflectiveInjector implements Injector {
230
227
  *
231
228
  * The created object does not get cached by the injector.
232
229
  *
233
- * ### Example ([live demo](http://plnkr.co/edit/ptCImQ?p=preview))
230
+ * @usageNotes
231
+ * ### Example
234
232
  *
235
233
  * ```typescript
236
234
  * @Injectable()
@@ -13,13 +13,14 @@ export declare class ReflectiveDependency {
13
13
  static fromKey(key: ReflectiveKey): ReflectiveDependency;
14
14
  }
15
15
  /**
16
- * An internal resolved representation of a {@link Provider} used by the {@link Injector}.
16
+ * An internal resolved representation of a `Provider` used by the `Injector`.
17
17
  *
18
- * It is usually created automatically by `Injector.resolveAndCreate`.
18
+ * @usageNotes
19
+ * This is usually created automatically by `Injector.resolveAndCreate`.
19
20
  *
20
21
  * It can be created manually, as follows:
21
22
  *
22
- * ### Example ([live demo](http://plnkr.co/edit/RfEnhh8kUEI0G3qsnIeT?p%3Dpreview&p=preview))
23
+ * ### Example
23
24
  *
24
25
  * ```typescript
25
26
  * var resolvedProviders = Injector.resolve([{ provide: 'message', useValue: 'Hello' }]);
@@ -52,8 +53,7 @@ export declare class ResolvedReflectiveProvider_ implements ResolvedReflectivePr
52
53
  constructor(key: ReflectiveKey, resolvedFactories: ResolvedReflectiveFactory[], multiProvider: boolean);
53
54
  }
54
55
  /**
55
- * An internal resolved representation of a factory function created by resolving {@link
56
- * Provider}.
56
+ * An internal resolved representation of a factory function created by resolving `Provider`.
57
57
  * @experimental
58
58
  */
59
59
  export declare class ResolvedReflectiveFactory {
@@ -80,9 +80,8 @@ export declare class ResolvedReflectiveFactory {
80
80
  */
81
81
  export declare function resolveReflectiveProviders(providers: Provider[]): ResolvedReflectiveProvider[];
82
82
  /**
83
- * Merges a list of ResolvedProviders into a list where
84
- * each key is contained exactly once and multi providers
85
- * have been merged.
83
+ * Merges a list of ResolvedProviders into a list where each key is contained exactly once and
84
+ * multi providers have been merged.
86
85
  */
87
86
  export declare function mergeResolvedReflectiveProviders(providers: ResolvedReflectiveProvider[], normalizedProvidersMap: Map<number, ResolvedReflectiveProvider>): Map<number, ResolvedReflectiveProvider>;
88
87
  export declare function constructDependencies(typeOrFunc: any, dependencies?: any[]): ReflectiveDependency[];
@@ -1,12 +1,11 @@
1
1
  /**
2
- *
3
- * @description
4
2
  * Provides a hook for centralized exception handling.
5
3
  *
6
4
  * The default implementation of `ErrorHandler` prints error messages to the `console`. To
7
5
  * intercept error handling, write a custom exception handler that replaces this default as
8
6
  * appropriate for your app.
9
7
  *
8
+ * @usageNotes
10
9
  * ### Example
11
10
  *
12
11
  * ```
@@ -21,8 +20,6 @@
21
20
  * })
22
21
  * class MyModule {}
23
22
  * ```
24
- *
25
- *
26
23
  */
27
24
  export declare class ErrorHandler {
28
25
  handleError(error: any): void;