@angular/core 13.2.2 → 13.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v13.2.2
2
+ * @license Angular v13.2.5
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/fesm2020/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v13.2.2
2
+ * @license Angular v13.2.5
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -14506,6 +14506,7 @@ function elementStartFirstCreatePass(index, tView, lView, native, name, attrsInd
14506
14506
  * @param name Name of the DOM Node
14507
14507
  * @param attrsIndex Index of the element's attributes in the `consts` array.
14508
14508
  * @param localRefsIndex Index of the element's local references in the `consts` array.
14509
+ * @returns This function returns itself so that it may be chained.
14509
14510
  *
14510
14511
  * Attributes and localRefs are passed as an array of strings where elements with an even index
14511
14512
  * hold an attribute name and elements with an odd index hold an attribute value, ex.:
@@ -14557,9 +14558,11 @@ function ɵɵelementStart(index, name, attrsIndex, localRefsIndex) {
14557
14558
  if (localRefsIndex !== null) {
14558
14559
  saveResolvedLocalsInData(lView, tNode);
14559
14560
  }
14561
+ return ɵɵelementStart;
14560
14562
  }
14561
14563
  /**
14562
14564
  * Mark the end of the element.
14565
+ * @returns This function returns itself so that it may be chained.
14563
14566
  *
14564
14567
  * @codeGenApi
14565
14568
  */
@@ -14590,6 +14593,7 @@ function ɵɵelementEnd() {
14590
14593
  if (tNode.stylesWithoutHost != null && hasStyleInput(tNode)) {
14591
14594
  setDirectiveInputsWhichShadowsStyling(tView, tNode, getLView(), tNode.stylesWithoutHost, false);
14592
14595
  }
14596
+ return ɵɵelementEnd;
14593
14597
  }
14594
14598
  /**
14595
14599
  * Creates an empty element using {@link elementStart} and {@link elementEnd}
@@ -14598,12 +14602,14 @@ function ɵɵelementEnd() {
14598
14602
  * @param name Name of the DOM Node
14599
14603
  * @param attrsIndex Index of the element's attributes in the `consts` array.
14600
14604
  * @param localRefsIndex Index of the element's local references in the `consts` array.
14605
+ * @returns This function returns itself so that it may be chained.
14601
14606
  *
14602
14607
  * @codeGenApi
14603
14608
  */
14604
14609
  function ɵɵelement(index, name, attrsIndex, localRefsIndex) {
14605
14610
  ɵɵelementStart(index, name, attrsIndex, localRefsIndex);
14606
14611
  ɵɵelementEnd();
14612
+ return ɵɵelement;
14607
14613
  }
14608
14614
  function logUnknownElementError(tView, element, tNode, hasDirectives) {
14609
14615
  const schemas = tView.schemas;
@@ -14672,6 +14678,7 @@ function elementContainerStartFirstCreatePass(index, tView, lView, attrsIndex, l
14672
14678
  * @param index Index of the element in the LView array
14673
14679
  * @param attrsIndex Index of the container attributes in the `consts` array.
14674
14680
  * @param localRefsIndex Index of the container's local references in the `consts` array.
14681
+ * @returns This function returns itself so that it may be chained.
14675
14682
  *
14676
14683
  * Even if this instruction accepts a set of attributes no actual attribute values are propagated to
14677
14684
  * the DOM (as a comment node can't have attributes). Attributes are here only for directive
@@ -14702,9 +14709,11 @@ function ɵɵelementContainerStart(index, attrsIndex, localRefsIndex) {
14702
14709
  if (localRefsIndex != null) {
14703
14710
  saveResolvedLocalsInData(lView, tNode);
14704
14711
  }
14712
+ return ɵɵelementContainerStart;
14705
14713
  }
14706
14714
  /**
14707
14715
  * Mark the end of the <ng-container>.
14716
+ * @returns This function returns itself so that it may be chained.
14708
14717
  *
14709
14718
  * @codeGenApi
14710
14719
  */
@@ -14726,6 +14735,7 @@ function ɵɵelementContainerEnd() {
14726
14735
  tView.queries.elementEnd(currentTNode);
14727
14736
  }
14728
14737
  }
14738
+ return ɵɵelementContainerEnd;
14729
14739
  }
14730
14740
  /**
14731
14741
  * Creates an empty logical container using {@link elementContainerStart}
@@ -14734,12 +14744,14 @@ function ɵɵelementContainerEnd() {
14734
14744
  * @param index Index of the element in the LView array
14735
14745
  * @param attrsIndex Index of the container attributes in the `consts` array.
14736
14746
  * @param localRefsIndex Index of the container's local references in the `consts` array.
14747
+ * @returns This function returns itself so that it may be chained.
14737
14748
  *
14738
14749
  * @codeGenApi
14739
14750
  */
14740
14751
  function ɵɵelementContainer(index, attrsIndex, localRefsIndex) {
14741
14752
  ɵɵelementContainerStart(index, attrsIndex, localRefsIndex);
14742
14753
  ɵɵelementContainerEnd();
14754
+ return ɵɵelementContainer;
14743
14755
  }
14744
14756
 
14745
14757
  /**
@@ -21090,7 +21102,7 @@ class Version {
21090
21102
  /**
21091
21103
  * @publicApi
21092
21104
  */
21093
- const VERSION = new Version('13.2.2');
21105
+ const VERSION = new Version('13.2.5');
21094
21106
 
21095
21107
  /**
21096
21108
  * @license
@@ -21495,14 +21507,6 @@ function getNamespace(elementName) {
21495
21507
  const name = elementName.toLowerCase();
21496
21508
  return name === 'svg' ? SVG_NAMESPACE : (name === 'math' ? MATH_ML_NAMESPACE : null);
21497
21509
  }
21498
- /**
21499
- * A change detection scheduler token for {@link RootContext}. This token is the default value used
21500
- * for the default `RootContext` found in the {@link ROOT_CONTEXT} token.
21501
- */
21502
- const SCHEDULER = new InjectionToken('SCHEDULER_TOKEN', {
21503
- providedIn: 'root',
21504
- factory: () => defaultScheduler,
21505
- });
21506
21510
  function createChainedInjector(rootViewInjector, moduleInjector) {
21507
21511
  return {
21508
21512
  get: (token, notFoundValue, flags) => {
@@ -22841,11 +22845,29 @@ const R3ViewContainerRef = class ViewContainerRef extends VE_ViewContainerRef {
22841
22845
  componentFactoryOrType :
22842
22846
  new ComponentFactory(getComponentDef(componentFactoryOrType));
22843
22847
  const contextInjector = injector || this.parentInjector;
22844
- if (!ngModuleRef && componentFactory.ngModule == null && contextInjector) {
22845
- // DO NOT REFACTOR. The code here used to have a `value || undefined` expression
22846
- // which seems to cause internal google apps to fail. This is documented in the
22847
- // following internal bug issue: go/b/142967802
22848
- const result = contextInjector.get(NgModuleRef$1, null);
22848
+ // If an `NgModuleRef` is not provided explicitly, try retrieving it from the DI tree.
22849
+ if (!ngModuleRef && componentFactory.ngModule == null) {
22850
+ // For the `ComponentFactory` case, entering this logic is very unlikely, since we expect that
22851
+ // an instance of a `ComponentFactory`, resolved via `ComponentFactoryResolver` would have an
22852
+ // `ngModule` field. This is possible in some test scenarios and potentially in some JIT-based
22853
+ // use-cases. For the `ComponentFactory` case we preserve backwards-compatibility and try
22854
+ // using a provided injector first, then fall back to the parent injector of this
22855
+ // `ViewContainerRef` instance.
22856
+ //
22857
+ // For the factory-less case, it's critical to establish a connection with the module
22858
+ // injector tree (by retrieving an instance of an `NgModuleRef` and accessing its injector),
22859
+ // so that a component can use DI tokens provided in MgModules. For this reason, we can not
22860
+ // rely on the provided injector, since it might be detached from the DI tree (for example, if
22861
+ // it was created via `Injector.create` without specifying a parent injector, or if an
22862
+ // injector is retrieved from an `NgModuleRef` created via `createNgModuleRef` using an
22863
+ // NgModule outside of a module tree). Instead, we always use `ViewContainerRef`'s parent
22864
+ // injector, which is normally connected to the DI tree, which includes module injector
22865
+ // subtree.
22866
+ const _injector = isComponentFactory ? contextInjector : this.parentInjector;
22867
+ // DO NOT REFACTOR. The code here used to have a `injector.get(NgModuleRef, null) ||
22868
+ // undefined` expression which seems to cause internal google apps to fail. This is documented
22869
+ // in the following internal bug issue: go/b/142967802
22870
+ const result = _injector.get(NgModuleRef$1, null);
22849
22871
  if (result) {
22850
22872
  ngModuleRef = result;
22851
22873
  }
@@ -24808,9 +24830,10 @@ class ApplicationInitStatus {
24808
24830
  }
24809
24831
  }
24810
24832
  ApplicationInitStatus.ɵfac = function ApplicationInitStatus_Factory(t) { return new (t || ApplicationInitStatus)(ɵɵinject(APP_INITIALIZER, 8)); };
24811
- ApplicationInitStatus.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationInitStatus, factory: ApplicationInitStatus.ɵfac });
24833
+ ApplicationInitStatus.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationInitStatus, factory: ApplicationInitStatus.ɵfac, providedIn: 'root' });
24812
24834
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationInitStatus, [{
24813
- type: Injectable
24835
+ type: Injectable,
24836
+ args: [{ providedIn: 'root' }]
24814
24837
  }], function () { return [{ type: undefined, decorators: [{
24815
24838
  type: Inject,
24816
24839
  args: [APP_INITIALIZER]
@@ -24836,7 +24859,10 @@ ApplicationInitStatus.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Appli
24836
24859
  *
24837
24860
  * @publicApi
24838
24861
  */
24839
- const APP_ID = new InjectionToken('AppId');
24862
+ const APP_ID = new InjectionToken('AppId', {
24863
+ providedIn: 'root',
24864
+ factory: _appIdRandomProviderFactory,
24865
+ });
24840
24866
  function _appIdRandomProviderFactory() {
24841
24867
  return `${_randomChar()}${_randomChar()}${_randomChar()}`;
24842
24868
  }
@@ -24911,6 +24937,33 @@ Console.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Console, factory: C
24911
24937
  * Use of this source code is governed by an MIT-style license that can be
24912
24938
  * found in the LICENSE file at https://angular.io/license
24913
24939
  */
24940
+ /**
24941
+ * Work out the locale from the potential global properties.
24942
+ *
24943
+ * * Closure Compiler: use `goog.getLocale()`.
24944
+ * * Ivy enabled: use `$localize.locale`
24945
+ */
24946
+ function getGlobalLocale() {
24947
+ if (typeof ngI18nClosureMode !== 'undefined' && ngI18nClosureMode &&
24948
+ typeof goog !== 'undefined' && goog.getLocale() !== 'en') {
24949
+ // * The default `goog.getLocale()` value is `en`, while Angular used `en-US`.
24950
+ // * In order to preserve backwards compatibility, we use Angular default value over
24951
+ // Closure Compiler's one.
24952
+ return goog.getLocale();
24953
+ }
24954
+ else {
24955
+ // KEEP `typeof $localize !== 'undefined' && $localize.locale` IN SYNC WITH THE LOCALIZE
24956
+ // COMPILE-TIME INLINER.
24957
+ //
24958
+ // * During compile time inlining of translations the expression will be replaced
24959
+ // with a string literal that is the current locale. Other forms of this expression are not
24960
+ // guaranteed to be replaced.
24961
+ //
24962
+ // * During runtime translation evaluation, the developer is required to set `$localize.locale`
24963
+ // if required, or just to provide their own `LOCALE_ID` provider.
24964
+ return (typeof $localize !== 'undefined' && $localize.locale) || DEFAULT_LOCALE_ID;
24965
+ }
24966
+ }
24914
24967
  /**
24915
24968
  * Provide this token to set the locale of your application.
24916
24969
  * It is used for i18n extraction, by i18n pipes (DatePipe, I18nPluralPipe, CurrencyPipe,
@@ -24933,7 +24986,10 @@ Console.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Console, factory: C
24933
24986
  *
24934
24987
  * @publicApi
24935
24988
  */
24936
- const LOCALE_ID = new InjectionToken('LocaleId');
24989
+ const LOCALE_ID = new InjectionToken('LocaleId', {
24990
+ providedIn: 'root',
24991
+ factory: () => inject(LOCALE_ID, InjectFlags.Optional | InjectFlags.SkipSelf) || getGlobalLocale(),
24992
+ });
24937
24993
  /**
24938
24994
  * Provide this token to set the default currency code your application uses for
24939
24995
  * CurrencyPipe when there is no currency code passed into it. This is only used by
@@ -24972,7 +25028,10 @@ const LOCALE_ID = new InjectionToken('LocaleId');
24972
25028
  *
24973
25029
  * @publicApi
24974
25030
  */
24975
- const DEFAULT_CURRENCY_CODE = new InjectionToken('DefaultCurrencyCode');
25031
+ const DEFAULT_CURRENCY_CODE = new InjectionToken('DefaultCurrencyCode', {
25032
+ providedIn: 'root',
25033
+ factory: () => USD_CURRENCY_CODE,
25034
+ });
24976
25035
  /**
24977
25036
  * Use this token at bootstrap to provide the content of your translation file (`xtb`,
24978
25037
  * `xlf` or `xlf2`) when you want to translate your application in another language.
@@ -25139,9 +25198,10 @@ class Compiler {
25139
25198
  }
25140
25199
  }
25141
25200
  Compiler.ɵfac = function Compiler_Factory(t) { return new (t || Compiler)(); };
25142
- Compiler.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Compiler, factory: Compiler.ɵfac });
25201
+ Compiler.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: Compiler, factory: Compiler.ɵfac, providedIn: 'root' });
25143
25202
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Compiler, [{
25144
- type: Injectable
25203
+ type: Injectable,
25204
+ args: [{ providedIn: 'root' }]
25145
25205
  }], null, null); })();
25146
25206
  /**
25147
25207
  * Token to provide CompilerOptions in the platform injector.
@@ -26502,9 +26562,10 @@ class ApplicationRef {
26502
26562
  }
26503
26563
  }
26504
26564
  ApplicationRef.ɵfac = function ApplicationRef_Factory(t) { return new (t || ApplicationRef)(ɵɵinject(NgZone), ɵɵinject(Injector), ɵɵinject(ErrorHandler), ɵɵinject(ComponentFactoryResolver$1), ɵɵinject(ApplicationInitStatus)); };
26505
- ApplicationRef.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationRef, factory: ApplicationRef.ɵfac });
26565
+ ApplicationRef.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationRef, factory: ApplicationRef.ɵfac, providedIn: 'root' });
26506
26566
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationRef, [{
26507
- type: Injectable
26567
+ type: Injectable,
26568
+ args: [{ providedIn: 'root' }]
26508
26569
  }], function () { return [{ type: NgZone }, { type: Injector }, { type: ErrorHandler }, { type: ComponentFactoryResolver$1 }, { type: ApplicationInitStatus }]; }, null); })();
26509
26570
  function remove(list, el) {
26510
26571
  const index = list.indexOf(el);
@@ -28508,96 +28569,10 @@ const platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDER
28508
28569
  * Use of this source code is governed by an MIT-style license that can be
28509
28570
  * found in the LICENSE file at https://angular.io/license
28510
28571
  */
28511
- function _iterableDiffersFactory() {
28512
- return defaultIterableDiffers;
28513
- }
28514
- function _keyValueDiffersFactory() {
28515
- return defaultKeyValueDiffers;
28516
- }
28517
- function _localeFactory(locale) {
28518
- return locale || getGlobalLocale();
28519
- }
28520
28572
  /**
28521
- * Work out the locale from the potential global properties.
28522
- *
28523
- * * Closure Compiler: use `goog.getLocale()`.
28524
- * * Ivy enabled: use `$localize.locale`
28525
- */
28526
- function getGlobalLocale() {
28527
- if (typeof ngI18nClosureMode !== 'undefined' && ngI18nClosureMode &&
28528
- typeof goog !== 'undefined' && goog.getLocale() !== 'en') {
28529
- // * The default `goog.getLocale()` value is `en`, while Angular used `en-US`.
28530
- // * In order to preserve backwards compatibility, we use Angular default value over
28531
- // Closure Compiler's one.
28532
- return goog.getLocale();
28533
- }
28534
- else {
28535
- // KEEP `typeof $localize !== 'undefined' && $localize.locale` IN SYNC WITH THE LOCALIZE
28536
- // COMPILE-TIME INLINER.
28537
- //
28538
- // * During compile time inlining of translations the expression will be replaced
28539
- // with a string literal that is the current locale. Other forms of this expression are not
28540
- // guaranteed to be replaced.
28541
- //
28542
- // * During runtime translation evaluation, the developer is required to set `$localize.locale`
28543
- // if required, or just to provide their own `LOCALE_ID` provider.
28544
- return (typeof $localize !== 'undefined' && $localize.locale) || DEFAULT_LOCALE_ID;
28545
- }
28546
- }
28547
- /**
28548
- * A built-in [dependency injection token](guide/glossary#di-token)
28549
- * that is used to configure the root injector for bootstrapping.
28550
- */
28551
- const APPLICATION_MODULE_PROVIDERS = [
28552
- {
28553
- provide: ApplicationRef,
28554
- useClass: ApplicationRef,
28555
- deps: [NgZone, Injector, ErrorHandler, ComponentFactoryResolver$1, ApplicationInitStatus]
28556
- },
28557
- { provide: SCHEDULER, deps: [NgZone], useFactory: zoneSchedulerFactory },
28558
- {
28559
- provide: ApplicationInitStatus,
28560
- useClass: ApplicationInitStatus,
28561
- deps: [[new Optional(), APP_INITIALIZER]]
28562
- },
28563
- { provide: Compiler, useClass: Compiler, deps: [] },
28564
- APP_ID_RANDOM_PROVIDER,
28565
- { provide: IterableDiffers, useFactory: _iterableDiffersFactory, deps: [] },
28566
- { provide: KeyValueDiffers, useFactory: _keyValueDiffersFactory, deps: [] },
28567
- {
28568
- provide: LOCALE_ID,
28569
- useFactory: _localeFactory,
28570
- deps: [[new Inject(LOCALE_ID), new Optional(), new SkipSelf()]]
28571
- },
28572
- { provide: DEFAULT_CURRENCY_CODE, useValue: USD_CURRENCY_CODE },
28573
- ];
28574
- /**
28575
- * Schedule work at next available slot.
28576
- *
28577
- * In Ivy this is just `requestAnimationFrame`. For compatibility reasons when bootstrapped
28578
- * using `platformRef.bootstrap` we need to use `NgZone.onStable` as the scheduling mechanism.
28579
- * This overrides the scheduling mechanism in Ivy to `NgZone.onStable`.
28580
- *
28581
- * @param ngZone NgZone to use for scheduling.
28582
- */
28583
- function zoneSchedulerFactory(ngZone) {
28584
- let queue = [];
28585
- ngZone.onStable.subscribe(() => {
28586
- while (queue.length) {
28587
- queue.pop()();
28588
- }
28589
- });
28590
- return function (fn) {
28591
- queue.push(fn);
28592
- };
28593
- }
28594
- /**
28595
- * Configures the root injector for an app with
28596
- * providers of `@angular/core` dependencies that `ApplicationRef` needs
28597
- * to bootstrap components.
28598
- *
28599
28573
  * Re-exported by `BrowserModule`, which is included automatically in the root
28600
- * `AppModule` when you create a new app with the CLI `new` command.
28574
+ * `AppModule` when you create a new app with the CLI `new` command. Eagerly injects
28575
+ * `ApplicationRef` to instantiate it.
28601
28576
  *
28602
28577
  * @publicApi
28603
28578
  */
@@ -28607,10 +28582,9 @@ class ApplicationModule {
28607
28582
  }
28608
28583
  ApplicationModule.ɵfac = function ApplicationModule_Factory(t) { return new (t || ApplicationModule)(ɵɵinject(ApplicationRef)); };
28609
28584
  ApplicationModule.ɵmod = /*@__PURE__*/ ɵɵdefineNgModule({ type: ApplicationModule });
28610
- ApplicationModule.ɵinj = /*@__PURE__*/ ɵɵdefineInjector({ providers: APPLICATION_MODULE_PROVIDERS });
28585
+ ApplicationModule.ɵinj = /*@__PURE__*/ ɵɵdefineInjector({});
28611
28586
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationModule, [{
28612
- type: NgModule,
28613
- args: [{ providers: APPLICATION_MODULE_PROVIDERS }]
28587
+ type: NgModule
28614
28588
  }], function () { return [{ type: ApplicationRef }]; }, null); })();
28615
28589
 
28616
28590
  /**