@angular/core 6.0.0-rc.3 → 6.0.0
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/bundles/core-testing.umd.js +95 -19
- package/bundles/core-testing.umd.js.map +1 -1
- package/bundles/core-testing.umd.min.js +10 -11
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +555 -389
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +77 -77
- package/bundles/core.umd.min.js.map +1 -1
- package/core.metadata.json +1 -1
- package/esm2015/index.js +2 -2
- package/esm2015/public_api.js +2 -2
- package/esm2015/src/application_ref.js +6 -6
- package/esm2015/src/change_detection/change_detection_util.js +3 -3
- package/esm2015/src/change_detection/change_detector_ref.js +2 -2
- package/esm2015/src/change_detection/constants.js +1 -1
- package/esm2015/src/change_detection/differs/default_iterable_differ.js +15 -15
- package/esm2015/src/change_detection/differs/default_keyvalue_differ.js +2 -2
- package/esm2015/src/change_detection/differs/iterable_differs.js +15 -7
- package/esm2015/src/change_detection/differs/keyvalue_differs.js +6 -6
- package/esm2015/src/change_detection/pipe_transform.js +2 -2
- package/esm2015/src/core.js +4 -4
- package/esm2015/src/core_private_export.js +2 -2
- package/esm2015/src/core_render3_private_export.js +2 -2
- package/esm2015/src/di/defs.js +36 -19
- package/esm2015/src/di/injectable.js +3 -3
- package/esm2015/src/di/injection_token.js +2 -2
- package/esm2015/src/di/injector.js +35 -14
- package/esm2015/src/di/metadata.js +11 -11
- package/esm2015/src/di/provider.js +9 -9
- package/esm2015/src/di/r3_injector.js +12 -12
- package/esm2015/src/di/reflective_errors.js +3 -3
- package/esm2015/src/di.js +1 -1
- package/esm2015/src/error_handler.js +2 -2
- package/esm2015/src/event_emitter.js +2 -2
- package/esm2015/src/linker/compiler.js +2 -2
- package/esm2015/src/linker/component_factory.js +3 -3
- package/esm2015/src/linker/component_factory_resolver.js +2 -2
- package/esm2015/src/linker/element_ref.js +3 -3
- package/esm2015/src/linker/ng_module_factory.js +2 -2
- package/esm2015/src/linker/ng_module_factory_loader.js +2 -2
- package/esm2015/src/linker/query_list.js +2 -2
- package/esm2015/src/linker/template_ref.js +2 -2
- package/esm2015/src/linker/view_container_ref.js +2 -2
- package/esm2015/src/linker/view_ref.js +2 -2
- package/esm2015/src/metadata/di.js +12 -12
- package/esm2015/src/metadata/directives.js +15 -15
- package/esm2015/src/metadata/lifecycle_hooks.js +10 -10
- package/esm2015/src/metadata/ng_module.js +5 -5
- package/esm2015/src/metadata/view.js +1 -1
- package/esm2015/src/render3/assert.js +13 -1
- package/esm2015/src/render3/component.js +2 -1
- package/esm2015/src/render3/definition.js +4 -4
- package/esm2015/src/render3/di.js +61 -89
- package/esm2015/src/render3/hooks.js +7 -7
- package/esm2015/src/render3/index.js +1 -1
- package/esm2015/src/render3/instructions.js +128 -79
- package/esm2015/src/render3/interfaces/definition.js +9 -1
- package/esm2015/src/render3/interfaces/injector.js +1 -3
- package/esm2015/src/render3/interfaces/node.js +7 -11
- package/esm2015/src/render3/interfaces/view.js +17 -3
- package/esm2015/src/render3/node_manipulation.js +23 -3
- package/esm2015/src/render3/query.js +9 -7
- package/esm2015/src/sanitization/security.js +2 -2
- package/esm2015/src/type.js +2 -2
- package/esm2015/src/util/decorators.js +2 -2
- package/esm2015/src/util/lang.js +2 -2
- package/esm2015/src/version.js +4 -4
- package/esm2015/src/view/ng_module.js +5 -2
- package/esm2015/src/view/refs.js +1 -1
- package/esm2015/testing/src/async.js +2 -2
- package/esm2015/testing/src/async_fallback.js +2 -2
- package/esm2015/testing/src/component_fixture.js +2 -2
- package/esm2015/testing/src/test_bed.js +3 -3
- package/esm5/src/application_ref.js +7 -7
- package/esm5/src/change_detection/change_detection_util.js +7 -7
- package/esm5/src/change_detection/change_detector_ref.js +4 -4
- package/esm5/src/change_detection/constants.js +4 -4
- package/esm5/src/change_detection/differs/default_iterable_differ.js +18 -18
- package/esm5/src/change_detection/differs/default_keyvalue_differ.js +3 -3
- package/esm5/src/change_detection/differs/iterable_differs.js +9 -11
- package/esm5/src/change_detection/differs/keyvalue_differs.js +4 -4
- package/esm5/src/change_detection/pipe_transform.js +1 -1
- package/esm5/src/core_private_export.js +2 -2
- package/esm5/src/core_render3_private_export.js +2 -2
- package/esm5/src/di/defs.js +3 -6
- package/esm5/src/di/injectable.js +2 -2
- package/esm5/src/di/injection_token.js +4 -4
- package/esm5/src/di/injector.js +26 -11
- package/esm5/src/di/metadata.js +6 -6
- package/esm5/src/di/provider.js +1 -1
- package/esm5/src/di/r3_injector.js +12 -12
- package/esm5/src/di/reflective_errors.js +3 -3
- package/esm5/src/di.js +2 -2
- package/esm5/src/error_handler.js +4 -4
- package/esm5/src/event_emitter.js +4 -4
- package/esm5/src/linker/compiler.js +2 -2
- package/esm5/src/linker/component_factory.js +7 -7
- package/esm5/src/linker/component_factory_resolver.js +2 -2
- package/esm5/src/linker/element_ref.js +4 -4
- package/esm5/src/linker/ng_module_factory.js +4 -4
- package/esm5/src/linker/ng_module_factory_loader.js +4 -4
- package/esm5/src/linker/query_list.js +4 -4
- package/esm5/src/linker/template_ref.js +4 -4
- package/esm5/src/linker/view_container_ref.js +4 -4
- package/esm5/src/linker/view_ref.js +4 -4
- package/esm5/src/metadata/di.js +9 -9
- package/esm5/src/metadata/directives.js +8 -8
- package/esm5/src/metadata/lifecycle_hooks.js +1 -1
- package/esm5/src/metadata/ng_module.js +3 -3
- package/esm5/src/metadata/view.js +4 -4
- package/esm5/src/render3/assert.js +6 -1
- package/esm5/src/render3/component.js +2 -1
- package/esm5/src/render3/definition.js +1 -1
- package/esm5/src/render3/di.js +51 -74
- package/esm5/src/render3/hooks.js +6 -6
- package/esm5/src/render3/index.js +1 -1
- package/esm5/src/render3/instructions.js +123 -76
- package/esm5/src/render3/interfaces/definition.js +1 -1
- package/esm5/src/render3/interfaces/injector.js +1 -1
- package/esm5/src/render3/interfaces/node.js +1 -1
- package/esm5/src/render3/interfaces/view.js +1 -1
- package/esm5/src/render3/node_manipulation.js +20 -2
- package/esm5/src/render3/query.js +9 -7
- package/esm5/src/sanitization/security.js +7 -7
- package/esm5/src/type.js +2 -2
- package/esm5/src/util/decorators.js +1 -1
- package/esm5/src/util/lang.js +2 -2
- package/esm5/src/version.js +6 -6
- package/esm5/src/view/ng_module.js +5 -2
- package/esm5/src/view/refs.js +1 -1
- package/esm5/testing/src/async.js +2 -2
- package/esm5/testing/src/async_fallback.js +2 -2
- package/esm5/testing/src/component_fixture.js +4 -4
- package/esm5/testing/src/test_bed.js +5 -5
- package/fesm2015/core.js +468 -372
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +6 -6
- package/fesm2015/testing.js.map +1 -1
- package/fesm5/core.js +403 -321
- package/fesm5/core.js.map +1 -1
- package/fesm5/testing.js +6 -6
- package/fesm5/testing.js.map +1 -1
- package/package.json +5 -4
- package/src/application_ref.d.ts +5 -5
- package/src/change_detection/change_detection_util.d.ts +2 -2
- package/src/change_detection/change_detector_ref.d.ts +1 -1
- package/src/change_detection/constants.d.ts +1 -1
- package/src/change_detection/differs/default_iterable_differ.d.ts +1 -1
- package/src/change_detection/differs/iterable_differs.d.ts +8 -7
- package/src/change_detection/differs/keyvalue_differs.d.ts +5 -5
- package/src/change_detection/pipe_transform.d.ts +1 -1
- package/src/core_private_export.d.ts +1 -1
- package/src/core_render3_private_export.d.ts +1 -1
- package/src/di/defs.d.ts +29 -10
- package/src/di/injectable.d.ts +3 -3
- package/src/di/injection_token.d.ts +3 -4
- package/src/di/injector.d.ts +14 -11
- package/src/di/metadata.d.ts +20 -20
- package/src/di/provider.d.ts +10 -10
- package/src/di/r3_injector.d.ts +3 -3
- package/src/di/reflective_errors.d.ts +2 -2
- package/src/di.d.ts +1 -1
- package/src/error_handler.d.ts +1 -1
- package/src/event_emitter.d.ts +1 -1
- package/src/linker/compiler.d.ts +1 -1
- package/src/linker/component_factory.d.ts +2 -2
- package/src/linker/component_factory_resolver.d.ts +1 -1
- package/src/linker/element_ref.d.ts +2 -2
- package/src/linker/ng_module_factory.d.ts +1 -1
- package/src/linker/ng_module_factory_loader.d.ts +1 -1
- package/src/linker/query_list.d.ts +1 -1
- package/src/linker/template_ref.d.ts +1 -1
- package/src/linker/view_container_ref.d.ts +1 -1
- package/src/linker/view_ref.d.ts +1 -1
- package/src/metadata/di.d.ts +21 -21
- package/src/metadata/directives.d.ts +28 -28
- package/src/metadata/lifecycle_hooks.d.ts +9 -9
- package/src/metadata/ng_module.d.ts +5 -5
- package/src/metadata/view.d.ts +1 -1
- package/src/render3/assert.d.ts +1 -0
- package/src/render3/definition.d.ts +3 -3
- package/src/render3/di.d.ts +4 -14
- package/src/render3/index.d.ts +2 -1
- package/src/render3/instructions.d.ts +3 -3
- package/src/render3/interfaces/definition.d.ts +23 -4
- package/src/render3/interfaces/injector.d.ts +0 -2
- package/src/render3/interfaces/node.d.ts +7 -13
- package/src/render3/interfaces/view.d.ts +16 -3
- package/src/render3/node_manipulation.d.ts +3 -2
- package/src/sanitization/security.d.ts +2 -2
- package/src/type.d.ts +1 -1
- package/src/util/decorators.d.ts +1 -1
- package/src/version.d.ts +2 -2
- package/testing/src/async.d.ts +1 -1
- package/testing/src/async_fallback.d.ts +1 -1
- package/testing/src/component_fixture.d.ts +1 -1
- package/testing/src/test_bed.d.ts +2 -2
- package/testing.d.ts +1 -1
package/fesm5/core.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v6.0.0
|
|
2
|
+
* @license Angular v6.0.0
|
|
3
3
|
* (c) 2010-2018 Google, Inc. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -33,8 +33,7 @@ import { share } from 'rxjs/operators';
|
|
|
33
33
|
*/
|
|
34
34
|
function defineInjectable(opts) {
|
|
35
35
|
return {
|
|
36
|
-
providedIn: opts.providedIn || null,
|
|
37
|
-
factory: opts.factory,
|
|
36
|
+
providedIn: opts.providedIn || null, factory: opts.factory, value: undefined,
|
|
38
37
|
};
|
|
39
38
|
}
|
|
40
39
|
/**
|
|
@@ -59,9 +58,7 @@ function defineInjectable(opts) {
|
|
|
59
58
|
*/
|
|
60
59
|
function defineInjector(options) {
|
|
61
60
|
return {
|
|
62
|
-
factory: options.factory,
|
|
63
|
-
providers: options.providers || [],
|
|
64
|
-
imports: options.imports || [],
|
|
61
|
+
factory: options.factory, providers: options.providers || [], imports: options.imports || [],
|
|
65
62
|
};
|
|
66
63
|
}
|
|
67
64
|
|
|
@@ -108,7 +105,7 @@ function defineInjector(options) {
|
|
|
108
105
|
*
|
|
109
106
|
* {@example core/di/ts/injector_spec.ts region='InjectionToken'}
|
|
110
107
|
*
|
|
111
|
-
*
|
|
108
|
+
*
|
|
112
109
|
*/
|
|
113
110
|
var InjectionToken = /** @class */ (function () {
|
|
114
111
|
function InjectionToken(_desc, options) {
|
|
@@ -304,7 +301,7 @@ var ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponents
|
|
|
304
301
|
/**
|
|
305
302
|
* Attribute decorator and metadata.
|
|
306
303
|
*
|
|
307
|
-
*
|
|
304
|
+
*
|
|
308
305
|
* @Annotation
|
|
309
306
|
*/
|
|
310
307
|
var Attribute = makeParamDecorator('Attribute', function (attributeName) { return ({ attributeName: attributeName }); });
|
|
@@ -314,7 +311,7 @@ var Attribute = makeParamDecorator('Attribute', function (attributeName) { retur
|
|
|
314
311
|
* See {@link ContentChildren}, {@link ContentChild}, {@link ViewChildren}, {@link ViewChild} for
|
|
315
312
|
* more information.
|
|
316
313
|
*
|
|
317
|
-
*
|
|
314
|
+
*
|
|
318
315
|
*/
|
|
319
316
|
var Query = /** @class */ (function () {
|
|
320
317
|
function Query() {
|
|
@@ -324,7 +321,7 @@ var Query = /** @class */ (function () {
|
|
|
324
321
|
/**
|
|
325
322
|
* ContentChildren decorator and metadata.
|
|
326
323
|
*
|
|
327
|
-
*
|
|
324
|
+
*
|
|
328
325
|
* @Annotation
|
|
329
326
|
*/
|
|
330
327
|
var ContentChildren = makePropDecorator('ContentChildren', function (selector, data) {
|
|
@@ -334,7 +331,7 @@ var ContentChildren = makePropDecorator('ContentChildren', function (selector, d
|
|
|
334
331
|
/**
|
|
335
332
|
* ContentChild decorator and metadata.
|
|
336
333
|
*
|
|
337
|
-
*
|
|
334
|
+
*
|
|
338
335
|
* @Annotation
|
|
339
336
|
*/
|
|
340
337
|
var ContentChild = makePropDecorator('ContentChild', function (selector, data) {
|
|
@@ -344,7 +341,7 @@ var ContentChild = makePropDecorator('ContentChild', function (selector, data) {
|
|
|
344
341
|
/**
|
|
345
342
|
* ViewChildren decorator and metadata.
|
|
346
343
|
*
|
|
347
|
-
*
|
|
344
|
+
*
|
|
348
345
|
* @Annotation
|
|
349
346
|
*/
|
|
350
347
|
var ViewChildren = makePropDecorator('ViewChildren', function (selector, data) {
|
|
@@ -354,7 +351,7 @@ var ViewChildren = makePropDecorator('ViewChildren', function (selector, data) {
|
|
|
354
351
|
/**
|
|
355
352
|
* ViewChild decorator and metadata.
|
|
356
353
|
*
|
|
357
|
-
*
|
|
354
|
+
*
|
|
358
355
|
* @Annotation
|
|
359
356
|
*/
|
|
360
357
|
var ViewChild = makePropDecorator('ViewChild', function (selector, data) {
|
|
@@ -378,18 +375,18 @@ var ViewChild = makePropDecorator('ViewChild', function (selector, data) {
|
|
|
378
375
|
/**
|
|
379
376
|
* Describes within the change detector which strategy will be used the next time change
|
|
380
377
|
* detection is triggered.
|
|
381
|
-
*
|
|
378
|
+
*
|
|
382
379
|
*/
|
|
383
380
|
/**
|
|
384
381
|
* Describes within the change detector which strategy will be used the next time change
|
|
385
382
|
* detection is triggered.
|
|
386
|
-
*
|
|
383
|
+
*
|
|
387
384
|
*/
|
|
388
385
|
var ChangeDetectionStrategy;
|
|
389
386
|
/**
|
|
390
387
|
* Describes within the change detector which strategy will be used the next time change
|
|
391
388
|
* detection is triggered.
|
|
392
|
-
*
|
|
389
|
+
*
|
|
393
390
|
*/
|
|
394
391
|
(function (ChangeDetectionStrategy) {
|
|
395
392
|
/**
|
|
@@ -458,7 +455,7 @@ function isDefaultChangeDetectionStrategy(changeDetectionStrategy) {
|
|
|
458
455
|
/**
|
|
459
456
|
* Directive decorator and metadata.
|
|
460
457
|
*
|
|
461
|
-
*
|
|
458
|
+
*
|
|
462
459
|
* @Annotation
|
|
463
460
|
*/
|
|
464
461
|
var Directive = makeDecorator('Directive', function (dir) {
|
|
@@ -468,7 +465,7 @@ var Directive = makeDecorator('Directive', function (dir) {
|
|
|
468
465
|
/**
|
|
469
466
|
* Component decorator and metadata.
|
|
470
467
|
*
|
|
471
|
-
*
|
|
468
|
+
*
|
|
472
469
|
* @Annotation
|
|
473
470
|
*/
|
|
474
471
|
var Component = makeDecorator('Component', function (c) {
|
|
@@ -484,35 +481,35 @@ var Component = makeDecorator('Component', function (c) {
|
|
|
484
481
|
* To use the pipe include a reference to the pipe class in
|
|
485
482
|
* {@link NgModule#declarations}.
|
|
486
483
|
*
|
|
487
|
-
*
|
|
484
|
+
*
|
|
488
485
|
* @Annotation
|
|
489
486
|
*/
|
|
490
487
|
var Pipe = makeDecorator('Pipe', function (p) { return (__assign({ pure: true }, p)); });
|
|
491
488
|
/**
|
|
492
489
|
* Input decorator and metadata.
|
|
493
490
|
*
|
|
494
|
-
*
|
|
491
|
+
*
|
|
495
492
|
* @Annotation
|
|
496
493
|
*/
|
|
497
494
|
var Input = makePropDecorator('Input', function (bindingPropertyName) { return ({ bindingPropertyName: bindingPropertyName }); });
|
|
498
495
|
/**
|
|
499
496
|
* Output decorator and metadata.
|
|
500
497
|
*
|
|
501
|
-
*
|
|
498
|
+
*
|
|
502
499
|
* @Annotation
|
|
503
500
|
*/
|
|
504
501
|
var Output = makePropDecorator('Output', function (bindingPropertyName) { return ({ bindingPropertyName: bindingPropertyName }); });
|
|
505
502
|
/**
|
|
506
503
|
* HostBinding decorator and metadata.
|
|
507
504
|
*
|
|
508
|
-
*
|
|
505
|
+
*
|
|
509
506
|
* @Annotation
|
|
510
507
|
*/
|
|
511
508
|
var HostBinding = makePropDecorator('HostBinding', function (hostPropertyName) { return ({ hostPropertyName: hostPropertyName }); });
|
|
512
509
|
/**
|
|
513
510
|
* HostListener decorator and metadata.
|
|
514
511
|
*
|
|
515
|
-
*
|
|
512
|
+
*
|
|
516
513
|
* @Annotation
|
|
517
514
|
*/
|
|
518
515
|
var HostListener = makePropDecorator('HostListener', function (eventName, args) { return ({ eventName: eventName, args: args }); });
|
|
@@ -532,7 +529,7 @@ var HostListener = makePropDecorator('HostListener', function (eventName, args)
|
|
|
532
529
|
* An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by
|
|
533
530
|
* the `MyCustomComponent` constructor function.
|
|
534
531
|
*
|
|
535
|
-
*
|
|
532
|
+
*
|
|
536
533
|
*/
|
|
537
534
|
var Type = Function;
|
|
538
535
|
function isType(v) {
|
|
@@ -921,35 +918,35 @@ function resolveForwardRef(type) {
|
|
|
921
918
|
/**
|
|
922
919
|
* Inject decorator and metadata.
|
|
923
920
|
*
|
|
924
|
-
*
|
|
921
|
+
*
|
|
925
922
|
* @Annotation
|
|
926
923
|
*/
|
|
927
924
|
var Inject = makeParamDecorator('Inject', function (token) { return ({ token: token }); });
|
|
928
925
|
/**
|
|
929
926
|
* Optional decorator and metadata.
|
|
930
927
|
*
|
|
931
|
-
*
|
|
928
|
+
*
|
|
932
929
|
* @Annotation
|
|
933
930
|
*/
|
|
934
931
|
var Optional = makeParamDecorator('Optional');
|
|
935
932
|
/**
|
|
936
933
|
* Self decorator and metadata.
|
|
937
934
|
*
|
|
938
|
-
*
|
|
935
|
+
*
|
|
939
936
|
* @Annotation
|
|
940
937
|
*/
|
|
941
938
|
var Self = makeParamDecorator('Self');
|
|
942
939
|
/**
|
|
943
940
|
* SkipSelf decorator and metadata.
|
|
944
941
|
*
|
|
945
|
-
*
|
|
942
|
+
*
|
|
946
943
|
* @Annotation
|
|
947
944
|
*/
|
|
948
945
|
var SkipSelf = makeParamDecorator('SkipSelf');
|
|
949
946
|
/**
|
|
950
947
|
* Host decorator and metadata.
|
|
951
948
|
*
|
|
952
|
-
*
|
|
949
|
+
*
|
|
953
950
|
* @Annotation
|
|
954
951
|
*/
|
|
955
952
|
var Host = makeParamDecorator('Host');
|
|
@@ -1005,7 +1002,7 @@ var NullInjector = /** @class */ (function () {
|
|
|
1005
1002
|
* `Injector` returns itself when given `Injector` as a token:
|
|
1006
1003
|
* {@example core/di/ts/injector_spec.ts region='injectInjector'}
|
|
1007
1004
|
*
|
|
1008
|
-
*
|
|
1005
|
+
*
|
|
1009
1006
|
*/
|
|
1010
1007
|
var Injector = /** @class */ (function () {
|
|
1011
1008
|
function Injector() {
|
|
@@ -1200,7 +1197,7 @@ function tryResolveToken(token, record, records, parent, notFoundValue, flags) {
|
|
|
1200
1197
|
}
|
|
1201
1198
|
function resolveToken(token, record, records, parent, notFoundValue, flags) {
|
|
1202
1199
|
var value;
|
|
1203
|
-
if (record && !(flags &
|
|
1200
|
+
if (record && !(flags & 4 /* SkipSelf */)) {
|
|
1204
1201
|
// If we don't have a record, this implies that we don't own the provider hence don't know how
|
|
1205
1202
|
// to resolve it.
|
|
1206
1203
|
value = record.value;
|
|
@@ -1308,18 +1305,34 @@ function getClosureSafeProperty$1(objWithPropertyToExtract) {
|
|
|
1308
1305
|
}
|
|
1309
1306
|
throw Error('!prop');
|
|
1310
1307
|
}
|
|
1311
|
-
|
|
1308
|
+
/**
|
|
1309
|
+
* Current injector value used by `inject`.
|
|
1310
|
+
* - `undefined`: it is an error to call `inject`
|
|
1311
|
+
* - `null`: `inject` can be called but there is no injector (limp-mode).
|
|
1312
|
+
* - Injector instance: Use the injector for resolution.
|
|
1313
|
+
*/
|
|
1314
|
+
var _currentInjector = undefined;
|
|
1312
1315
|
function setCurrentInjector(injector) {
|
|
1313
1316
|
var former = _currentInjector;
|
|
1314
1317
|
_currentInjector = injector;
|
|
1315
1318
|
return former;
|
|
1316
1319
|
}
|
|
1317
|
-
function inject(token,
|
|
1320
|
+
function inject(token, flags) {
|
|
1318
1321
|
if (flags === void 0) { flags = 0 /* Default */; }
|
|
1319
|
-
if (_currentInjector ===
|
|
1322
|
+
if (_currentInjector === undefined) {
|
|
1320
1323
|
throw new Error("inject() must be called from an injection context");
|
|
1321
1324
|
}
|
|
1322
|
-
|
|
1325
|
+
else if (_currentInjector === null) {
|
|
1326
|
+
var injectableDef = token.ngInjectableDef;
|
|
1327
|
+
if (injectableDef && injectableDef.providedIn == 'root') {
|
|
1328
|
+
return injectableDef.value === undefined ? injectableDef.value = injectableDef.factory() :
|
|
1329
|
+
injectableDef.value;
|
|
1330
|
+
}
|
|
1331
|
+
throw new Error("Injector: NOT_FOUND [" + stringify(token) + "]");
|
|
1332
|
+
}
|
|
1333
|
+
else {
|
|
1334
|
+
return _currentInjector.get(token, flags & 8 /* Optional */ ? null : undefined, flags);
|
|
1335
|
+
}
|
|
1323
1336
|
}
|
|
1324
1337
|
function injectArgs(types) {
|
|
1325
1338
|
var args = [];
|
|
@@ -1330,17 +1343,17 @@ function injectArgs(types) {
|
|
|
1330
1343
|
throw new Error('Arguments array must have arguments.');
|
|
1331
1344
|
}
|
|
1332
1345
|
var type = undefined;
|
|
1333
|
-
var
|
|
1346
|
+
var flags = 0;
|
|
1334
1347
|
for (var j = 0; j < arg.length; j++) {
|
|
1335
1348
|
var meta = arg[j];
|
|
1336
1349
|
if (meta instanceof Optional || meta.__proto__.ngMetadataName === 'Optional') {
|
|
1337
|
-
|
|
1350
|
+
flags |= 8 /* Optional */;
|
|
1338
1351
|
}
|
|
1339
1352
|
else if (meta instanceof SkipSelf || meta.__proto__.ngMetadataName === 'SkipSelf') {
|
|
1340
|
-
|
|
1353
|
+
flags |= 4 /* SkipSelf */;
|
|
1341
1354
|
}
|
|
1342
1355
|
else if (meta instanceof Self || meta.__proto__.ngMetadataName === 'Self') {
|
|
1343
|
-
|
|
1356
|
+
flags |= 2 /* Self */;
|
|
1344
1357
|
}
|
|
1345
1358
|
else if (meta instanceof Inject) {
|
|
1346
1359
|
type = meta.token;
|
|
@@ -1349,7 +1362,7 @@ function injectArgs(types) {
|
|
|
1349
1362
|
type = meta;
|
|
1350
1363
|
}
|
|
1351
1364
|
}
|
|
1352
|
-
args.push(inject((type),
|
|
1365
|
+
args.push(inject((type), flags));
|
|
1353
1366
|
}
|
|
1354
1367
|
else {
|
|
1355
1368
|
args.push(inject(arg));
|
|
@@ -1412,7 +1425,7 @@ function convertInjectableProviderToFactory(type, provider) {
|
|
|
1412
1425
|
/**
|
|
1413
1426
|
* Injectable decorator and metadata.
|
|
1414
1427
|
*
|
|
1415
|
-
*
|
|
1428
|
+
*
|
|
1416
1429
|
* @Annotation
|
|
1417
1430
|
*/
|
|
1418
1431
|
var Injectable = makeDecorator('Injectable', undefined, undefined, undefined, function (injectableType, options) {
|
|
@@ -1438,7 +1451,7 @@ var Injectable = makeDecorator('Injectable', undefined, undefined, undefined, fu
|
|
|
1438
1451
|
* - any properties on elements with a `-` in their name which is the common rule for custom
|
|
1439
1452
|
* elements.
|
|
1440
1453
|
*
|
|
1441
|
-
*
|
|
1454
|
+
*
|
|
1442
1455
|
*/
|
|
1443
1456
|
var CUSTOM_ELEMENTS_SCHEMA = {
|
|
1444
1457
|
name: 'custom-elements'
|
|
@@ -1454,7 +1467,7 @@ var NO_ERRORS_SCHEMA = {
|
|
|
1454
1467
|
/**
|
|
1455
1468
|
* NgModule decorator and metadata.
|
|
1456
1469
|
*
|
|
1457
|
-
*
|
|
1470
|
+
*
|
|
1458
1471
|
* @Annotation
|
|
1459
1472
|
*/
|
|
1460
1473
|
var NgModule = makeDecorator('NgModule', function (ngModule) { return ngModule; }, undefined, undefined, function (moduleType, metadata) {
|
|
@@ -1487,20 +1500,20 @@ var NgModule = makeDecorator('NgModule', function (ngModule) { return ngModule;
|
|
|
1487
1500
|
* Defines template and style encapsulation options available for Component's {@link Component}.
|
|
1488
1501
|
*
|
|
1489
1502
|
* See {@link Component#encapsulation encapsulation}.
|
|
1490
|
-
*
|
|
1503
|
+
*
|
|
1491
1504
|
*/
|
|
1492
1505
|
/**
|
|
1493
1506
|
* Defines template and style encapsulation options available for Component's {@link Component}.
|
|
1494
1507
|
*
|
|
1495
1508
|
* See {@link Component#encapsulation encapsulation}.
|
|
1496
|
-
*
|
|
1509
|
+
*
|
|
1497
1510
|
*/
|
|
1498
1511
|
var ViewEncapsulation;
|
|
1499
1512
|
/**
|
|
1500
1513
|
* Defines template and style encapsulation options available for Component's {@link Component}.
|
|
1501
1514
|
*
|
|
1502
1515
|
* See {@link Component#encapsulation encapsulation}.
|
|
1503
|
-
*
|
|
1516
|
+
*
|
|
1504
1517
|
*/
|
|
1505
1518
|
(function (ViewEncapsulation) {
|
|
1506
1519
|
/**
|
|
@@ -1543,7 +1556,7 @@ var ViewEncapsulation;
|
|
|
1543
1556
|
/**
|
|
1544
1557
|
* @description Represents the version of Angular
|
|
1545
1558
|
*
|
|
1546
|
-
*
|
|
1559
|
+
*
|
|
1547
1560
|
*/
|
|
1548
1561
|
var Version = /** @class */ (function () {
|
|
1549
1562
|
function Version(full) {
|
|
@@ -1555,9 +1568,9 @@ var Version = /** @class */ (function () {
|
|
|
1555
1568
|
return Version;
|
|
1556
1569
|
}());
|
|
1557
1570
|
/**
|
|
1558
|
-
*
|
|
1571
|
+
*
|
|
1559
1572
|
*/
|
|
1560
|
-
var VERSION = new Version('6.0.0
|
|
1573
|
+
var VERSION = new Version('6.0.0');
|
|
1561
1574
|
|
|
1562
1575
|
/**
|
|
1563
1576
|
* @license
|
|
@@ -1619,7 +1632,7 @@ function defaultErrorLogger(console) {
|
|
|
1619
1632
|
* class MyModule {}
|
|
1620
1633
|
* ```
|
|
1621
1634
|
*
|
|
1622
|
-
*
|
|
1635
|
+
*
|
|
1623
1636
|
*/
|
|
1624
1637
|
var ErrorHandler = /** @class */ (function () {
|
|
1625
1638
|
function ErrorHandler() {
|
|
@@ -1827,7 +1840,7 @@ function invalidProviderError(provider) {
|
|
|
1827
1840
|
*
|
|
1828
1841
|
* expect(() => Injector.resolveAndCreate([A,B])).toThrowError();
|
|
1829
1842
|
* ```
|
|
1830
|
-
*
|
|
1843
|
+
*
|
|
1831
1844
|
*/
|
|
1832
1845
|
function noAnnotationError(typeOrFunc, params) {
|
|
1833
1846
|
var signature = [];
|
|
@@ -1857,7 +1870,7 @@ function noAnnotationError(typeOrFunc, params) {
|
|
|
1857
1870
|
*
|
|
1858
1871
|
* expect(() => injector.getAt(100)).toThrowError();
|
|
1859
1872
|
* ```
|
|
1860
|
-
*
|
|
1873
|
+
*
|
|
1861
1874
|
*/
|
|
1862
1875
|
function outOfBoundsError(index) {
|
|
1863
1876
|
return Error("Index " + index + " is out-of-bounds.");
|
|
@@ -2752,7 +2765,7 @@ function getNullInjector() {
|
|
|
2752
2765
|
return NULL_INJECTOR$1;
|
|
2753
2766
|
}
|
|
2754
2767
|
/**
|
|
2755
|
-
* Create a new `Injector` which is configured using `
|
|
2768
|
+
* Create a new `Injector` which is configured using `InjectorType`s.
|
|
2756
2769
|
*
|
|
2757
2770
|
* @experimental
|
|
2758
2771
|
*/
|
|
@@ -2770,7 +2783,7 @@ var R3Injector = /** @class */ (function () {
|
|
|
2770
2783
|
*/
|
|
2771
2784
|
this.records = new Map();
|
|
2772
2785
|
/**
|
|
2773
|
-
* The transitive set of `
|
|
2786
|
+
* The transitive set of `InjectorType`s which define this injector.
|
|
2774
2787
|
*/
|
|
2775
2788
|
this.injectorDefTypes = new Set();
|
|
2776
2789
|
/**
|
|
@@ -2781,7 +2794,7 @@ var R3Injector = /** @class */ (function () {
|
|
|
2781
2794
|
* Flag indicating that this injector was previously destroyed.
|
|
2782
2795
|
*/
|
|
2783
2796
|
this.destroyed = false;
|
|
2784
|
-
// Start off by creating Records for every provider declared in every
|
|
2797
|
+
// Start off by creating Records for every provider declared in every InjectorType
|
|
2785
2798
|
// included transitively in `def`.
|
|
2786
2799
|
deepForEach([def], function (injectorDef) { return _this.processInjectorType(injectorDef, new Set()); });
|
|
2787
2800
|
// Make sure the INJECTOR token provides this injector.
|
|
@@ -2789,7 +2802,7 @@ var R3Injector = /** @class */ (function () {
|
|
|
2789
2802
|
// Detect whether this injector has the APP_ROOT_SCOPE token and thus should provide
|
|
2790
2803
|
// any injectable scoped to APP_ROOT_SCOPE.
|
|
2791
2804
|
this.isRootInjector = this.records.has(APP_ROOT);
|
|
2792
|
-
// Eagerly instantiate the
|
|
2805
|
+
// Eagerly instantiate the InjectorType classes themselves.
|
|
2793
2806
|
this.injectorDefTypes.forEach(function (defType) { return _this.get(defType); });
|
|
2794
2807
|
}
|
|
2795
2808
|
/**
|
|
@@ -2833,7 +2846,7 @@ var R3Injector = /** @class */ (function () {
|
|
|
2833
2846
|
var previousInjector = setCurrentInjector(this);
|
|
2834
2847
|
try {
|
|
2835
2848
|
// Check for the SkipSelf flag.
|
|
2836
|
-
if (!(flags &
|
|
2849
|
+
if (!(flags & 4 /* SkipSelf */)) {
|
|
2837
2850
|
// SkipSelf isn't set, check if the record belongs to this injector.
|
|
2838
2851
|
var record = this.records.get(token);
|
|
2839
2852
|
if (record === undefined) {
|
|
@@ -2870,28 +2883,28 @@ var R3Injector = /** @class */ (function () {
|
|
|
2870
2883
|
}
|
|
2871
2884
|
};
|
|
2872
2885
|
/**
|
|
2873
|
-
* Add an `
|
|
2886
|
+
* Add an `InjectorType` or `InjectorDefTypeWithProviders` and all of its transitive providers
|
|
2874
2887
|
* to this injector.
|
|
2875
2888
|
*/
|
|
2876
2889
|
/**
|
|
2877
|
-
* Add an `
|
|
2890
|
+
* Add an `InjectorType` or `InjectorDefTypeWithProviders` and all of its transitive providers
|
|
2878
2891
|
* to this injector.
|
|
2879
2892
|
*/
|
|
2880
2893
|
R3Injector.prototype.processInjectorType = /**
|
|
2881
|
-
* Add an `
|
|
2894
|
+
* Add an `InjectorType` or `InjectorDefTypeWithProviders` and all of its transitive providers
|
|
2882
2895
|
* to this injector.
|
|
2883
2896
|
*/
|
|
2884
2897
|
function (defOrWrappedDef, parents) {
|
|
2885
2898
|
var _this = this;
|
|
2886
2899
|
defOrWrappedDef = resolveForwardRef(defOrWrappedDef);
|
|
2887
|
-
// Either the defOrWrappedDef is an
|
|
2900
|
+
// Either the defOrWrappedDef is an InjectorType (with ngInjectorDef) or an
|
|
2888
2901
|
// InjectorDefTypeWithProviders (aka ModuleWithProviders). Detecting either is a megamorphic
|
|
2889
2902
|
// read, so care is taken to only do the read once.
|
|
2890
2903
|
// First attempt to read the ngInjectorDef.
|
|
2891
2904
|
var def = defOrWrappedDef.ngInjectorDef;
|
|
2892
2905
|
// If that's not present, then attempt to read ngModule from the InjectorDefTypeWithProviders.
|
|
2893
2906
|
var ngModule = (def == null) && defOrWrappedDef.ngModule || undefined;
|
|
2894
|
-
// Determine the
|
|
2907
|
+
// Determine the InjectorType. In the case where `defOrWrappedDef` is an `InjectorType`,
|
|
2895
2908
|
// then this is easy. In the case of an InjectorDefTypeWithProviders, then the definition type
|
|
2896
2909
|
// is the `ngModule`.
|
|
2897
2910
|
var defType = (ngModule === undefined) ? defOrWrappedDef : ngModule;
|
|
@@ -2912,7 +2925,7 @@ var R3Injector = /** @class */ (function () {
|
|
|
2912
2925
|
if (parents.has(defType)) {
|
|
2913
2926
|
throw new Error("Circular dependency: type " + stringify(defType) + " ends up importing itself.");
|
|
2914
2927
|
}
|
|
2915
|
-
// Track the
|
|
2928
|
+
// Track the InjectorType and add a provider for it.
|
|
2916
2929
|
this.injectorDefTypes.add(defType);
|
|
2917
2930
|
this.records.set(defType, makeRecord(def.factory));
|
|
2918
2931
|
// Add providers in the same way that @NgModule resolution did:
|
|
@@ -3103,7 +3116,7 @@ function isPromise(obj) {
|
|
|
3103
3116
|
* Determine if the argument is an Observable
|
|
3104
3117
|
*/
|
|
3105
3118
|
function isObservable(obj) {
|
|
3106
|
-
// TODO use Symbol.observable when https://github.com/ReactiveX/rxjs/issues/2415 will be resolved
|
|
3119
|
+
// TODO: use Symbol.observable when https://github.com/ReactiveX/rxjs/issues/2415 will be resolved
|
|
3107
3120
|
return !!obj && typeof obj.subscribe === 'function';
|
|
3108
3121
|
}
|
|
3109
3122
|
|
|
@@ -3290,7 +3303,7 @@ function _throwError() {
|
|
|
3290
3303
|
* Each `@NgModule` provides an own `Compiler` to its injector,
|
|
3291
3304
|
* that will use the directives/pipes of the ng module for compilation
|
|
3292
3305
|
* of components.
|
|
3293
|
-
*
|
|
3306
|
+
*
|
|
3294
3307
|
*/
|
|
3295
3308
|
var Compiler = /** @class */ (function () {
|
|
3296
3309
|
function Compiler() {
|
|
@@ -3399,7 +3412,7 @@ var CompilerFactory = /** @class */ (function () {
|
|
|
3399
3412
|
* `ComponentRef` provides access to the Component Instance as well other objects related to this
|
|
3400
3413
|
* Component Instance and allows you to destroy the Component Instance via the {@link #destroy}
|
|
3401
3414
|
* method.
|
|
3402
|
-
*
|
|
3415
|
+
*
|
|
3403
3416
|
*/
|
|
3404
3417
|
var ComponentRef = /** @class */ (function () {
|
|
3405
3418
|
function ComponentRef() {
|
|
@@ -3407,7 +3420,7 @@ var ComponentRef = /** @class */ (function () {
|
|
|
3407
3420
|
return ComponentRef;
|
|
3408
3421
|
}());
|
|
3409
3422
|
/**
|
|
3410
|
-
*
|
|
3423
|
+
*
|
|
3411
3424
|
*/
|
|
3412
3425
|
var ComponentFactory = /** @class */ (function () {
|
|
3413
3426
|
function ComponentFactory() {
|
|
@@ -3438,7 +3451,7 @@ var _NullComponentFactoryResolver = /** @class */ (function () {
|
|
|
3438
3451
|
return _NullComponentFactoryResolver;
|
|
3439
3452
|
}());
|
|
3440
3453
|
/**
|
|
3441
|
-
*
|
|
3454
|
+
*
|
|
3442
3455
|
*/
|
|
3443
3456
|
var ComponentFactoryResolver = /** @class */ (function () {
|
|
3444
3457
|
function ComponentFactoryResolver() {
|
|
@@ -3500,7 +3513,7 @@ var ComponentFactoryBoundToModule = /** @class */ (function (_super) {
|
|
|
3500
3513
|
* `NgModuleRef` provides access to the NgModule Instance as well other objects related to this
|
|
3501
3514
|
* NgModule Instance.
|
|
3502
3515
|
*
|
|
3503
|
-
*
|
|
3516
|
+
*
|
|
3504
3517
|
*/
|
|
3505
3518
|
var NgModuleRef = /** @class */ (function () {
|
|
3506
3519
|
function NgModuleRef() {
|
|
@@ -3680,7 +3693,7 @@ var wtfEndTimeRange = wtfEnabled ? endTimeRange : function (r) { return null; };
|
|
|
3680
3693
|
* https://github.com/jhusain/observable-spec
|
|
3681
3694
|
*
|
|
3682
3695
|
* Once a reference implementation of the spec is available, switch to it.
|
|
3683
|
-
*
|
|
3696
|
+
*
|
|
3684
3697
|
*/
|
|
3685
3698
|
var EventEmitter = /** @class */ (function (_super) {
|
|
3686
3699
|
__extends(EventEmitter, _super);
|
|
@@ -4507,7 +4520,7 @@ var ALLOW_MULTIPLE_PLATFORMS = new InjectionToken('AllowMultipleToken');
|
|
|
4507
4520
|
* does not result in additional changes to any bindings (also known as
|
|
4508
4521
|
* unidirectional data flow).
|
|
4509
4522
|
*
|
|
4510
|
-
*
|
|
4523
|
+
*
|
|
4511
4524
|
*/
|
|
4512
4525
|
function enableProdMode() {
|
|
4513
4526
|
if (_runModeLocked) {
|
|
@@ -4621,7 +4634,7 @@ function getPlatform() {
|
|
|
4621
4634
|
* A page's platform is initialized implicitly when a platform is created via a platform factory
|
|
4622
4635
|
* (e.g. {@link platformBrowser}), or explicitly by calling the {@link createPlatform} function.
|
|
4623
4636
|
*
|
|
4624
|
-
*
|
|
4637
|
+
*
|
|
4625
4638
|
*/
|
|
4626
4639
|
var PlatformRef = /** @class */ (function () {
|
|
4627
4640
|
/** @internal */
|
|
@@ -4745,7 +4758,7 @@ var PlatformRef = /** @class */ (function () {
|
|
|
4745
4758
|
*
|
|
4746
4759
|
* let moduleRef = platformBrowser().bootstrapModule(MyModule);
|
|
4747
4760
|
* ```
|
|
4748
|
-
*
|
|
4761
|
+
*
|
|
4749
4762
|
*/
|
|
4750
4763
|
/**
|
|
4751
4764
|
* Creates an instance of an `@NgModule` for a given platform using the given runtime compiler.
|
|
@@ -4760,7 +4773,7 @@ var PlatformRef = /** @class */ (function () {
|
|
|
4760
4773
|
*
|
|
4761
4774
|
* let moduleRef = platformBrowser().bootstrapModule(MyModule);
|
|
4762
4775
|
* ```
|
|
4763
|
-
*
|
|
4776
|
+
*
|
|
4764
4777
|
*/
|
|
4765
4778
|
PlatformRef.prototype.bootstrapModule = /**
|
|
4766
4779
|
* Creates an instance of an `@NgModule` for a given platform using the given runtime compiler.
|
|
@@ -4775,7 +4788,7 @@ var PlatformRef = /** @class */ (function () {
|
|
|
4775
4788
|
*
|
|
4776
4789
|
* let moduleRef = platformBrowser().bootstrapModule(MyModule);
|
|
4777
4790
|
* ```
|
|
4778
|
-
*
|
|
4791
|
+
*
|
|
4779
4792
|
*/
|
|
4780
4793
|
function (moduleType, compilerOptions) {
|
|
4781
4794
|
var _this = this;
|
|
@@ -4895,7 +4908,7 @@ function optionsReducer(dst, objs) {
|
|
|
4895
4908
|
/**
|
|
4896
4909
|
* A reference to an Angular application running on a page.
|
|
4897
4910
|
*
|
|
4898
|
-
*
|
|
4911
|
+
*
|
|
4899
4912
|
*/
|
|
4900
4913
|
var ApplicationRef = /** @class */ (function () {
|
|
4901
4914
|
/** @internal */
|
|
@@ -5301,7 +5314,7 @@ var Renderer2 = /** @class */ (function () {
|
|
|
5301
5314
|
* XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the
|
|
5302
5315
|
* [Security Guide](http://g.co/ng/security).
|
|
5303
5316
|
*
|
|
5304
|
-
*
|
|
5317
|
+
*
|
|
5305
5318
|
*/
|
|
5306
5319
|
// Note: We don't expose things like `Injector`, `ViewContainer`, ... here,
|
|
5307
5320
|
// i.e. users have to ask for what they need. With that, we can build better analysis tools
|
|
@@ -5322,7 +5335,7 @@ var ElementRef = /** @class */ (function () {
|
|
|
5322
5335
|
*/
|
|
5323
5336
|
/**
|
|
5324
5337
|
* Used to load ng module factories.
|
|
5325
|
-
*
|
|
5338
|
+
*
|
|
5326
5339
|
*/
|
|
5327
5340
|
var NgModuleFactoryLoader = /** @class */ (function () {
|
|
5328
5341
|
function NgModuleFactoryLoader() {
|
|
@@ -5384,7 +5397,7 @@ function getModuleFactory(id) {
|
|
|
5384
5397
|
* @ViewChildren(Item) items:QueryList<Item>;
|
|
5385
5398
|
* }
|
|
5386
5399
|
* ```
|
|
5387
|
-
*
|
|
5400
|
+
*
|
|
5388
5401
|
*/
|
|
5389
5402
|
var QueryList = /** @class */ (function () {
|
|
5390
5403
|
function QueryList() {
|
|
@@ -5603,7 +5616,7 @@ function checkNotEmpty(value, modulePath, exportName) {
|
|
|
5603
5616
|
*
|
|
5604
5617
|
* To instantiate Embedded Views based on a Template, use {@link ViewContainerRef#
|
|
5605
5618
|
* createEmbeddedView}, which will create the View and attach it to the View Container.
|
|
5606
|
-
*
|
|
5619
|
+
*
|
|
5607
5620
|
*/
|
|
5608
5621
|
var TemplateRef = /** @class */ (function () {
|
|
5609
5622
|
function TemplateRef() {
|
|
@@ -5634,7 +5647,7 @@ var TemplateRef = /** @class */ (function () {
|
|
|
5634
5647
|
*
|
|
5635
5648
|
* To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected
|
|
5636
5649
|
* with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.
|
|
5637
|
-
*
|
|
5650
|
+
*
|
|
5638
5651
|
*/
|
|
5639
5652
|
var ViewContainerRef = /** @class */ (function () {
|
|
5640
5653
|
function ViewContainerRef() {
|
|
@@ -5650,7 +5663,7 @@ var ViewContainerRef = /** @class */ (function () {
|
|
|
5650
5663
|
* found in the LICENSE file at https://angular.io/license
|
|
5651
5664
|
*/
|
|
5652
5665
|
/**
|
|
5653
|
-
*
|
|
5666
|
+
*
|
|
5654
5667
|
*/
|
|
5655
5668
|
var ChangeDetectorRef = /** @class */ (function () {
|
|
5656
5669
|
function ChangeDetectorRef() {
|
|
@@ -5666,7 +5679,7 @@ var ChangeDetectorRef = /** @class */ (function () {
|
|
|
5666
5679
|
* found in the LICENSE file at https://angular.io/license
|
|
5667
5680
|
*/
|
|
5668
5681
|
/**
|
|
5669
|
-
*
|
|
5682
|
+
*
|
|
5670
5683
|
*/
|
|
5671
5684
|
var ViewRef = /** @class */ (function (_super) {
|
|
5672
5685
|
__extends(ViewRef, _super);
|
|
@@ -5971,7 +5984,7 @@ function devModeEqual(a, b) {
|
|
|
5971
5984
|
* return WrappedValue.wrap(this._latestValue); // this will force update
|
|
5972
5985
|
* }
|
|
5973
5986
|
* ```
|
|
5974
|
-
*
|
|
5987
|
+
*
|
|
5975
5988
|
*/
|
|
5976
5989
|
var WrappedValue = /** @class */ (function () {
|
|
5977
5990
|
function WrappedValue(value) {
|
|
@@ -6002,7 +6015,7 @@ var WrappedValue = /** @class */ (function () {
|
|
|
6002
6015
|
}());
|
|
6003
6016
|
/**
|
|
6004
6017
|
* Represents a basic change from a previous to a new value.
|
|
6005
|
-
*
|
|
6018
|
+
*
|
|
6006
6019
|
*/
|
|
6007
6020
|
var SimpleChange = /** @class */ (function () {
|
|
6008
6021
|
function SimpleChange(previousValue, currentValue, firstChange) {
|
|
@@ -6312,7 +6325,7 @@ var DefaultIterableDiffer = /** @class */ (function () {
|
|
|
6312
6325
|
this._movesHead = this._movesTail = null;
|
|
6313
6326
|
this._removalsHead = this._removalsTail = null;
|
|
6314
6327
|
this._identityChangesHead = this._identityChangesTail = null;
|
|
6315
|
-
//
|
|
6328
|
+
// TODO(vicb): when assert gets supported
|
|
6316
6329
|
// assert(!this.isDirty);
|
|
6317
6330
|
}
|
|
6318
6331
|
};
|
|
@@ -6563,12 +6576,12 @@ var DefaultIterableDiffer = /** @class */ (function () {
|
|
|
6563
6576
|
function (record, prevRecord, index) {
|
|
6564
6577
|
this._insertAfter(record, prevRecord, index);
|
|
6565
6578
|
if (this._additionsTail === null) {
|
|
6566
|
-
//
|
|
6579
|
+
// TODO(vicb):
|
|
6567
6580
|
// assert(this._additionsHead === null);
|
|
6568
6581
|
this._additionsTail = this._additionsHead = record;
|
|
6569
6582
|
}
|
|
6570
6583
|
else {
|
|
6571
|
-
//
|
|
6584
|
+
// TODO(vicb):
|
|
6572
6585
|
// assert(_additionsTail._nextAdded === null);
|
|
6573
6586
|
// assert(record._nextAdded === null);
|
|
6574
6587
|
this._additionsTail = this._additionsTail._nextAdded = record;
|
|
@@ -6579,12 +6592,12 @@ var DefaultIterableDiffer = /** @class */ (function () {
|
|
|
6579
6592
|
/** @internal */
|
|
6580
6593
|
DefaultIterableDiffer.prototype._insertAfter = /** @internal */
|
|
6581
6594
|
function (record, prevRecord, index) {
|
|
6582
|
-
//
|
|
6595
|
+
// TODO(vicb):
|
|
6583
6596
|
// assert(record != prevRecord);
|
|
6584
6597
|
// assert(record._next === null);
|
|
6585
6598
|
// assert(record._prev === null);
|
|
6586
6599
|
var next = prevRecord === null ? this._itHead : prevRecord._next;
|
|
6587
|
-
//
|
|
6600
|
+
// TODO(vicb):
|
|
6588
6601
|
// assert(next != record);
|
|
6589
6602
|
// assert(prevRecord != record);
|
|
6590
6603
|
record._next = next;
|
|
@@ -6623,7 +6636,7 @@ var DefaultIterableDiffer = /** @class */ (function () {
|
|
|
6623
6636
|
}
|
|
6624
6637
|
var prev = record._prev;
|
|
6625
6638
|
var next = record._next;
|
|
6626
|
-
//
|
|
6639
|
+
// TODO(vicb):
|
|
6627
6640
|
// assert((record._prev = null) === null);
|
|
6628
6641
|
// assert((record._next = null) === null);
|
|
6629
6642
|
if (prev === null) {
|
|
@@ -6644,18 +6657,18 @@ var DefaultIterableDiffer = /** @class */ (function () {
|
|
|
6644
6657
|
/** @internal */
|
|
6645
6658
|
DefaultIterableDiffer.prototype._addToMoves = /** @internal */
|
|
6646
6659
|
function (record, toIndex) {
|
|
6647
|
-
//
|
|
6660
|
+
// TODO(vicb):
|
|
6648
6661
|
// assert(record._nextMoved === null);
|
|
6649
6662
|
if (record.previousIndex === toIndex) {
|
|
6650
6663
|
return record;
|
|
6651
6664
|
}
|
|
6652
6665
|
if (this._movesTail === null) {
|
|
6653
|
-
//
|
|
6666
|
+
// TODO(vicb):
|
|
6654
6667
|
// assert(_movesHead === null);
|
|
6655
6668
|
this._movesTail = this._movesHead = record;
|
|
6656
6669
|
}
|
|
6657
6670
|
else {
|
|
6658
|
-
//
|
|
6671
|
+
// TODO(vicb):
|
|
6659
6672
|
// assert(_movesTail._nextMoved === null);
|
|
6660
6673
|
this._movesTail = this._movesTail._nextMoved = record;
|
|
6661
6674
|
}
|
|
@@ -6669,13 +6682,13 @@ var DefaultIterableDiffer = /** @class */ (function () {
|
|
|
6669
6682
|
record.currentIndex = null;
|
|
6670
6683
|
record._nextRemoved = null;
|
|
6671
6684
|
if (this._removalsTail === null) {
|
|
6672
|
-
//
|
|
6685
|
+
// TODO(vicb):
|
|
6673
6686
|
// assert(_removalsHead === null);
|
|
6674
6687
|
this._removalsTail = this._removalsHead = record;
|
|
6675
6688
|
record._prevRemoved = null;
|
|
6676
6689
|
}
|
|
6677
6690
|
else {
|
|
6678
|
-
//
|
|
6691
|
+
// TODO(vicb):
|
|
6679
6692
|
// assert(_removalsTail._nextRemoved === null);
|
|
6680
6693
|
// assert(record._nextRemoved === null);
|
|
6681
6694
|
record._prevRemoved = this._removalsTail;
|
|
@@ -6699,7 +6712,7 @@ var DefaultIterableDiffer = /** @class */ (function () {
|
|
|
6699
6712
|
return DefaultIterableDiffer;
|
|
6700
6713
|
}());
|
|
6701
6714
|
/**
|
|
6702
|
-
*
|
|
6715
|
+
*
|
|
6703
6716
|
*/
|
|
6704
6717
|
var IterableChangeRecord_ = /** @class */ (function () {
|
|
6705
6718
|
function IterableChangeRecord_(item, trackById) {
|
|
@@ -6760,10 +6773,10 @@ var _DuplicateItemRecordList = /** @class */ (function () {
|
|
|
6760
6773
|
record._prevDup = null;
|
|
6761
6774
|
}
|
|
6762
6775
|
else {
|
|
6763
|
-
//
|
|
6776
|
+
// TODO(vicb):
|
|
6764
6777
|
// assert(record.item == _head.item ||
|
|
6765
6778
|
// record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN);
|
|
6766
|
-
//
|
|
6779
|
+
// TODO(vicb):
|
|
6767
6780
|
// assert(record.item == _head.item ||
|
|
6768
6781
|
// record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN);
|
|
6769
6782
|
this._tail._nextDup = record;
|
|
@@ -6805,7 +6818,7 @@ var _DuplicateItemRecordList = /** @class */ (function () {
|
|
|
6805
6818
|
* Returns whether the list of duplicates is empty.
|
|
6806
6819
|
*/
|
|
6807
6820
|
function (record) {
|
|
6808
|
-
//
|
|
6821
|
+
// TODO(vicb):
|
|
6809
6822
|
// assert(() {
|
|
6810
6823
|
// // verify that the record being removed is in the list.
|
|
6811
6824
|
// for (IterableChangeRecord_ cursor = _head; cursor != null; cursor = cursor._nextDup) {
|
|
@@ -7180,7 +7193,7 @@ var DefaultKeyValueDiffer = /** @class */ (function () {
|
|
|
7180
7193
|
return DefaultKeyValueDiffer;
|
|
7181
7194
|
}());
|
|
7182
7195
|
/**
|
|
7183
|
-
*
|
|
7196
|
+
*
|
|
7184
7197
|
*/
|
|
7185
7198
|
var KeyValueChangeRecord_ = /** @class */ (function () {
|
|
7186
7199
|
function KeyValueChangeRecord_(key) {
|
|
@@ -7212,7 +7225,7 @@ var KeyValueChangeRecord_ = /** @class */ (function () {
|
|
|
7212
7225
|
*/
|
|
7213
7226
|
/**
|
|
7214
7227
|
* A repository of different iterable diffing strategies used by NgFor, NgClass, and others.
|
|
7215
|
-
*
|
|
7228
|
+
*
|
|
7216
7229
|
*/
|
|
7217
7230
|
var IterableDiffers = /** @class */ (function () {
|
|
7218
7231
|
function IterableDiffers(factories) {
|
|
@@ -7307,6 +7320,10 @@ var IterableDiffers = /** @class */ (function () {
|
|
|
7307
7320
|
throw new Error("Cannot find a differ supporting object '" + iterable + "' of type '" + getTypeNameForDebugging(iterable) + "'");
|
|
7308
7321
|
}
|
|
7309
7322
|
};
|
|
7323
|
+
IterableDiffers.ngInjectableDef = defineInjectable({
|
|
7324
|
+
providedIn: 'root',
|
|
7325
|
+
factory: function () { return new IterableDiffers([new DefaultIterableDifferFactory()]); }
|
|
7326
|
+
});
|
|
7310
7327
|
return IterableDiffers;
|
|
7311
7328
|
}());
|
|
7312
7329
|
function getTypeNameForDebugging(type) {
|
|
@@ -7322,7 +7339,7 @@ function getTypeNameForDebugging(type) {
|
|
|
7322
7339
|
*/
|
|
7323
7340
|
/**
|
|
7324
7341
|
* A repository of different Map diffing strategies used by NgClass, NgStyle, and others.
|
|
7325
|
-
*
|
|
7342
|
+
*
|
|
7326
7343
|
*/
|
|
7327
7344
|
var KeyValueDiffers = /** @class */ (function () {
|
|
7328
7345
|
function KeyValueDiffers(factories) {
|
|
@@ -8282,7 +8299,7 @@ function _sanitizeStyle(value) {
|
|
|
8282
8299
|
*
|
|
8283
8300
|
* See DomSanitizer for more details on security in Angular applications.
|
|
8284
8301
|
*
|
|
8285
|
-
*
|
|
8302
|
+
*
|
|
8286
8303
|
*/
|
|
8287
8304
|
/**
|
|
8288
8305
|
* A SecurityContext marks a location that has dangerous security implications, e.g. a DOM property
|
|
@@ -8291,7 +8308,7 @@ function _sanitizeStyle(value) {
|
|
|
8291
8308
|
*
|
|
8292
8309
|
* See DomSanitizer for more details on security in Angular applications.
|
|
8293
8310
|
*
|
|
8294
|
-
*
|
|
8311
|
+
*
|
|
8295
8312
|
*/
|
|
8296
8313
|
var SecurityContext;
|
|
8297
8314
|
/**
|
|
@@ -8301,7 +8318,7 @@ var SecurityContext;
|
|
|
8301
8318
|
*
|
|
8302
8319
|
* See DomSanitizer for more details on security in Angular applications.
|
|
8303
8320
|
*
|
|
8304
|
-
*
|
|
8321
|
+
*
|
|
8305
8322
|
*/
|
|
8306
8323
|
(function (SecurityContext) {
|
|
8307
8324
|
SecurityContext[SecurityContext["NONE"] = 0] = "NONE";
|
|
@@ -8314,7 +8331,7 @@ var SecurityContext;
|
|
|
8314
8331
|
/**
|
|
8315
8332
|
* Sanitizer is used by the views to sanitize potentially dangerous values.
|
|
8316
8333
|
*
|
|
8317
|
-
*
|
|
8334
|
+
*
|
|
8318
8335
|
*/
|
|
8319
8336
|
var Sanitizer = /** @class */ (function () {
|
|
8320
8337
|
function Sanitizer() {
|
|
@@ -9169,7 +9186,10 @@ function initNgModule(data) {
|
|
|
9169
9186
|
for (var i = 0; i < def.providers.length; i++) {
|
|
9170
9187
|
var provDef = def.providers[i];
|
|
9171
9188
|
if (!(provDef.flags & 4096 /* LazyProvider */)) {
|
|
9172
|
-
|
|
9189
|
+
// Make sure the provider has not been already initialized outside this loop.
|
|
9190
|
+
if (providers[i] === undefined) {
|
|
9191
|
+
providers[i] = _createProviderInstance$1(data, provDef);
|
|
9192
|
+
}
|
|
9173
9193
|
}
|
|
9174
9194
|
}
|
|
9175
9195
|
}
|
|
@@ -9890,7 +9910,7 @@ var NgModuleRef_ = /** @class */ (function () {
|
|
|
9890
9910
|
if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; }
|
|
9891
9911
|
if (injectFlags === void 0) { injectFlags = 0 /* Default */; }
|
|
9892
9912
|
var flags = 0;
|
|
9893
|
-
if (injectFlags &
|
|
9913
|
+
if (injectFlags & 4 /* SkipSelf */) {
|
|
9894
9914
|
flags |= 1 /* SkipSelf */;
|
|
9895
9915
|
}
|
|
9896
9916
|
else if (injectFlags & 2 /* Self */) {
|
|
@@ -12458,6 +12478,11 @@ function assertLessThan(actual, expected, msg) {
|
|
|
12458
12478
|
throwError(msg);
|
|
12459
12479
|
}
|
|
12460
12480
|
}
|
|
12481
|
+
function assertGreaterThan(actual, expected, msg) {
|
|
12482
|
+
if (actual <= expected) {
|
|
12483
|
+
throwError(msg);
|
|
12484
|
+
}
|
|
12485
|
+
}
|
|
12461
12486
|
function assertNull(actual, msg) {
|
|
12462
12487
|
if (actual != null) {
|
|
12463
12488
|
throwError(msg);
|
|
@@ -12517,8 +12542,8 @@ function queueLifecycleHooks(flags, currentView) {
|
|
|
12517
12542
|
var tView = currentView.tView;
|
|
12518
12543
|
if (tView.firstTemplatePass === true) {
|
|
12519
12544
|
var start = flags >> 13;
|
|
12520
|
-
var
|
|
12521
|
-
var end = start +
|
|
12545
|
+
var count = flags & 4095;
|
|
12546
|
+
var end = start + count;
|
|
12522
12547
|
// It's necessary to loop through the directives at elementEnd() (rather than processing in
|
|
12523
12548
|
// directiveCreate) so we can preserve the current hook order. Content, view, and destroy
|
|
12524
12549
|
// hooks for projected components and directives must be called *before* their hosts.
|
|
@@ -12562,9 +12587,9 @@ function queueDestroyHooks(def, tView, i) {
|
|
|
12562
12587
|
* @param currentView The current view
|
|
12563
12588
|
*/
|
|
12564
12589
|
function executeInitHooks(currentView, tView, creationMode) {
|
|
12565
|
-
if (currentView.lifecycleStage === 1 /*
|
|
12590
|
+
if (currentView.lifecycleStage === 1 /* Init */) {
|
|
12566
12591
|
executeHooks((currentView.directives), tView.initHooks, tView.checkHooks, creationMode);
|
|
12567
|
-
currentView.lifecycleStage = 2 /*
|
|
12592
|
+
currentView.lifecycleStage = 2 /* AfterInit */;
|
|
12568
12593
|
}
|
|
12569
12594
|
}
|
|
12570
12595
|
/**
|
|
@@ -12705,6 +12730,64 @@ var domRendererFactory3 = {
|
|
|
12705
12730
|
// Note: This hack is necessary so we don't erroneously get a circular dependency
|
|
12706
12731
|
// failure based on types.
|
|
12707
12732
|
|
|
12733
|
+
/**
|
|
12734
|
+
* @license
|
|
12735
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
12736
|
+
*
|
|
12737
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
12738
|
+
* found in the LICENSE file at https://angular.io/license
|
|
12739
|
+
*/
|
|
12740
|
+
/**
|
|
12741
|
+
* Must use this method for CD (instead of === ) since NaN !== NaN
|
|
12742
|
+
*/
|
|
12743
|
+
function isDifferent(a, b) {
|
|
12744
|
+
// NaN is the only value that is not equal to itself so the first
|
|
12745
|
+
// test checks if both a and b are not NaN
|
|
12746
|
+
return !(a !== a && b !== b) && a !== b;
|
|
12747
|
+
}
|
|
12748
|
+
function stringify$1(value) {
|
|
12749
|
+
if (typeof value == 'function')
|
|
12750
|
+
return value.name || value;
|
|
12751
|
+
if (typeof value == 'string')
|
|
12752
|
+
return value;
|
|
12753
|
+
if (value == null)
|
|
12754
|
+
return '';
|
|
12755
|
+
return '' + value;
|
|
12756
|
+
}
|
|
12757
|
+
/**
|
|
12758
|
+
* Function that throws a "not implemented" error so it's clear certain
|
|
12759
|
+
* behaviors/methods aren't yet ready.
|
|
12760
|
+
*
|
|
12761
|
+
* @returns Not implemented error
|
|
12762
|
+
*/
|
|
12763
|
+
function notImplemented() {
|
|
12764
|
+
return new Error('NotImplemented');
|
|
12765
|
+
}
|
|
12766
|
+
/**
|
|
12767
|
+
* Flattens an array in non-recursive way. Input arrays are not modified.
|
|
12768
|
+
*/
|
|
12769
|
+
function flatten$1(list) {
|
|
12770
|
+
var result = [];
|
|
12771
|
+
var i = 0;
|
|
12772
|
+
while (i < list.length) {
|
|
12773
|
+
var item = list[i];
|
|
12774
|
+
if (Array.isArray(item)) {
|
|
12775
|
+
if (item.length > 0) {
|
|
12776
|
+
list = item.concat(list.slice(i + 1));
|
|
12777
|
+
i = 0;
|
|
12778
|
+
}
|
|
12779
|
+
else {
|
|
12780
|
+
i++;
|
|
12781
|
+
}
|
|
12782
|
+
}
|
|
12783
|
+
else {
|
|
12784
|
+
result.push(item);
|
|
12785
|
+
i++;
|
|
12786
|
+
}
|
|
12787
|
+
}
|
|
12788
|
+
return result;
|
|
12789
|
+
}
|
|
12790
|
+
|
|
12708
12791
|
/**
|
|
12709
12792
|
* @license
|
|
12710
12793
|
* Copyright Google Inc. All Rights Reserved.
|
|
@@ -12835,6 +12918,10 @@ function findFirstRNode(rootNode) {
|
|
|
12835
12918
|
}
|
|
12836
12919
|
return null;
|
|
12837
12920
|
}
|
|
12921
|
+
function createTextNode(value, renderer) {
|
|
12922
|
+
return isProceduralRenderer(renderer) ? renderer.createText(stringify$1(value)) :
|
|
12923
|
+
renderer.createTextNode(stringify$1(value));
|
|
12924
|
+
}
|
|
12838
12925
|
function addRemoveViewFromContainer(container, rootNode, insertMode, beforeNode) {
|
|
12839
12926
|
ngDevMode && assertNodeType(container, 0 /* Container */);
|
|
12840
12927
|
ngDevMode && assertNodeType(rootNode, 2 /* View */);
|
|
@@ -12847,6 +12934,15 @@ function addRemoveViewFromContainer(container, rootNode, insertMode, beforeNode)
|
|
|
12847
12934
|
var renderer = container.view.renderer;
|
|
12848
12935
|
if (node.type === 3 /* Element */) {
|
|
12849
12936
|
if (insertMode) {
|
|
12937
|
+
if (!node.native) {
|
|
12938
|
+
// If the native element doesn't exist, this is a bound text node that hasn't yet been
|
|
12939
|
+
// created because update mode has not run (occurs when a bound text node is a root
|
|
12940
|
+
// node of a dynamically created view). See textBinding() in instructions for ctx.
|
|
12941
|
+
// If the native element doesn't exist, this is a bound text node that hasn't yet been
|
|
12942
|
+
// created because update mode has not run (occurs when a bound text node is a root
|
|
12943
|
+
// node of a dynamically created view). See textBinding() in instructions for ctx.
|
|
12944
|
+
node.native = createTextNode('', renderer);
|
|
12945
|
+
}
|
|
12850
12946
|
isProceduralRenderer(renderer) ?
|
|
12851
12947
|
renderer.insertBefore(parent, (node.native), beforeNode) :
|
|
12852
12948
|
parent.insertBefore((node.native), beforeNode, true);
|
|
@@ -12980,6 +13076,7 @@ function removeView(container, removeIndex) {
|
|
|
12980
13076
|
setViewNext(views[removeIndex - 1], viewNode.next);
|
|
12981
13077
|
}
|
|
12982
13078
|
views.splice(removeIndex, 1);
|
|
13079
|
+
viewNode.next = null;
|
|
12983
13080
|
destroyViewTree(viewNode.data);
|
|
12984
13081
|
addRemoveViewFromContainer(container, viewNode, false);
|
|
12985
13082
|
// Notify query that view has been removed
|
|
@@ -13135,7 +13232,7 @@ function appendProjectedNode(node, currentParent, currentView) {
|
|
|
13135
13232
|
if (node.type !== 0 /* Container */) {
|
|
13136
13233
|
appendChild(currentParent, node.native, currentView);
|
|
13137
13234
|
}
|
|
13138
|
-
else
|
|
13235
|
+
else {
|
|
13139
13236
|
// The node we are adding is a Container and we are adding it to Element which
|
|
13140
13237
|
// is not a component (no more re-projection).
|
|
13141
13238
|
// Alternatively a container is projected at the root of a component's template
|
|
@@ -13148,6 +13245,9 @@ function appendProjectedNode(node, currentParent, currentView) {
|
|
|
13148
13245
|
addRemoveViewFromContainer(node, views[i], true, null);
|
|
13149
13246
|
}
|
|
13150
13247
|
}
|
|
13248
|
+
if (node.dynamicLContainerNode) {
|
|
13249
|
+
node.dynamicLContainerNode.data.renderParent = currentParent;
|
|
13250
|
+
}
|
|
13151
13251
|
}
|
|
13152
13252
|
|
|
13153
13253
|
/**
|
|
@@ -13284,64 +13384,6 @@ function matchingSelectorIndex(tNode, selectors, textSelectors) {
|
|
|
13284
13384
|
return 0;
|
|
13285
13385
|
}
|
|
13286
13386
|
|
|
13287
|
-
/**
|
|
13288
|
-
* @license
|
|
13289
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
13290
|
-
*
|
|
13291
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
13292
|
-
* found in the LICENSE file at https://angular.io/license
|
|
13293
|
-
*/
|
|
13294
|
-
/**
|
|
13295
|
-
* Must use this method for CD (instead of === ) since NaN !== NaN
|
|
13296
|
-
*/
|
|
13297
|
-
function isDifferent(a, b) {
|
|
13298
|
-
// NaN is the only value that is not equal to itself so the first
|
|
13299
|
-
// test checks if both a and b are not NaN
|
|
13300
|
-
return !(a !== a && b !== b) && a !== b;
|
|
13301
|
-
}
|
|
13302
|
-
function stringify$1(value) {
|
|
13303
|
-
if (typeof value == 'function')
|
|
13304
|
-
return value.name || value;
|
|
13305
|
-
if (typeof value == 'string')
|
|
13306
|
-
return value;
|
|
13307
|
-
if (value == null)
|
|
13308
|
-
return '';
|
|
13309
|
-
return '' + value;
|
|
13310
|
-
}
|
|
13311
|
-
/**
|
|
13312
|
-
* Function that throws a "not implemented" error so it's clear certain
|
|
13313
|
-
* behaviors/methods aren't yet ready.
|
|
13314
|
-
*
|
|
13315
|
-
* @returns Not implemented error
|
|
13316
|
-
*/
|
|
13317
|
-
function notImplemented() {
|
|
13318
|
-
return new Error('NotImplemented');
|
|
13319
|
-
}
|
|
13320
|
-
/**
|
|
13321
|
-
* Flattens an array in non-recursive way. Input arrays are not modified.
|
|
13322
|
-
*/
|
|
13323
|
-
function flatten$1(list) {
|
|
13324
|
-
var result = [];
|
|
13325
|
-
var i = 0;
|
|
13326
|
-
while (i < list.length) {
|
|
13327
|
-
var item = list[i];
|
|
13328
|
-
if (Array.isArray(item)) {
|
|
13329
|
-
if (item.length > 0) {
|
|
13330
|
-
list = item.concat(list.slice(i + 1));
|
|
13331
|
-
i = 0;
|
|
13332
|
-
}
|
|
13333
|
-
else {
|
|
13334
|
-
i++;
|
|
13335
|
-
}
|
|
13336
|
-
}
|
|
13337
|
-
else {
|
|
13338
|
-
result.push(item);
|
|
13339
|
-
i++;
|
|
13340
|
-
}
|
|
13341
|
-
}
|
|
13342
|
-
return result;
|
|
13343
|
-
}
|
|
13344
|
-
|
|
13345
13387
|
/** Called when directives inject each other (creating a circular dependency) */
|
|
13346
13388
|
function throwCyclicDependencyError(token) {
|
|
13347
13389
|
throw new Error("Cannot instantiate cyclic dependency! " + token);
|
|
@@ -13472,10 +13514,6 @@ var data;
|
|
|
13472
13514
|
* unknown at compile-time and thus space cannot be reserved in data[].
|
|
13473
13515
|
*/
|
|
13474
13516
|
var directives;
|
|
13475
|
-
/**
|
|
13476
|
-
* Points to the next binding index to read or write to.
|
|
13477
|
-
*/
|
|
13478
|
-
var bindingIndex;
|
|
13479
13517
|
/**
|
|
13480
13518
|
* When a view is destroyed, listeners need to be released and outputs need to be
|
|
13481
13519
|
* unsubscribed. This cleanup array stores both listener data (in chunks of 4)
|
|
@@ -13518,12 +13556,14 @@ function enterView(newView, host) {
|
|
|
13518
13556
|
var oldView = currentView;
|
|
13519
13557
|
data = newView && newView.data;
|
|
13520
13558
|
directives = newView && newView.directives;
|
|
13521
|
-
bindingIndex = newView && newView.bindingStartIndex || 0;
|
|
13522
13559
|
tData = newView && newView.tView.data;
|
|
13523
13560
|
creationMode = newView && (newView.flags & 1 /* CreationMode */) === 1 /* CreationMode */;
|
|
13524
13561
|
firstTemplatePass = newView && newView.tView.firstTemplatePass;
|
|
13525
13562
|
cleanup = newView && newView.cleanup;
|
|
13526
13563
|
renderer = newView && newView.renderer;
|
|
13564
|
+
if (newView && newView.bindingIndex < 0) {
|
|
13565
|
+
newView.bindingIndex = newView.bindingStartIndex;
|
|
13566
|
+
}
|
|
13527
13567
|
if (host != null) {
|
|
13528
13568
|
previousOrParentNode = host;
|
|
13529
13569
|
isParent = true;
|
|
@@ -13542,7 +13582,8 @@ function leaveView(newView) {
|
|
|
13542
13582
|
}
|
|
13543
13583
|
// Views should be clean and in update mode after being checked, so these bits are cleared
|
|
13544
13584
|
currentView.flags &= ~(1 /* CreationMode */ | 4 /* Dirty */);
|
|
13545
|
-
currentView.lifecycleStage = 1 /*
|
|
13585
|
+
currentView.lifecycleStage = 1 /* Init */;
|
|
13586
|
+
currentView.bindingIndex = -1;
|
|
13546
13587
|
enterView(newView, null);
|
|
13547
13588
|
}
|
|
13548
13589
|
/** Refreshes directives in this view and triggers any init/content hooks. */
|
|
@@ -13596,12 +13637,14 @@ function createLView(viewId, renderer, tView, template, context, flags) {
|
|
|
13596
13637
|
child: null,
|
|
13597
13638
|
tail: null,
|
|
13598
13639
|
next: null,
|
|
13599
|
-
bindingStartIndex:
|
|
13640
|
+
bindingStartIndex: -1,
|
|
13641
|
+
bindingIndex: -1,
|
|
13600
13642
|
template: template,
|
|
13601
13643
|
context: context,
|
|
13602
13644
|
dynamicViewCount: 0,
|
|
13603
|
-
lifecycleStage: 1 /*
|
|
13645
|
+
lifecycleStage: 1 /* Init */,
|
|
13604
13646
|
queries: null,
|
|
13647
|
+
injector: currentView && currentView.injector,
|
|
13605
13648
|
};
|
|
13606
13649
|
return newView;
|
|
13607
13650
|
}
|
|
@@ -13693,25 +13736,22 @@ function resetApplicationState() {
|
|
|
13693
13736
|
* @param pipes Pipe defs that should be used for matching
|
|
13694
13737
|
*/
|
|
13695
13738
|
|
|
13696
|
-
function renderEmbeddedTemplate(viewNode, template, context, renderer) {
|
|
13739
|
+
function renderEmbeddedTemplate(viewNode, template, context, renderer, directives, pipes) {
|
|
13697
13740
|
var _isParent = isParent;
|
|
13698
13741
|
var _previousOrParentNode = previousOrParentNode;
|
|
13699
13742
|
var oldView;
|
|
13700
13743
|
try {
|
|
13701
13744
|
isParent = true;
|
|
13702
13745
|
previousOrParentNode = (null);
|
|
13703
|
-
var
|
|
13746
|
+
var rf = 2;
|
|
13704
13747
|
if (viewNode == null) {
|
|
13705
|
-
|
|
13706
|
-
var directives_1 = currentView && currentView.tView.directiveRegistry;
|
|
13707
|
-
var pipes = currentView && currentView.tView.pipeRegistry;
|
|
13708
|
-
var tView = getOrCreateTView(template, directives_1, pipes);
|
|
13748
|
+
var tView = getOrCreateTView(template, directives || null, pipes || null);
|
|
13709
13749
|
var lView = createLView(-1, renderer, tView, template, context, 2 /* CheckAlways */);
|
|
13710
13750
|
viewNode = createLNode(null, 2 /* View */, null, lView);
|
|
13711
|
-
|
|
13751
|
+
rf = 1 /* Create */;
|
|
13712
13752
|
}
|
|
13713
13753
|
oldView = enterView(viewNode.data, viewNode);
|
|
13714
|
-
template(
|
|
13754
|
+
template(rf, context);
|
|
13715
13755
|
refreshDirectives();
|
|
13716
13756
|
refreshDynamicChildren();
|
|
13717
13757
|
}
|
|
@@ -13729,7 +13769,8 @@ function renderComponentOrTemplate(node, hostView, componentOrContext, template)
|
|
|
13729
13769
|
rendererFactory.begin();
|
|
13730
13770
|
}
|
|
13731
13771
|
if (template) {
|
|
13732
|
-
template((
|
|
13772
|
+
template(getRenderFlags(hostView), (componentOrContext));
|
|
13773
|
+
refreshDynamicChildren();
|
|
13733
13774
|
refreshDirectives();
|
|
13734
13775
|
}
|
|
13735
13776
|
else {
|
|
@@ -13747,6 +13788,19 @@ function renderComponentOrTemplate(node, hostView, componentOrContext, template)
|
|
|
13747
13788
|
leaveView(oldView);
|
|
13748
13789
|
}
|
|
13749
13790
|
}
|
|
13791
|
+
/**
|
|
13792
|
+
* This function returns the default configuration of rendering flags depending on when the
|
|
13793
|
+
* template is in creation mode or update mode. By default, the update block is run with the
|
|
13794
|
+
* creation block when the view is in creation mode. Otherwise, the update block is run
|
|
13795
|
+
* alone.
|
|
13796
|
+
*
|
|
13797
|
+
* Dynamically created views do NOT use this configuration (update block and create block are
|
|
13798
|
+
* always run separately).
|
|
13799
|
+
*/
|
|
13800
|
+
function getRenderFlags(view) {
|
|
13801
|
+
return view.flags & 1 /* CreationMode */ ? 1 /* Create */ | 2 /* Update */ :
|
|
13802
|
+
2 /* Update */;
|
|
13803
|
+
}
|
|
13750
13804
|
/**
|
|
13751
13805
|
* Create DOM element. The instruction must later be followed by `elementEnd()` call.
|
|
13752
13806
|
*
|
|
@@ -13761,7 +13815,7 @@ function renderComponentOrTemplate(node, hostView, componentOrContext, template)
|
|
|
13761
13815
|
*/
|
|
13762
13816
|
function elementStart(index, name, attrs, localRefs) {
|
|
13763
13817
|
ngDevMode &&
|
|
13764
|
-
|
|
13818
|
+
assertEqual(currentView.bindingStartIndex, -1, 'elements should be created before any bindings');
|
|
13765
13819
|
var native = renderer.createElement(name);
|
|
13766
13820
|
var node = createLNode(index, 3 /* Element */, (native), null);
|
|
13767
13821
|
if (attrs)
|
|
@@ -13788,6 +13842,7 @@ function createDirectivesAndLocals(index, name, attrs, localRefs, containerData)
|
|
|
13788
13842
|
* (so dependencies are always created before the directives that inject them).
|
|
13789
13843
|
*/
|
|
13790
13844
|
function cacheMatchingDirectivesForNode(tNode, tView, localRefs) {
|
|
13845
|
+
// Please make sure to have explicit type for `exportsMap`. Inferred type triggers bug in tsickle.
|
|
13791
13846
|
var exportsMap = localRefs ? { '': -1 } : null;
|
|
13792
13847
|
var matches = tView.currentMatches = findDirectiveMatches(tNode);
|
|
13793
13848
|
if (matches) {
|
|
@@ -13810,9 +13865,9 @@ function findDirectiveMatches(tNode) {
|
|
|
13810
13865
|
var def = registry[i];
|
|
13811
13866
|
if (isNodeMatchingSelectorList(tNode, (def.selectors))) {
|
|
13812
13867
|
if (def.template) {
|
|
13813
|
-
if (tNode.flags &
|
|
13868
|
+
if (tNode.flags & 4096 /* isComponent */)
|
|
13814
13869
|
throwMultipleComponentError(tNode);
|
|
13815
|
-
tNode.flags =
|
|
13870
|
+
tNode.flags = 4096 /* isComponent */;
|
|
13816
13871
|
}
|
|
13817
13872
|
if (def.diPublic)
|
|
13818
13873
|
def.diPublic(def);
|
|
@@ -13855,18 +13910,19 @@ function initChangeDetectorIfExisting(injector, instance, view) {
|
|
|
13855
13910
|
}
|
|
13856
13911
|
}
|
|
13857
13912
|
function isComponent(tNode) {
|
|
13858
|
-
return (tNode.flags &
|
|
13913
|
+
return (tNode.flags & 4096 /* isComponent */) === 4096 /* isComponent */;
|
|
13859
13914
|
}
|
|
13860
13915
|
/**
|
|
13861
13916
|
* This function instantiates the given directives.
|
|
13862
13917
|
*/
|
|
13863
13918
|
function instantiateDirectivesDirectly() {
|
|
13864
13919
|
var tNode = (previousOrParentNode.tNode);
|
|
13865
|
-
var
|
|
13866
|
-
if (
|
|
13867
|
-
var
|
|
13920
|
+
var count = tNode.flags & 4095;
|
|
13921
|
+
if (count > 0) {
|
|
13922
|
+
var start = tNode.flags >> 13;
|
|
13923
|
+
var end = start + count;
|
|
13868
13924
|
var tDirectives = (currentView.tView.directives);
|
|
13869
|
-
for (var i =
|
|
13925
|
+
for (var i = start; i < end; i++) {
|
|
13870
13926
|
var def = tDirectives[i];
|
|
13871
13927
|
directiveCreate(i, def.factory(), def);
|
|
13872
13928
|
}
|
|
@@ -13999,7 +14055,7 @@ function hostElement(tag, rNode, def) {
|
|
|
13999
14055
|
var node = createLNode(0, 3 /* Element */, rNode, createLView(-1, renderer, getOrCreateTView(def.template, def.directiveDefs, def.pipeDefs), null, null, def.onPush ? 4 /* Dirty */ : 2 /* CheckAlways */));
|
|
14000
14056
|
if (firstTemplatePass) {
|
|
14001
14057
|
node.tNode = createTNode(tag, null, null);
|
|
14002
|
-
node.tNode.flags =
|
|
14058
|
+
node.tNode.flags = 4096 /* isComponent */;
|
|
14003
14059
|
if (def.diPublic)
|
|
14004
14060
|
def.diPublic(def);
|
|
14005
14061
|
currentView.tView.directives = [def];
|
|
@@ -14173,13 +14229,14 @@ function setInputsForProperty(inputs, value) {
|
|
|
14173
14229
|
* @returns PropertyAliases|null aggregate of all properties if any, `null` otherwise
|
|
14174
14230
|
*/
|
|
14175
14231
|
function generatePropertyAliases(tNodeFlags, direction) {
|
|
14176
|
-
var
|
|
14232
|
+
var count = tNodeFlags & 4095;
|
|
14177
14233
|
var propStore = null;
|
|
14178
|
-
if (
|
|
14234
|
+
if (count > 0) {
|
|
14179
14235
|
var start = tNodeFlags >> 13;
|
|
14236
|
+
var end = start + count;
|
|
14180
14237
|
var isInput = direction === 0;
|
|
14181
14238
|
var defs = (currentView.tView.directives);
|
|
14182
|
-
for (var i = start
|
|
14239
|
+
for (var i = start; i < end; i++) {
|
|
14183
14240
|
var directiveDef = defs[i];
|
|
14184
14241
|
var propertyAliasMap = isInput ? directiveDef.inputs : directiveDef.outputs;
|
|
14185
14242
|
for (var publicName in propertyAliasMap) {
|
|
@@ -14299,11 +14356,8 @@ function elementStyle(index, value) {
|
|
|
14299
14356
|
*/
|
|
14300
14357
|
function text(index, value) {
|
|
14301
14358
|
ngDevMode &&
|
|
14302
|
-
|
|
14303
|
-
var textNode = value != null ?
|
|
14304
|
-
(isProceduralRenderer(renderer) ? renderer.createText(stringify$1(value)) :
|
|
14305
|
-
renderer.createTextNode(stringify$1(value))) :
|
|
14306
|
-
null;
|
|
14359
|
+
assertEqual(currentView.bindingStartIndex, -1, 'text nodes should be created before bindings');
|
|
14360
|
+
var textNode = value != null ? createTextNode(value, renderer) : null;
|
|
14307
14361
|
var node = createLNode(index, 3 /* Element */, textNode);
|
|
14308
14362
|
// Text nodes are self closing.
|
|
14309
14363
|
isParent = false;
|
|
@@ -14328,9 +14382,7 @@ function textBinding(index, value) {
|
|
|
14328
14382
|
}
|
|
14329
14383
|
else {
|
|
14330
14384
|
// Node was created but DOM node creation was delayed. Create and append now.
|
|
14331
|
-
existingNode.native =
|
|
14332
|
-
renderer.createText(stringify$1(value)) :
|
|
14333
|
-
renderer.createTextNode(stringify$1(value));
|
|
14385
|
+
existingNode.native = createTextNode(value, renderer);
|
|
14334
14386
|
insertChild(existingNode, currentView);
|
|
14335
14387
|
}
|
|
14336
14388
|
}
|
|
@@ -14346,7 +14398,7 @@ function textBinding(index, value) {
|
|
|
14346
14398
|
function directiveCreate(index, directive, directiveDef) {
|
|
14347
14399
|
var instance = baseDirectiveCreate(index, directive, directiveDef);
|
|
14348
14400
|
ngDevMode && assertNotNull(previousOrParentNode.tNode, 'previousOrParentNode.tNode');
|
|
14349
|
-
var tNode =
|
|
14401
|
+
var tNode = previousOrParentNode.tNode;
|
|
14350
14402
|
var isComponent = directiveDef.template;
|
|
14351
14403
|
if (isComponent) {
|
|
14352
14404
|
addComponentLogic(index, directive, directiveDef);
|
|
@@ -14382,7 +14434,7 @@ function addComponentLogic(index, instance, def) {
|
|
|
14382
14434
|
*/
|
|
14383
14435
|
function baseDirectiveCreate(index, directive, directiveDef) {
|
|
14384
14436
|
ngDevMode &&
|
|
14385
|
-
|
|
14437
|
+
assertEqual(currentView.bindingStartIndex, -1, 'directives should be created before any bindings');
|
|
14386
14438
|
ngDevMode && assertPreviousIsParent();
|
|
14387
14439
|
Object.defineProperty(directive, NG_HOST_SYMBOL, { enumerable: false, value: previousOrParentNode });
|
|
14388
14440
|
if (directives == null)
|
|
@@ -14391,9 +14443,21 @@ function baseDirectiveCreate(index, directive, directiveDef) {
|
|
|
14391
14443
|
directives[index] = directive;
|
|
14392
14444
|
if (firstTemplatePass) {
|
|
14393
14445
|
var flags = previousOrParentNode.tNode.flags;
|
|
14394
|
-
|
|
14395
|
-
|
|
14396
|
-
|
|
14446
|
+
if ((flags & 4095 /* DirectiveCountMask */) === 0) {
|
|
14447
|
+
// When the first directive is created:
|
|
14448
|
+
// - save the index,
|
|
14449
|
+
// - set the number of directives to 1
|
|
14450
|
+
// When the first directive is created:
|
|
14451
|
+
// - save the index,
|
|
14452
|
+
// - set the number of directives to 1
|
|
14453
|
+
previousOrParentNode.tNode.flags =
|
|
14454
|
+
index << 13 /* DirectiveStartingIndexShift */ | flags & 4096 /* isComponent */ | 1;
|
|
14455
|
+
}
|
|
14456
|
+
else {
|
|
14457
|
+
// Only need to bump the size when subsequent directives are created
|
|
14458
|
+
ngDevMode && assertNotEqual(flags & 4095 /* DirectiveCountMask */, 4095 /* DirectiveCountMask */, 'Reached the max number of directives');
|
|
14459
|
+
previousOrParentNode.tNode.flags++;
|
|
14460
|
+
}
|
|
14397
14461
|
}
|
|
14398
14462
|
else {
|
|
14399
14463
|
var diPublic = directiveDef.diPublic;
|
|
@@ -14481,8 +14545,7 @@ function createLContainer(parentLNode, currentView, template) {
|
|
|
14481
14545
|
* @param localRefs A set of local reference bindings on the element.
|
|
14482
14546
|
*/
|
|
14483
14547
|
function container(index, template, tagName, attrs, localRefs) {
|
|
14484
|
-
ngDevMode &&
|
|
14485
|
-
assertNull(currentView.bindingStartIndex, 'container nodes should be created before any bindings');
|
|
14548
|
+
ngDevMode && assertEqual(currentView.bindingStartIndex, -1, 'container nodes should be created before any bindings');
|
|
14486
14549
|
var currentParent = isParent ? previousOrParentNode : previousOrParentNode.parent;
|
|
14487
14550
|
var lContainer = createLContainer(currentParent, currentView, template);
|
|
14488
14551
|
var node = createLNode(index, 0 /* Container */, undefined, lContainer);
|
|
@@ -14548,6 +14611,7 @@ function refreshDynamicChildren() {
|
|
|
14548
14611
|
var container_1 = current;
|
|
14549
14612
|
for (var i = 0; i < container_1.views.length; i++) {
|
|
14550
14613
|
var view = container_1.views[i];
|
|
14614
|
+
// The directives and pipes are not needed here as an existing view is only being refreshed.
|
|
14551
14615
|
renderEmbeddedTemplate(view, (view.data.template), (view.data.context), renderer);
|
|
14552
14616
|
}
|
|
14553
14617
|
}
|
|
@@ -14592,12 +14656,12 @@ function embeddedViewStart(viewBlockId) {
|
|
|
14592
14656
|
var container = (isParent ? previousOrParentNode : previousOrParentNode.parent);
|
|
14593
14657
|
ngDevMode && assertNodeType(container, 0 /* Container */);
|
|
14594
14658
|
var lContainer = container.data;
|
|
14595
|
-
var
|
|
14596
|
-
if (
|
|
14597
|
-
previousOrParentNode =
|
|
14659
|
+
var viewNode = scanForView(container, lContainer.nextIndex, viewBlockId);
|
|
14660
|
+
if (viewNode) {
|
|
14661
|
+
previousOrParentNode = viewNode;
|
|
14598
14662
|
ngDevMode && assertNodeType(previousOrParentNode, 2 /* View */);
|
|
14599
14663
|
isParent = true;
|
|
14600
|
-
enterView(
|
|
14664
|
+
enterView(viewNode.data, viewNode);
|
|
14601
14665
|
}
|
|
14602
14666
|
else {
|
|
14603
14667
|
// When we create a new LView, we always reset the state of the instructions.
|
|
@@ -14605,9 +14669,9 @@ function embeddedViewStart(viewBlockId) {
|
|
|
14605
14669
|
if (lContainer.queries) {
|
|
14606
14670
|
newView.queries = lContainer.queries.enterView(lContainer.nextIndex);
|
|
14607
14671
|
}
|
|
14608
|
-
enterView(newView, createLNode(null, 2 /* View */, null, newView));
|
|
14672
|
+
enterView(newView, viewNode = createLNode(null, 2 /* View */, null, newView));
|
|
14609
14673
|
}
|
|
14610
|
-
return
|
|
14674
|
+
return getRenderFlags(viewNode.data);
|
|
14611
14675
|
}
|
|
14612
14676
|
/**
|
|
14613
14677
|
* Initialize the TView (e.g. static data) for the active embedded view.
|
|
@@ -14641,6 +14705,9 @@ function embeddedViewEnd() {
|
|
|
14641
14705
|
ngDevMode && assertNodeType(containerNode, 0 /* Container */);
|
|
14642
14706
|
var lContainer = containerNode.data;
|
|
14643
14707
|
if (creationMode) {
|
|
14708
|
+
// When projected nodes are going to be inserted, the renderParent of the dynamic container
|
|
14709
|
+
// used by the ViewContainerRef must be set.
|
|
14710
|
+
setRenderParentInProjectedNodes(lContainer.renderParent, viewNode);
|
|
14644
14711
|
// it is a new view, insert it into collection of views for a given container
|
|
14645
14712
|
insertView(containerNode, viewNode, lContainer.nextIndex);
|
|
14646
14713
|
}
|
|
@@ -14650,6 +14717,30 @@ function embeddedViewEnd() {
|
|
|
14650
14717
|
ngDevMode && assertEqual(isParent, false, 'isParent');
|
|
14651
14718
|
ngDevMode && assertNodeType(previousOrParentNode, 2 /* View */);
|
|
14652
14719
|
}
|
|
14720
|
+
/**
|
|
14721
|
+
* For nodes which are projected inside an embedded view, this function sets the renderParent
|
|
14722
|
+
* of their dynamic LContainerNode.
|
|
14723
|
+
* @param renderParent the renderParent of the LContainer which contains the embedded view.
|
|
14724
|
+
* @param viewNode the embedded view.
|
|
14725
|
+
*/
|
|
14726
|
+
function setRenderParentInProjectedNodes(renderParent, viewNode) {
|
|
14727
|
+
if (renderParent != null) {
|
|
14728
|
+
var node = viewNode.child;
|
|
14729
|
+
while (node) {
|
|
14730
|
+
if (node.type === 1 /* Projection */) {
|
|
14731
|
+
var nodeToProject = node.data.head;
|
|
14732
|
+
var lastNodeToProject = node.data.tail;
|
|
14733
|
+
while (nodeToProject) {
|
|
14734
|
+
if (nodeToProject.dynamicLContainerNode) {
|
|
14735
|
+
nodeToProject.dynamicLContainerNode.data.renderParent = renderParent;
|
|
14736
|
+
}
|
|
14737
|
+
nodeToProject = nodeToProject === lastNodeToProject ? null : nodeToProject.pNextOrParent;
|
|
14738
|
+
}
|
|
14739
|
+
}
|
|
14740
|
+
node = node.next;
|
|
14741
|
+
}
|
|
14742
|
+
}
|
|
14743
|
+
}
|
|
14653
14744
|
/**
|
|
14654
14745
|
* Refreshes components by entering the component view and processing its bindings, queries, etc.
|
|
14655
14746
|
*
|
|
@@ -14774,6 +14865,7 @@ function projection(nodeIndex, localIndex, selectorIndex, attrs) {
|
|
|
14774
14865
|
}
|
|
14775
14866
|
}
|
|
14776
14867
|
if (canInsertNativeNode(currentParent, currentView)) {
|
|
14868
|
+
ngDevMode && assertNodeType(currentParent, 3 /* Element */);
|
|
14777
14869
|
// process each node in the list of projected nodes:
|
|
14778
14870
|
var nodeToProject = node.data.head;
|
|
14779
14871
|
var lastNodeToProject = node.data.tail;
|
|
@@ -14837,7 +14929,7 @@ function wrapListenerWithDirtyLogic(view, listenerFn) {
|
|
|
14837
14929
|
* whenever the event fires. Also wraps with preventDefault behavior.
|
|
14838
14930
|
*/
|
|
14839
14931
|
function wrapListenerWithDirtyAndDefault(view, listenerFn) {
|
|
14840
|
-
return function (e) {
|
|
14932
|
+
return function wrapListenerIn_markViewDirty(e) {
|
|
14841
14933
|
markViewDirty(view);
|
|
14842
14934
|
if (listenerFn(e) === false) {
|
|
14843
14935
|
e.preventDefault();
|
|
@@ -14953,7 +15045,7 @@ function detectChangesInternal(hostView, hostNode, def, component) {
|
|
|
14953
15045
|
var oldView = enterView(hostView, hostNode);
|
|
14954
15046
|
var template = def.template;
|
|
14955
15047
|
try {
|
|
14956
|
-
template(
|
|
15048
|
+
template(getRenderFlags(hostView), component);
|
|
14957
15049
|
refreshDirectives();
|
|
14958
15050
|
refreshDynamicChildren();
|
|
14959
15051
|
}
|
|
@@ -14989,12 +15081,9 @@ var NO_CHANGE = {};
|
|
|
14989
15081
|
* (ie `bind()`, `interpolationX()`, `pureFunctionX()`)
|
|
14990
15082
|
*/
|
|
14991
15083
|
function initBindings() {
|
|
14992
|
-
|
|
14993
|
-
ngDevMode &&
|
|
14994
|
-
|
|
14995
|
-
if (currentView.bindingStartIndex == null) {
|
|
14996
|
-
bindingIndex = currentView.bindingStartIndex = data.length;
|
|
14997
|
-
}
|
|
15084
|
+
ngDevMode && assertEqual(currentView.bindingStartIndex, -1, 'Binding start index should only be set once, when null');
|
|
15085
|
+
ngDevMode && assertEqual(currentView.bindingIndex, -1, 'Binding index should not yet be set ' + currentView.bindingIndex);
|
|
15086
|
+
currentView.bindingIndex = currentView.bindingStartIndex = data.length;
|
|
14998
15087
|
}
|
|
14999
15088
|
/**
|
|
15000
15089
|
* Creates a single value binding.
|
|
@@ -15002,16 +15091,16 @@ function initBindings() {
|
|
|
15002
15091
|
* @param value Value to diff
|
|
15003
15092
|
*/
|
|
15004
15093
|
function bind(value) {
|
|
15005
|
-
if (
|
|
15094
|
+
if (currentView.bindingStartIndex < 0) {
|
|
15006
15095
|
initBindings();
|
|
15007
|
-
return data[bindingIndex++] = value;
|
|
15096
|
+
return data[currentView.bindingIndex++] = value;
|
|
15008
15097
|
}
|
|
15009
|
-
var changed = value !== NO_CHANGE && isDifferent(data[bindingIndex], value);
|
|
15098
|
+
var changed = value !== NO_CHANGE && isDifferent(data[currentView.bindingIndex], value);
|
|
15010
15099
|
if (changed) {
|
|
15011
|
-
throwErrorIfNoChangesMode(creationMode, checkNoChangesMode, data[bindingIndex], value);
|
|
15012
|
-
data[bindingIndex] = value;
|
|
15100
|
+
throwErrorIfNoChangesMode(creationMode, checkNoChangesMode, data[currentView.bindingIndex], value);
|
|
15101
|
+
data[currentView.bindingIndex] = value;
|
|
15013
15102
|
}
|
|
15014
|
-
bindingIndex++;
|
|
15103
|
+
currentView.bindingIndex++;
|
|
15015
15104
|
return changed ? value : NO_CHANGE;
|
|
15016
15105
|
}
|
|
15017
15106
|
/**
|
|
@@ -15134,25 +15223,25 @@ function loadDirective(index) {
|
|
|
15134
15223
|
}
|
|
15135
15224
|
/** Gets the current binding value and increments the binding index. */
|
|
15136
15225
|
function consumeBinding() {
|
|
15137
|
-
ngDevMode && assertDataInRange(bindingIndex);
|
|
15226
|
+
ngDevMode && assertDataInRange(currentView.bindingIndex);
|
|
15138
15227
|
ngDevMode &&
|
|
15139
|
-
assertNotEqual(data[bindingIndex], NO_CHANGE, 'Stored value should never be NO_CHANGE.');
|
|
15140
|
-
return data[bindingIndex++];
|
|
15228
|
+
assertNotEqual(data[currentView.bindingIndex], NO_CHANGE, 'Stored value should never be NO_CHANGE.');
|
|
15229
|
+
return data[currentView.bindingIndex++];
|
|
15141
15230
|
}
|
|
15142
15231
|
/** Updates binding if changed, then returns whether it was updated. */
|
|
15143
15232
|
function bindingUpdated(value) {
|
|
15144
15233
|
ngDevMode && assertNotEqual(value, NO_CHANGE, 'Incoming value should never be NO_CHANGE.');
|
|
15145
|
-
if (
|
|
15234
|
+
if (currentView.bindingStartIndex < 0) {
|
|
15146
15235
|
initBindings();
|
|
15147
15236
|
}
|
|
15148
|
-
else if (isDifferent(data[bindingIndex], value)) {
|
|
15149
|
-
throwErrorIfNoChangesMode(creationMode, checkNoChangesMode, data[bindingIndex], value);
|
|
15237
|
+
else if (isDifferent(data[currentView.bindingIndex], value)) {
|
|
15238
|
+
throwErrorIfNoChangesMode(creationMode, checkNoChangesMode, data[currentView.bindingIndex], value);
|
|
15150
15239
|
}
|
|
15151
15240
|
else {
|
|
15152
|
-
bindingIndex++;
|
|
15241
|
+
currentView.bindingIndex++;
|
|
15153
15242
|
return false;
|
|
15154
15243
|
}
|
|
15155
|
-
data[bindingIndex++] = value;
|
|
15244
|
+
data[currentView.bindingIndex++] = value;
|
|
15156
15245
|
return true;
|
|
15157
15246
|
}
|
|
15158
15247
|
/** Updates binding if changed, then returns the latest value. */
|
|
@@ -15813,6 +15902,7 @@ function renderComponent(componentType /* Type as workaround for: Microsoft/Type
|
|
|
15813
15902
|
clean: CLEAN_PROMISE,
|
|
15814
15903
|
};
|
|
15815
15904
|
var rootView = createLView(-1, rendererFactory.createRenderer(hostNode, componentDef.rendererType), createTView(null, null), null, rootContext, componentDef.onPush ? 4 /* Dirty */ : 2 /* CheckAlways */);
|
|
15905
|
+
rootView.injector = opts.injector || null;
|
|
15816
15906
|
var oldView = enterView(rootView, (null));
|
|
15817
15907
|
var elementNode;
|
|
15818
15908
|
try {
|
|
@@ -15849,6 +15939,17 @@ function renderComponent(componentType /* Type as workaround for: Microsoft/Type
|
|
|
15849
15939
|
* ```
|
|
15850
15940
|
*/
|
|
15851
15941
|
|
|
15942
|
+
/**
|
|
15943
|
+
* Retrieve the root context for any component by walking the parent `LView` until
|
|
15944
|
+
* reaching the root `LView`.
|
|
15945
|
+
*
|
|
15946
|
+
* @param component any component
|
|
15947
|
+
*/
|
|
15948
|
+
function getRootContext(component) {
|
|
15949
|
+
var rootContext = getRootView(component).context;
|
|
15950
|
+
ngDevMode && assertNotNull(rootContext, 'rootContext');
|
|
15951
|
+
return rootContext;
|
|
15952
|
+
}
|
|
15852
15953
|
/**
|
|
15853
15954
|
* Retrieve the host element of the component.
|
|
15854
15955
|
*
|
|
@@ -15885,6 +15986,9 @@ function renderComponent(componentType /* Type as workaround for: Microsoft/Type
|
|
|
15885
15986
|
* @param component Component to wait upon
|
|
15886
15987
|
* @returns Promise which resolves when the component is rendered.
|
|
15887
15988
|
*/
|
|
15989
|
+
function whenRendered(component) {
|
|
15990
|
+
return getRootContext(component).clean;
|
|
15991
|
+
}
|
|
15888
15992
|
|
|
15889
15993
|
/**
|
|
15890
15994
|
* @license
|
|
@@ -15977,23 +16081,12 @@ function getOrCreateNodeInjectorForNode(node) {
|
|
|
15977
16081
|
cbf5: parentInjector == null ? 0 : parentInjector.cbf5 | parentInjector.bf5,
|
|
15978
16082
|
cbf6: parentInjector == null ? 0 : parentInjector.cbf6 | parentInjector.bf6,
|
|
15979
16083
|
cbf7: parentInjector == null ? 0 : parentInjector.cbf7 | parentInjector.bf7,
|
|
15980
|
-
injector: null,
|
|
15981
16084
|
templateRef: null,
|
|
15982
16085
|
viewContainerRef: null,
|
|
15983
16086
|
elementRef: null,
|
|
15984
16087
|
changeDetectorRef: null
|
|
15985
16088
|
};
|
|
15986
16089
|
}
|
|
15987
|
-
/**
|
|
15988
|
-
* Constructs an injection error with the given text and token.
|
|
15989
|
-
*
|
|
15990
|
-
* @param text The text of the error
|
|
15991
|
-
* @param token The token associated with the error
|
|
15992
|
-
* @returns The error that was created
|
|
15993
|
-
*/
|
|
15994
|
-
function createInjectionError(text$$1, token) {
|
|
15995
|
-
return new Error("ElementInjector: " + text$$1 + " [" + stringify$1(token) + "]");
|
|
15996
|
-
}
|
|
15997
16090
|
/**
|
|
15998
16091
|
* Makes a directive public to the DI system by adding it to an injector's bloom filter.
|
|
15999
16092
|
*
|
|
@@ -16011,33 +16104,9 @@ function diPublicInInjector(di, def) {
|
|
|
16011
16104
|
function diPublic(def) {
|
|
16012
16105
|
diPublicInInjector(getOrCreateNodeInjector(), def);
|
|
16013
16106
|
}
|
|
16014
|
-
|
|
16015
|
-
|
|
16016
|
-
|
|
16017
|
-
*
|
|
16018
|
-
* If not found, it will propagate up to the next parent injector until the token
|
|
16019
|
-
* is found or the top is reached.
|
|
16020
|
-
*
|
|
16021
|
-
* Usage example (in factory function):
|
|
16022
|
-
*
|
|
16023
|
-
* class SomeDirective {
|
|
16024
|
-
* constructor(directive: DirectiveA) {}
|
|
16025
|
-
*
|
|
16026
|
-
* static ngDirectiveDef = defineDirective({
|
|
16027
|
-
* type: SomeDirective,
|
|
16028
|
-
* factory: () => new SomeDirective(directiveInject(DirectiveA))
|
|
16029
|
-
* });
|
|
16030
|
-
* }
|
|
16031
|
-
*
|
|
16032
|
-
* NOTE: use `directiveInject` with `@Directive`, `@Component`, and `@Pipe`. For
|
|
16033
|
-
* all other injection use `inject` which does not walk the DOM render tree.
|
|
16034
|
-
*
|
|
16035
|
-
* @param token The directive type to search for
|
|
16036
|
-
* @param flags Injection flags (e.g. CheckParent)
|
|
16037
|
-
* @returns The instance found
|
|
16038
|
-
*/
|
|
16039
|
-
function directiveInject(token, flags, defaultValue) {
|
|
16040
|
-
return getOrCreateInjectable(getOrCreateNodeInjector(), token, flags, defaultValue);
|
|
16107
|
+
function directiveInject(token, flags) {
|
|
16108
|
+
if (flags === void 0) { flags = 0 /* Default */; }
|
|
16109
|
+
return getOrCreateInjectable(getOrCreateNodeInjector(), token, flags);
|
|
16041
16110
|
}
|
|
16042
16111
|
/**
|
|
16043
16112
|
* Creates an ElementRef and stores it on the injector.
|
|
@@ -16140,7 +16209,8 @@ function getOrCreateHostChangeDetector(currentNode) {
|
|
|
16140
16209
|
var existingRef = hostInjector && hostInjector.changeDetectorRef;
|
|
16141
16210
|
return existingRef ?
|
|
16142
16211
|
existingRef :
|
|
16143
|
-
createViewRef(hostNode.data, hostNode.view
|
|
16212
|
+
createViewRef(hostNode.data, hostNode.view
|
|
16213
|
+
.directives[hostNode.tNode.flags >> 13 /* DirectiveStartingIndexShift */]);
|
|
16144
16214
|
}
|
|
16145
16215
|
/**
|
|
16146
16216
|
* If the node is an embedded view, traverses up the view tree to return the closest
|
|
@@ -16170,19 +16240,19 @@ function getClosestComponentAncestor(node) {
|
|
|
16170
16240
|
* @param flags Injection flags (e.g. CheckParent)
|
|
16171
16241
|
* @returns The instance found
|
|
16172
16242
|
*/
|
|
16173
|
-
function getOrCreateInjectable(di, token, flags
|
|
16243
|
+
function getOrCreateInjectable(di, token, flags) {
|
|
16174
16244
|
var bloomHash = bloomHashBit(token);
|
|
16175
16245
|
// If the token has a bloom hash, then it is a directive that is public to the injection system
|
|
16176
16246
|
// (diPublic). If there is no hash, fall back to the module injector.
|
|
16177
16247
|
if (bloomHash === null) {
|
|
16178
|
-
var moduleInjector =
|
|
16179
|
-
|
|
16180
|
-
|
|
16181
|
-
|
|
16182
|
-
|
|
16183
|
-
|
|
16248
|
+
var moduleInjector = getPreviousOrParentNode().view.injector;
|
|
16249
|
+
var formerInjector = setCurrentInjector(moduleInjector);
|
|
16250
|
+
try {
|
|
16251
|
+
return inject(token, flags);
|
|
16252
|
+
}
|
|
16253
|
+
finally {
|
|
16254
|
+
setCurrentInjector(formerInjector);
|
|
16184
16255
|
}
|
|
16185
|
-
moduleInjector.get(token);
|
|
16186
16256
|
}
|
|
16187
16257
|
else {
|
|
16188
16258
|
var injector = di;
|
|
@@ -16198,20 +16268,17 @@ function getOrCreateInjectable(di, token, flags, defaultValue) {
|
|
|
16198
16268
|
// At this point, we have an injector which *may* contain the token, so we step through the
|
|
16199
16269
|
// directives associated with the injector's corresponding node to get the directive instance.
|
|
16200
16270
|
var node = injector.node;
|
|
16201
|
-
// The size of the node's directive's list is stored in certain bits of the node's flags,
|
|
16202
|
-
// so exact it with a mask and shift it back such that the bits reflect the real value.
|
|
16203
16271
|
var flags_1 = node.tNode.flags;
|
|
16204
|
-
var
|
|
16205
|
-
if (
|
|
16206
|
-
// The start index of the directives list is also part of the node's flags, but there is
|
|
16207
|
-
// nothing to the "left" of it so it doesn't need a mask.
|
|
16272
|
+
var count = flags_1 & 4095;
|
|
16273
|
+
if (count !== 0) {
|
|
16208
16274
|
var start = flags_1 >> 13;
|
|
16275
|
+
var end = start + count;
|
|
16209
16276
|
var defs = (node.view.tView.directives);
|
|
16210
|
-
for (var i = start
|
|
16277
|
+
for (var i = start; i < end; i++) {
|
|
16211
16278
|
// Get the definition for the directive at this index and, if it is injectable (diPublic),
|
|
16212
16279
|
// and matches the given token, return the directive instance.
|
|
16213
16280
|
var directiveDef = defs[i];
|
|
16214
|
-
if (directiveDef.
|
|
16281
|
+
if (directiveDef.type === token && directiveDef.diPublic) {
|
|
16215
16282
|
return getDirectiveInstance(node.view.directives[i]);
|
|
16216
16283
|
}
|
|
16217
16284
|
}
|
|
@@ -16229,7 +16296,7 @@ function getOrCreateInjectable(di, token, flags, defaultValue) {
|
|
|
16229
16296
|
}
|
|
16230
16297
|
// No directive was found for the given token.
|
|
16231
16298
|
// TODO: implement optional, check-self, and check-parent.
|
|
16232
|
-
throw
|
|
16299
|
+
throw new Error('Implement');
|
|
16233
16300
|
}
|
|
16234
16301
|
function searchMatchesQueuedForCreation(node, token) {
|
|
16235
16302
|
var matches = node.view.tView.currentMatches;
|
|
@@ -16399,7 +16466,7 @@ var ViewContainerRef$1 = /** @class */ (function () {
|
|
|
16399
16466
|
};
|
|
16400
16467
|
ViewContainerRef.prototype.insert = function (viewRef, index) {
|
|
16401
16468
|
var lViewNode = viewRef._lViewNode;
|
|
16402
|
-
var adjustedIdx = this.
|
|
16469
|
+
var adjustedIdx = this._adjustIndex(index);
|
|
16403
16470
|
insertView(this._lContainerNode, lViewNode, adjustedIdx);
|
|
16404
16471
|
// invalidate cache of next sibling RNode (we do similar operation in the containerRefreshEnd
|
|
16405
16472
|
// instruction)
|
|
@@ -16419,23 +16486,33 @@ var ViewContainerRef$1 = /** @class */ (function () {
|
|
|
16419
16486
|
}
|
|
16420
16487
|
return viewRef;
|
|
16421
16488
|
};
|
|
16422
|
-
ViewContainerRef.prototype.move = function (viewRef,
|
|
16423
|
-
|
|
16489
|
+
ViewContainerRef.prototype.move = function (viewRef, newIndex) {
|
|
16490
|
+
var index = this.indexOf(viewRef);
|
|
16491
|
+
this.detach(index);
|
|
16492
|
+
this.insert(viewRef, this._adjustIndex(newIndex));
|
|
16493
|
+
return viewRef;
|
|
16424
16494
|
};
|
|
16425
|
-
ViewContainerRef.prototype.indexOf = function (viewRef) {
|
|
16495
|
+
ViewContainerRef.prototype.indexOf = function (viewRef) { return this._viewRefs.indexOf(viewRef); };
|
|
16426
16496
|
ViewContainerRef.prototype.remove = function (index) {
|
|
16427
|
-
|
|
16497
|
+
this.detach(index);
|
|
16498
|
+
// TODO(ml): proper destroy of the ViewRef, i.e. recursively destroy the LviewNode and its
|
|
16499
|
+
// children, delete DOM nodes and QueryList, trigger hooks (onDestroy), destroy the renderer,
|
|
16500
|
+
// detach projected nodes
|
|
16501
|
+
};
|
|
16502
|
+
ViewContainerRef.prototype.detach = function (index) {
|
|
16503
|
+
var adjustedIdx = this._adjustIndex(index, -1);
|
|
16428
16504
|
removeView(this._lContainerNode, adjustedIdx);
|
|
16429
|
-
this._viewRefs.splice(adjustedIdx, 1);
|
|
16505
|
+
return this._viewRefs.splice(adjustedIdx, 1)[0] || null;
|
|
16430
16506
|
};
|
|
16431
|
-
ViewContainerRef.prototype.
|
|
16432
|
-
|
|
16507
|
+
ViewContainerRef.prototype._adjustIndex = function (index, shift) {
|
|
16508
|
+
if (shift === void 0) { shift = 0; }
|
|
16433
16509
|
if (index == null) {
|
|
16434
|
-
|
|
16510
|
+
return this._lContainerNode.data.views.length + shift;
|
|
16435
16511
|
}
|
|
16436
|
-
|
|
16512
|
+
if (ngDevMode) {
|
|
16513
|
+
assertGreaterThan(index, -1, 'index must be positive');
|
|
16437
16514
|
// +1 because it's legal to insert at the end.
|
|
16438
|
-
|
|
16515
|
+
assertLessThan(index, this._lContainerNode.data.views.length + 1 + shift, 'index');
|
|
16439
16516
|
}
|
|
16440
16517
|
return index;
|
|
16441
16518
|
};
|
|
@@ -16451,16 +16528,19 @@ var ViewContainerRef$1 = /** @class */ (function () {
|
|
|
16451
16528
|
function getOrCreateTemplateRef(di) {
|
|
16452
16529
|
ngDevMode && assertNodeType(di.node, 0 /* Container */);
|
|
16453
16530
|
var data = di.node.data;
|
|
16454
|
-
|
|
16531
|
+
var tView = di.node.view.tView;
|
|
16532
|
+
return di.templateRef || (di.templateRef = new TemplateRef$1(getOrCreateElementRef(di), (data.template), getRenderer(), tView.directiveRegistry, tView.pipeRegistry));
|
|
16455
16533
|
}
|
|
16456
16534
|
var TemplateRef$1 = /** @class */ (function () {
|
|
16457
|
-
function TemplateRef(elementRef, template, _renderer) {
|
|
16535
|
+
function TemplateRef(elementRef, template, _renderer, _directives, _pipes) {
|
|
16458
16536
|
this._renderer = _renderer;
|
|
16537
|
+
this._directives = _directives;
|
|
16538
|
+
this._pipes = _pipes;
|
|
16459
16539
|
this.elementRef = elementRef;
|
|
16460
16540
|
this._template = template;
|
|
16461
16541
|
}
|
|
16462
16542
|
TemplateRef.prototype.createEmbeddedView = function (context) {
|
|
16463
|
-
var viewNode = renderEmbeddedTemplate(null, this._template, context, this._renderer);
|
|
16543
|
+
var viewNode = renderEmbeddedTemplate(null, this._template, context, this._renderer, this._directives, this._pipes);
|
|
16464
16544
|
return addDestroyable(new EmbeddedViewRef$1(viewNode, this._template, context));
|
|
16465
16545
|
};
|
|
16466
16546
|
return TemplateRef;
|
|
@@ -17116,13 +17196,15 @@ function getIdxOfMatchingSelector(tNode, selector) {
|
|
|
17116
17196
|
* @param type Type of a directive to look for.
|
|
17117
17197
|
* @returns Index of a found directive or null when none found.
|
|
17118
17198
|
*/
|
|
17119
|
-
function
|
|
17199
|
+
function getIdxOfMatchingDirective(node, type) {
|
|
17120
17200
|
var defs = (node.view.tView.directives);
|
|
17121
17201
|
var flags = node.tNode.flags;
|
|
17122
|
-
var
|
|
17123
|
-
|
|
17202
|
+
var count = flags & 4095;
|
|
17203
|
+
var start = flags >> 13;
|
|
17204
|
+
var end = start + count;
|
|
17205
|
+
for (var i = start; i < end; i++) {
|
|
17124
17206
|
var def = defs[i];
|
|
17125
|
-
if (def.
|
|
17207
|
+
if (def.type === type && def.diPublic) {
|
|
17126
17208
|
return i;
|
|
17127
17209
|
}
|
|
17128
17210
|
}
|
|
@@ -17133,7 +17215,7 @@ function readFromNodeInjector(nodeInjector, node, read, directiveIdx) {
|
|
|
17133
17215
|
return read.read(nodeInjector, node, directiveIdx);
|
|
17134
17216
|
}
|
|
17135
17217
|
else {
|
|
17136
|
-
var matchingIdx =
|
|
17218
|
+
var matchingIdx = getIdxOfMatchingDirective(node, read);
|
|
17137
17219
|
if (matchingIdx !== null) {
|
|
17138
17220
|
return node.view.directives[matchingIdx];
|
|
17139
17221
|
}
|
|
@@ -17146,7 +17228,7 @@ function add(query, node) {
|
|
|
17146
17228
|
var predicate = query.predicate;
|
|
17147
17229
|
var type = predicate.type;
|
|
17148
17230
|
if (type) {
|
|
17149
|
-
var directiveIdx =
|
|
17231
|
+
var directiveIdx = getIdxOfMatchingDirective(node, type);
|
|
17150
17232
|
if (directiveIdx !== null) {
|
|
17151
17233
|
// a node is matching a predicate - determine what to read
|
|
17152
17234
|
// if read token and / or strategy is not specified, use type as read token
|
|
@@ -17575,5 +17657,5 @@ function bypassSanitizationTrustString(trustedString, mode) {
|
|
|
17575
17657
|
* Generated bundle index. Do not edit.
|
|
17576
17658
|
*/
|
|
17577
17659
|
|
|
17578
|
-
export { _iterableDiffersFactory as ɵangular_packages_core_core_j, _keyValueDiffersFactory as ɵangular_packages_core_core_k, _localeFactory as ɵangular_packages_core_core_l, _appIdRandomProviderFactory as ɵangular_packages_core_core_f, defaultKeyValueDiffers as ɵangular_packages_core_core_g, DefaultIterableDifferFactory as ɵangular_packages_core_core_h, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_i, ReflectiveInjector_ as ɵangular_packages_core_core_c, ReflectiveDependency as ɵangular_packages_core_core_d, resolveReflectiveProviders as ɵangular_packages_core_core_e, wtfEnabled as ɵangular_packages_core_core_m, createScope as ɵangular_packages_core_core_o, detectWTF as ɵangular_packages_core_core_n, endTimeRange as ɵangular_packages_core_core_r, leave as ɵangular_packages_core_core_p, startTimeRange as ɵangular_packages_core_core_q, getOrCreateChangeDetectorRef as ɵangular_packages_core_core_v, getOrCreateContainerRef as ɵangular_packages_core_core_x, getOrCreateInjectable as ɵangular_packages_core_core_w, getOrCreateNodeInjector as ɵangular_packages_core_core_u, getOrCreateTemplateRef as ɵangular_packages_core_core_y, bindingUpdated as ɵangular_packages_core_core_bb, bindingUpdated2 as ɵangular_packages_core_core_bd, bindingUpdated4 as ɵangular_packages_core_core_be, checkAndUpdateBinding$1 as ɵangular_packages_core_core_bc, consumeBinding as ɵangular_packages_core_core_ba, getCreationMode as ɵangular_packages_core_core_z, makeParamDecorator as ɵangular_packages_core_core_a, makePropDecorator as ɵangular_packages_core_core_b, _def as ɵangular_packages_core_core_s, DebugContext as ɵangular_packages_core_core_t, createPlatform, assertPlatform, destroyPlatform, getPlatform, PlatformRef, ApplicationRef, enableProdMode, isDevMode, createPlatformFactory, NgProbeToken, APP_ID, PACKAGE_ROOT_URL, PLATFORM_INITIALIZER, PLATFORM_ID, APP_BOOTSTRAP_LISTENER, APP_INITIALIZER, ApplicationInitStatus, DebugElement, DebugNode, asNativeElements, getDebugNode, Testability, TestabilityRegistry, setTestabilityGetter, TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID, MissingTranslationStrategy, ApplicationModule, wtfCreateScope, wtfLeave, wtfStartTimeRange, wtfEndTimeRange, Type, EventEmitter, ErrorHandler, Sanitizer, SecurityContext, ANALYZE_FOR_ENTRY_COMPONENTS, Attribute, ContentChild, ContentChildren, Query, ViewChild, ViewChildren, Component, Directive, HostBinding, HostListener, Input, Output, Pipe, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule, ViewEncapsulation, Version, VERSION, forwardRef, resolveForwardRef, Injectable, inject, INJECTOR, Injector, ReflectiveInjector, createInjector, ResolvedReflectiveFactory, ReflectiveKey, InjectionToken, Inject, Optional, Self, SkipSelf, Host,
|
|
17660
|
+
export { _iterableDiffersFactory as ɵangular_packages_core_core_j, _keyValueDiffersFactory as ɵangular_packages_core_core_k, _localeFactory as ɵangular_packages_core_core_l, _appIdRandomProviderFactory as ɵangular_packages_core_core_f, defaultKeyValueDiffers as ɵangular_packages_core_core_g, DefaultIterableDifferFactory as ɵangular_packages_core_core_h, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_i, ReflectiveInjector_ as ɵangular_packages_core_core_c, ReflectiveDependency as ɵangular_packages_core_core_d, resolveReflectiveProviders as ɵangular_packages_core_core_e, wtfEnabled as ɵangular_packages_core_core_m, createScope as ɵangular_packages_core_core_o, detectWTF as ɵangular_packages_core_core_n, endTimeRange as ɵangular_packages_core_core_r, leave as ɵangular_packages_core_core_p, startTimeRange as ɵangular_packages_core_core_q, getOrCreateChangeDetectorRef as ɵangular_packages_core_core_v, getOrCreateContainerRef as ɵangular_packages_core_core_x, getOrCreateInjectable as ɵangular_packages_core_core_w, getOrCreateNodeInjector as ɵangular_packages_core_core_u, getOrCreateTemplateRef as ɵangular_packages_core_core_y, bindingUpdated as ɵangular_packages_core_core_bb, bindingUpdated2 as ɵangular_packages_core_core_bd, bindingUpdated4 as ɵangular_packages_core_core_be, checkAndUpdateBinding$1 as ɵangular_packages_core_core_bc, consumeBinding as ɵangular_packages_core_core_ba, getCreationMode as ɵangular_packages_core_core_z, makeParamDecorator as ɵangular_packages_core_core_a, makePropDecorator as ɵangular_packages_core_core_b, _def as ɵangular_packages_core_core_s, DebugContext as ɵangular_packages_core_core_t, createPlatform, assertPlatform, destroyPlatform, getPlatform, PlatformRef, ApplicationRef, enableProdMode, isDevMode, createPlatformFactory, NgProbeToken, APP_ID, PACKAGE_ROOT_URL, PLATFORM_INITIALIZER, PLATFORM_ID, APP_BOOTSTRAP_LISTENER, APP_INITIALIZER, ApplicationInitStatus, DebugElement, DebugNode, asNativeElements, getDebugNode, Testability, TestabilityRegistry, setTestabilityGetter, TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID, MissingTranslationStrategy, ApplicationModule, wtfCreateScope, wtfLeave, wtfStartTimeRange, wtfEndTimeRange, Type, EventEmitter, ErrorHandler, Sanitizer, SecurityContext, ANALYZE_FOR_ENTRY_COMPONENTS, Attribute, ContentChild, ContentChildren, Query, ViewChild, ViewChildren, Component, Directive, HostBinding, HostListener, Input, Output, Pipe, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule, ViewEncapsulation, Version, VERSION, defineInjectable, defineInjector, forwardRef, resolveForwardRef, Injectable, inject, INJECTOR, Injector, ReflectiveInjector, createInjector, ResolvedReflectiveFactory, ReflectiveKey, InjectionToken, Inject, Optional, Self, SkipSelf, Host, NgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RootRenderer, COMPILER_OPTIONS, Compiler, CompilerFactory, ModuleWithComponentFactories, ComponentFactory, ComponentRef, ComponentFactoryResolver, ElementRef, NgModuleFactory, NgModuleRef, NgModuleFactoryLoader, getModuleFactory, QueryList, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TemplateRef, ViewContainerRef, EmbeddedViewRef, ViewRef, ChangeDetectionStrategy, ChangeDetectorRef, DefaultIterableDiffer, IterableDiffers, KeyValueDiffers, SimpleChange, WrappedValue, platformCore, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, defaultIterableDiffers as ɵdefaultIterableDiffers, devModeEqual as ɵdevModeEqual, isListLikeIterable as ɵisListLikeIterable, ChangeDetectorStatus as ɵChangeDetectorStatus, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, Console as ɵConsole, inject as ɵinject, setCurrentInjector as ɵsetCurrentInjector, APP_ROOT as ɵAPP_ROOT, ComponentFactory as ɵComponentFactory, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, ReflectionCapabilities as ɵReflectionCapabilities, RenderDebugInfo as ɵRenderDebugInfo, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeStyle as ɵ_sanitizeStyle, _sanitizeUrl as ɵ_sanitizeUrl, _global as ɵglobal, looseIdentical as ɵlooseIdentical, stringify as ɵstringify, makeDecorator as ɵmakeDecorator, isObservable as ɵisObservable, isPromise as ɵisPromise, clearOverrides as ɵclearOverrides, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, defineComponent as ɵdefineComponent, defineDirective as ɵdefineDirective, definePipe as ɵdefinePipe, detectChanges as ɵdetectChanges, renderComponent as ɵrenderComponent, directiveInject as ɵdirectiveInject, injectTemplateRef as ɵinjectTemplateRef, injectViewContainerRef as ɵinjectViewContainerRef, injectChangeDetectorRef as ɵinjectChangeDetectorRef, injectAttribute as ɵinjectAttribute, PublicFeature as ɵPublicFeature, NgOnChangesFeature as ɵNgOnChangesFeature, markDirty as ɵmarkDirty, NO_CHANGE as ɵNC, container as ɵC, elementStart as ɵE, listener as ɵL, text as ɵT, embeddedViewStart as ɵV, query as ɵQ, loadDirective as ɵd, projection as ɵP, bind as ɵb, interpolation1 as ɵi1, interpolation2 as ɵi2, interpolation3 as ɵi3, interpolation4 as ɵi4, interpolation5 as ɵi5, interpolation6 as ɵi6, interpolation7 as ɵi7, interpolation8 as ɵi8, interpolationV as ɵiV, pipeBind1 as ɵpb1, pipeBind2 as ɵpb2, pipeBind3 as ɵpb3, pipeBind4 as ɵpb4, pipeBindV as ɵpbV, pureFunction0 as ɵf0, pureFunction1 as ɵf1, pureFunction2 as ɵf2, pureFunction3 as ɵf3, pureFunction4 as ɵf4, pureFunction5 as ɵf5, pureFunction6 as ɵf6, pureFunction7 as ɵf7, pureFunction8 as ɵf8, pureFunctionV as ɵfV, containerRefreshStart as ɵcR, containerRefreshEnd as ɵcr, queryRefresh as ɵqR, elementEnd as ɵe, elementProperty as ɵp, projectionDef as ɵpD, elementAttribute as ɵa, elementStyle as ɵs, elementStyleNamed as ɵsn, elementClass as ɵk, elementClassNamed as ɵkn, textBinding as ɵt, embeddedViewEnd as ɵv, store as ɵst, load as ɵld, pipe as ɵPp, whenRendered as ɵwhenRendered, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, sanitizeHtml as ɵsanitizeHtml, sanitizeStyle as ɵsanitizeStyle, sanitizeUrl as ɵsanitizeUrl, sanitizeResourceUrl as ɵsanitizeResourceUrl, registerModuleFactory as ɵregisterModuleFactory, EMPTY_ARRAY$2 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, anchorDef as ɵand, createComponentFactory as ɵccf, createNgModuleFactory as ɵcmf, createRendererType2 as ɵcrt, directiveDef as ɵdid, elementDef as ɵeld, elementEventFullName as ɵelementEventFullName, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, pipeDef as ɵpid, providerDef as ɵprd, pureArrayDef as ɵpad, pureObjectDef as ɵpod, purePipeDef as ɵppd, queryDef as ɵqud, textDef as ɵted, unwrapValue as ɵunv, viewDef as ɵvid };
|
|
17579
17661
|
//# sourceMappingURL=core.js.map
|