@angular/core 14.0.0-next.3 → 14.0.0-next.6
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 +59 -15
- package/esm2020/src/application_init.mjs +4 -3
- package/esm2020/src/application_module.mjs +5 -95
- package/esm2020/src/application_ref.mjs +4 -3
- package/esm2020/src/application_tokens.mjs +5 -2
- package/esm2020/src/core_render3_private_export.mjs +2 -1
- package/esm2020/src/debug/debug_node.mjs +11 -10
- package/esm2020/src/i18n/tokens.mjs +39 -3
- package/esm2020/src/linker/compiler.mjs +4 -3
- package/esm2020/src/linker/template_ref.mjs +3 -3
- package/esm2020/src/linker/view_container_ref.mjs +12 -3
- package/esm2020/src/render3/component.mjs +3 -3
- package/esm2020/src/render3/component_ref.mjs +22 -26
- package/esm2020/src/render3/context_discovery.mjs +34 -30
- package/esm2020/src/render3/di.mjs +177 -97
- package/esm2020/src/render3/hooks.mjs +3 -3
- package/esm2020/src/render3/instructions/lview_debug.mjs +6 -3
- package/esm2020/src/render3/instructions/shared.mjs +16 -7
- package/esm2020/src/render3/interfaces/context.mjs +35 -2
- package/esm2020/src/render3/interfaces/injector.mjs +1 -1
- package/esm2020/src/render3/interfaces/lview_tracking.mjs +33 -0
- package/esm2020/src/render3/interfaces/renderer_dom.mjs +1 -1
- package/esm2020/src/render3/interfaces/view.mjs +4 -2
- package/esm2020/src/render3/node_manipulation.mjs +12 -3
- package/esm2020/src/render3/util/discovery_utils.mjs +33 -22
- package/esm2020/src/version.mjs +1 -1
- package/esm2020/testing/src/fake_async.mjs +3 -2
- package/esm2020/testing/src/logger.mjs +3 -3
- package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
- package/fesm2015/core.mjs +442 -297
- package/fesm2015/core.mjs.map +1 -1
- package/fesm2015/testing.mjs +3 -2
- package/fesm2015/testing.mjs.map +1 -1
- package/fesm2020/core.mjs +442 -290
- package/fesm2020/core.mjs.map +1 -1
- package/fesm2020/testing.mjs +3 -2
- package/fesm2020/testing.mjs.map +1 -1
- package/package.json +2 -2
- package/schematics/migrations/entry-components/util.js +2 -2
- package/schematics/migrations/typed-forms/index.d.ts +1 -5
- package/schematics/migrations/typed-forms/index.js +12 -34
- package/schematics/migrations/typed-forms/util.d.ts +6 -9
- package/schematics/migrations/typed-forms/util.js +63 -40
- package/schematics/utils/import_manager.js +13 -12
- package/schematics/utils/typescript/imports.js +6 -5
- package/schematics/utils/typescript/parse_tsconfig.js +6 -2
- package/schematics/utils/typescript/symbol.js +4 -3
- package/testing/testing.d.ts +3 -2
package/core.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v14.0.0-next.
|
|
2
|
+
* @license Angular v14.0.0-next.6
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -290,12 +290,9 @@ export declare class ApplicationInitStatus {
|
|
|
290
290
|
}
|
|
291
291
|
|
|
292
292
|
/**
|
|
293
|
-
* Configures the root injector for an app with
|
|
294
|
-
* providers of `@angular/core` dependencies that `ApplicationRef` needs
|
|
295
|
-
* to bootstrap components.
|
|
296
|
-
*
|
|
297
293
|
* Re-exported by `BrowserModule`, which is included automatically in the root
|
|
298
|
-
* `AppModule` when you create a new app with the CLI `new` command.
|
|
294
|
+
* `AppModule` when you create a new app with the CLI `new` command. Eagerly injects
|
|
295
|
+
* `ApplicationRef` to instantiate it.
|
|
299
296
|
*
|
|
300
297
|
* @publicApi
|
|
301
298
|
*/
|
|
@@ -2435,6 +2432,8 @@ export declare class ElementRef<T = any> {
|
|
|
2435
2432
|
constructor(nativeElement: T);
|
|
2436
2433
|
}
|
|
2437
2434
|
|
|
2435
|
+
declare const EMBEDDED_VIEW_INJECTOR = 21;
|
|
2436
|
+
|
|
2438
2437
|
/**
|
|
2439
2438
|
* Represents an Angular [view](guide/glossary#view) in a view container.
|
|
2440
2439
|
* An [embedded view](guide/glossary#view-tree) can be referenced from a component
|
|
@@ -3343,6 +3342,8 @@ declare const enum IcuType {
|
|
|
3343
3342
|
plural = 1
|
|
3344
3343
|
}
|
|
3345
3344
|
|
|
3345
|
+
declare const ID = 20;
|
|
3346
|
+
|
|
3346
3347
|
/**
|
|
3347
3348
|
* This array contains information about input properties that
|
|
3348
3349
|
* need to be set once from attribute data. It's ordered by
|
|
@@ -4523,6 +4524,13 @@ declare interface LView extends Array<any> {
|
|
|
4523
4524
|
* are not `Dirty`/`CheckAlways`.
|
|
4524
4525
|
*/
|
|
4525
4526
|
[TRANSPLANTED_VIEWS_TO_REFRESH]: number;
|
|
4527
|
+
/** Unique ID of the view. Used for `__ngContext__` lookups in the `LView` registry. */
|
|
4528
|
+
[ID]: number;
|
|
4529
|
+
/**
|
|
4530
|
+
* Optional injector assigned to embedded views that takes
|
|
4531
|
+
* precedence over the element and module injectors.
|
|
4532
|
+
*/
|
|
4533
|
+
readonly [EMBEDDED_VIEW_INJECTOR]: Injector | null;
|
|
4526
4534
|
}
|
|
4527
4535
|
|
|
4528
4536
|
/**
|
|
@@ -4703,12 +4711,14 @@ declare const enum LViewFlags {
|
|
|
4703
4711
|
* declaration was dirty.
|
|
4704
4712
|
*/
|
|
4705
4713
|
RefreshTransplantedView = 1024,
|
|
4714
|
+
/** Indicates that the view **or any of its ancestors** have an embedded view injector. */
|
|
4715
|
+
HasEmbeddedViewInjector = 2048,
|
|
4706
4716
|
/**
|
|
4707
4717
|
* Index of the current init phase on last 21 bits
|
|
4708
4718
|
*/
|
|
4709
|
-
IndexWithinInitPhaseIncrementer =
|
|
4710
|
-
IndexWithinInitPhaseShift =
|
|
4711
|
-
IndexWithinInitPhaseReset =
|
|
4719
|
+
IndexWithinInitPhaseIncrementer = 4096,
|
|
4720
|
+
IndexWithinInitPhaseShift = 12,
|
|
4721
|
+
IndexWithinInitPhaseReset = 4095
|
|
4712
4722
|
}
|
|
4713
4723
|
|
|
4714
4724
|
/**
|
|
@@ -6435,6 +6445,7 @@ declare interface RElement extends RNode {
|
|
|
6435
6445
|
style: RCssStyleDeclaration;
|
|
6436
6446
|
classList: RDomTokenList;
|
|
6437
6447
|
className: string;
|
|
6448
|
+
tagName: string;
|
|
6438
6449
|
textContent: string | null;
|
|
6439
6450
|
setAttribute(name: string, value: string | TrustedHTML | TrustedScript | TrustedScriptURL): void;
|
|
6440
6451
|
removeAttribute(name: string): void;
|
|
@@ -7319,9 +7330,10 @@ export declare abstract class TemplateRef<C> {
|
|
|
7319
7330
|
* and attaches it to the view container.
|
|
7320
7331
|
* @param context The data-binding context of the embedded view, as declared
|
|
7321
7332
|
* in the `<ng-template>` usage.
|
|
7333
|
+
* @param injector Injector to be used within the embedded view.
|
|
7322
7334
|
* @returns The new embedded view object.
|
|
7323
7335
|
*/
|
|
7324
|
-
abstract createEmbeddedView(context: C): EmbeddedViewRef<C>;
|
|
7336
|
+
abstract createEmbeddedView(context: C, injector?: Injector): EmbeddedViewRef<C>;
|
|
7325
7337
|
}
|
|
7326
7338
|
|
|
7327
7339
|
/**
|
|
@@ -8999,6 +9011,23 @@ export declare abstract class ViewContainerRef {
|
|
|
8999
9011
|
* @returns The number of views.
|
|
9000
9012
|
*/
|
|
9001
9013
|
abstract get length(): number;
|
|
9014
|
+
/**
|
|
9015
|
+
* Instantiates an embedded view and inserts it
|
|
9016
|
+
* into this container.
|
|
9017
|
+
* @param templateRef The HTML template that defines the view.
|
|
9018
|
+
* @param context The data-binding context of the embedded view, as declared
|
|
9019
|
+
* in the `<ng-template>` usage.
|
|
9020
|
+
* @param options Extra configuration for the created view. Includes:
|
|
9021
|
+
* * index: The 0-based index at which to insert the new view into this container.
|
|
9022
|
+
* If not specified, appends the new view as the last entry.
|
|
9023
|
+
* * injector: Injector to be used within the embedded view.
|
|
9024
|
+
*
|
|
9025
|
+
* @returns The `ViewRef` instance for the newly created view.
|
|
9026
|
+
*/
|
|
9027
|
+
abstract createEmbeddedView<C>(templateRef: TemplateRef<C>, context?: C, options?: {
|
|
9028
|
+
index?: number;
|
|
9029
|
+
injector?: Injector;
|
|
9030
|
+
}): EmbeddedViewRef<C>;
|
|
9002
9031
|
/**
|
|
9003
9032
|
* Instantiates an embedded view and inserts it
|
|
9004
9033
|
* into this container.
|
|
@@ -9948,11 +9977,11 @@ export declare const ɵivyEnabled = true;
|
|
|
9948
9977
|
* function. The component, element and each directive instance will share the same instance
|
|
9949
9978
|
* of the context.
|
|
9950
9979
|
*/
|
|
9951
|
-
export declare
|
|
9980
|
+
export declare class ɵLContext {
|
|
9952
9981
|
/**
|
|
9953
|
-
*
|
|
9982
|
+
* ID of the component's parent view data.
|
|
9954
9983
|
*/
|
|
9955
|
-
|
|
9984
|
+
private lViewId;
|
|
9956
9985
|
/**
|
|
9957
9986
|
* The index instance of the node.
|
|
9958
9987
|
*/
|
|
@@ -9970,12 +9999,27 @@ export declare interface ɵLContext {
|
|
|
9970
9999
|
*/
|
|
9971
10000
|
directives: any[] | null | undefined;
|
|
9972
10001
|
/**
|
|
9973
|
-
* The map of local references (local reference name => element or directive instance) that
|
|
9974
|
-
* on this element.
|
|
10002
|
+
* The map of local references (local reference name => element or directive instance) that
|
|
10003
|
+
* exist on this element.
|
|
9975
10004
|
*/
|
|
9976
10005
|
localRefs: {
|
|
9977
10006
|
[key: string]: any;
|
|
9978
10007
|
} | null | undefined;
|
|
10008
|
+
/** Component's parent view data. */
|
|
10009
|
+
get lView(): LView | null;
|
|
10010
|
+
constructor(
|
|
10011
|
+
/**
|
|
10012
|
+
* ID of the component's parent view data.
|
|
10013
|
+
*/
|
|
10014
|
+
lViewId: number,
|
|
10015
|
+
/**
|
|
10016
|
+
* The index instance of the node.
|
|
10017
|
+
*/
|
|
10018
|
+
nodeIndex: number,
|
|
10019
|
+
/**
|
|
10020
|
+
* The instance of the DOM node that is attached to the lNode.
|
|
10021
|
+
*/
|
|
10022
|
+
native: RNode);
|
|
9979
10023
|
}
|
|
9980
10024
|
|
|
9981
10025
|
/**
|
|
@@ -128,13 +128,14 @@ export class ApplicationInitStatus {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
ApplicationInitStatus.ɵfac = function ApplicationInitStatus_Factory(t) { return new (t || ApplicationInitStatus)(i0.ɵɵinject(APP_INITIALIZER, 8)); };
|
|
131
|
-
ApplicationInitStatus.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ApplicationInitStatus, factory: ApplicationInitStatus.ɵfac });
|
|
131
|
+
ApplicationInitStatus.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ApplicationInitStatus, factory: ApplicationInitStatus.ɵfac, providedIn: 'root' });
|
|
132
132
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.setClassMetadata(ApplicationInitStatus, [{
|
|
133
|
-
type: Injectable
|
|
133
|
+
type: Injectable,
|
|
134
|
+
args: [{ providedIn: 'root' }]
|
|
134
135
|
}], function () { return [{ type: undefined, decorators: [{
|
|
135
136
|
type: Inject,
|
|
136
137
|
args: [APP_INITIALIZER]
|
|
137
138
|
}, {
|
|
138
139
|
type: Optional
|
|
139
140
|
}] }]; }, null); })();
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25faW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2FwcGxpY2F0aW9uX2luaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sYUFBYSxDQUFDOztBQUdqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUN4QixJQUFJLGNBQWMsQ0FDZCx5QkFBeUIsQ0FBQyxDQUFDO0FBRW5DOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLFlBQWtFLFFBQ2M7UUFEZCxhQUFRLEdBQVIsUUFBUSxDQUNNO1FBUHhFLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFWixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBSTNCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBRUQsTUFBTSxpQkFBaUIsR0FBbUIsRUFBRSxDQUFDO1FBRTdDLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNuQixJQUF3QixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ3pCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDcEM7cUJBQU0sSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ25DLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7d0JBQ2hFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO29CQUMzRCxDQUFDLENBQUMsQ0FBQztvQkFDSCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDN0M7YUFDRjtTQUNGO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQzthQUN6QixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsUUFBUSxFQUFFLENBQUM7UUFDYixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLFFBQVEsRUFBRSxDQUFDO1NBQ1o7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDOzswRkF0RFUscUJBQXFCLGNBT1osZUFBZTsyRUFQeEIscUJBQXFCLFdBQXJCLHFCQUFxQixtQkFEVCxNQUFNO3NGQUNsQixxQkFBcUI7Y0FEakMsVUFBVTtlQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7c0JBUWpCLE1BQU07dUJBQUMsZUFBZTs7c0JBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsfSBmcm9tICcuL2RpJztcbmltcG9ydCB7aXNPYnNlcnZhYmxlLCBpc1Byb21pc2V9IGZyb20gJy4vdXRpbC9sYW5nJztcbmltcG9ydCB7bm9vcH0gZnJvbSAnLi91dGlsL25vb3AnO1xuXG5cbi8qKlxuICogQSBbREkgdG9rZW5dKGd1aWRlL2dsb3NzYXJ5I2RpLXRva2VuIFwiREkgdG9rZW4gZGVmaW5pdGlvblwiKSB0aGF0IHlvdSBjYW4gdXNlIHRvIHByb3ZpZGVcbiAqIG9uZSBvciBtb3JlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy5cbiAqXG4gKiBUaGUgcHJvdmlkZWQgZnVuY3Rpb25zIGFyZSBpbmplY3RlZCBhdCBhcHBsaWNhdGlvbiBzdGFydHVwIGFuZCBleGVjdXRlZCBkdXJpbmdcbiAqIGFwcCBpbml0aWFsaXphdGlvbi4gSWYgYW55IG9mIHRoZXNlIGZ1bmN0aW9ucyByZXR1cm5zIGEgUHJvbWlzZSBvciBhbiBPYnNlcnZhYmxlLCBpbml0aWFsaXphdGlvblxuICogZG9lcyBub3QgY29tcGxldGUgdW50aWwgdGhlIFByb21pc2UgaXMgcmVzb2x2ZWQgb3IgdGhlIE9ic2VydmFibGUgaXMgY29tcGxldGVkLlxuICpcbiAqIFlvdSBjYW4sIGZvciBleGFtcGxlLCBjcmVhdGUgYSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgbG9hZHMgbGFuZ3VhZ2UgZGF0YVxuICogb3IgYW4gZXh0ZXJuYWwgY29uZmlndXJhdGlvbiwgYW5kIHByb3ZpZGUgdGhhdCBmdW5jdGlvbiB0byB0aGUgYEFQUF9JTklUSUFMSVpFUmAgdG9rZW4uXG4gKiBUaGUgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgZHVyaW5nIHRoZSBhcHBsaWNhdGlvbiBib290c3RyYXAgcHJvY2VzcyxcbiAqIGFuZCB0aGUgbmVlZGVkIGRhdGEgaXMgYXZhaWxhYmxlIG9uIHN0YXJ0dXAuXG4gKlxuICogQHNlZSBgQXBwbGljYXRpb25Jbml0U3RhdHVzYFxuICpcbiAqIEB1c2FnZU5vdGVzXG4gKlxuICogVGhlIGZvbGxvd2luZyBleGFtcGxlIGlsbHVzdHJhdGVzIGhvdyB0byBjb25maWd1cmUgYSBtdWx0aS1wcm92aWRlciB1c2luZyBgQVBQX0lOSVRJQUxJWkVSYCB0b2tlblxuICogYW5kIGEgZnVuY3Rpb24gcmV0dXJuaW5nIGEgcHJvbWlzZS5cbiAqXG4gKiBgYGBcbiAqICBmdW5jdGlvbiBpbml0aWFsaXplQXBwKCk6IFByb21pc2U8YW55PiB7XG4gKiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICogICAgICAvLyBEbyBzb21lIGFzeW5jaHJvbm91cyBzdHVmZlxuICogICAgICByZXNvbHZlKCk7XG4gKiAgICB9KTtcbiAqICB9XG4gKlxuICogIEBOZ01vZHVsZSh7XG4gKiAgIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlXSxcbiAqICAgZGVjbGFyYXRpb25zOiBbQXBwQ29tcG9uZW50XSxcbiAqICAgYm9vdHN0cmFwOiBbQXBwQ29tcG9uZW50XSxcbiAqICAgcHJvdmlkZXJzOiBbe1xuICogICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAqICAgICB1c2VGYWN0b3J5OiAoKSA9PiBpbml0aWFsaXplQXBwLFxuICogICAgIG11bHRpOiB0cnVlXG4gKiAgICB9XVxuICogICB9KVxuICogIGV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cbiAqIGBgYFxuICpcbiAqIEl0J3MgYWxzbyBwb3NzaWJsZSB0byBjb25maWd1cmUgYSBtdWx0aS1wcm92aWRlciB1c2luZyBgQVBQX0lOSVRJQUxJWkVSYCB0b2tlbiBhbmQgYSBmdW5jdGlvblxuICogcmV0dXJuaW5nIGFuIG9ic2VydmFibGUsIHNlZSBhbiBleGFtcGxlIGJlbG93LiBOb3RlOiB0aGUgYEh0dHBDbGllbnRgIGluIHRoaXMgZXhhbXBsZSBpcyB1c2VkIGZvclxuICogZGVtbyBwdXJwb3NlcyB0byBpbGx1c3RyYXRlIGhvdyB0aGUgZmFjdG9yeSBmdW5jdGlvbiBjYW4gd29yayB3aXRoIG90aGVyIHByb3ZpZGVycyBhdmFpbGFibGVcbiAqIHRocm91Z2ggREkuXG4gKlxuICogYGBgXG4gKiAgZnVuY3Rpb24gaW5pdGlhbGl6ZUFwcEZhY3RvcnkoaHR0cENsaWVudDogSHR0cENsaWVudCk6ICgpID0+IE9ic2VydmFibGU8YW55PiB7XG4gKiAgIHJldHVybiAoKSA9PiBodHRwQ2xpZW50LmdldChcImh0dHBzOi8vc29tZVVybC5jb20vYXBpL3VzZXJcIilcbiAqICAgICAucGlwZShcbiAqICAgICAgICB0YXAodXNlciA9PiB7IC4uLiB9KVxuICogICAgICk7XG4gKiAgfVxuICpcbiAqICBATmdNb2R1bGUoe1xuICogICAgaW1wb3J0czogW0Jyb3dzZXJNb2R1bGUsIEh0dHBDbGllbnRNb2R1bGVdLFxuICogICAgZGVjbGFyYXRpb25zOiBbQXBwQ29tcG9uZW50XSxcbiAqICAgIGJvb3RzdHJhcDogW0FwcENvbXBvbmVudF0sXG4gKiAgICBwcm92aWRlcnM6IFt7XG4gKiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAqICAgICAgdXNlRmFjdG9yeTogaW5pdGlhbGl6ZUFwcEZhY3RvcnksXG4gKiAgICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAqICAgICAgbXVsdGk6IHRydWVcbiAqICAgIH1dXG4gKiAgfSlcbiAqICBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4gKiBgYGBcbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBjb25zdCBBUFBfSU5JVElBTElaRVIgPVxuICAgIG5ldyBJbmplY3Rpb25Ub2tlbjxSZWFkb25seUFycmF5PCgpID0+IE9ic2VydmFibGU8dW5rbm93bj58IFByb21pc2U8dW5rbm93bj58IHZvaWQ+PihcbiAgICAgICAgJ0FwcGxpY2F0aW9uIEluaXRpYWxpemVyJyk7XG5cbi8qKlxuICogQSBjbGFzcyB0aGF0IHJlZmxlY3RzIHRoZSBzdGF0ZSBvZiBydW5uaW5nIHtAbGluayBBUFBfSU5JVElBTElaRVJ9IGZ1bmN0aW9ucy5cbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uSW5pdFN0YXR1cyB7XG4gIHByaXZhdGUgcmVzb2x2ZSA9IG5vb3A7XG4gIHByaXZhdGUgcmVqZWN0ID0gbm9vcDtcbiAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuICBwdWJsaWMgcmVhZG9ubHkgZG9uZVByb21pc2U6IFByb21pc2U8YW55PjtcbiAgcHVibGljIHJlYWRvbmx5IGRvbmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9JTklUSUFMSVpFUikgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBhcHBJbml0czpcbiAgICAgICAgICAgICAgICAgIFJlYWRvbmx5QXJyYXk8KCkgPT4gT2JzZXJ2YWJsZTx1bmtub3duPnwgUHJvbWlzZTx1bmtub3duPnwgdm9pZD4pIHtcbiAgICB0aGlzLmRvbmVQcm9taXNlID0gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XG4gICAgICB0aGlzLnJlc29sdmUgPSByZXM7XG4gICAgICB0aGlzLnJlamVjdCA9IHJlajtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcnVuSW5pdGlhbGl6ZXJzKCkge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYXN5bmNJbml0UHJvbWlzZXM6IFByb21pc2U8YW55PltdID0gW107XG5cbiAgICBjb25zdCBjb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgICh0aGlzIGFzIHtkb25lOiBib29sZWFufSkuZG9uZSA9IHRydWU7XG4gICAgICB0aGlzLnJlc29sdmUoKTtcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuYXBwSW5pdHMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5hcHBJbml0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpbml0UmVzdWx0ID0gdGhpcy5hcHBJbml0c1tpXSgpO1xuICAgICAgICBpZiAoaXNQcm9taXNlKGluaXRSZXN1bHQpKSB7XG4gICAgICAgICAgYXN5bmNJbml0UHJvbWlzZXMucHVzaChpbml0UmVzdWx0KTtcbiAgICAgICAgfSBlbHNlIGlmIChpc09ic2VydmFibGUoaW5pdFJlc3VsdCkpIHtcbiAgICAgICAgICBjb25zdCBvYnNlcnZhYmxlQXNQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgaW5pdFJlc3VsdC5zdWJzY3JpYmUoe2NvbXBsZXRlOiByZXNvbHZlLCBlcnJvcjogcmVqZWN0fSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYXN5bmNJbml0UHJvbWlzZXMucHVzaChvYnNlcnZhYmxlQXNQcm9taXNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIFByb21pc2UuYWxsKGFzeW5jSW5pdFByb21pc2VzKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgY29tcGxldGUoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICAgIHRoaXMucmVqZWN0KGUpO1xuICAgICAgICB9KTtcblxuICAgIGlmIChhc3luY0luaXRQcm9taXNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbXBsZXRlKCk7XG4gICAgfVxuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -5,103 +5,14 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
import { APP_INITIALIZER, ApplicationInitStatus } from './application_init';
|
|
9
8
|
import { ApplicationRef } from './application_ref';
|
|
10
|
-
import { APP_ID_RANDOM_PROVIDER } from './application_tokens';
|
|
11
|
-
import { Injector } from './di';
|
|
12
|
-
import { Inject, Optional, SkipSelf } from './di/metadata';
|
|
13
|
-
import { ErrorHandler } from './error_handler';
|
|
14
|
-
import { DEFAULT_LOCALE_ID, USD_CURRENCY_CODE } from './i18n/localization';
|
|
15
|
-
import { DEFAULT_CURRENCY_CODE, LOCALE_ID } from './i18n/tokens';
|
|
16
|
-
import { ComponentFactoryResolver } from './linker';
|
|
17
|
-
import { Compiler } from './linker/compiler';
|
|
18
9
|
import { NgModule } from './metadata';
|
|
19
|
-
import { SCHEDULER } from './render3/component_ref';
|
|
20
|
-
import { NgZone } from './zone';
|
|
21
10
|
import * as i0 from "./r3_symbols";
|
|
22
11
|
import * as i1 from "./application_ref";
|
|
23
|
-
export function _localeFactory(locale) {
|
|
24
|
-
return locale || getGlobalLocale();
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Work out the locale from the potential global properties.
|
|
28
|
-
*
|
|
29
|
-
* * Closure Compiler: use `goog.getLocale()`.
|
|
30
|
-
* * Ivy enabled: use `$localize.locale`
|
|
31
|
-
*/
|
|
32
|
-
export function getGlobalLocale() {
|
|
33
|
-
if (typeof ngI18nClosureMode !== 'undefined' && ngI18nClosureMode &&
|
|
34
|
-
typeof goog !== 'undefined' && goog.getLocale() !== 'en') {
|
|
35
|
-
// * The default `goog.getLocale()` value is `en`, while Angular used `en-US`.
|
|
36
|
-
// * In order to preserve backwards compatibility, we use Angular default value over
|
|
37
|
-
// Closure Compiler's one.
|
|
38
|
-
return goog.getLocale();
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
// KEEP `typeof $localize !== 'undefined' && $localize.locale` IN SYNC WITH THE LOCALIZE
|
|
42
|
-
// COMPILE-TIME INLINER.
|
|
43
|
-
//
|
|
44
|
-
// * During compile time inlining of translations the expression will be replaced
|
|
45
|
-
// with a string literal that is the current locale. Other forms of this expression are not
|
|
46
|
-
// guaranteed to be replaced.
|
|
47
|
-
//
|
|
48
|
-
// * During runtime translation evaluation, the developer is required to set `$localize.locale`
|
|
49
|
-
// if required, or just to provide their own `LOCALE_ID` provider.
|
|
50
|
-
return (typeof $localize !== 'undefined' && $localize.locale) || DEFAULT_LOCALE_ID;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* A built-in [dependency injection token](guide/glossary#di-token)
|
|
55
|
-
* that is used to configure the root injector for bootstrapping.
|
|
56
|
-
*/
|
|
57
|
-
export const APPLICATION_MODULE_PROVIDERS = [
|
|
58
|
-
{
|
|
59
|
-
provide: ApplicationRef,
|
|
60
|
-
useClass: ApplicationRef,
|
|
61
|
-
deps: [NgZone, Injector, ErrorHandler, ComponentFactoryResolver, ApplicationInitStatus]
|
|
62
|
-
},
|
|
63
|
-
{ provide: SCHEDULER, deps: [NgZone], useFactory: zoneSchedulerFactory },
|
|
64
|
-
{
|
|
65
|
-
provide: ApplicationInitStatus,
|
|
66
|
-
useClass: ApplicationInitStatus,
|
|
67
|
-
deps: [[new Optional(), APP_INITIALIZER]]
|
|
68
|
-
},
|
|
69
|
-
{ provide: Compiler, useClass: Compiler, deps: [] },
|
|
70
|
-
APP_ID_RANDOM_PROVIDER,
|
|
71
|
-
{
|
|
72
|
-
provide: LOCALE_ID,
|
|
73
|
-
useFactory: _localeFactory,
|
|
74
|
-
deps: [[new Inject(LOCALE_ID), new Optional(), new SkipSelf()]]
|
|
75
|
-
},
|
|
76
|
-
{ provide: DEFAULT_CURRENCY_CODE, useValue: USD_CURRENCY_CODE },
|
|
77
|
-
];
|
|
78
12
|
/**
|
|
79
|
-
* Schedule work at next available slot.
|
|
80
|
-
*
|
|
81
|
-
* In Ivy this is just `requestAnimationFrame`. For compatibility reasons when bootstrapped
|
|
82
|
-
* using `platformRef.bootstrap` we need to use `NgZone.onStable` as the scheduling mechanism.
|
|
83
|
-
* This overrides the scheduling mechanism in Ivy to `NgZone.onStable`.
|
|
84
|
-
*
|
|
85
|
-
* @param ngZone NgZone to use for scheduling.
|
|
86
|
-
*/
|
|
87
|
-
export function zoneSchedulerFactory(ngZone) {
|
|
88
|
-
let queue = [];
|
|
89
|
-
ngZone.onStable.subscribe(() => {
|
|
90
|
-
while (queue.length) {
|
|
91
|
-
queue.pop()();
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
return function (fn) {
|
|
95
|
-
queue.push(fn);
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Configures the root injector for an app with
|
|
100
|
-
* providers of `@angular/core` dependencies that `ApplicationRef` needs
|
|
101
|
-
* to bootstrap components.
|
|
102
|
-
*
|
|
103
13
|
* Re-exported by `BrowserModule`, which is included automatically in the root
|
|
104
|
-
* `AppModule` when you create a new app with the CLI `new` command.
|
|
14
|
+
* `AppModule` when you create a new app with the CLI `new` command. Eagerly injects
|
|
15
|
+
* `ApplicationRef` to instantiate it.
|
|
105
16
|
*
|
|
106
17
|
* @publicApi
|
|
107
18
|
*/
|
|
@@ -111,9 +22,8 @@ export class ApplicationModule {
|
|
|
111
22
|
}
|
|
112
23
|
ApplicationModule.ɵfac = function ApplicationModule_Factory(t) { return new (t || ApplicationModule)(i0.ɵɵinject(i1.ApplicationRef)); };
|
|
113
24
|
ApplicationModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ApplicationModule });
|
|
114
|
-
ApplicationModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({
|
|
25
|
+
ApplicationModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
115
26
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.setClassMetadata(ApplicationModule, [{
|
|
116
|
-
type: NgModule
|
|
117
|
-
args: [{ providers: APPLICATION_MODULE_PROVIDERS }]
|
|
27
|
+
type: NgModule
|
|
118
28
|
}], function () { return [{ type: i1.ApplicationRef }]; }, null); })();
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25fbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvYXBwbGljYXRpb25fbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDOzs7QUFFcEM7Ozs7OztHQU1HO0FBRUgsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qiw0Q0FBNEM7SUFDNUMsWUFBWSxNQUFzQixJQUFHLENBQUM7O2tGQUYzQixpQkFBaUI7bUVBQWpCLGlCQUFpQjs7c0ZBQWpCLGlCQUFpQjtjQUQ3QixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7QXBwbGljYXRpb25SZWZ9IGZyb20gJy4vYXBwbGljYXRpb25fcmVmJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJy4vbWV0YWRhdGEnO1xuXG4vKipcbiAqIFJlLWV4cG9ydGVkIGJ5IGBCcm93c2VyTW9kdWxlYCwgd2hpY2ggaXMgaW5jbHVkZWQgYXV0b21hdGljYWxseSBpbiB0aGUgcm9vdFxuICogYEFwcE1vZHVsZWAgd2hlbiB5b3UgY3JlYXRlIGEgbmV3IGFwcCB3aXRoIHRoZSBDTEkgYG5ld2AgY29tbWFuZC4gRWFnZXJseSBpbmplY3RzXG4gKiBgQXBwbGljYXRpb25SZWZgIHRvIGluc3RhbnRpYXRlIGl0LlxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbk1vZHVsZSB7XG4gIC8vIEluamVjdCBBcHBsaWNhdGlvblJlZiB0byBtYWtlIGl0IGVhZ2VyLi4uXG4gIGNvbnN0cnVjdG9yKGFwcFJlZjogQXBwbGljYXRpb25SZWYpIHt9XG59XG4iXX0=
|