@angular/core 14.0.3 → 14.0.4

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.
@@ -26,9 +26,9 @@ export class Log {
26
26
  return this.logItems.join('; ');
27
27
  }
28
28
  }
29
- Log.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Log, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
- Log.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Log });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Log, decorators: [{
29
+ Log.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: Log, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
+ Log.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: Log });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: Log, decorators: [{
32
32
  type: Injectable
33
33
  }], ctorParameters: function () { return []; } });
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90ZXN0aW5nL3NyYy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHekMsTUFBTSxPQUFPLEdBQUc7SUFHZDtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBVSxDQUFDLGlCQUFpQjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsRUFBRSxDQUFDLEtBQVUsQ0FBQyxpQkFBaUI7UUFDN0IsT0FBTyxDQUFDLEtBQVUsSUFBSSxFQUFFLEtBQVUsSUFBSSxFQUFFLEtBQVUsSUFBSSxFQUFFLEtBQVUsSUFBSSxFQUFFLEtBQVUsSUFBSSxFQUFFLEVBQUU7WUFDeEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7MkdBdkJVLEdBQUc7K0dBQUgsR0FBRztzR0FBSCxHQUFHO2tCQURmLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZyB7XG4gIGxvZ0l0ZW1zOiBhbnlbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvZ0l0ZW1zID0gW107XG4gIH1cblxuICBhZGQodmFsdWU6IGFueSAvKiogVE9ETyAjOTEwMCAqLyk6IHZvaWQge1xuICAgIHRoaXMubG9nSXRlbXMucHVzaCh2YWx1ZSk7XG4gIH1cblxuICBmbih2YWx1ZTogYW55IC8qKiBUT0RPICM5MTAwICovKSB7XG4gICAgcmV0dXJuIChhMTogYW55ID0gbnVsbCwgYTI6IGFueSA9IG51bGwsIGEzOiBhbnkgPSBudWxsLCBhNDogYW55ID0gbnVsbCwgYTU6IGFueSA9IG51bGwpID0+IHtcbiAgICAgIHRoaXMubG9nSXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgfTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMubG9nSXRlbXMgPSBbXTtcbiAgfVxuXG4gIHJlc3VsdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvZ0l0ZW1zLmpvaW4oJzsgJyk7XG4gIH1cbn1cbiJdfQ==
@@ -25,9 +25,9 @@ export class MockNgZone extends NgZone {
25
25
  this.onStable.emit(null);
26
26
  }
27
27
  }
28
- MockNgZone.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MockNgZone, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
- MockNgZone.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MockNgZone });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MockNgZone, decorators: [{
28
+ MockNgZone.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: MockNgZone, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ MockNgZone.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: MockNgZone });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.4", ngImport: i0, type: MockNgZone, decorators: [{
31
31
  type: Injectable
32
32
  }], ctorParameters: function () { return []; } });
33
33
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdfem9uZV9tb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS90ZXN0aW5nL3NyYy9uZ196b25lX21vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUcvRDs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUdwQztRQUNFLEtBQUssQ0FBQyxFQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxrQ0FBa0MsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBSHpFLGFBQVEsR0FBc0IsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFJL0QsQ0FBQztJQUVRLEdBQUcsQ0FBQyxFQUFZO1FBQ3ZCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRVEsaUJBQWlCLENBQUMsRUFBWTtRQUNyQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7O2tIQWpCVSxVQUFVO3NIQUFWLFVBQVU7c0dBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0V2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgTmdab25lfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG4vKipcbiAqIEEgbW9jayBpbXBsZW1lbnRhdGlvbiBvZiB7QGxpbmsgTmdab25lfS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vY2tOZ1pvbmUgZXh0ZW5kcyBOZ1pvbmUge1xuICBvdmVycmlkZSBvblN0YWJsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7ZW5hYmxlTG9uZ1N0YWNrVHJhY2U6IGZhbHNlLCBzaG91bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9uOiBmYWxzZX0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgcnVuKGZuOiBGdW5jdGlvbik6IGFueSB7XG4gICAgcmV0dXJuIGZuKCk7XG4gIH1cblxuICBvdmVycmlkZSBydW5PdXRzaWRlQW5ndWxhcihmbjogRnVuY3Rpb24pOiBhbnkge1xuICAgIHJldHVybiBmbigpO1xuICB9XG5cbiAgc2ltdWxhdGVab25lRXhpdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uU3RhYmxlLmVtaXQobnVsbCk7XG4gIH1cbn1cbiJdfQ==
package/fesm2015/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v14.0.3
2
+ * @license Angular v14.0.4
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1658,8 +1658,17 @@ var RendererStyleFlags3;
1658
1658
  function isProceduralRenderer(renderer) {
1659
1659
  return !!(renderer.listen);
1660
1660
  }
1661
+ let renderer3Enabled = false;
1662
+ function enableRenderer3() {
1663
+ renderer3Enabled = true;
1664
+ }
1661
1665
  const domRendererFactory3 = {
1662
1666
  createRenderer: (hostElement, rendererType) => {
1667
+ if (!renderer3Enabled) {
1668
+ throw new Error(ngDevMode ?
1669
+ `Renderer3 is not supported. This problem is likely caused by some component in the hierarchy was constructed without a correct parent injector.` :
1670
+ 'Renderer3 disabled');
1671
+ }
1663
1672
  return getDocument();
1664
1673
  }
1665
1674
  };
@@ -4854,22 +4863,17 @@ function ɵɵinject(token, flags = InjectFlags.Default) {
4854
4863
  * Throws an error indicating that a factory function could not be generated by the compiler for a
4855
4864
  * particular class.
4856
4865
  *
4857
- * This instruction allows the actual error message to be optimized away when ngDevMode is turned
4858
- * off, saving bytes of generated code while still providing a good experience in dev mode.
4859
- *
4860
4866
  * The name of the class is not mentioned here, but will be in the generated factory function name
4861
4867
  * and thus in the stack trace.
4862
4868
  *
4863
4869
  * @codeGenApi
4864
4870
  */
4865
4871
  function ɵɵinvalidFactoryDep(index) {
4866
- const msg = ngDevMode ?
4872
+ throw new RuntimeError(202 /* RuntimeErrorCode.INVALID_FACTORY_DEPENDENCY */, ngDevMode &&
4867
4873
  `This constructor is not compatible with Angular Dependency Injection because its dependency at index ${index} of the parameter list is invalid.
4868
4874
  This can happen if the dependency type is a primitive like a string or if an ancestor of this class is missing an Angular decorator.
4869
4875
 
4870
- Please check that 1) the type for the parameter at index ${index} is correct and 2) the correct Angular decorators are defined for this class and its ancestors.` :
4871
- 'invalid';
4872
- throw new Error(msg);
4876
+ Please check that 1) the type for the parameter at index ${index} is correct and 2) the correct Angular decorators are defined for this class and its ancestors.`);
4873
4877
  }
4874
4878
  /**
4875
4879
  * Injects a token from the currently active injector.
@@ -5133,7 +5137,7 @@ function reflectDependency(dep) {
5133
5137
  }
5134
5138
  else if (param instanceof Attribute) {
5135
5139
  if (param.attributeName === undefined) {
5136
- throw new Error(`Attribute name must be defined.`);
5140
+ throw new RuntimeError(204 /* RuntimeErrorCode.INVALID_INJECTION_TOKEN */, ngDevMode && `Attribute name must be defined.`);
5137
5141
  }
5138
5142
  meta.attribute = param.attributeName;
5139
5143
  }
@@ -9804,7 +9808,7 @@ class ReflectiveKey {
9804
9808
  this.token = token;
9805
9809
  this.id = id;
9806
9810
  if (!token) {
9807
- throw new Error('Token must be defined!');
9811
+ throw new RuntimeError(208 /* RuntimeErrorCode.MISSING_INJECTION_TOKEN */, ngDevMode && 'Token must be defined!');
9808
9812
  }
9809
9813
  this.displayName = stringify(this.token);
9810
9814
  }
@@ -13875,6 +13879,7 @@ const NULL_INJECTOR = {
13875
13879
  function renderComponent(componentType /* Type as workaround for: Microsoft/TypeScript/issues/4881 */, opts = {}) {
13876
13880
  ngDevMode && publishDefaultGlobalUtils$1();
13877
13881
  ngDevMode && assertComponentType(componentType);
13882
+ enableRenderer3();
13878
13883
  const rendererFactory = opts.rendererFactory || domRendererFactory3;
13879
13884
  const sanitizer = opts.sanitizer || null;
13880
13885
  const componentDef = getComponentDef(componentType);
@@ -19184,7 +19189,7 @@ function findLocaleData(locale) {
19184
19189
  if (parentLocale === 'en') {
19185
19190
  return localeEn;
19186
19191
  }
19187
- throw new Error(`Missing locale data for the locale "${locale}".`);
19192
+ throw new RuntimeError(701 /* RuntimeErrorCode.MISSING_LOCALE_DATA */, ngDevMode && `Missing locale data for the locale "${locale}".`);
19188
19193
  }
19189
19194
  /**
19190
19195
  * Retrieves the default currency code for the given locale.
@@ -21760,7 +21765,7 @@ class Version {
21760
21765
  /**
21761
21766
  * @publicApi
21762
21767
  */
21763
- const VERSION = new Version('14.0.3');
21768
+ const VERSION = new Version('14.0.4');
21764
21769
 
21765
21770
  /**
21766
21771
  * @license
@@ -26297,7 +26302,7 @@ class NgZone {
26297
26302
  */
26298
26303
  this.onError = new EventEmitter(false);
26299
26304
  if (typeof Zone == 'undefined') {
26300
- throw new Error(`In this configuration Angular requires Zone.js`);
26305
+ throw new RuntimeError(908 /* RuntimeErrorCode.MISSING_ZONEJS */, ngDevMode && `In this configuration Angular requires Zone.js`);
26301
26306
  }
26302
26307
  Zone.assertZonePatched();
26303
26308
  const self = this;
@@ -26324,12 +26329,12 @@ class NgZone {
26324
26329
  }
26325
26330
  static assertInAngularZone() {
26326
26331
  if (!NgZone.isInAngularZone()) {
26327
- throw new Error('Expected to be in Angular Zone, but it is not!');
26332
+ throw new RuntimeError(909 /* RuntimeErrorCode.UNEXPECTED_ZONE_STATE */, ngDevMode && 'Expected to be in Angular Zone, but it is not!');
26328
26333
  }
26329
26334
  }
26330
26335
  static assertNotInAngularZone() {
26331
26336
  if (NgZone.isInAngularZone()) {
26332
- throw new Error('Expected to not be in Angular Zone, but it is!');
26337
+ throw new RuntimeError(909 /* RuntimeErrorCode.UNEXPECTED_ZONE_STATE */, ngDevMode && 'Expected to not be in Angular Zone, but it is!');
26333
26338
  }
26334
26339
  }
26335
26340
  /**
@@ -26900,7 +26905,7 @@ const ALLOW_MULTIPLE_PLATFORMS = new InjectionToken('AllowMultipleToken');
26900
26905
  * `PlatformRef` class (i.e. register the callback via `PlatformRef.onDestroy`), thus making the
26901
26906
  * entire class tree-shakeable.
26902
26907
  */
26903
- const PLATFORM_ON_DESTROY = new InjectionToken('PlatformOnDestroy');
26908
+ const PLATFORM_DESTROY_LISTENERS = new InjectionToken('PlatformDestroyListeners');
26904
26909
  const NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;
26905
26910
  function compileNgModuleFactory(injector, options, moduleType) {
26906
26911
  ngDevMode && assertNgModuleType(moduleType);
@@ -27039,7 +27044,15 @@ function internalBootstrapApplication(config) {
27039
27044
  const localeId = appInjector.get(LOCALE_ID, DEFAULT_LOCALE_ID);
27040
27045
  setLocaleId(localeId || DEFAULT_LOCALE_ID);
27041
27046
  const appRef = appInjector.get(ApplicationRef);
27042
- appRef.onDestroy(() => onErrorSubscription.unsubscribe());
27047
+ // If the whole platform is destroyed, invoke the `destroy` method
27048
+ // for all bootstrapped applications as well.
27049
+ const destroyListener = () => appRef.destroy();
27050
+ const onPlatformDestroyListeners = platformInjector.get(PLATFORM_DESTROY_LISTENERS, null);
27051
+ onPlatformDestroyListeners === null || onPlatformDestroyListeners === void 0 ? void 0 : onPlatformDestroyListeners.add(destroyListener);
27052
+ appRef.onDestroy(() => {
27053
+ onPlatformDestroyListeners === null || onPlatformDestroyListeners === void 0 ? void 0 : onPlatformDestroyListeners.delete(destroyListener);
27054
+ onErrorSubscription.unsubscribe();
27055
+ });
27043
27056
  appRef.bootstrap(rootComponent);
27044
27057
  return appRef;
27045
27058
  });
@@ -27103,7 +27116,7 @@ function createPlatformInjector(providers = [], name) {
27103
27116
  name,
27104
27117
  providers: [
27105
27118
  { provide: INJECTOR_SCOPE, useValue: 'platform' },
27106
- { provide: PLATFORM_ON_DESTROY, useValue: () => _platformInjector = null },
27119
+ { provide: PLATFORM_DESTROY_LISTENERS, useValue: new Set([() => _platformInjector = null]) },
27107
27120
  ...providers
27108
27121
  ],
27109
27122
  });
@@ -27252,8 +27265,11 @@ class PlatformRef {
27252
27265
  }
27253
27266
  this._modules.slice().forEach(module => module.destroy());
27254
27267
  this._destroyListeners.forEach(listener => listener());
27255
- const destroyListener = this._injector.get(PLATFORM_ON_DESTROY, null);
27256
- destroyListener === null || destroyListener === void 0 ? void 0 : destroyListener();
27268
+ const destroyListeners = this._injector.get(PLATFORM_DESTROY_LISTENERS, null);
27269
+ if (destroyListeners) {
27270
+ destroyListeners.forEach(listener => listener());
27271
+ destroyListeners.clear();
27272
+ }
27257
27273
  this._destroyed = true;
27258
27274
  }
27259
27275
  /**
@@ -27413,11 +27429,10 @@ function optionsReducer(dst, objs) {
27413
27429
  */
27414
27430
  class ApplicationRef {
27415
27431
  /** @internal */
27416
- constructor(_zone, _injector, _exceptionHandler, _initStatus) {
27432
+ constructor(_zone, _injector, _exceptionHandler) {
27417
27433
  this._zone = _zone;
27418
27434
  this._injector = _injector;
27419
27435
  this._exceptionHandler = _exceptionHandler;
27420
- this._initStatus = _initStatus;
27421
27436
  /** @internal */
27422
27437
  this._bootstrapListeners = [];
27423
27438
  this._views = [];
@@ -27534,7 +27549,8 @@ class ApplicationRef {
27534
27549
  bootstrap(componentOrFactory, rootSelectorOrNode) {
27535
27550
  NG_DEV_MODE && this.warnIfDestroyed();
27536
27551
  const isComponentFactory = componentOrFactory instanceof ComponentFactory$1;
27537
- if (!this._initStatus.done) {
27552
+ const initStatus = this._injector.get(ApplicationInitStatus);
27553
+ if (!initStatus.done) {
27538
27554
  const standalone = !isComponentFactory && isStandalone(componentOrFactory);
27539
27555
  const errorMessage = 'Cannot bootstrap as there are still asynchronous initializers running.' +
27540
27556
  (standalone ? '' :
@@ -27693,13 +27709,13 @@ class ApplicationRef {
27693
27709
  }
27694
27710
  }
27695
27711
  }
27696
- ApplicationRef.ɵfac = function ApplicationRef_Factory(t) { return new (t || ApplicationRef)(ɵɵinject(NgZone), ɵɵinject(Injector), ɵɵinject(ErrorHandler), ɵɵinject(ApplicationInitStatus)); };
27712
+ ApplicationRef.ɵfac = function ApplicationRef_Factory(t) { return new (t || ApplicationRef)(ɵɵinject(NgZone), ɵɵinject(Injector), ɵɵinject(ErrorHandler)); };
27697
27713
  ApplicationRef.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ApplicationRef, factory: ApplicationRef.ɵfac, providedIn: 'root' });
27698
27714
  (function () {
27699
27715
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationRef, [{
27700
27716
  type: Injectable,
27701
27717
  args: [{ providedIn: 'root' }]
27702
- }], function () { return [{ type: NgZone }, { type: Injector }, { type: ErrorHandler }, { type: ApplicationInitStatus }]; }, null);
27718
+ }], function () { return [{ type: NgZone }, { type: Injector }, { type: ErrorHandler }]; }, null);
27703
27719
  })();
27704
27720
  function remove(list, el) {
27705
27721
  const index = list.indexOf(el);