@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
package/fesm2015/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v6.0.3
2
+ * @license Angular v6.0.7
3
3
  * (c) 2010-2018 Google, Inc. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -167,16 +167,14 @@ function defineInjector(options) {
167
167
  * overrides the above behavior and marks the token as belonging to a particular `\@NgModule`. As
168
168
  * mentioned above, `'root'` is the default value for `providedIn`.
169
169
  *
170
- * ### Example
171
- *
172
- * #### Tree-shakeable InjectionToken
173
- *
174
- * {\@example core/di/ts/injector_spec.ts region='ShakeableInjectionToken'}
175
- *
176
- * #### Plain InjectionToken
170
+ * \@usageNotes
171
+ * ### Basic Example
177
172
  *
178
173
  * {\@example core/di/ts/injector_spec.ts region='InjectionToken'}
179
174
  *
175
+ * ### Tree-shakeable Example
176
+ *
177
+ * {\@example core/di/ts/injector_spec.ts region='ShakeableInjectionToken'}
180
178
  *
181
179
  * @template T
182
180
  */
@@ -398,6 +396,7 @@ function makePropDecorator(name, props, parentClass) {
398
396
  * All components that are referenced in the `useValue` value (either directly
399
397
  * or in a nested array or map) will be added to the `entryComponents` property.
400
398
  *
399
+ * \@usageNotes
401
400
  * ### Example
402
401
  * The following example shows how the router can populate the `entryComponents`
403
402
  * field of an NgModule based on the router configuration which refers
@@ -437,17 +436,16 @@ const ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponen
437
436
  /**
438
437
  * Attribute decorator and metadata.
439
438
  *
440
- *
441
439
  * \@Annotation
442
440
  */
443
441
  const Attribute = makeParamDecorator('Attribute', (attributeName) => ({ attributeName }));
444
442
  /**
445
443
  * Base class for query metadata.
446
444
  *
447
- * See {\@link ContentChildren}, {\@link ContentChild}, {\@link ViewChildren}, {\@link ViewChild} for
448
- * more information.
449
- *
450
- *
445
+ * @see `ContentChildren`.
446
+ * @see `ContentChild`.
447
+ * @see `ViewChildren`.
448
+ * @see `ViewChild`.
451
449
  * @abstract
452
450
  */
453
451
  class Query {
@@ -455,9 +453,7 @@ class Query {
455
453
  /**
456
454
  * Type of the ContentChildren decorator / constructor function.
457
455
  *
458
- * See {\@link ContentChildren}.
459
- *
460
- *
456
+ * @see `ContentChildren`.
461
457
  * @record
462
458
  */
463
459
 
@@ -465,7 +461,7 @@ class Query {
465
461
  * ContentChildren decorator and metadata.
466
462
  *
467
463
  *
468
- * \@Annotation
464
+ * \@Annotation
469
465
  */
470
466
  const ContentChildren = makePropDecorator('ContentChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false }, data)), Query);
471
467
  /**
@@ -486,7 +482,7 @@ const ContentChild = makePropDecorator('ContentChild', (selector, data = {}) =>
486
482
  /**
487
483
  * Type of the ViewChildren decorator / constructor function.
488
484
  *
489
- * See {\@link ViewChildren}.
485
+ * @see `ViewChildren`.
490
486
  *
491
487
  *
492
488
  * @record
@@ -495,23 +491,19 @@ const ContentChild = makePropDecorator('ContentChild', (selector, data = {}) =>
495
491
  /**
496
492
  * ViewChildren decorator and metadata.
497
493
  *
498
- *
499
494
  * \@Annotation
500
495
  */
501
496
  const ViewChildren = makePropDecorator('ViewChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true }, data)), Query);
502
497
  /**
503
498
  * Type of the ViewChild decorator / constructor function.
504
499
  *
505
- * See {\@link ViewChild}
506
- *
507
- *
500
+ * @see `ViewChild`.
508
501
  * @record
509
502
  */
510
503
 
511
504
  /**
512
505
  * ViewChild decorator and metadata.
513
506
  *
514
- *
515
507
  * \@Annotation
516
508
  */
517
509
  const ViewChild = makePropDecorator('ViewChild', (selector, data) => (Object.assign({ selector, first: true, isViewQuery: true, descendants: true }, data)), Query);
@@ -601,21 +593,15 @@ function isDefaultChangeDetectionStrategy(changeDetectionStrategy) {
601
593
  */
602
594
  /**
603
595
  * Type of the Directive decorator / constructor function.
604
- *
605
- *
606
596
  * @record
607
597
  */
608
598
 
609
599
  /**
610
- * Directive decorator and metadata.
611
- *
612
- *
613
- * \@Annotation
600
+ * Type of the Component metadata.
614
601
  */
615
602
  const Directive = makeDecorator('Directive', (dir = {}) => dir);
616
603
  /**
617
- * Type of the Component decorator / constructor function.
618
- *
604
+ * Component decorator interface
619
605
  *
620
606
  * @record
621
607
  */
@@ -623,82 +609,166 @@ const Directive = makeDecorator('Directive', (dir = {}) => dir);
623
609
  /**
624
610
  * Component decorator and metadata.
625
611
  *
612
+ * \@usageNotes
613
+ *
614
+ * ### Using animations
615
+ *
616
+ * The following snippet shows an animation trigger in a component's
617
+ * metadata. The trigger is attached to an element in the component's
618
+ * template, using "\@_trigger_name_", and a state expression that is evaluated
619
+ * at run time to determine whether the animation should start.
620
+ *
621
+ * ```typescript
622
+ * \@Component({
623
+ * selector: 'animation-cmp',
624
+ * templateUrl: 'animation-cmp.html',
625
+ * animations: [
626
+ * trigger('myTriggerName', [
627
+ * state('on', style({ opacity: 1 }),
628
+ * state('off', style({ opacity: 0 }),
629
+ * transition('on => off', [
630
+ * animate("1s")
631
+ * ])
632
+ * ])
633
+ * ]
634
+ * })
635
+ * ```
636
+ *
637
+ * ```html
638
+ * <!-- animation-cmp.html -->
639
+ * <div \@myTriggerName="expression">...</div>
640
+ * ```
641
+ *
642
+ * ### Preserving whitespace
643
+ *
644
+ * Removing whitespace can greatly reduce AOT-generated code size, and speed up view creation.
645
+ * As of Angular 6, default for `preserveWhitespaces` is false (whitespace is removed).
646
+ * To change the default setting for all components in your application, set
647
+ * the `preserveWhitespaces` option of the AOT compiler.
648
+ *
649
+ * Current implementation removes whitespace characters as follows:
650
+ * - Trims all whitespaces at the beginning and the end of a template.
651
+ * - Removes whitespace-only text nodes. For example,
652
+ * `<button>Action 1</button> <button>Action 2</button>` becomes
653
+ * `<button>Action 1</button><button>Action 2</button>`.
654
+ * - Replaces a series of whitespace characters in text nodes with a single space.
655
+ * For example, `<span>\n some text\n</span>` becomes `<span> some text </span>`.
656
+ * - Does NOT alter text nodes inside HTML tags such as `<pre>` or `<textarea>`,
657
+ * where whitespace characters are significant.
658
+ *
659
+ * Note that these transformations can influence DOM nodes layout, although impact
660
+ * should be minimal.
661
+ *
662
+ * You can override the default behavior to preserve whitespace characters
663
+ * in certain fragments of a template. For example, you can exclude an entire
664
+ * DOM sub-tree by using the `ngPreserveWhitespaces` attribute:
665
+ *
666
+ * ```html
667
+ * <div ngPreserveWhitespaces>
668
+ * whitespaces are preserved here
669
+ * <span> and here </span>
670
+ * </div>
671
+ * ```
672
+ *
673
+ * You can force a single space to be preserved in a text node by using `&ngsp;`,
674
+ * which is replaced with a space character by Angular's template
675
+ * compiler:
676
+ *
677
+ * ```html
678
+ * <a>Spaces</a>&ngsp;<a>between</a>&ngsp;<a>links.</a>
679
+ * <!-->compiled to be equivalent to:</>
680
+ * <a>Spaces</a> <a>between</a> <a>links.</a>
681
+ * ```
682
+ *
683
+ * Note that sequences of `&ngsp;` are still collapsed to just one space character when
684
+ * the `preserveWhitespaces` option is set to `false`.
685
+ *
686
+ * ```html
687
+ * <a>before</a>&ngsp;&ngsp;&ngsp;<a>after</a>
688
+ * <!-->compiled to be equivalent to:</>
689
+ * <a>Spaces</a> <a>between</a> <a>links.</a>
690
+ * ```
691
+ *
692
+ * To preserve sequences of whitespace characters, use the
693
+ * `ngPreserveWhitespaces` attribute.
626
694
  *
627
695
  * \@Annotation
628
696
  */
629
697
  const Component = makeDecorator('Component', (c = {}) => (Object.assign({ changeDetection: ChangeDetectionStrategy.Default }, c)), Directive);
630
698
  /**
631
699
  * Type of the Pipe decorator / constructor function.
632
- *
633
- *
634
700
  * @record
635
701
  */
636
702
 
637
703
  /**
638
- * Pipe decorator and metadata.
639
- *
640
- * Use the `\@Pipe` annotation to declare that a given class is a pipe. A pipe
641
- * class must also implement {\@link PipeTransform} interface.
642
- *
643
- * To use the pipe include a reference to the pipe class in
644
- * {\@link NgModule#declarations}.
645
704
  *
646
705
  *
647
706
  * \@Annotation
648
707
  */
649
708
  const Pipe = makeDecorator('Pipe', (p) => (Object.assign({ pure: true }, p)));
650
709
  /**
651
- * Type of the Input decorator / constructor function.
652
- *
653
710
  *
654
711
  * @record
655
712
  */
656
713
 
657
714
  /**
658
- * Input decorator and metadata.
659
- *
660
715
  *
661
716
  * \@Annotation
662
717
  */
663
718
  const Input = makePropDecorator('Input', (bindingPropertyName) => ({ bindingPropertyName }));
664
719
  /**
665
720
  * Type of the Output decorator / constructor function.
666
- *
667
- *
668
721
  * @record
669
722
  */
670
723
 
671
724
  /**
672
- * Output decorator and metadata.
673
- *
674
725
  *
675
726
  * \@Annotation
676
727
  */
677
728
  const Output = makePropDecorator('Output', (bindingPropertyName) => ({ bindingPropertyName }));
678
729
  /**
679
730
  * Type of the HostBinding decorator / constructor function.
680
- *
681
- *
682
731
  * @record
683
732
  */
684
733
 
685
734
  /**
686
- * HostBinding decorator and metadata.
687
- *
688
735
  *
689
736
  * \@Annotation
690
737
  */
691
738
  const HostBinding = makePropDecorator('HostBinding', (hostPropertyName) => ({ hostPropertyName }));
692
739
  /**
693
740
  * Type of the HostListener decorator / constructor function.
694
- *
695
- *
696
741
  * @record
697
742
  */
698
743
 
699
744
  /**
700
- * HostListener decorator and metadata.
745
+ * Binds a CSS event to a host listener and supplies configuration metadata.
746
+ * Angular invokes the supplied handler method when the host element emits the specified event,
747
+ * and updates the bound element with the result.
748
+ * If the handler method returns false, applies `preventDefault` on the bound element.
749
+ *
750
+ * \@usageNotes
701
751
  *
752
+ * The following example declares a directive
753
+ * that attaches a click listener to a button and counts clicks.
754
+ *
755
+ * ```
756
+ * \@Directive({selector: 'button[counting]'})
757
+ * class CountClicks {
758
+ * numberOfClicks = 0;
759
+ *
760
+ * \@HostListener('click', ['$event.target'])
761
+ * onClick(btn) {
762
+ * console.log('button', btn, 'number of clicks:', this.numberOfClicks++);
763
+ * }
764
+ * }
765
+ *
766
+ * \@Component({
767
+ * selector: 'app',
768
+ * template: '<button counting>Increment</button>',
769
+ * })
770
+ * class App {}
771
+ * ```
702
772
  *
703
773
  * \@Annotation
704
774
  */
@@ -1183,6 +1253,7 @@ function getClosureSafeProperty(objWithPropertyToExtract, target) {
1183
1253
  /**
1184
1254
  * An interface that a function passed into {\@link forwardRef} has to implement.
1185
1255
  *
1256
+ * \@usageNotes
1186
1257
  * ### Example
1187
1258
  *
1188
1259
  * {\@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref_fn'}
@@ -1194,10 +1265,10 @@ function getClosureSafeProperty(objWithPropertyToExtract, target) {
1194
1265
  * Allows to refer to references which are not yet defined.
1195
1266
  *
1196
1267
  * For instance, `forwardRef` is used when the `token` which we need to refer to for the purposes of
1197
- * DI is declared,
1198
- * but not yet defined. It is also used when the `token` which we use when creating a query is not
1199
- * yet defined.
1268
+ * DI is declared, but not yet defined. It is also used when the `token` which we use when creating
1269
+ * a query is not yet defined.
1200
1270
  *
1271
+ * \@usageNotes
1201
1272
  * ### Example
1202
1273
  * {\@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'}
1203
1274
  * \@experimental
@@ -1214,11 +1285,12 @@ function forwardRef(forwardRefFn) {
1214
1285
  *
1215
1286
  * Acts as the identity function when given a non-forward-ref value.
1216
1287
  *
1217
- * ### Example ([live demo](http://plnkr.co/edit/GU72mJrk1fiodChcmiDR?p=preview))
1288
+ * \@usageNotes
1289
+ * ### Example
1218
1290
  *
1219
1291
  * {\@example core/di/ts/forward_ref/forward_ref_spec.ts region='resolve_forward_ref'}
1220
1292
  *
1221
- * See: {\@link forwardRef}
1293
+ * @see `forwardRef`
1222
1294
  * \@experimental
1223
1295
  * @param {?} type
1224
1296
  * @return {?}
@@ -1246,71 +1318,56 @@ function resolveForwardRef(type) {
1246
1318
  */
1247
1319
  /**
1248
1320
  * Type of the Inject decorator / constructor function.
1249
- *
1250
- *
1251
1321
  * @record
1252
1322
  */
1253
1323
 
1254
1324
  /**
1255
1325
  * Inject decorator and metadata.
1256
1326
  *
1257
- *
1258
1327
  * \@Annotation
1259
1328
  */
1260
1329
  const Inject = makeParamDecorator('Inject', (token) => ({ token }));
1261
1330
  /**
1262
1331
  * Type of the Optional decorator / constructor function.
1263
- *
1264
- *
1265
1332
  * @record
1266
1333
  */
1267
1334
 
1268
1335
  /**
1269
1336
  * Optional decorator and metadata.
1270
1337
  *
1271
- *
1272
1338
  * \@Annotation
1273
1339
  */
1274
1340
  const Optional = makeParamDecorator('Optional');
1275
1341
  /**
1276
1342
  * Type of the Self decorator / constructor function.
1277
- *
1278
- *
1279
1343
  * @record
1280
1344
  */
1281
1345
 
1282
1346
  /**
1283
1347
  * Self decorator and metadata.
1284
1348
  *
1285
- *
1286
1349
  * \@Annotation
1287
1350
  */
1288
1351
  const Self = makeParamDecorator('Self');
1289
1352
  /**
1290
1353
  * Type of the SkipSelf decorator / constructor function.
1291
- *
1292
- *
1293
1354
  * @record
1294
1355
  */
1295
1356
 
1296
1357
  /**
1297
1358
  * SkipSelf decorator and metadata.
1298
1359
  *
1299
- *
1300
1360
  * \@Annotation
1301
1361
  */
1302
1362
  const SkipSelf = makeParamDecorator('SkipSelf');
1303
1363
  /**
1304
1364
  * Type of the Host decorator / constructor function.
1305
- *
1306
- *
1307
1365
  * @record
1308
1366
  */
1309
1367
 
1310
1368
  /**
1311
1369
  * Host decorator and metadata.
1312
1370
  *
1313
- *
1314
1371
  * \@Annotation
1315
1372
  */
1316
1373
  const Host = makeParamDecorator('Host');
@@ -1352,23 +1409,17 @@ class NullInjector {
1352
1409
  }
1353
1410
  }
1354
1411
  /**
1355
- * \@usageNotes
1356
- * ```
1357
- * const injector: Injector = ...;
1358
- * injector.get(...);
1359
- * ```
1360
- *
1361
- * \@description
1362
- *
1363
1412
  * Concrete injectors implement this interface.
1364
1413
  *
1365
- * For more details, see the {\@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
1414
+ * For more details, see the ["Dependency Injection Guide"](guide/dependency-injection).
1366
1415
  *
1416
+ * \@usageNotes
1367
1417
  * ### Example
1368
1418
  *
1369
1419
  * {\@example core/di/ts/injector_spec.ts region='Injector'}
1370
1420
  *
1371
1421
  * `Injector` returns itself when given `Injector` as a token:
1422
+ *
1372
1423
  * {\@example core/di/ts/injector_spec.ts region='injectInjector'}
1373
1424
  *
1374
1425
  *
@@ -1378,6 +1429,7 @@ class Injector {
1378
1429
  /**
1379
1430
  * Create a new Injector which is configure using `StaticProvider`s.
1380
1431
  *
1432
+ * \@usageNotes
1381
1433
  * ### Example
1382
1434
  *
1383
1435
  * {\@example core/di/ts/provider_spec.ts region='ConstructorProvider'}
@@ -1815,8 +1867,6 @@ const ɵ0 = GET_PROPERTY_NAME;
1815
1867
  const USE_VALUE = getClosureSafeProperty({ provide: String, useValue: ɵ0 }, GET_PROPERTY_NAME);
1816
1868
  /**
1817
1869
  * Type of the Injectable decorator / constructor function.
1818
- *
1819
- *
1820
1870
  * @record
1821
1871
  */
1822
1872
 
@@ -1866,7 +1916,6 @@ function convertInjectableProviderToFactory(type, provider) {
1866
1916
  /**
1867
1917
  * Injectable decorator and metadata.
1868
1918
  *
1869
- *
1870
1919
  * \@Annotation
1871
1920
  */
1872
1921
  const Injectable = makeDecorator('Injectable', undefined, undefined, undefined, (injectableType, options) => {
@@ -1898,24 +1947,28 @@ const Injectable = makeDecorator('Injectable', undefined, undefined, undefined,
1898
1947
  * found in the LICENSE file at https://angular.io/license
1899
1948
  */
1900
1949
  /**
1901
- * A wrapper around a module that also includes the providers.
1950
+ * A wrapper around an NgModule that associates it with the providers.
1902
1951
  *
1903
1952
  *
1904
1953
  * @record
1905
1954
  */
1906
1955
 
1907
1956
  /**
1908
- * Interface for schema definitions in \@NgModules.
1957
+ * A schema definition associated with an NgModule.
1958
+ *
1959
+ * @see `\@NgModule`, `CUSTOM_ELEMENTS_SCHEMA`, `NO_ERRORS_SCHEMA`
1960
+ *
1961
+ * @param name The name of a defined schema.
1909
1962
  *
1910
1963
  * \@experimental
1911
1964
  * @record
1912
1965
  */
1913
1966
 
1914
1967
  /**
1915
- * Defines a schema that will allow:
1916
- * - any non-Angular elements with a `-` in their name,
1917
- * - any properties on elements with a `-` in their name which is the common rule for custom
1918
- * elements.
1968
+ * Defines a schema that allows an NgModule to contain the following:
1969
+ * - Non-Angular elements named with dash case (`-`).
1970
+ * - Element properties named with dash case (`-`).
1971
+ * Dash case is the naming convention for custom elements.
1919
1972
  *
1920
1973
  *
1921
1974
  */
@@ -1923,7 +1976,7 @@ const CUSTOM_ELEMENTS_SCHEMA = {
1923
1976
  name: 'custom-elements'
1924
1977
  };
1925
1978
  /**
1926
- * Defines a schema that will allow any property on any element.
1979
+ * Defines a schema that allows any property on any element.
1927
1980
  *
1928
1981
  * \@experimental
1929
1982
  */
@@ -1938,12 +1991,16 @@ const NO_ERRORS_SCHEMA = {
1938
1991
  */
1939
1992
 
1940
1993
  /**
1941
- * NgModule decorator and metadata.
1942
- *
1994
+ * Decorator that marks the following class as an NgModule, and supplies
1995
+ * configuration metadata for it.
1943
1996
  *
1944
1997
  * \@Annotation
1945
1998
  */
1946
- const NgModule = makeDecorator('NgModule', (ngModule) => ngModule, undefined, undefined, (moduleType, metadata) => {
1999
+ const NgModule = makeDecorator('NgModule', (ngModule) => ngModule, undefined, undefined, /**
2000
+ * Decorator that marks the following class as an NgModule, and supplies
2001
+ * configuration metadata for it.
2002
+ */
2003
+ (moduleType, metadata) => {
1947
2004
  let /** @type {?} */ imports = (metadata && metadata.imports) || [];
1948
2005
  if (metadata && metadata.exports) {
1949
2006
  imports = [...imports, metadata.exports];
@@ -2032,7 +2089,7 @@ class Version {
2032
2089
  this.patch = full.split('.').slice(2).join('.');
2033
2090
  }
2034
2091
  }
2035
- const VERSION = new Version('6.0.3');
2092
+ const VERSION = new Version('6.0.7');
2036
2093
 
2037
2094
  /**
2038
2095
  * @fileoverview added by tsickle
@@ -2096,14 +2153,13 @@ function defaultErrorLogger(console, ...values) {
2096
2153
  * found in the LICENSE file at https://angular.io/license
2097
2154
  */
2098
2155
  /**
2099
- *
2100
- * \@description
2101
2156
  * Provides a hook for centralized exception handling.
2102
2157
  *
2103
2158
  * The default implementation of `ErrorHandler` prints error messages to the `console`. To
2104
2159
  * intercept error handling, write a custom exception handler that replaces this default as
2105
2160
  * appropriate for your app.
2106
2161
  *
2162
+ * \@usageNotes
2107
2163
  * ### Example
2108
2164
  *
2109
2165
  * ```
@@ -2118,8 +2174,6 @@ function defaultErrorLogger(console, ...values) {
2118
2174
  * })
2119
2175
  * class MyModule {}
2120
2176
  * ```
2121
- *
2122
- *
2123
2177
  */
2124
2178
  class ErrorHandler {
2125
2179
  constructor() {
@@ -2259,7 +2313,8 @@ function addKey(injector, key) {
2259
2313
  * Thrown when trying to retrieve a dependency by key from {\@link Injector}, but the
2260
2314
  * {\@link Injector} does not have a {\@link Provider} for the given key.
2261
2315
  *
2262
- * ### Example ([live demo](http://plnkr.co/edit/vq8D3FRB9aGbnWJqtEPE?p=preview))
2316
+ * \@usageNotes
2317
+ * ### Example
2263
2318
  *
2264
2319
  * ```typescript
2265
2320
  * class A {
@@ -2281,7 +2336,8 @@ function noProviderError(injector, key) {
2281
2336
  /**
2282
2337
  * Thrown when dependencies form a cycle.
2283
2338
  *
2284
- * ### Example ([live demo](http://plnkr.co/edit/wYQdNos0Tzql3ei1EV9j?p=info))
2339
+ * \@usageNotes
2340
+ * ### Example
2285
2341
  *
2286
2342
  * ```typescript
2287
2343
  * var injector = Injector.resolveAndCreate([
@@ -2308,7 +2364,8 @@ function cyclicDependencyError(injector, key) {
2308
2364
  * The `InstantiationError` class contains the original error plus the dependency graph which caused
2309
2365
  * this object to be instantiated.
2310
2366
  *
2311
- * ### Example ([live demo](http://plnkr.co/edit/7aWYdcqTQsP0eNqEdUAf?p=preview))
2367
+ * \@usageNotes
2368
+ * ### Example
2312
2369
  *
2313
2370
  * ```typescript
2314
2371
  * class A {
@@ -2342,7 +2399,8 @@ function instantiationError(injector, originalException, originalStack, key) {
2342
2399
  * Thrown when an object other then {\@link Provider} (or `Type`) is passed to {\@link Injector}
2343
2400
  * creation.
2344
2401
  *
2345
- * ### Example ([live demo](http://plnkr.co/edit/YatCFbPAMCL0JSSQ4mvH?p=preview))
2402
+ * \@usageNotes
2403
+ * ### Example
2346
2404
  *
2347
2405
  * ```typescript
2348
2406
  * expect(() => Injector.resolveAndCreate(["not a type"])).toThrowError();
@@ -2359,7 +2417,8 @@ function invalidProviderError(provider) {
2359
2417
  * Lack of annotation information prevents the {\@link Injector} from determining which dependencies
2360
2418
  * need to be injected into the constructor.
2361
2419
  *
2362
- * ### Example ([live demo](http://plnkr.co/edit/rHnZtlNS7vJOPQ6pcVkm?p=preview))
2420
+ * \@usageNotes
2421
+ * ### Example
2363
2422
  *
2364
2423
  * ```typescript
2365
2424
  * class A {
@@ -2404,7 +2463,8 @@ function noAnnotationError(typeOrFunc, params) {
2404
2463
  /**
2405
2464
  * Thrown when getting an object by index.
2406
2465
  *
2407
- * ### Example ([live demo](http://plnkr.co/edit/bRs0SX2OTQiJzqvjgl8P?p=preview))
2466
+ * \@usageNotes
2467
+ * ### Example
2408
2468
  *
2409
2469
  * ```typescript
2410
2470
  * class A {}
@@ -2423,6 +2483,7 @@ function outOfBoundsError(index) {
2423
2483
  /**
2424
2484
  * Thrown when a multi provider and a regular provider are bound to the same token.
2425
2485
  *
2486
+ * \@usageNotes
2426
2487
  * ### Example
2427
2488
  *
2428
2489
  * ```typescript
@@ -2677,13 +2738,14 @@ class ReflectiveDependency {
2677
2738
  }
2678
2739
  const _EMPTY_LIST = [];
2679
2740
  /**
2680
- * An internal resolved representation of a {\@link Provider} used by the {\@link Injector}.
2741
+ * An internal resolved representation of a `Provider` used by the `Injector`.
2681
2742
  *
2682
- * It is usually created automatically by `Injector.resolveAndCreate`.
2743
+ * \@usageNotes
2744
+ * This is usually created automatically by `Injector.resolveAndCreate`.
2683
2745
  *
2684
2746
  * It can be created manually, as follows:
2685
2747
  *
2686
- * ### Example ([live demo](http://plnkr.co/edit/RfEnhh8kUEI0G3qsnIeT?p%3Dpreview&p=preview))
2748
+ * ### Example
2687
2749
  *
2688
2750
  * ```typescript
2689
2751
  * var resolvedProviders = Injector.resolve([{ provide: 'message', useValue: 'Hello' }]);
@@ -2710,8 +2772,7 @@ class ResolvedReflectiveProvider_ {
2710
2772
  }
2711
2773
  }
2712
2774
  /**
2713
- * An internal resolved representation of a factory function created by resolving {\@link
2714
- * Provider}.
2775
+ * An internal resolved representation of a factory function created by resolving `Provider`.
2715
2776
  * \@experimental
2716
2777
  */
2717
2778
  class ResolvedReflectiveFactory {
@@ -2752,10 +2813,10 @@ function resolveReflectiveFactory(provider) {
2752
2813
  return new ResolvedReflectiveFactory(factoryFn, resolvedDeps);
2753
2814
  }
2754
2815
  /**
2755
- * Converts the {\@link Provider} into {\@link ResolvedProvider}.
2816
+ * Converts the `Provider` into `ResolvedProvider`.
2756
2817
  *
2757
- * {\@link Injector} internally only uses {\@link ResolvedProvider}, {\@link Provider} contains
2758
- * convenience provider syntax.
2818
+ * `Injector` internally only uses `ResolvedProvider`, `Provider` contains convenience provider
2819
+ * syntax.
2759
2820
  * @param {?} provider
2760
2821
  * @return {?}
2761
2822
  */
@@ -2774,9 +2835,8 @@ function resolveReflectiveProviders(providers) {
2774
2835
  return Array.from(resolvedProviderMap.values());
2775
2836
  }
2776
2837
  /**
2777
- * Merges a list of ResolvedProviders into a list where
2778
- * each key is contained exactly once and multi providers
2779
- * have been merged.
2838
+ * Merges a list of ResolvedProviders into a list where each key is contained exactly once and
2839
+ * multi providers have been merged.
2780
2840
  * @param {?} providers
2781
2841
  * @param {?} normalizedProvidersMap
2782
2842
  * @return {?}
@@ -2937,7 +2997,8 @@ const UNDEFINED = new Object();
2937
2997
  * In typical use, application code asks for the dependencies in the constructor and they are
2938
2998
  * resolved by the `Injector`.
2939
2999
  *
2940
- * ### Example ([live demo](http://plnkr.co/edit/jzjec0?p=preview))
3000
+ * \@usageNotes
3001
+ * ### Example
2941
3002
  *
2942
3003
  * The following example creates an `Injector` configured to create `Engine` and `Car`.
2943
3004
  *
@@ -2968,9 +3029,10 @@ class ReflectiveInjector {
2968
3029
  * Turns an array of provider definitions into an array of resolved providers.
2969
3030
  *
2970
3031
  * A resolution is a process of flattening multiple nested arrays and converting individual
2971
- * providers into an array of {\@link ResolvedReflectiveProvider}s.
3032
+ * providers into an array of `ResolvedReflectiveProvider`s.
2972
3033
  *
2973
- * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview))
3034
+ * \@usageNotes
3035
+ * ### Example
2974
3036
  *
2975
3037
  * ```typescript
2976
3038
  * \@Injectable()
@@ -2995,7 +3057,6 @@ class ReflectiveInjector {
2995
3057
  * });
2996
3058
  * ```
2997
3059
  *
2998
- * See {\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders} for more info.
2999
3060
  * @param {?} providers
3000
3061
  * @return {?}
3001
3062
  */
@@ -3005,10 +3066,11 @@ class ReflectiveInjector {
3005
3066
  /**
3006
3067
  * Resolves an array of providers and creates an injector from those providers.
3007
3068
  *
3008
- * The passed-in providers can be an array of `Type`, {\@link Provider},
3069
+ * The passed-in providers can be an array of `Type`, `Provider`,
3009
3070
  * or a recursive array of more providers.
3010
3071
  *
3011
- * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview))
3072
+ * \@usageNotes
3073
+ * ### Example
3012
3074
  *
3013
3075
  * ```typescript
3014
3076
  * \@Injectable()
@@ -3023,11 +3085,6 @@ class ReflectiveInjector {
3023
3085
  * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);
3024
3086
  * expect(injector.get(Car) instanceof Car).toBe(true);
3025
3087
  * ```
3026
- *
3027
- * This function is slower than the corresponding `fromResolvedProviders`
3028
- * because it needs to resolve the passed-in providers first.
3029
- * See {\@link ReflectiveInjector#resolve resolve} and
3030
- * {\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders}.
3031
3088
  * @param {?} providers
3032
3089
  * @param {?=} parent
3033
3090
  * @return {?}
@@ -3041,7 +3098,8 @@ class ReflectiveInjector {
3041
3098
  *
3042
3099
  * This API is the recommended way to construct injectors in performance-sensitive parts.
3043
3100
  *
3044
- * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview))
3101
+ * \@usageNotes
3102
+ * ### Example
3045
3103
  *
3046
3104
  * ```typescript
3047
3105
  * \@Injectable()
@@ -3856,7 +3914,7 @@ ApplicationInitStatus.decorators = [
3856
3914
  ];
3857
3915
  /** @nocollapse */
3858
3916
  ApplicationInitStatus.ctorParameters = () => [
3859
- { type: Array, decorators: [{ type: Inject, args: [APP_INITIALIZER,] }, { type: Optional },] },
3917
+ { type: Array, decorators: [{ type: Inject, args: [APP_INITIALIZER,] }, { type: Optional }] }
3860
3918
  ];
3861
3919
 
3862
3920
  /**
@@ -3959,8 +4017,6 @@ class Console {
3959
4017
  Console.decorators = [
3960
4018
  { type: Injectable }
3961
4019
  ];
3962
- /** @nocollapse */
3963
- Console.ctorParameters = () => [];
3964
4020
 
3965
4021
  /**
3966
4022
  * @fileoverview added by tsickle
@@ -4054,8 +4110,6 @@ class Compiler {
4054
4110
  Compiler.decorators = [
4055
4111
  { type: Injectable }
4056
4112
  ];
4057
- /** @nocollapse */
4058
- Compiler.ctorParameters = () => [];
4059
4113
  /**
4060
4114
  * Token to provide CompilerOptions in the platform injector.
4061
4115
  *
@@ -4416,6 +4470,7 @@ const wtfEndTimeRange = wtfEnabled ? endTimeRange : (r) => null;
4416
4470
  /**
4417
4471
  * Use by directives and components to emit custom Events.
4418
4472
  *
4473
+ * \@usageNotes
4419
4474
  * ### Examples
4420
4475
  *
4421
4476
  * In the following example, `Zippy` alternatively emits `open` and `close` events when its
@@ -4433,8 +4488,8 @@ const wtfEndTimeRange = wtfEnabled ? endTimeRange : (r) => null;
4433
4488
  * </div>`})
4434
4489
  * export class Zippy {
4435
4490
  * visible: boolean = true;
4436
- * \@Output() open: EventEmitter<any> = new EventEmitter();
4437
- * \@Output() close: EventEmitter<any> = new EventEmitter();
4491
+ * \@Output() open: EventEmitter<any> = new EventEmitter();
4492
+ * \@Output() close: EventEmitter<any> = new EventEmitter();
4438
4493
  *
4439
4494
  * toggle() {
4440
4495
  * this.visible = !this.visible;
@@ -4454,6 +4509,8 @@ const wtfEndTimeRange = wtfEnabled ? endTimeRange : (r) => null;
4454
4509
  * <zippy (open)="onOpen($event)" (close)="onClose($event)"></zippy>
4455
4510
  * ```
4456
4511
  *
4512
+ * ### Notes
4513
+ *
4457
4514
  * Uses Rx.Observable but provides an adapter to make it work as specified here:
4458
4515
  * https://github.com/jhusain/observable-spec
4459
4516
  *
@@ -4545,6 +4602,7 @@ class EventEmitter extends Subject {
4545
4602
  * - link to runOutsideAngular/run (throughout this file!)
4546
4603
  * -->
4547
4604
  *
4605
+ * \@usageNotes
4548
4606
  * ### Example
4549
4607
  *
4550
4608
  * ```
@@ -5087,7 +5145,7 @@ Testability.decorators = [
5087
5145
  ];
5088
5146
  /** @nocollapse */
5089
5147
  Testability.ctorParameters = () => [
5090
- { type: NgZone, },
5148
+ { type: NgZone }
5091
5149
  ];
5092
5150
  /**
5093
5151
  * A global registry of {\@link Testability} instances for specific elements.
@@ -5345,8 +5403,6 @@ function getPlatform() {
5345
5403
  *
5346
5404
  * A page's platform is initialized implicitly when a platform is created via a platform factory
5347
5405
  * (e.g. {\@link platformBrowser}), or explicitly by calling the {\@link createPlatform} function.
5348
- *
5349
- *
5350
5406
  */
5351
5407
  class PlatformRef {
5352
5408
  /**
@@ -5363,7 +5419,8 @@ class PlatformRef {
5363
5419
  * Creates an instance of an `\@NgModule` for the given platform
5364
5420
  * for offline compilation.
5365
5421
  *
5366
- * ## Simple Example
5422
+ * \@usageNotes
5423
+ * ### Simple Example
5367
5424
  *
5368
5425
  * ```typescript
5369
5426
  * my_module.ts:
@@ -5418,7 +5475,8 @@ class PlatformRef {
5418
5475
  /**
5419
5476
  * Creates an instance of an `\@NgModule` for a given platform using the given runtime compiler.
5420
5477
  *
5421
- * ## Simple Example
5478
+ * \@usageNotes
5479
+ * ### Simple Example
5422
5480
  *
5423
5481
  * ```typescript
5424
5482
  * \@NgModule({
@@ -5493,7 +5551,7 @@ PlatformRef.decorators = [
5493
5551
  ];
5494
5552
  /** @nocollapse */
5495
5553
  PlatformRef.ctorParameters = () => [
5496
- { type: Injector, },
5554
+ { type: Injector }
5497
5555
  ];
5498
5556
  /**
5499
5557
  * @param {?=} ngZoneOption
@@ -5551,8 +5609,6 @@ function optionsReducer(dst, objs) {
5551
5609
  }
5552
5610
  /**
5553
5611
  * A reference to an Angular application running on a page.
5554
- *
5555
- *
5556
5612
  */
5557
5613
  class ApplicationRef {
5558
5614
  /**
@@ -5631,14 +5687,15 @@ class ApplicationRef {
5631
5687
  /**
5632
5688
  * Bootstrap a new component at the root level of the application.
5633
5689
  *
5690
+ * \@usageNotes
5634
5691
  * ### Bootstrap process
5635
5692
  *
5636
5693
  * When bootstrapping a new root component into an application, Angular mounts the
5637
- * specified application component onto DOM elements identified by the [componentType]'s
5694
+ * specified application component onto DOM elements identified by the componentType's
5638
5695
  * selector and kicks off automatic change detection to finish initializing the component.
5639
5696
  *
5640
5697
  * Optionally, a component can be mounted onto a DOM element that does not match the
5641
- * [componentType]'s selector.
5698
+ * componentType's selector.
5642
5699
  *
5643
5700
  * ### Example
5644
5701
  * {\@example core/ts/platform/platform.ts region='longform'}
@@ -5775,12 +5832,12 @@ ApplicationRef.decorators = [
5775
5832
  ];
5776
5833
  /** @nocollapse */
5777
5834
  ApplicationRef.ctorParameters = () => [
5778
- { type: NgZone, },
5779
- { type: Console, },
5780
- { type: Injector, },
5781
- { type: ErrorHandler, },
5782
- { type: ComponentFactoryResolver, },
5783
- { type: ApplicationInitStatus, },
5835
+ { type: NgZone },
5836
+ { type: Console },
5837
+ { type: Injector },
5838
+ { type: ErrorHandler },
5839
+ { type: ComponentFactoryResolver },
5840
+ { type: ApplicationInitStatus }
5784
5841
  ];
5785
5842
  /**
5786
5843
  * @template T
@@ -6020,14 +6077,14 @@ function getModuleFactory(id) {
6020
6077
  *
6021
6078
  * NOTE: In the future this class will implement an `Observable` interface.
6022
6079
  *
6023
- * ### Example ([live demo](http://plnkr.co/edit/RX8sJnQYl9FWuSCWme5z?p=preview))
6080
+ * \@usageNotes
6081
+ * ### Example
6024
6082
  * ```typescript
6025
6083
  * \@Component({...})
6026
6084
  * class Container {
6027
- * \@ViewChildren(Item) items:QueryList<Item>;
6085
+ * \@ViewChildren(Item) items:QueryList<Item>;
6028
6086
  * }
6029
6087
  * ```
6030
- *
6031
6088
  * @template T
6032
6089
  */
6033
6090
  class QueryList {
@@ -6225,8 +6282,8 @@ SystemJsNgModuleLoader.decorators = [
6225
6282
  ];
6226
6283
  /** @nocollapse */
6227
6284
  SystemJsNgModuleLoader.ctorParameters = () => [
6228
- { type: Compiler, },
6229
- { type: SystemJsNgModuleLoaderConfig, decorators: [{ type: Optional },] },
6285
+ { type: Compiler },
6286
+ { type: SystemJsNgModuleLoaderConfig, decorators: [{ type: Optional }] }
6230
6287
  ];
6231
6288
  /**
6232
6289
  * @param {?} value
@@ -6344,9 +6401,10 @@ class ViewRef extends ChangeDetectorRef {
6344
6401
  *
6345
6402
  * Properties of elements in a View can change, but the structure (number and order) of elements in
6346
6403
  * a View cannot. Changing the structure of Elements can only be done by inserting, moving or
6347
- * removing nested Views via a {\@link ViewContainerRef}. Each View can contain many View Containers.
6404
+ * removing nested Views via a `ViewContainerRef`. Each View can contain many View Containers.
6348
6405
  * <!-- /TODO -->
6349
6406
  *
6407
+ * \@usageNotes
6350
6408
  * ### Example
6351
6409
  *
6352
6410
  * Given this template...
@@ -6358,9 +6416,10 @@ class ViewRef extends ChangeDetectorRef {
6358
6416
  * </ul>
6359
6417
  * ```
6360
6418
  *
6361
- * We have two {\@link TemplateRef}s:
6419
+ * We have two `TemplateRef`s:
6420
+ *
6421
+ * Outer `TemplateRef`:
6362
6422
  *
6363
- * Outer {\@link TemplateRef}:
6364
6423
  * ```
6365
6424
  * Count: {{items.length}}
6366
6425
  * <ul>
@@ -6368,14 +6427,15 @@ class ViewRef extends ChangeDetectorRef {
6368
6427
  * </ul>
6369
6428
  * ```
6370
6429
  *
6371
- * Inner {\@link TemplateRef}:
6430
+ * Inner `TemplateRef`:
6431
+ *
6372
6432
  * ```
6373
6433
  * <li>{{item}}</li>
6374
6434
  * ```
6375
6435
  *
6376
- * Notice that the original template is broken down into two separate {\@link TemplateRef}s.
6436
+ * Notice that the original template is broken down into two separate `TemplateRef`s.
6377
6437
  *
6378
- * The outer/inner {\@link TemplateRef}s are then assembled into views like so:
6438
+ * The outer/inner `TemplateRef`s are then assembled into views like so:
6379
6439
  *
6380
6440
  * ```
6381
6441
  * <!-- ViewRef: outer-0 -->
@@ -8088,12 +8148,13 @@ class IterableDiffers {
8088
8148
  * inherited {\@link IterableDiffers} instance with the provided factories and return a new
8089
8149
  * {\@link IterableDiffers} instance.
8090
8150
  *
8151
+ * \@usageNotes
8152
+ * ### Example
8153
+ *
8091
8154
  * The following example shows how to extend an existing list of factories,
8092
8155
  * which will only be applied to the injector for this component and its children.
8093
8156
  * This step is all that's required to make a new {\@link IterableDiffer} available.
8094
8157
  *
8095
- * ### Example
8096
- *
8097
8158
  * ```
8098
8159
  * \@Component({
8099
8160
  * viewProviders: [
@@ -8216,12 +8277,13 @@ class KeyValueDiffers {
8216
8277
  * inherited {\@link KeyValueDiffers} instance with the provided factories and return a new
8217
8278
  * {\@link KeyValueDiffers} instance.
8218
8279
  *
8280
+ * \@usageNotes
8281
+ * ### Example
8282
+ *
8219
8283
  * The following example shows how to extend an existing list of factories,
8220
8284
  * which will only be applied to the injector for this component and its children.
8221
8285
  * This step is all that's required to make a new {\@link KeyValueDiffer} available.
8222
8286
  *
8223
- * ### Example
8224
- *
8225
8287
  * ```
8226
8288
  * \@Component({
8227
8289
  * viewProviders: [
@@ -8336,8 +8398,9 @@ const platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDER
8336
8398
  * It is used for i18n extraction, by i18n pipes (DatePipe, I18nPluralPipe, CurrencyPipe,
8337
8399
  * DecimalPipe and PercentPipe) and by ICU expressions.
8338
8400
  *
8339
- * See the {\@linkDocs guide/i18n#setting-up-locale i18n guide} for more information.
8401
+ * See the [i18n guide](guide/i18n#setting-up-locale) for more information.
8340
8402
  *
8403
+ * \@usageNotes
8341
8404
  * ### Example
8342
8405
  *
8343
8406
  * ```typescript
@@ -8357,8 +8420,9 @@ const LOCALE_ID = new InjectionToken('LocaleId');
8357
8420
  * Use this token at bootstrap to provide the content of your translation file (`xtb`,
8358
8421
  * `xlf` or `xlf2`) when you want to translate your application in another language.
8359
8422
  *
8360
- * See the {\@linkDocs guide/i18n#merge i18n guide} for more information.
8423
+ * See the [i18n guide](guide/i18n#merge) for more information.
8361
8424
  *
8425
+ * \@usageNotes
8362
8426
  * ### Example
8363
8427
  *
8364
8428
  * ```typescript
@@ -8381,8 +8445,9 @@ const TRANSLATIONS = new InjectionToken('Translations');
8381
8445
  * Provide this token at bootstrap to set the format of your {\@link TRANSLATIONS}: `xtb`,
8382
8446
  * `xlf` or `xlf2`.
8383
8447
  *
8384
- * See the {\@linkDocs guide/i18n#merge i18n guide} for more information.
8448
+ * See the [i18n guide](guide/i18n#merge) for more information.
8385
8449
  *
8450
+ * \@usageNotes
8386
8451
  * ### Example
8387
8452
  *
8388
8453
  * ```typescript
@@ -8469,7 +8534,7 @@ ApplicationModule.decorators = [
8469
8534
  ];
8470
8535
  /** @nocollapse */
8471
8536
  ApplicationModule.ctorParameters = () => [
8472
- { type: ApplicationRef, },
8537
+ { type: ApplicationRef }
8473
8538
  ];
8474
8539
 
8475
8540
  /**
@@ -10558,6 +10623,9 @@ function resolveNgModuleDep(data, depDef, notFoundValue = Injector.THROW_IF_NOT_
10558
10623
  return (data._providers[index] =
10559
10624
  _createProviderInstance$1(data, data._def.providersByKey[depDef.tokenKey]));
10560
10625
  }
10626
+ else if (depDef.flags & 4 /* Self */) {
10627
+ return notFoundValue;
10628
+ }
10561
10629
  return data._parent.get(depDef.token, notFoundValue);
10562
10630
  }
10563
10631
  finally {
@@ -15776,8 +15844,7 @@ function addRemoveViewFromContainer(container, rootNode, insertMode, beforeNode)
15776
15844
  * - Using a while loop because it's faster than recursion
15777
15845
  * - Destroy only called on movement to sibling or movement to parent (laterally or up)
15778
15846
  *
15779
- * \@param rootView The view to destroy
15780
- * @param {?} rootView
15847
+ * @param {?} rootView The view to destroy
15781
15848
  * @return {?}
15782
15849
  */
15783
15850
  function destroyViewTree(rootView) {
@@ -18636,7 +18703,8 @@ class ViewRef$1 {
18636
18703
  *
18637
18704
  * <!-- TODO: Add a link to a chapter on OnPush components -->
18638
18705
  *
18639
- * ### Example ([live demo](https://stackblitz.com/edit/angular-kx7rrw))
18706
+ * \@usageNotes
18707
+ * ### Example
18640
18708
  *
18641
18709
  * ```typescript
18642
18710
  * \@Component({
@@ -18670,6 +18738,7 @@ class ViewRef$1 {
18670
18738
  * <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->
18671
18739
  * <!-- TODO: Add a live demo once ref.detectChanges is merged into master -->
18672
18740
  *
18741
+ * \@usageNotes
18673
18742
  * ### Example
18674
18743
  *
18675
18744
  * The following example defines a component with a large list of readonly data.
@@ -18721,7 +18790,8 @@ class ViewRef$1 {
18721
18790
  *
18722
18791
  * <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->
18723
18792
  *
18724
- * ### Example ([live demo](https://stackblitz.com/edit/angular-ymgsxw))
18793
+ * \@usageNotes
18794
+ * ### Example
18725
18795
  *
18726
18796
  * The following example creates a component displaying `live` data. The component will detach
18727
18797
  * its change detector from the main change detector tree when the component's live property
@@ -18779,6 +18849,7 @@ class ViewRef$1 {
18779
18849
  * <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->
18780
18850
  * <!-- TODO: Add a live demo once ref.detectChanges is merged into master -->
18781
18851
  *
18852
+ * \@usageNotes
18782
18853
  * ### Example
18783
18854
  *
18784
18855
  * The following example defines a component with a large list of readonly data.