@angular/core 13.3.3 → 13.3.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.
- package/core.d.ts +5 -1
- package/esm2020/src/application_ref.mjs +44 -18
- package/esm2020/src/render3/errors.mjs +6 -3
- package/esm2020/src/render3/features/inherit_definition_feature.mjs +3 -2
- package/esm2020/src/render3/instructions/shared.mjs +6 -3
- package/esm2020/src/version.mjs +1 -1
- package/esm2020/testing/src/logger.mjs +3 -3
- package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
- package/fesm2015/core.mjs +57 -24
- package/fesm2015/core.mjs.map +1 -1
- package/fesm2015/testing.mjs +1 -1
- package/fesm2020/core.mjs +55 -24
- package/fesm2020/core.mjs.map +1 -1
- package/fesm2020/testing.mjs +1 -1
- package/package.json +1 -1
- package/testing/testing.d.ts +1 -1
package/esm2020/src/version.mjs
CHANGED
|
@@ -21,5 +21,5 @@ export class Version {
|
|
|
21
21
|
/**
|
|
22
22
|
* @publicApi
|
|
23
23
|
*/
|
|
24
|
-
export const VERSION = new Version('13.3.
|
|
24
|
+
export const VERSION = new Version('13.3.4');
|
|
25
25
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUg7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxPQUFPO0lBS2xCLFlBQW1CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIHRoZSB2ZXJzaW9uIG9mIEFuZ3VsYXJcbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBjbGFzcyBWZXJzaW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IG1ham9yOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBtaW5vcjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcGF0Y2g6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZnVsbDogc3RyaW5nKSB7XG4gICAgdGhpcy5tYWpvciA9IGZ1bGwuc3BsaXQoJy4nKVswXTtcbiAgICB0aGlzLm1pbm9yID0gZnVsbC5zcGxpdCgnLicpWzFdO1xuICAgIHRoaXMucGF0Y2ggPSBmdWxsLnNwbGl0KCcuJykuc2xpY2UoMikuam9pbignLicpO1xuICB9XG59XG5cbi8qKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcwLjAuMC1QTEFDRUhPTERFUicpO1xuIl19
|
|
@@ -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: "13.3.
|
|
30
|
-
Log.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
29
|
+
Log.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: Log, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
Log.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: Log });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.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: "13.3.
|
|
29
|
-
MockNgZone.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
28
|
+
MockNgZone.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: MockNgZone, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
MockNgZone.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: MockNgZone });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.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 v13.3.
|
|
2
|
+
* @license Angular v13.3.4
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -6718,8 +6718,10 @@ function maybeUnwrapFn(value) {
|
|
|
6718
6718
|
* found in the LICENSE file at https://angular.io/license
|
|
6719
6719
|
*/
|
|
6720
6720
|
/** Called when there are multiple component selectors that match a given node */
|
|
6721
|
-
function throwMultipleComponentError(tNode) {
|
|
6722
|
-
throw new RuntimeError(-300 /* MULTIPLE_COMPONENTS_MATCH */, `Multiple components match node with tagname ${tNode.value}`
|
|
6721
|
+
function throwMultipleComponentError(tNode, first, second) {
|
|
6722
|
+
throw new RuntimeError(-300 /* MULTIPLE_COMPONENTS_MATCH */, `Multiple components match node with tagname ${tNode.value}: ` +
|
|
6723
|
+
`${stringifyForError(first)} and ` +
|
|
6724
|
+
`${stringifyForError(second)}`);
|
|
6723
6725
|
}
|
|
6724
6726
|
/** Throws an ExpressionChangedAfterChecked error if checkNoChanges mode is on. */
|
|
6725
6727
|
function throwErrorIfNoChangesMode(creationMode, oldValue, currValue, propName) {
|
|
@@ -10378,8 +10380,11 @@ function findDirectiveDefMatches(tView, viewData, tNode) {
|
|
|
10378
10380
|
if (ngDevMode) {
|
|
10379
10381
|
assertTNodeType(tNode, 2 /* Element */, `"${tNode.value}" tags cannot be used as component hosts. ` +
|
|
10380
10382
|
`Please use a different tag to activate the ${stringify(def.type)} component.`);
|
|
10381
|
-
if (tNode.flags & 2 /* isComponentHost */)
|
|
10382
|
-
|
|
10383
|
+
if (tNode.flags & 2 /* isComponentHost */) {
|
|
10384
|
+
// If another component has been matched previously, it's the first element in the
|
|
10385
|
+
// `matches` array, see how we store components/directives in `matches` below.
|
|
10386
|
+
throwMultipleComponentError(tNode, matches[0].type, def.type);
|
|
10387
|
+
}
|
|
10383
10388
|
}
|
|
10384
10389
|
markAsComponentHost(tView, tNode);
|
|
10385
10390
|
// The component is always stored first with directives after.
|
|
@@ -12378,7 +12383,7 @@ function ɵɵInheritDefinitionFeature(definition) {
|
|
|
12378
12383
|
else {
|
|
12379
12384
|
if (superType.ɵcmp) {
|
|
12380
12385
|
const errorMessage = (typeof ngDevMode === 'undefined' || ngDevMode) ?
|
|
12381
|
-
|
|
12386
|
+
`Directives cannot inherit Components. Directive ${stringifyForError(definition.type)} is attempting to extend component ${stringifyForError(superType)}` :
|
|
12382
12387
|
'';
|
|
12383
12388
|
throw new RuntimeError(903 /* INVALID_INHERITANCE */, errorMessage);
|
|
12384
12389
|
}
|
|
@@ -21123,7 +21128,7 @@ class Version {
|
|
|
21123
21128
|
/**
|
|
21124
21129
|
* @publicApi
|
|
21125
21130
|
*/
|
|
21126
|
-
const VERSION = new Version('13.3.
|
|
21131
|
+
const VERSION = new Version('13.3.4');
|
|
21127
21132
|
|
|
21128
21133
|
/**
|
|
21129
21134
|
* @license
|
|
@@ -25929,7 +25934,19 @@ let _testabilityGetter = new _NoopGetTestability();
|
|
|
25929
25934
|
* Use of this source code is governed by an MIT-style license that can be
|
|
25930
25935
|
* found in the LICENSE file at https://angular.io/license
|
|
25931
25936
|
*/
|
|
25932
|
-
let
|
|
25937
|
+
let _platformInjector = null;
|
|
25938
|
+
/**
|
|
25939
|
+
* Internal token to indicate whether having multiple bootstrapped platform should be allowed (only
|
|
25940
|
+
* one bootstrapped platform is allowed by default). This token helps to support SSR scenarios.
|
|
25941
|
+
*/
|
|
25942
|
+
const ALLOW_MULTIPLE_PLATFORMS = new InjectionToken('AllowMultipleToken');
|
|
25943
|
+
/**
|
|
25944
|
+
* Internal token that allows to register extra callbacks that should be invoked during the
|
|
25945
|
+
* `PlatformRef.destroy` operation. This token is needed to avoid a direct reference to the
|
|
25946
|
+
* `PlatformRef` class (i.e. register the callback via `PlatformRef.onDestroy`), thus making the
|
|
25947
|
+
* entire class tree-shakeable.
|
|
25948
|
+
*/
|
|
25949
|
+
const PLATFORM_ON_DESTROY = new InjectionToken('PlatformOnDestroy');
|
|
25933
25950
|
function compileNgModuleFactory(injector, options, moduleType) {
|
|
25934
25951
|
ngDevMode && assertNgModuleType(moduleType);
|
|
25935
25952
|
const moduleFactory = new NgModuleFactory(moduleType);
|
|
@@ -25974,7 +25991,6 @@ function publishDefaultGlobalUtils() {
|
|
|
25974
25991
|
function isBoundToModule(cf) {
|
|
25975
25992
|
return cf.isBoundToModule;
|
|
25976
25993
|
}
|
|
25977
|
-
const ALLOW_MULTIPLE_PLATFORMS = new InjectionToken('AllowMultipleToken');
|
|
25978
25994
|
/**
|
|
25979
25995
|
* A token for third-party components that can register themselves with NgProbe.
|
|
25980
25996
|
*
|
|
@@ -25993,19 +26009,19 @@ class NgProbeToken {
|
|
|
25993
26009
|
* @publicApi
|
|
25994
26010
|
*/
|
|
25995
26011
|
function createPlatform(injector) {
|
|
25996
|
-
if (
|
|
25997
|
-
!_platform.injector.get(ALLOW_MULTIPLE_PLATFORMS, false)) {
|
|
26012
|
+
if (_platformInjector && !_platformInjector.get(ALLOW_MULTIPLE_PLATFORMS, false)) {
|
|
25998
26013
|
const errorMessage = (typeof ngDevMode === 'undefined' || ngDevMode) ?
|
|
25999
26014
|
'There can be only one platform. Destroy the previous one to create a new one.' :
|
|
26000
26015
|
'';
|
|
26001
26016
|
throw new RuntimeError(400 /* MULTIPLE_PLATFORMS */, errorMessage);
|
|
26002
26017
|
}
|
|
26003
26018
|
publishDefaultGlobalUtils();
|
|
26004
|
-
|
|
26019
|
+
_platformInjector = injector;
|
|
26020
|
+
const platform = injector.get(PlatformRef);
|
|
26005
26021
|
const inits = injector.get(PLATFORM_INITIALIZER, null);
|
|
26006
26022
|
if (inits)
|
|
26007
|
-
inits.forEach(
|
|
26008
|
-
return
|
|
26023
|
+
inits.forEach(initFn => initFn());
|
|
26024
|
+
return platform;
|
|
26009
26025
|
}
|
|
26010
26026
|
/**
|
|
26011
26027
|
* Creates a factory for a platform. Can be used to provide or override `Providers` specific to
|
|
@@ -26024,15 +26040,16 @@ function createPlatformFactory(parentPlatformFactory, name, providers = []) {
|
|
|
26024
26040
|
return (extraProviders = []) => {
|
|
26025
26041
|
let platform = getPlatform();
|
|
26026
26042
|
if (!platform || platform.injector.get(ALLOW_MULTIPLE_PLATFORMS, false)) {
|
|
26043
|
+
const platformProviders = [
|
|
26044
|
+
...providers,
|
|
26045
|
+
...extraProviders,
|
|
26046
|
+
{ provide: marker, useValue: true }
|
|
26047
|
+
];
|
|
26027
26048
|
if (parentPlatformFactory) {
|
|
26028
|
-
parentPlatformFactory(
|
|
26049
|
+
parentPlatformFactory(platformProviders);
|
|
26029
26050
|
}
|
|
26030
26051
|
else {
|
|
26031
|
-
|
|
26032
|
-
provide: INJECTOR_SCOPE,
|
|
26033
|
-
useValue: 'platform'
|
|
26034
|
-
});
|
|
26035
|
-
createPlatform(Injector.create({ providers: injectedProviders, name: desc }));
|
|
26052
|
+
createPlatform(createPlatformInjector(platformProviders, desc));
|
|
26036
26053
|
}
|
|
26037
26054
|
}
|
|
26038
26055
|
return assertPlatform(marker);
|
|
@@ -26055,6 +26072,20 @@ function assertPlatform(requiredToken) {
|
|
|
26055
26072
|
}
|
|
26056
26073
|
return platform;
|
|
26057
26074
|
}
|
|
26075
|
+
/**
|
|
26076
|
+
* Helper function to create an instance of a platform injector (that maintains the 'platform'
|
|
26077
|
+
* scope).
|
|
26078
|
+
*/
|
|
26079
|
+
function createPlatformInjector(providers = [], name) {
|
|
26080
|
+
return Injector.create({
|
|
26081
|
+
name,
|
|
26082
|
+
providers: [
|
|
26083
|
+
{ provide: INJECTOR_SCOPE, useValue: 'platform' },
|
|
26084
|
+
{ provide: PLATFORM_ON_DESTROY, useValue: () => _platformInjector = null },
|
|
26085
|
+
...providers
|
|
26086
|
+
],
|
|
26087
|
+
});
|
|
26088
|
+
}
|
|
26058
26089
|
/**
|
|
26059
26090
|
* Destroys the current Angular platform and all Angular applications on the page.
|
|
26060
26091
|
* Destroys all modules and listeners registered with the platform.
|
|
@@ -26062,9 +26093,8 @@ function assertPlatform(requiredToken) {
|
|
|
26062
26093
|
* @publicApi
|
|
26063
26094
|
*/
|
|
26064
26095
|
function destroyPlatform() {
|
|
26065
|
-
|
|
26066
|
-
|
|
26067
|
-
}
|
|
26096
|
+
var _a;
|
|
26097
|
+
(_a = getPlatform()) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
26068
26098
|
}
|
|
26069
26099
|
/**
|
|
26070
26100
|
* Returns the current platform.
|
|
@@ -26072,7 +26102,8 @@ function destroyPlatform() {
|
|
|
26072
26102
|
* @publicApi
|
|
26073
26103
|
*/
|
|
26074
26104
|
function getPlatform() {
|
|
26075
|
-
|
|
26105
|
+
var _a;
|
|
26106
|
+
return (_a = _platformInjector === null || _platformInjector === void 0 ? void 0 : _platformInjector.get(PlatformRef)) !== null && _a !== void 0 ? _a : null;
|
|
26076
26107
|
}
|
|
26077
26108
|
/**
|
|
26078
26109
|
* The Angular platform is the entry point for Angular on a web page.
|
|
@@ -26210,6 +26241,8 @@ class PlatformRef {
|
|
|
26210
26241
|
}
|
|
26211
26242
|
this._modules.slice().forEach(module => module.destroy());
|
|
26212
26243
|
this._destroyListeners.forEach(listener => listener());
|
|
26244
|
+
const destroyListener = this._injector.get(PLATFORM_ON_DESTROY, null);
|
|
26245
|
+
destroyListener === null || destroyListener === void 0 ? void 0 : destroyListener();
|
|
26213
26246
|
this._destroyed = true;
|
|
26214
26247
|
}
|
|
26215
26248
|
get destroyed() {
|