@angular/compiler 14.0.0-next.0 → 14.0.0-next.1
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/esm2020/src/compiler.mjs +1 -2
- package/esm2020/src/compiler_util/expression_converter.mjs +38 -44
- package/esm2020/src/expression_parser/ast.mjs +1 -35
- package/esm2020/src/expression_parser/parser.mjs +3 -22
- package/esm2020/src/render3/partial/class_metadata.mjs +1 -1
- package/esm2020/src/render3/partial/directive.mjs +1 -1
- package/esm2020/src/render3/partial/factory.mjs +1 -1
- package/esm2020/src/render3/partial/injectable.mjs +1 -1
- package/esm2020/src/render3/partial/injector.mjs +1 -1
- package/esm2020/src/render3/partial/ng_module.mjs +1 -1
- package/esm2020/src/render3/partial/pipe.mjs +1 -1
- package/esm2020/src/render3/view/compiler.mjs +2 -2
- package/esm2020/src/render3/view/template.mjs +3 -3
- package/esm2020/src/version.mjs +1 -1
- package/fesm2015/compiler.mjs +410 -560
- package/fesm2015/compiler.mjs.map +1 -1
- package/fesm2015/testing.mjs +1 -1
- package/fesm2020/compiler.mjs +410 -560
- package/fesm2020/compiler.mjs.map +1 -1
- package/fesm2020/testing.mjs +1 -1
- package/package.json +1 -1
- package/src/compiler.d.ts +0 -1
- package/src/compiler_util/expression_converter.d.ts +3 -4
- package/src/expression_parser/ast.d.ts +0 -25
- package/src/expression_parser/parser.d.ts +0 -1
- package/esm2020/src/identifiers.mjs +0 -92
- package/src/identifiers.d.ts +0 -44
package/fesm2015/compiler.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v14.0.0-next.
|
|
2
|
+
* @license Angular v14.0.0-next.1
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -2737,206 +2737,206 @@ function isLongStringLiteral(expr) {
|
|
|
2737
2737
|
* Use of this source code is governed by an MIT-style license that can be
|
|
2738
2738
|
* found in the LICENSE file at https://angular.io/license
|
|
2739
2739
|
*/
|
|
2740
|
-
const CORE
|
|
2741
|
-
class Identifiers
|
|
2740
|
+
const CORE = '@angular/core';
|
|
2741
|
+
class Identifiers {
|
|
2742
2742
|
}
|
|
2743
2743
|
/* Methods */
|
|
2744
|
-
Identifiers
|
|
2745
|
-
Identifiers
|
|
2746
|
-
Identifiers
|
|
2747
|
-
Identifiers
|
|
2744
|
+
Identifiers.NEW_METHOD = 'factory';
|
|
2745
|
+
Identifiers.TRANSFORM_METHOD = 'transform';
|
|
2746
|
+
Identifiers.PATCH_DEPS = 'patchedDeps';
|
|
2747
|
+
Identifiers.core = { name: null, moduleName: CORE };
|
|
2748
2748
|
/* Instructions */
|
|
2749
|
-
Identifiers
|
|
2750
|
-
Identifiers
|
|
2751
|
-
Identifiers
|
|
2752
|
-
Identifiers
|
|
2753
|
-
Identifiers
|
|
2754
|
-
Identifiers
|
|
2755
|
-
Identifiers
|
|
2756
|
-
Identifiers
|
|
2757
|
-
Identifiers
|
|
2758
|
-
Identifiers
|
|
2759
|
-
Identifiers
|
|
2760
|
-
Identifiers
|
|
2761
|
-
Identifiers
|
|
2762
|
-
Identifiers
|
|
2763
|
-
Identifiers
|
|
2764
|
-
Identifiers
|
|
2765
|
-
Identifiers
|
|
2766
|
-
Identifiers
|
|
2767
|
-
Identifiers
|
|
2768
|
-
Identifiers
|
|
2769
|
-
Identifiers
|
|
2770
|
-
Identifiers
|
|
2771
|
-
Identifiers
|
|
2772
|
-
Identifiers
|
|
2773
|
-
Identifiers
|
|
2774
|
-
Identifiers
|
|
2775
|
-
Identifiers
|
|
2776
|
-
Identifiers
|
|
2777
|
-
Identifiers
|
|
2778
|
-
Identifiers
|
|
2779
|
-
Identifiers
|
|
2780
|
-
Identifiers
|
|
2781
|
-
Identifiers
|
|
2782
|
-
Identifiers
|
|
2783
|
-
Identifiers
|
|
2784
|
-
Identifiers
|
|
2785
|
-
Identifiers
|
|
2786
|
-
Identifiers
|
|
2787
|
-
Identifiers
|
|
2788
|
-
Identifiers
|
|
2789
|
-
Identifiers
|
|
2790
|
-
Identifiers
|
|
2791
|
-
Identifiers
|
|
2792
|
-
Identifiers
|
|
2793
|
-
Identifiers
|
|
2794
|
-
Identifiers
|
|
2795
|
-
Identifiers
|
|
2796
|
-
Identifiers
|
|
2797
|
-
Identifiers
|
|
2798
|
-
Identifiers
|
|
2799
|
-
Identifiers
|
|
2800
|
-
Identifiers
|
|
2801
|
-
Identifiers
|
|
2802
|
-
Identifiers
|
|
2803
|
-
Identifiers
|
|
2804
|
-
Identifiers
|
|
2805
|
-
Identifiers
|
|
2806
|
-
Identifiers
|
|
2807
|
-
Identifiers
|
|
2808
|
-
Identifiers
|
|
2809
|
-
Identifiers
|
|
2810
|
-
Identifiers
|
|
2811
|
-
Identifiers
|
|
2812
|
-
Identifiers
|
|
2813
|
-
Identifiers
|
|
2814
|
-
Identifiers
|
|
2815
|
-
Identifiers
|
|
2816
|
-
Identifiers
|
|
2817
|
-
Identifiers
|
|
2818
|
-
Identifiers
|
|
2819
|
-
Identifiers
|
|
2820
|
-
Identifiers
|
|
2821
|
-
Identifiers
|
|
2822
|
-
Identifiers
|
|
2823
|
-
Identifiers
|
|
2824
|
-
Identifiers
|
|
2825
|
-
Identifiers
|
|
2826
|
-
Identifiers
|
|
2827
|
-
Identifiers
|
|
2828
|
-
Identifiers
|
|
2829
|
-
Identifiers
|
|
2830
|
-
Identifiers
|
|
2831
|
-
Identifiers
|
|
2832
|
-
Identifiers
|
|
2833
|
-
Identifiers
|
|
2834
|
-
Identifiers
|
|
2835
|
-
Identifiers
|
|
2836
|
-
Identifiers
|
|
2837
|
-
Identifiers
|
|
2838
|
-
Identifiers
|
|
2839
|
-
Identifiers
|
|
2840
|
-
Identifiers
|
|
2841
|
-
Identifiers
|
|
2842
|
-
Identifiers
|
|
2843
|
-
Identifiers
|
|
2844
|
-
Identifiers
|
|
2845
|
-
Identifiers
|
|
2846
|
-
Identifiers
|
|
2847
|
-
Identifiers
|
|
2848
|
-
Identifiers
|
|
2849
|
-
Identifiers
|
|
2850
|
-
Identifiers
|
|
2851
|
-
Identifiers
|
|
2852
|
-
Identifiers
|
|
2853
|
-
Identifiers
|
|
2854
|
-
Identifiers
|
|
2855
|
-
Identifiers
|
|
2856
|
-
Identifiers
|
|
2857
|
-
Identifiers
|
|
2858
|
-
Identifiers
|
|
2859
|
-
Identifiers
|
|
2860
|
-
Identifiers
|
|
2861
|
-
Identifiers
|
|
2862
|
-
Identifiers
|
|
2863
|
-
Identifiers
|
|
2864
|
-
Identifiers
|
|
2865
|
-
Identifiers
|
|
2866
|
-
Identifiers
|
|
2867
|
-
Identifiers
|
|
2868
|
-
Identifiers
|
|
2869
|
-
Identifiers
|
|
2870
|
-
Identifiers
|
|
2871
|
-
Identifiers
|
|
2872
|
-
Identifiers
|
|
2873
|
-
Identifiers
|
|
2874
|
-
Identifiers
|
|
2749
|
+
Identifiers.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE };
|
|
2750
|
+
Identifiers.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE };
|
|
2751
|
+
Identifiers.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE };
|
|
2752
|
+
Identifiers.element = { name: 'ɵɵelement', moduleName: CORE };
|
|
2753
|
+
Identifiers.elementStart = { name: 'ɵɵelementStart', moduleName: CORE };
|
|
2754
|
+
Identifiers.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE };
|
|
2755
|
+
Identifiers.advance = { name: 'ɵɵadvance', moduleName: CORE };
|
|
2756
|
+
Identifiers.syntheticHostProperty = { name: 'ɵɵsyntheticHostProperty', moduleName: CORE };
|
|
2757
|
+
Identifiers.syntheticHostListener = { name: 'ɵɵsyntheticHostListener', moduleName: CORE };
|
|
2758
|
+
Identifiers.attribute = { name: 'ɵɵattribute', moduleName: CORE };
|
|
2759
|
+
Identifiers.attributeInterpolate1 = { name: 'ɵɵattributeInterpolate1', moduleName: CORE };
|
|
2760
|
+
Identifiers.attributeInterpolate2 = { name: 'ɵɵattributeInterpolate2', moduleName: CORE };
|
|
2761
|
+
Identifiers.attributeInterpolate3 = { name: 'ɵɵattributeInterpolate3', moduleName: CORE };
|
|
2762
|
+
Identifiers.attributeInterpolate4 = { name: 'ɵɵattributeInterpolate4', moduleName: CORE };
|
|
2763
|
+
Identifiers.attributeInterpolate5 = { name: 'ɵɵattributeInterpolate5', moduleName: CORE };
|
|
2764
|
+
Identifiers.attributeInterpolate6 = { name: 'ɵɵattributeInterpolate6', moduleName: CORE };
|
|
2765
|
+
Identifiers.attributeInterpolate7 = { name: 'ɵɵattributeInterpolate7', moduleName: CORE };
|
|
2766
|
+
Identifiers.attributeInterpolate8 = { name: 'ɵɵattributeInterpolate8', moduleName: CORE };
|
|
2767
|
+
Identifiers.attributeInterpolateV = { name: 'ɵɵattributeInterpolateV', moduleName: CORE };
|
|
2768
|
+
Identifiers.classProp = { name: 'ɵɵclassProp', moduleName: CORE };
|
|
2769
|
+
Identifiers.elementContainerStart = { name: 'ɵɵelementContainerStart', moduleName: CORE };
|
|
2770
|
+
Identifiers.elementContainerEnd = { name: 'ɵɵelementContainerEnd', moduleName: CORE };
|
|
2771
|
+
Identifiers.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE };
|
|
2772
|
+
Identifiers.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE };
|
|
2773
|
+
Identifiers.styleMapInterpolate1 = { name: 'ɵɵstyleMapInterpolate1', moduleName: CORE };
|
|
2774
|
+
Identifiers.styleMapInterpolate2 = { name: 'ɵɵstyleMapInterpolate2', moduleName: CORE };
|
|
2775
|
+
Identifiers.styleMapInterpolate3 = { name: 'ɵɵstyleMapInterpolate3', moduleName: CORE };
|
|
2776
|
+
Identifiers.styleMapInterpolate4 = { name: 'ɵɵstyleMapInterpolate4', moduleName: CORE };
|
|
2777
|
+
Identifiers.styleMapInterpolate5 = { name: 'ɵɵstyleMapInterpolate5', moduleName: CORE };
|
|
2778
|
+
Identifiers.styleMapInterpolate6 = { name: 'ɵɵstyleMapInterpolate6', moduleName: CORE };
|
|
2779
|
+
Identifiers.styleMapInterpolate7 = { name: 'ɵɵstyleMapInterpolate7', moduleName: CORE };
|
|
2780
|
+
Identifiers.styleMapInterpolate8 = { name: 'ɵɵstyleMapInterpolate8', moduleName: CORE };
|
|
2781
|
+
Identifiers.styleMapInterpolateV = { name: 'ɵɵstyleMapInterpolateV', moduleName: CORE };
|
|
2782
|
+
Identifiers.classMap = { name: 'ɵɵclassMap', moduleName: CORE };
|
|
2783
|
+
Identifiers.classMapInterpolate1 = { name: 'ɵɵclassMapInterpolate1', moduleName: CORE };
|
|
2784
|
+
Identifiers.classMapInterpolate2 = { name: 'ɵɵclassMapInterpolate2', moduleName: CORE };
|
|
2785
|
+
Identifiers.classMapInterpolate3 = { name: 'ɵɵclassMapInterpolate3', moduleName: CORE };
|
|
2786
|
+
Identifiers.classMapInterpolate4 = { name: 'ɵɵclassMapInterpolate4', moduleName: CORE };
|
|
2787
|
+
Identifiers.classMapInterpolate5 = { name: 'ɵɵclassMapInterpolate5', moduleName: CORE };
|
|
2788
|
+
Identifiers.classMapInterpolate6 = { name: 'ɵɵclassMapInterpolate6', moduleName: CORE };
|
|
2789
|
+
Identifiers.classMapInterpolate7 = { name: 'ɵɵclassMapInterpolate7', moduleName: CORE };
|
|
2790
|
+
Identifiers.classMapInterpolate8 = { name: 'ɵɵclassMapInterpolate8', moduleName: CORE };
|
|
2791
|
+
Identifiers.classMapInterpolateV = { name: 'ɵɵclassMapInterpolateV', moduleName: CORE };
|
|
2792
|
+
Identifiers.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE };
|
|
2793
|
+
Identifiers.stylePropInterpolate1 = { name: 'ɵɵstylePropInterpolate1', moduleName: CORE };
|
|
2794
|
+
Identifiers.stylePropInterpolate2 = { name: 'ɵɵstylePropInterpolate2', moduleName: CORE };
|
|
2795
|
+
Identifiers.stylePropInterpolate3 = { name: 'ɵɵstylePropInterpolate3', moduleName: CORE };
|
|
2796
|
+
Identifiers.stylePropInterpolate4 = { name: 'ɵɵstylePropInterpolate4', moduleName: CORE };
|
|
2797
|
+
Identifiers.stylePropInterpolate5 = { name: 'ɵɵstylePropInterpolate5', moduleName: CORE };
|
|
2798
|
+
Identifiers.stylePropInterpolate6 = { name: 'ɵɵstylePropInterpolate6', moduleName: CORE };
|
|
2799
|
+
Identifiers.stylePropInterpolate7 = { name: 'ɵɵstylePropInterpolate7', moduleName: CORE };
|
|
2800
|
+
Identifiers.stylePropInterpolate8 = { name: 'ɵɵstylePropInterpolate8', moduleName: CORE };
|
|
2801
|
+
Identifiers.stylePropInterpolateV = { name: 'ɵɵstylePropInterpolateV', moduleName: CORE };
|
|
2802
|
+
Identifiers.nextContext = { name: 'ɵɵnextContext', moduleName: CORE };
|
|
2803
|
+
Identifiers.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE };
|
|
2804
|
+
Identifiers.text = { name: 'ɵɵtext', moduleName: CORE };
|
|
2805
|
+
Identifiers.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE };
|
|
2806
|
+
Identifiers.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE };
|
|
2807
|
+
Identifiers.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE };
|
|
2808
|
+
Identifiers.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE };
|
|
2809
|
+
Identifiers.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE };
|
|
2810
|
+
Identifiers.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE };
|
|
2811
|
+
Identifiers.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE };
|
|
2812
|
+
Identifiers.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE };
|
|
2813
|
+
Identifiers.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE };
|
|
2814
|
+
Identifiers.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE };
|
|
2815
|
+
Identifiers.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE };
|
|
2816
|
+
Identifiers.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE };
|
|
2817
|
+
Identifiers.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE };
|
|
2818
|
+
Identifiers.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE };
|
|
2819
|
+
Identifiers.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE };
|
|
2820
|
+
Identifiers.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE };
|
|
2821
|
+
Identifiers.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE };
|
|
2822
|
+
Identifiers.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE };
|
|
2823
|
+
Identifiers.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE };
|
|
2824
|
+
Identifiers.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE };
|
|
2825
|
+
Identifiers.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE };
|
|
2826
|
+
Identifiers.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE };
|
|
2827
|
+
Identifiers.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE };
|
|
2828
|
+
Identifiers.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE };
|
|
2829
|
+
Identifiers.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE };
|
|
2830
|
+
Identifiers.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE };
|
|
2831
|
+
Identifiers.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE };
|
|
2832
|
+
Identifiers.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE };
|
|
2833
|
+
Identifiers.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE };
|
|
2834
|
+
Identifiers.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE };
|
|
2835
|
+
Identifiers.property = { name: 'ɵɵproperty', moduleName: CORE };
|
|
2836
|
+
Identifiers.propertyInterpolate = { name: 'ɵɵpropertyInterpolate', moduleName: CORE };
|
|
2837
|
+
Identifiers.propertyInterpolate1 = { name: 'ɵɵpropertyInterpolate1', moduleName: CORE };
|
|
2838
|
+
Identifiers.propertyInterpolate2 = { name: 'ɵɵpropertyInterpolate2', moduleName: CORE };
|
|
2839
|
+
Identifiers.propertyInterpolate3 = { name: 'ɵɵpropertyInterpolate3', moduleName: CORE };
|
|
2840
|
+
Identifiers.propertyInterpolate4 = { name: 'ɵɵpropertyInterpolate4', moduleName: CORE };
|
|
2841
|
+
Identifiers.propertyInterpolate5 = { name: 'ɵɵpropertyInterpolate5', moduleName: CORE };
|
|
2842
|
+
Identifiers.propertyInterpolate6 = { name: 'ɵɵpropertyInterpolate6', moduleName: CORE };
|
|
2843
|
+
Identifiers.propertyInterpolate7 = { name: 'ɵɵpropertyInterpolate7', moduleName: CORE };
|
|
2844
|
+
Identifiers.propertyInterpolate8 = { name: 'ɵɵpropertyInterpolate8', moduleName: CORE };
|
|
2845
|
+
Identifiers.propertyInterpolateV = { name: 'ɵɵpropertyInterpolateV', moduleName: CORE };
|
|
2846
|
+
Identifiers.i18n = { name: 'ɵɵi18n', moduleName: CORE };
|
|
2847
|
+
Identifiers.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE };
|
|
2848
|
+
Identifiers.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE };
|
|
2849
|
+
Identifiers.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE };
|
|
2850
|
+
Identifiers.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE };
|
|
2851
|
+
Identifiers.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE };
|
|
2852
|
+
Identifiers.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE };
|
|
2853
|
+
Identifiers.pipe = { name: 'ɵɵpipe', moduleName: CORE };
|
|
2854
|
+
Identifiers.projection = { name: 'ɵɵprojection', moduleName: CORE };
|
|
2855
|
+
Identifiers.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE };
|
|
2856
|
+
Identifiers.reference = { name: 'ɵɵreference', moduleName: CORE };
|
|
2857
|
+
Identifiers.inject = { name: 'ɵɵinject', moduleName: CORE };
|
|
2858
|
+
Identifiers.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE };
|
|
2859
|
+
Identifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };
|
|
2860
|
+
Identifiers.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE };
|
|
2861
|
+
Identifiers.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE };
|
|
2862
|
+
Identifiers.templateRefExtractor = { name: 'ɵɵtemplateRefExtractor', moduleName: CORE };
|
|
2863
|
+
Identifiers.forwardRef = { name: 'forwardRef', moduleName: CORE };
|
|
2864
|
+
Identifiers.resolveForwardRef = { name: 'resolveForwardRef', moduleName: CORE };
|
|
2865
|
+
Identifiers.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };
|
|
2866
|
+
Identifiers.declareInjectable = { name: 'ɵɵngDeclareInjectable', moduleName: CORE };
|
|
2867
|
+
Identifiers.InjectableDeclaration = { name: 'ɵɵInjectableDeclaration', moduleName: CORE };
|
|
2868
|
+
Identifiers.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE };
|
|
2869
|
+
Identifiers.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE };
|
|
2870
|
+
Identifiers.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE };
|
|
2871
|
+
Identifiers.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE };
|
|
2872
|
+
Identifiers.declareComponent = { name: 'ɵɵngDeclareComponent', moduleName: CORE };
|
|
2873
|
+
Identifiers.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE };
|
|
2874
|
+
Identifiers.ChangeDetectionStrategy = {
|
|
2875
2875
|
name: 'ChangeDetectionStrategy',
|
|
2876
|
-
moduleName: CORE
|
|
2876
|
+
moduleName: CORE,
|
|
2877
2877
|
};
|
|
2878
|
-
Identifiers
|
|
2878
|
+
Identifiers.ViewEncapsulation = {
|
|
2879
2879
|
name: 'ViewEncapsulation',
|
|
2880
|
-
moduleName: CORE
|
|
2880
|
+
moduleName: CORE,
|
|
2881
2881
|
};
|
|
2882
|
-
Identifiers
|
|
2882
|
+
Identifiers.ComponentDeclaration = {
|
|
2883
2883
|
name: 'ɵɵComponentDeclaration',
|
|
2884
|
-
moduleName: CORE
|
|
2884
|
+
moduleName: CORE,
|
|
2885
2885
|
};
|
|
2886
|
-
Identifiers
|
|
2886
|
+
Identifiers.FactoryDeclaration = {
|
|
2887
2887
|
name: 'ɵɵFactoryDeclaration',
|
|
2888
|
-
moduleName: CORE
|
|
2888
|
+
moduleName: CORE,
|
|
2889
2889
|
};
|
|
2890
|
-
Identifiers
|
|
2891
|
-
Identifiers
|
|
2892
|
-
Identifiers
|
|
2893
|
-
Identifiers
|
|
2894
|
-
Identifiers
|
|
2890
|
+
Identifiers.declareFactory = { name: 'ɵɵngDeclareFactory', moduleName: CORE };
|
|
2891
|
+
Identifiers.FactoryTarget = { name: 'ɵɵFactoryTarget', moduleName: CORE };
|
|
2892
|
+
Identifiers.defineDirective = { name: 'ɵɵdefineDirective', moduleName: CORE };
|
|
2893
|
+
Identifiers.declareDirective = { name: 'ɵɵngDeclareDirective', moduleName: CORE };
|
|
2894
|
+
Identifiers.DirectiveDeclaration = {
|
|
2895
2895
|
name: 'ɵɵDirectiveDeclaration',
|
|
2896
|
-
moduleName: CORE
|
|
2896
|
+
moduleName: CORE,
|
|
2897
2897
|
};
|
|
2898
|
-
Identifiers
|
|
2899
|
-
Identifiers
|
|
2900
|
-
Identifiers
|
|
2901
|
-
Identifiers
|
|
2902
|
-
Identifiers
|
|
2898
|
+
Identifiers.InjectorDef = { name: 'ɵɵInjectorDef', moduleName: CORE };
|
|
2899
|
+
Identifiers.InjectorDeclaration = { name: 'ɵɵInjectorDeclaration', moduleName: CORE };
|
|
2900
|
+
Identifiers.defineInjector = { name: 'ɵɵdefineInjector', moduleName: CORE };
|
|
2901
|
+
Identifiers.declareInjector = { name: 'ɵɵngDeclareInjector', moduleName: CORE };
|
|
2902
|
+
Identifiers.NgModuleDeclaration = {
|
|
2903
2903
|
name: 'ɵɵNgModuleDeclaration',
|
|
2904
|
-
moduleName: CORE
|
|
2904
|
+
moduleName: CORE,
|
|
2905
2905
|
};
|
|
2906
|
-
Identifiers
|
|
2906
|
+
Identifiers.ModuleWithProviders = {
|
|
2907
2907
|
name: 'ModuleWithProviders',
|
|
2908
|
-
moduleName: CORE
|
|
2908
|
+
moduleName: CORE,
|
|
2909
2909
|
};
|
|
2910
|
-
Identifiers
|
|
2911
|
-
Identifiers
|
|
2912
|
-
Identifiers
|
|
2913
|
-
Identifiers
|
|
2914
|
-
Identifiers
|
|
2915
|
-
Identifiers
|
|
2916
|
-
Identifiers
|
|
2917
|
-
Identifiers
|
|
2918
|
-
Identifiers
|
|
2919
|
-
Identifiers
|
|
2920
|
-
Identifiers
|
|
2921
|
-
Identifiers
|
|
2922
|
-
Identifiers
|
|
2923
|
-
Identifiers
|
|
2924
|
-
Identifiers
|
|
2925
|
-
Identifiers
|
|
2926
|
-
Identifiers
|
|
2927
|
-
Identifiers
|
|
2910
|
+
Identifiers.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE };
|
|
2911
|
+
Identifiers.declareNgModule = { name: 'ɵɵngDeclareNgModule', moduleName: CORE };
|
|
2912
|
+
Identifiers.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE };
|
|
2913
|
+
Identifiers.PipeDeclaration = { name: 'ɵɵPipeDeclaration', moduleName: CORE };
|
|
2914
|
+
Identifiers.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE };
|
|
2915
|
+
Identifiers.declarePipe = { name: 'ɵɵngDeclarePipe', moduleName: CORE };
|
|
2916
|
+
Identifiers.declareClassMetadata = { name: 'ɵɵngDeclareClassMetadata', moduleName: CORE };
|
|
2917
|
+
Identifiers.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE };
|
|
2918
|
+
Identifiers.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE };
|
|
2919
|
+
Identifiers.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE };
|
|
2920
|
+
Identifiers.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE };
|
|
2921
|
+
Identifiers.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE };
|
|
2922
|
+
Identifiers.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE };
|
|
2923
|
+
Identifiers.InheritDefinitionFeature = { name: 'ɵɵInheritDefinitionFeature', moduleName: CORE };
|
|
2924
|
+
Identifiers.CopyDefinitionFeature = { name: 'ɵɵCopyDefinitionFeature', moduleName: CORE };
|
|
2925
|
+
Identifiers.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE };
|
|
2926
|
+
Identifiers.listener = { name: 'ɵɵlistener', moduleName: CORE };
|
|
2927
|
+
Identifiers.getInheritedFactory = {
|
|
2928
2928
|
name: 'ɵɵgetInheritedFactory',
|
|
2929
|
-
moduleName: CORE
|
|
2929
|
+
moduleName: CORE,
|
|
2930
2930
|
};
|
|
2931
2931
|
// sanitization-related functions
|
|
2932
|
-
Identifiers
|
|
2933
|
-
Identifiers
|
|
2934
|
-
Identifiers
|
|
2935
|
-
Identifiers
|
|
2936
|
-
Identifiers
|
|
2937
|
-
Identifiers
|
|
2938
|
-
Identifiers
|
|
2939
|
-
Identifiers
|
|
2932
|
+
Identifiers.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE };
|
|
2933
|
+
Identifiers.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE };
|
|
2934
|
+
Identifiers.sanitizeResourceUrl = { name: 'ɵɵsanitizeResourceUrl', moduleName: CORE };
|
|
2935
|
+
Identifiers.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE };
|
|
2936
|
+
Identifiers.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE };
|
|
2937
|
+
Identifiers.sanitizeUrlOrResourceUrl = { name: 'ɵɵsanitizeUrlOrResourceUrl', moduleName: CORE };
|
|
2938
|
+
Identifiers.trustConstantHtml = { name: 'ɵɵtrustConstantHtml', moduleName: CORE };
|
|
2939
|
+
Identifiers.trustConstantResourceUrl = { name: 'ɵɵtrustConstantResourceUrl', moduleName: CORE };
|
|
2940
2940
|
|
|
2941
2941
|
/**
|
|
2942
2942
|
* @license
|
|
@@ -3678,7 +3678,7 @@ function convertFromMaybeForwardRefExpression({ expression, forwardRef }) {
|
|
|
3678
3678
|
* ```
|
|
3679
3679
|
*/
|
|
3680
3680
|
function generateForwardRef(expr) {
|
|
3681
|
-
return importExpr(Identifiers
|
|
3681
|
+
return importExpr(Identifiers.forwardRef).callFn([fn([], [new ReturnStatement(expr)])]);
|
|
3682
3682
|
}
|
|
3683
3683
|
|
|
3684
3684
|
var R3FactoryDelegateType;
|
|
@@ -3726,7 +3726,7 @@ function compileFactoryFunction(meta) {
|
|
|
3726
3726
|
const r = variable('r');
|
|
3727
3727
|
body.push(r.set(NULL_EXPR).toDeclStmt());
|
|
3728
3728
|
const ctorStmt = ctorExpr !== null ? r.set(ctorExpr).toStmt() :
|
|
3729
|
-
importExpr(Identifiers
|
|
3729
|
+
importExpr(Identifiers.invalidFactory).callFn([]).toStmt();
|
|
3730
3730
|
body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));
|
|
3731
3731
|
return r;
|
|
3732
3732
|
}
|
|
@@ -3749,11 +3749,11 @@ function compileFactoryFunction(meta) {
|
|
|
3749
3749
|
}
|
|
3750
3750
|
if (retExpr === null) {
|
|
3751
3751
|
// The expression cannot be formed so render an `ɵɵinvalidFactory()` call.
|
|
3752
|
-
body.push(importExpr(Identifiers
|
|
3752
|
+
body.push(importExpr(Identifiers.invalidFactory).callFn([]).toStmt());
|
|
3753
3753
|
}
|
|
3754
3754
|
else if (baseFactoryVar !== null) {
|
|
3755
3755
|
// This factory uses a base factory, so call `ɵɵgetInheritedFactory()` to compute it.
|
|
3756
|
-
const getInheritedFactoryCall = importExpr(Identifiers
|
|
3756
|
+
const getInheritedFactoryCall = importExpr(Identifiers.getInheritedFactory).callFn([meta.internalType]);
|
|
3757
3757
|
// Memoize the base factoryFn: `baseFactory || (baseFactory = ɵɵgetInheritedFactory(...))`
|
|
3758
3758
|
const baseFactory = new BinaryOperatorExpr(BinaryOperator.Or, baseFactoryVar, baseFactoryVar.set(getInheritedFactoryCall));
|
|
3759
3759
|
body.push(new ReturnStatement(baseFactory.callFn([typeForCtor])));
|
|
@@ -3778,7 +3778,7 @@ function compileFactoryFunction(meta) {
|
|
|
3778
3778
|
}
|
|
3779
3779
|
function createFactoryType(meta) {
|
|
3780
3780
|
const ctorDepsType = meta.deps !== null && meta.deps !== 'invalid' ? createCtorDepsType(meta.deps) : NONE_TYPE;
|
|
3781
|
-
return expressionType(importExpr(Identifiers
|
|
3781
|
+
return expressionType(importExpr(Identifiers.FactoryDeclaration, [typeWithParameters(meta.type.type, meta.typeArgumentCount), ctorDepsType]));
|
|
3782
3782
|
}
|
|
3783
3783
|
function injectDependencies(deps, target) {
|
|
3784
3784
|
return deps.map((dep, index) => compileInjectDependency(dep, target, index));
|
|
@@ -3786,7 +3786,7 @@ function injectDependencies(deps, target) {
|
|
|
3786
3786
|
function compileInjectDependency(dep, target, index) {
|
|
3787
3787
|
// Interpret the dependency according to its resolved type.
|
|
3788
3788
|
if (dep.token === null) {
|
|
3789
|
-
return importExpr(Identifiers
|
|
3789
|
+
return importExpr(Identifiers.invalidFactoryDep).callFn([literal(index)]);
|
|
3790
3790
|
}
|
|
3791
3791
|
else if (dep.attributeNameType === null) {
|
|
3792
3792
|
// Build up the injection flags according to the metadata.
|
|
@@ -3814,7 +3814,7 @@ function compileInjectDependency(dep, target, index) {
|
|
|
3814
3814
|
//
|
|
3815
3815
|
// The `dep.attributeTypeName` is only actually used (in `createCtorDepType()`) to generate
|
|
3816
3816
|
// typings.
|
|
3817
|
-
return importExpr(Identifiers
|
|
3817
|
+
return importExpr(Identifiers.injectAttribute).callFn([dep.token]);
|
|
3818
3818
|
}
|
|
3819
3819
|
}
|
|
3820
3820
|
function createCtorDepsType(deps) {
|
|
@@ -3866,11 +3866,11 @@ function getInjectFn(target) {
|
|
|
3866
3866
|
case FactoryTarget$1.Component:
|
|
3867
3867
|
case FactoryTarget$1.Directive:
|
|
3868
3868
|
case FactoryTarget$1.Pipe:
|
|
3869
|
-
return Identifiers
|
|
3869
|
+
return Identifiers.directiveInject;
|
|
3870
3870
|
case FactoryTarget$1.NgModule:
|
|
3871
3871
|
case FactoryTarget$1.Injectable:
|
|
3872
3872
|
default:
|
|
3873
|
-
return Identifiers
|
|
3873
|
+
return Identifiers.inject;
|
|
3874
3874
|
}
|
|
3875
3875
|
}
|
|
3876
3876
|
|
|
@@ -4966,7 +4966,7 @@ function getQueryPredicate(query, constantPool) {
|
|
|
4966
4966
|
case 2 /* Unwrapped */:
|
|
4967
4967
|
return query.predicate.expression;
|
|
4968
4968
|
case 1 /* Wrapped */:
|
|
4969
|
-
return importExpr(Identifiers
|
|
4969
|
+
return importExpr(Identifiers.resolveForwardRef).callFn([query.predicate.expression]);
|
|
4970
4970
|
}
|
|
4971
4971
|
}
|
|
4972
4972
|
}
|
|
@@ -5111,7 +5111,7 @@ function compileInjectable(meta, resolveForwardRefs) {
|
|
|
5111
5111
|
}
|
|
5112
5112
|
else if (meta.useExisting !== undefined) {
|
|
5113
5113
|
// useExisting is an `inject` call on the existing token.
|
|
5114
|
-
result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: importExpr(Identifiers
|
|
5114
|
+
result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: importExpr(Identifiers.inject).callFn([meta.useExisting.expression]) }));
|
|
5115
5115
|
}
|
|
5116
5116
|
else {
|
|
5117
5117
|
result = {
|
|
@@ -5127,7 +5127,7 @@ function compileInjectable(meta, resolveForwardRefs) {
|
|
|
5127
5127
|
if (meta.providedIn.expression.value !== null) {
|
|
5128
5128
|
injectableProps.set('providedIn', convertFromMaybeForwardRefExpression(meta.providedIn));
|
|
5129
5129
|
}
|
|
5130
|
-
const expression = importExpr(Identifiers
|
|
5130
|
+
const expression = importExpr(Identifiers.ɵɵdefineInjectable)
|
|
5131
5131
|
.callFn([injectableProps.toLiteralMap()], undefined, true);
|
|
5132
5132
|
return {
|
|
5133
5133
|
expression,
|
|
@@ -5136,7 +5136,7 @@ function compileInjectable(meta, resolveForwardRefs) {
|
|
|
5136
5136
|
};
|
|
5137
5137
|
}
|
|
5138
5138
|
function createInjectableType(meta) {
|
|
5139
|
-
return new ExpressionType(importExpr(Identifiers
|
|
5139
|
+
return new ExpressionType(importExpr(Identifiers.InjectableDeclaration, [typeWithParameters(meta.type.type, meta.typeArgumentCount)]));
|
|
5140
5140
|
}
|
|
5141
5141
|
function delegateToFactory(type, internalType, unwrapForwardRefs) {
|
|
5142
5142
|
if (type.node === internalType.node) {
|
|
@@ -5159,7 +5159,7 @@ function delegateToFactory(type, internalType, unwrapForwardRefs) {
|
|
|
5159
5159
|
// ```
|
|
5160
5160
|
// factory: function(t) { return core.resolveForwardRef(type).ɵfac(t); }
|
|
5161
5161
|
// ```
|
|
5162
|
-
const unwrappedType = importExpr(Identifiers
|
|
5162
|
+
const unwrappedType = importExpr(Identifiers.resolveForwardRef).callFn([internalType]);
|
|
5163
5163
|
return createFactoryFunction(unwrappedType);
|
|
5164
5164
|
}
|
|
5165
5165
|
function createFactoryFunction(type) {
|
|
@@ -5848,12 +5848,12 @@ function compileInjector(meta) {
|
|
|
5848
5848
|
if (meta.imports.length > 0) {
|
|
5849
5849
|
definitionMap.set('imports', literalArr(meta.imports));
|
|
5850
5850
|
}
|
|
5851
|
-
const expression = importExpr(Identifiers
|
|
5851
|
+
const expression = importExpr(Identifiers.defineInjector).callFn([definitionMap.toLiteralMap()], undefined, true);
|
|
5852
5852
|
const type = createInjectorType(meta);
|
|
5853
5853
|
return { expression, type, statements: [] };
|
|
5854
5854
|
}
|
|
5855
5855
|
function createInjectorType(meta) {
|
|
5856
|
-
return new ExpressionType(importExpr(Identifiers
|
|
5856
|
+
return new ExpressionType(importExpr(Identifiers.InjectorDeclaration, [new ExpressionType(meta.type.type)]));
|
|
5857
5857
|
}
|
|
5858
5858
|
|
|
5859
5859
|
/**
|
|
@@ -5930,7 +5930,7 @@ function compileNgModule(meta) {
|
|
|
5930
5930
|
if (id !== null) {
|
|
5931
5931
|
definitionMap.set('id', id);
|
|
5932
5932
|
}
|
|
5933
|
-
const expression = importExpr(Identifiers
|
|
5933
|
+
const expression = importExpr(Identifiers.defineNgModule).callFn([definitionMap.toLiteralMap()], undefined, true);
|
|
5934
5934
|
const type = createNgModuleType(meta);
|
|
5935
5935
|
return { expression, type, statements };
|
|
5936
5936
|
}
|
|
@@ -5959,10 +5959,10 @@ function compileNgModuleDeclarationExpression(meta) {
|
|
|
5959
5959
|
if (meta.id !== undefined) {
|
|
5960
5960
|
definitionMap.set('id', new WrappedNodeExpr(meta.id));
|
|
5961
5961
|
}
|
|
5962
|
-
return importExpr(Identifiers
|
|
5962
|
+
return importExpr(Identifiers.defineNgModule).callFn([definitionMap.toLiteralMap()]);
|
|
5963
5963
|
}
|
|
5964
5964
|
function createNgModuleType({ type: moduleType, declarations, imports, exports }) {
|
|
5965
|
-
return new ExpressionType(importExpr(Identifiers
|
|
5965
|
+
return new ExpressionType(importExpr(Identifiers.NgModuleDeclaration, [
|
|
5966
5966
|
new ExpressionType(moduleType.type), tupleTypeOf(declarations), tupleTypeOf(imports),
|
|
5967
5967
|
tupleTypeOf(exports)
|
|
5968
5968
|
]));
|
|
@@ -5990,7 +5990,7 @@ function generateSetNgModuleScopeCall(meta) {
|
|
|
5990
5990
|
}
|
|
5991
5991
|
// setNgModuleScope(...)
|
|
5992
5992
|
const fnCall = new InvokeFunctionExpr(
|
|
5993
|
-
/* fn */ importExpr(Identifiers
|
|
5993
|
+
/* fn */ importExpr(Identifiers.setNgModuleScope),
|
|
5994
5994
|
/* args */ [moduleType, scopeMap.toLiteralMap()]);
|
|
5995
5995
|
// (ngJitMode guard) && setNgModuleScope(...)
|
|
5996
5996
|
const guardedCall = jitOnlyGuardedExpression(fnCall);
|
|
@@ -6024,12 +6024,12 @@ function compilePipeFromMetadata(metadata) {
|
|
|
6024
6024
|
definitionMapValues.push({ key: 'type', value: metadata.type.value, quoted: false });
|
|
6025
6025
|
// e.g. `pure: true`
|
|
6026
6026
|
definitionMapValues.push({ key: 'pure', value: literal(metadata.pure), quoted: false });
|
|
6027
|
-
const expression = importExpr(Identifiers
|
|
6027
|
+
const expression = importExpr(Identifiers.definePipe).callFn([literalMap(definitionMapValues)], undefined, true);
|
|
6028
6028
|
const type = createPipeType(metadata);
|
|
6029
6029
|
return { expression, type, statements: [] };
|
|
6030
6030
|
}
|
|
6031
6031
|
function createPipeType(metadata) {
|
|
6032
|
-
return new ExpressionType(importExpr(Identifiers
|
|
6032
|
+
return new ExpressionType(importExpr(Identifiers.PipeDeclaration, [
|
|
6033
6033
|
typeWithParameters(metadata.type.type, metadata.typeArgumentCount),
|
|
6034
6034
|
new ExpressionType(new LiteralExpr(metadata.pipeName)),
|
|
6035
6035
|
]));
|
|
@@ -6078,33 +6078,6 @@ class ASTWithName extends AST {
|
|
|
6078
6078
|
this.nameSpan = nameSpan;
|
|
6079
6079
|
}
|
|
6080
6080
|
}
|
|
6081
|
-
/**
|
|
6082
|
-
* Represents a quoted expression of the form:
|
|
6083
|
-
*
|
|
6084
|
-
* quote = prefix `:` uninterpretedExpression
|
|
6085
|
-
* prefix = identifier
|
|
6086
|
-
* uninterpretedExpression = arbitrary string
|
|
6087
|
-
*
|
|
6088
|
-
* A quoted expression is meant to be pre-processed by an AST transformer that
|
|
6089
|
-
* converts it into another AST that no longer contains quoted expressions.
|
|
6090
|
-
* It is meant to allow third-party developers to extend Angular template
|
|
6091
|
-
* expression language. The `uninterpretedExpression` part of the quote is
|
|
6092
|
-
* therefore not interpreted by the Angular's own expression parser.
|
|
6093
|
-
*/
|
|
6094
|
-
class Quote extends AST {
|
|
6095
|
-
constructor(span, sourceSpan, prefix, uninterpretedExpression, location) {
|
|
6096
|
-
super(span, sourceSpan);
|
|
6097
|
-
this.prefix = prefix;
|
|
6098
|
-
this.uninterpretedExpression = uninterpretedExpression;
|
|
6099
|
-
this.location = location;
|
|
6100
|
-
}
|
|
6101
|
-
visit(visitor, context = null) {
|
|
6102
|
-
return visitor.visitQuote(this, context);
|
|
6103
|
-
}
|
|
6104
|
-
toString() {
|
|
6105
|
-
return 'Quote';
|
|
6106
|
-
}
|
|
6107
|
-
}
|
|
6108
6081
|
class EmptyExpr extends AST {
|
|
6109
6082
|
visit(visitor, context = null) {
|
|
6110
6083
|
// do nothing
|
|
@@ -6485,7 +6458,6 @@ class RecursiveAstVisitor {
|
|
|
6485
6458
|
this.visit(ast.receiver, context);
|
|
6486
6459
|
this.visitAll(ast.args, context);
|
|
6487
6460
|
}
|
|
6488
|
-
visitQuote(ast, context) { }
|
|
6489
6461
|
// This is not part of the AstVisitor interface, just a helper method
|
|
6490
6462
|
visitAll(asts, context) {
|
|
6491
6463
|
for (const ast of asts) {
|
|
@@ -6568,9 +6540,6 @@ class AstTransformer {
|
|
|
6568
6540
|
visitChain(ast, context) {
|
|
6569
6541
|
return new Chain(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));
|
|
6570
6542
|
}
|
|
6571
|
-
visitQuote(ast, context) {
|
|
6572
|
-
return new Quote(ast.span, ast.sourceSpan, ast.prefix, ast.uninterpretedExpression, ast.location);
|
|
6573
|
-
}
|
|
6574
6543
|
visitSafeKeyedRead(ast, context) {
|
|
6575
6544
|
return new SafeKeyedRead(ast.span, ast.sourceSpan, ast.receiver.visit(this), ast.key.visit(this));
|
|
6576
6545
|
}
|
|
@@ -6733,9 +6702,6 @@ class AstMemoryEfficientTransformer {
|
|
|
6733
6702
|
}
|
|
6734
6703
|
return ast;
|
|
6735
6704
|
}
|
|
6736
|
-
visitQuote(ast, context) {
|
|
6737
|
-
return ast;
|
|
6738
|
-
}
|
|
6739
6705
|
visitSafeKeyedRead(ast, context) {
|
|
6740
6706
|
const obj = ast.receiver.visit(this);
|
|
6741
6707
|
const key = ast.key.visit(this);
|
|
@@ -6802,98 +6768,6 @@ class BoundElementProperty {
|
|
|
6802
6768
|
}
|
|
6803
6769
|
}
|
|
6804
6770
|
|
|
6805
|
-
/**
|
|
6806
|
-
* @license
|
|
6807
|
-
* Copyright Google LLC All Rights Reserved.
|
|
6808
|
-
*
|
|
6809
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6810
|
-
* found in the LICENSE file at https://angular.io/license
|
|
6811
|
-
*/
|
|
6812
|
-
const CORE = '@angular/core';
|
|
6813
|
-
class Identifiers {
|
|
6814
|
-
}
|
|
6815
|
-
Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {
|
|
6816
|
-
name: 'ANALYZE_FOR_ENTRY_COMPONENTS',
|
|
6817
|
-
moduleName: CORE,
|
|
6818
|
-
};
|
|
6819
|
-
Identifiers.ElementRef = { name: 'ElementRef', moduleName: CORE };
|
|
6820
|
-
Identifiers.NgModuleRef = { name: 'NgModuleRef', moduleName: CORE };
|
|
6821
|
-
Identifiers.ViewContainerRef = { name: 'ViewContainerRef', moduleName: CORE };
|
|
6822
|
-
Identifiers.ChangeDetectorRef = {
|
|
6823
|
-
name: 'ChangeDetectorRef',
|
|
6824
|
-
moduleName: CORE,
|
|
6825
|
-
};
|
|
6826
|
-
Identifiers.QueryList = { name: 'QueryList', moduleName: CORE };
|
|
6827
|
-
Identifiers.TemplateRef = { name: 'TemplateRef', moduleName: CORE };
|
|
6828
|
-
Identifiers.Renderer2 = { name: 'Renderer2', moduleName: CORE };
|
|
6829
|
-
Identifiers.CodegenComponentFactoryResolver = {
|
|
6830
|
-
name: 'ɵCodegenComponentFactoryResolver',
|
|
6831
|
-
moduleName: CORE,
|
|
6832
|
-
};
|
|
6833
|
-
Identifiers.ComponentFactoryResolver = {
|
|
6834
|
-
name: 'ComponentFactoryResolver',
|
|
6835
|
-
moduleName: CORE,
|
|
6836
|
-
};
|
|
6837
|
-
Identifiers.ComponentFactory = { name: 'ComponentFactory', moduleName: CORE };
|
|
6838
|
-
Identifiers.ComponentRef = { name: 'ComponentRef', moduleName: CORE };
|
|
6839
|
-
Identifiers.NgModuleFactory = { name: 'NgModuleFactory', moduleName: CORE };
|
|
6840
|
-
Identifiers.createModuleFactory = {
|
|
6841
|
-
name: 'ɵcmf',
|
|
6842
|
-
moduleName: CORE,
|
|
6843
|
-
};
|
|
6844
|
-
Identifiers.moduleDef = {
|
|
6845
|
-
name: 'ɵmod',
|
|
6846
|
-
moduleName: CORE,
|
|
6847
|
-
};
|
|
6848
|
-
Identifiers.moduleProviderDef = {
|
|
6849
|
-
name: 'ɵmpd',
|
|
6850
|
-
moduleName: CORE,
|
|
6851
|
-
};
|
|
6852
|
-
Identifiers.RegisterModuleFactoryFn = {
|
|
6853
|
-
name: 'ɵregisterModuleFactory',
|
|
6854
|
-
moduleName: CORE,
|
|
6855
|
-
};
|
|
6856
|
-
Identifiers.inject = { name: 'ɵɵinject', moduleName: CORE };
|
|
6857
|
-
Identifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };
|
|
6858
|
-
Identifiers.INJECTOR = { name: 'INJECTOR', moduleName: CORE };
|
|
6859
|
-
Identifiers.Injector = { name: 'Injector', moduleName: CORE };
|
|
6860
|
-
Identifiers.ViewEncapsulation = {
|
|
6861
|
-
name: 'ViewEncapsulation',
|
|
6862
|
-
moduleName: CORE,
|
|
6863
|
-
};
|
|
6864
|
-
Identifiers.ChangeDetectionStrategy = {
|
|
6865
|
-
name: 'ChangeDetectionStrategy',
|
|
6866
|
-
moduleName: CORE,
|
|
6867
|
-
};
|
|
6868
|
-
Identifiers.SecurityContext = {
|
|
6869
|
-
name: 'SecurityContext',
|
|
6870
|
-
moduleName: CORE,
|
|
6871
|
-
};
|
|
6872
|
-
Identifiers.LOCALE_ID = { name: 'LOCALE_ID', moduleName: CORE };
|
|
6873
|
-
Identifiers.TRANSLATIONS_FORMAT = {
|
|
6874
|
-
name: 'TRANSLATIONS_FORMAT',
|
|
6875
|
-
moduleName: CORE,
|
|
6876
|
-
};
|
|
6877
|
-
Identifiers.inlineInterpolate = {
|
|
6878
|
-
name: 'ɵinlineInterpolate',
|
|
6879
|
-
moduleName: CORE,
|
|
6880
|
-
};
|
|
6881
|
-
Identifiers.interpolate = { name: 'ɵinterpolate', moduleName: CORE };
|
|
6882
|
-
Identifiers.EMPTY_ARRAY = { name: 'ɵEMPTY_ARRAY', moduleName: CORE };
|
|
6883
|
-
Identifiers.EMPTY_MAP = { name: 'ɵEMPTY_MAP', moduleName: CORE };
|
|
6884
|
-
Identifiers.Renderer = { name: 'Renderer', moduleName: CORE };
|
|
6885
|
-
// type only
|
|
6886
|
-
Identifiers.RendererType2 = {
|
|
6887
|
-
name: 'RendererType2',
|
|
6888
|
-
moduleName: CORE,
|
|
6889
|
-
};
|
|
6890
|
-
// type only
|
|
6891
|
-
Identifiers.ViewDefinition = {
|
|
6892
|
-
name: 'ɵViewDefinition',
|
|
6893
|
-
moduleName: CORE,
|
|
6894
|
-
};
|
|
6895
|
-
Identifiers.createComponentFactory = { name: 'ɵccf', moduleName: CORE };
|
|
6896
|
-
|
|
6897
6771
|
/**
|
|
6898
6772
|
* @license
|
|
6899
6773
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -6908,7 +6782,7 @@ EventHandlerVars.event = variable('$event');
|
|
|
6908
6782
|
* Converts the given expression AST into an executable output AST, assuming the expression is
|
|
6909
6783
|
* used in an action binding (e.g. an event handler).
|
|
6910
6784
|
*/
|
|
6911
|
-
function convertActionBinding(localResolver, implicitReceiver, action, bindingId,
|
|
6785
|
+
function convertActionBinding(localResolver, implicitReceiver, action, bindingId, baseSourceSpan, implicitReceiverAccesses, globals) {
|
|
6912
6786
|
if (!localResolver) {
|
|
6913
6787
|
localResolver = new DefaultLocalResolver(globals);
|
|
6914
6788
|
}
|
|
@@ -6932,7 +6806,7 @@ function convertActionBinding(localResolver, implicitReceiver, action, bindingId
|
|
|
6932
6806
|
throw new Error(`Illegal State: Actions are not allowed to contain pipes. Pipe: ${name}`);
|
|
6933
6807
|
}
|
|
6934
6808
|
}, action);
|
|
6935
|
-
const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId,
|
|
6809
|
+
const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, /* supportsInterpolation */ false, baseSourceSpan, implicitReceiverAccesses);
|
|
6936
6810
|
const actionStmts = [];
|
|
6937
6811
|
flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);
|
|
6938
6812
|
prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);
|
|
@@ -6963,11 +6837,11 @@ class ConvertPropertyBindingResult {
|
|
|
6963
6837
|
* is used in property binding. The expression has to be preprocessed via
|
|
6964
6838
|
* `convertPropertyBindingBuiltins`.
|
|
6965
6839
|
*/
|
|
6966
|
-
function convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId
|
|
6840
|
+
function convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId) {
|
|
6967
6841
|
if (!localResolver) {
|
|
6968
6842
|
localResolver = new DefaultLocalResolver();
|
|
6969
6843
|
}
|
|
6970
|
-
const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId,
|
|
6844
|
+
const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, /* supportsInterpolation */ false);
|
|
6971
6845
|
const outputExpr = expressionWithoutBuiltins.visit(visitor, _Mode.Expression);
|
|
6972
6846
|
const stmts = getStatementsFromVisitor(visitor, bindingId);
|
|
6973
6847
|
if (visitor.usesImplicitReceiver) {
|
|
@@ -6992,28 +6866,13 @@ function convertPropertyBinding(localResolver, implicitReceiver, expressionWitho
|
|
|
6992
6866
|
* `o.importExpr(R3.propertyInterpolate).callFn(result)`
|
|
6993
6867
|
*/
|
|
6994
6868
|
function convertUpdateArguments(localResolver, contextVariableExpression, expressionWithArgumentsToExtract, bindingId) {
|
|
6995
|
-
const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId,
|
|
6996
|
-
const outputExpr =
|
|
6869
|
+
const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId, /* supportsInterpolation */ true);
|
|
6870
|
+
const outputExpr = visitor.visitInterpolation(expressionWithArgumentsToExtract, _Mode.Expression);
|
|
6997
6871
|
if (visitor.usesImplicitReceiver) {
|
|
6998
6872
|
localResolver.notifyImplicitReceiverUse();
|
|
6999
6873
|
}
|
|
7000
6874
|
const stmts = getStatementsFromVisitor(visitor, bindingId);
|
|
7001
|
-
|
|
7002
|
-
let args = outputExpr.args.slice(1);
|
|
7003
|
-
if (expressionWithArgumentsToExtract instanceof Interpolation) {
|
|
7004
|
-
// If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the
|
|
7005
|
-
// args returned to just the value, because we're going to pass it to a special instruction.
|
|
7006
|
-
const strings = expressionWithArgumentsToExtract.strings;
|
|
7007
|
-
if (args.length === 3 && strings[0] === '' && strings[1] === '') {
|
|
7008
|
-
// Single argument interpolate instructions.
|
|
7009
|
-
args = [args[1]];
|
|
7010
|
-
}
|
|
7011
|
-
else if (args.length >= 19) {
|
|
7012
|
-
// 19 or more arguments must be passed to the `interpolateV`-style instructions, which accept
|
|
7013
|
-
// an array of arguments
|
|
7014
|
-
args = [literalArr(args)];
|
|
7015
|
-
}
|
|
7016
|
-
}
|
|
6875
|
+
const args = outputExpr.args;
|
|
7017
6876
|
return { stmts, args };
|
|
7018
6877
|
}
|
|
7019
6878
|
function getStatementsFromVisitor(visitor, bindingId) {
|
|
@@ -7080,11 +6939,11 @@ class _BuiltinAstConverter extends AstTransformer {
|
|
|
7080
6939
|
}
|
|
7081
6940
|
}
|
|
7082
6941
|
class _AstToIrVisitor {
|
|
7083
|
-
constructor(_localResolver, _implicitReceiver, bindingId,
|
|
6942
|
+
constructor(_localResolver, _implicitReceiver, bindingId, supportsInterpolation, baseSourceSpan, implicitReceiverAccesses) {
|
|
7084
6943
|
this._localResolver = _localResolver;
|
|
7085
6944
|
this._implicitReceiver = _implicitReceiver;
|
|
7086
6945
|
this.bindingId = bindingId;
|
|
7087
|
-
this.
|
|
6946
|
+
this.supportsInterpolation = supportsInterpolation;
|
|
7088
6947
|
this.baseSourceSpan = baseSourceSpan;
|
|
7089
6948
|
this.implicitReceiverAccesses = implicitReceiverAccesses;
|
|
7090
6949
|
this._nodeMap = new Map();
|
|
@@ -7182,21 +7041,29 @@ class _AstToIrVisitor {
|
|
|
7182
7041
|
return this.visitImplicitReceiver(ast, mode);
|
|
7183
7042
|
}
|
|
7184
7043
|
visitInterpolation(ast, mode) {
|
|
7044
|
+
if (!this.supportsInterpolation) {
|
|
7045
|
+
throw new Error('Unexpected interpolation');
|
|
7046
|
+
}
|
|
7185
7047
|
ensureExpressionMode(mode, ast);
|
|
7186
|
-
|
|
7048
|
+
let args = [];
|
|
7187
7049
|
for (let i = 0; i < ast.strings.length - 1; i++) {
|
|
7188
7050
|
args.push(literal(ast.strings[i]));
|
|
7189
7051
|
args.push(this._visit(ast.expressions[i], _Mode.Expression));
|
|
7190
7052
|
}
|
|
7191
7053
|
args.push(literal(ast.strings[ast.strings.length - 1]));
|
|
7192
|
-
|
|
7193
|
-
|
|
7054
|
+
// If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the
|
|
7055
|
+
// args returned to just the value, because we're going to pass it to a special instruction.
|
|
7056
|
+
const strings = ast.strings;
|
|
7057
|
+
if (strings.length === 2 && strings[0] === '' && strings[1] === '') {
|
|
7058
|
+
// Single argument interpolate instructions.
|
|
7059
|
+
args = [args[1]];
|
|
7194
7060
|
}
|
|
7195
|
-
|
|
7196
|
-
|
|
7197
|
-
|
|
7198
|
-
|
|
7199
|
-
|
|
7061
|
+
else if (ast.expressions.length >= 9) {
|
|
7062
|
+
// 9 or more arguments must be passed to the `interpolateV`-style instructions, which accept
|
|
7063
|
+
// an array of arguments
|
|
7064
|
+
args = [literalArr(args)];
|
|
7065
|
+
}
|
|
7066
|
+
return new InterpolationExpression(args);
|
|
7200
7067
|
}
|
|
7201
7068
|
visitKeyedRead(ast, mode) {
|
|
7202
7069
|
const leftMostSafe = this.leftMostSafeNode(ast);
|
|
@@ -7308,10 +7175,6 @@ class _AstToIrVisitor {
|
|
|
7308
7175
|
visitAll(asts, mode) {
|
|
7309
7176
|
return asts.map(ast => this._visit(ast, mode));
|
|
7310
7177
|
}
|
|
7311
|
-
visitQuote(ast, mode) {
|
|
7312
|
-
throw new Error(`Quotes are not supported for evaluation!
|
|
7313
|
-
Statement: ${ast.uninterpretedExpression} located at ${ast.location}`);
|
|
7314
|
-
}
|
|
7315
7178
|
visitCall(ast, mode) {
|
|
7316
7179
|
const leftMostSafe = this.leftMostSafeNode(ast);
|
|
7317
7180
|
if (leftMostSafe) {
|
|
@@ -7497,9 +7360,6 @@ class _AstToIrVisitor {
|
|
|
7497
7360
|
visitPropertyWrite(ast) {
|
|
7498
7361
|
return null;
|
|
7499
7362
|
},
|
|
7500
|
-
visitQuote(ast) {
|
|
7501
|
-
return null;
|
|
7502
|
-
},
|
|
7503
7363
|
visitSafePropertyRead(ast) {
|
|
7504
7364
|
return visit(this, ast.receiver) || ast;
|
|
7505
7365
|
},
|
|
@@ -7576,9 +7436,6 @@ class _AstToIrVisitor {
|
|
|
7576
7436
|
visitPropertyWrite(ast) {
|
|
7577
7437
|
return false;
|
|
7578
7438
|
},
|
|
7579
|
-
visitQuote(ast) {
|
|
7580
|
-
return false;
|
|
7581
|
-
},
|
|
7582
7439
|
visitSafePropertyRead(ast) {
|
|
7583
7440
|
return false;
|
|
7584
7441
|
},
|
|
@@ -7635,6 +7492,18 @@ function flattenStatements(arg, output) {
|
|
|
7635
7492
|
output.push(arg);
|
|
7636
7493
|
}
|
|
7637
7494
|
}
|
|
7495
|
+
function unsupported() {
|
|
7496
|
+
throw new Error('Unsupported operation');
|
|
7497
|
+
}
|
|
7498
|
+
class InterpolationExpression extends Expression {
|
|
7499
|
+
constructor(args) {
|
|
7500
|
+
super(null, null);
|
|
7501
|
+
this.args = args;
|
|
7502
|
+
this.isConstant = unsupported;
|
|
7503
|
+
this.isEquivalent = unsupported;
|
|
7504
|
+
this.visitExpression = unsupported;
|
|
7505
|
+
}
|
|
7506
|
+
}
|
|
7638
7507
|
class DefaultLocalResolver {
|
|
7639
7508
|
constructor(globals) {
|
|
7640
7509
|
this.globals = globals;
|
|
@@ -8803,7 +8672,7 @@ class StylingBuilder {
|
|
|
8803
8672
|
getStyleMapInterpolationExpression(mapValue);
|
|
8804
8673
|
}
|
|
8805
8674
|
else {
|
|
8806
|
-
reference = isClassBased ? Identifiers
|
|
8675
|
+
reference = isClassBased ? Identifiers.classMap : Identifiers.styleMap;
|
|
8807
8676
|
}
|
|
8808
8677
|
return {
|
|
8809
8678
|
reference,
|
|
@@ -8877,13 +8746,13 @@ class StylingBuilder {
|
|
|
8877
8746
|
}
|
|
8878
8747
|
_buildClassInputs(valueConverter) {
|
|
8879
8748
|
if (this._singleClassInputs) {
|
|
8880
|
-
return this._buildSingleInputs(Identifiers
|
|
8749
|
+
return this._buildSingleInputs(Identifiers.classProp, this._singleClassInputs, valueConverter, null, true);
|
|
8881
8750
|
}
|
|
8882
8751
|
return [];
|
|
8883
8752
|
}
|
|
8884
8753
|
_buildStyleInputs(valueConverter) {
|
|
8885
8754
|
if (this._singleStyleInputs) {
|
|
8886
|
-
return this._buildSingleInputs(Identifiers
|
|
8755
|
+
return this._buildSingleInputs(Identifiers.styleProp, this._singleStyleInputs, valueConverter, getStylePropInterpolationExpression, false);
|
|
8887
8756
|
}
|
|
8888
8757
|
return [];
|
|
8889
8758
|
}
|
|
@@ -8936,25 +8805,25 @@ function parseProperty(name) {
|
|
|
8936
8805
|
function getClassMapInterpolationExpression(interpolation) {
|
|
8937
8806
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
8938
8807
|
case 1:
|
|
8939
|
-
return Identifiers
|
|
8808
|
+
return Identifiers.classMap;
|
|
8940
8809
|
case 3:
|
|
8941
|
-
return Identifiers
|
|
8810
|
+
return Identifiers.classMapInterpolate1;
|
|
8942
8811
|
case 5:
|
|
8943
|
-
return Identifiers
|
|
8812
|
+
return Identifiers.classMapInterpolate2;
|
|
8944
8813
|
case 7:
|
|
8945
|
-
return Identifiers
|
|
8814
|
+
return Identifiers.classMapInterpolate3;
|
|
8946
8815
|
case 9:
|
|
8947
|
-
return Identifiers
|
|
8816
|
+
return Identifiers.classMapInterpolate4;
|
|
8948
8817
|
case 11:
|
|
8949
|
-
return Identifiers
|
|
8818
|
+
return Identifiers.classMapInterpolate5;
|
|
8950
8819
|
case 13:
|
|
8951
|
-
return Identifiers
|
|
8820
|
+
return Identifiers.classMapInterpolate6;
|
|
8952
8821
|
case 15:
|
|
8953
|
-
return Identifiers
|
|
8822
|
+
return Identifiers.classMapInterpolate7;
|
|
8954
8823
|
case 17:
|
|
8955
|
-
return Identifiers
|
|
8824
|
+
return Identifiers.classMapInterpolate8;
|
|
8956
8825
|
default:
|
|
8957
|
-
return Identifiers
|
|
8826
|
+
return Identifiers.classMapInterpolateV;
|
|
8958
8827
|
}
|
|
8959
8828
|
}
|
|
8960
8829
|
/**
|
|
@@ -8964,25 +8833,25 @@ function getClassMapInterpolationExpression(interpolation) {
|
|
|
8964
8833
|
function getStyleMapInterpolationExpression(interpolation) {
|
|
8965
8834
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
8966
8835
|
case 1:
|
|
8967
|
-
return Identifiers
|
|
8836
|
+
return Identifiers.styleMap;
|
|
8968
8837
|
case 3:
|
|
8969
|
-
return Identifiers
|
|
8838
|
+
return Identifiers.styleMapInterpolate1;
|
|
8970
8839
|
case 5:
|
|
8971
|
-
return Identifiers
|
|
8840
|
+
return Identifiers.styleMapInterpolate2;
|
|
8972
8841
|
case 7:
|
|
8973
|
-
return Identifiers
|
|
8842
|
+
return Identifiers.styleMapInterpolate3;
|
|
8974
8843
|
case 9:
|
|
8975
|
-
return Identifiers
|
|
8844
|
+
return Identifiers.styleMapInterpolate4;
|
|
8976
8845
|
case 11:
|
|
8977
|
-
return Identifiers
|
|
8846
|
+
return Identifiers.styleMapInterpolate5;
|
|
8978
8847
|
case 13:
|
|
8979
|
-
return Identifiers
|
|
8848
|
+
return Identifiers.styleMapInterpolate6;
|
|
8980
8849
|
case 15:
|
|
8981
|
-
return Identifiers
|
|
8850
|
+
return Identifiers.styleMapInterpolate7;
|
|
8982
8851
|
case 17:
|
|
8983
|
-
return Identifiers
|
|
8852
|
+
return Identifiers.styleMapInterpolate8;
|
|
8984
8853
|
default:
|
|
8985
|
-
return Identifiers
|
|
8854
|
+
return Identifiers.styleMapInterpolateV;
|
|
8986
8855
|
}
|
|
8987
8856
|
}
|
|
8988
8857
|
/**
|
|
@@ -8992,25 +8861,25 @@ function getStyleMapInterpolationExpression(interpolation) {
|
|
|
8992
8861
|
function getStylePropInterpolationExpression(interpolation) {
|
|
8993
8862
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
8994
8863
|
case 1:
|
|
8995
|
-
return Identifiers
|
|
8864
|
+
return Identifiers.styleProp;
|
|
8996
8865
|
case 3:
|
|
8997
|
-
return Identifiers
|
|
8866
|
+
return Identifiers.stylePropInterpolate1;
|
|
8998
8867
|
case 5:
|
|
8999
|
-
return Identifiers
|
|
8868
|
+
return Identifiers.stylePropInterpolate2;
|
|
9000
8869
|
case 7:
|
|
9001
|
-
return Identifiers
|
|
8870
|
+
return Identifiers.stylePropInterpolate3;
|
|
9002
8871
|
case 9:
|
|
9003
|
-
return Identifiers
|
|
8872
|
+
return Identifiers.stylePropInterpolate4;
|
|
9004
8873
|
case 11:
|
|
9005
|
-
return Identifiers
|
|
8874
|
+
return Identifiers.stylePropInterpolate5;
|
|
9006
8875
|
case 13:
|
|
9007
|
-
return Identifiers
|
|
8876
|
+
return Identifiers.stylePropInterpolate6;
|
|
9008
8877
|
case 15:
|
|
9009
|
-
return Identifiers
|
|
8878
|
+
return Identifiers.stylePropInterpolate7;
|
|
9010
8879
|
case 17:
|
|
9011
|
-
return Identifiers
|
|
8880
|
+
return Identifiers.stylePropInterpolate8;
|
|
9012
8881
|
default:
|
|
9013
|
-
return Identifiers
|
|
8882
|
+
return Identifiers.stylePropInterpolateV;
|
|
9014
8883
|
}
|
|
9015
8884
|
}
|
|
9016
8885
|
/**
|
|
@@ -9499,31 +9368,12 @@ class Parser$1 {
|
|
|
9499
9368
|
this.errors.push(new ParserError(message, input, errLocation, ctxLocation));
|
|
9500
9369
|
}
|
|
9501
9370
|
_parseBindingAst(input, location, absoluteOffset, interpolationConfig) {
|
|
9502
|
-
// Quotes expressions use 3rd-party expression language. We don't want to use
|
|
9503
|
-
// our lexer or parser for that, so we check for that ahead of time.
|
|
9504
|
-
const quote = this._parseQuote(input, location, absoluteOffset);
|
|
9505
|
-
if (quote != null) {
|
|
9506
|
-
return quote;
|
|
9507
|
-
}
|
|
9508
9371
|
this._checkNoInterpolation(input, location, interpolationConfig);
|
|
9509
9372
|
const sourceToLex = this._stripComments(input);
|
|
9510
9373
|
const tokens = this._lexer.tokenize(sourceToLex);
|
|
9511
9374
|
return new _ParseAST(input, location, absoluteOffset, tokens, false, this.errors, 0)
|
|
9512
9375
|
.parseChain();
|
|
9513
9376
|
}
|
|
9514
|
-
_parseQuote(input, location, absoluteOffset) {
|
|
9515
|
-
if (input == null)
|
|
9516
|
-
return null;
|
|
9517
|
-
const prefixSeparatorIndex = input.indexOf(':');
|
|
9518
|
-
if (prefixSeparatorIndex == -1)
|
|
9519
|
-
return null;
|
|
9520
|
-
const prefix = input.substring(0, prefixSeparatorIndex).trim();
|
|
9521
|
-
if (!isIdentifier(prefix))
|
|
9522
|
-
return null;
|
|
9523
|
-
const uninterpretedExpression = input.substring(prefixSeparatorIndex + 1);
|
|
9524
|
-
const span = new ParseSpan(0, input.length);
|
|
9525
|
-
return new Quote(span, span.toAbsolute(absoluteOffset), prefix, uninterpretedExpression, location);
|
|
9526
|
-
}
|
|
9527
9377
|
/**
|
|
9528
9378
|
* Parse microsyntax template expression and return a list of bindings or
|
|
9529
9379
|
* parsing errors in case the given expression is invalid.
|
|
@@ -16906,7 +16756,7 @@ const NG_PROJECT_AS_ATTR_NAME = 'ngProjectAs';
|
|
|
16906
16756
|
// Global symbols available only inside event bindings.
|
|
16907
16757
|
const EVENT_BINDING_SCOPE_GLOBALS = new Set(['$event']);
|
|
16908
16758
|
// List of supported global targets for event listeners
|
|
16909
|
-
const GLOBAL_TARGET_RESOLVERS = new Map([['window', Identifiers
|
|
16759
|
+
const GLOBAL_TARGET_RESOLVERS = new Map([['window', Identifiers.resolveWindow], ['document', Identifiers.resolveDocument], ['body', Identifiers.resolveBody]]);
|
|
16910
16760
|
const LEADING_TRIVIA_CHARS = [' ', '\n', '\r', '\t'];
|
|
16911
16761
|
// if (rf & flags) { .. }
|
|
16912
16762
|
function renderFlagCheckIfStmt(flags, statements) {
|
|
@@ -16923,7 +16773,7 @@ function prepareEventListenerParameters(eventAst, handlerName = null, scope = nu
|
|
|
16923
16773
|
const implicitReceiverExpr = (scope === null || scope.bindingLevel === 0) ?
|
|
16924
16774
|
variable(CONTEXT_NAME) :
|
|
16925
16775
|
scope.getOrCreateSharedContextVar(0);
|
|
16926
|
-
const bindingStatements = convertActionBinding(scope, implicitReceiverExpr, handler, 'b',
|
|
16776
|
+
const bindingStatements = convertActionBinding(scope, implicitReceiverExpr, handler, 'b', eventAst.handlerSpan, implicitReceiverAccesses, EVENT_BINDING_SCOPE_GLOBALS);
|
|
16927
16777
|
const statements = [];
|
|
16928
16778
|
if (scope) {
|
|
16929
16779
|
// `variableDeclarations` needs to run first, because
|
|
@@ -17018,12 +16868,12 @@ class TemplateDefinitionBuilder {
|
|
|
17018
16868
|
this.fileBasedI18nSuffix = relativeContextFilePath.replace(/[^A-Za-z0-9]/g, '_') + '_';
|
|
17019
16869
|
this._valueConverter = new ValueConverter(constantPool, () => this.allocateDataSlot(), (numSlots) => this.allocatePureFunctionSlots(numSlots), (name, localName, slot, value) => {
|
|
17020
16870
|
this._bindingScope.set(this.level, localName, value);
|
|
17021
|
-
this.creationInstruction(null, Identifiers
|
|
16871
|
+
this.creationInstruction(null, Identifiers.pipe, [literal(slot), literal(name)]);
|
|
17022
16872
|
});
|
|
17023
16873
|
}
|
|
17024
16874
|
buildTemplateFunction(nodes, variables, ngContentSelectorsOffset = 0, i18n) {
|
|
17025
16875
|
this._ngContentSelectorsOffset = ngContentSelectorsOffset;
|
|
17026
|
-
if (this._namespace !== Identifiers
|
|
16876
|
+
if (this._namespace !== Identifiers.namespaceHTML) {
|
|
17027
16877
|
this.creationInstruction(null, this._namespace);
|
|
17028
16878
|
}
|
|
17029
16879
|
// Create variable bindings
|
|
@@ -17069,7 +16919,7 @@ class TemplateDefinitionBuilder {
|
|
|
17069
16919
|
// Since we accumulate ngContent selectors while processing template elements,
|
|
17070
16920
|
// we *prepend* `projectionDef` to creation instructions block, to put it before
|
|
17071
16921
|
// any `projection` instructions
|
|
17072
|
-
this.creationInstruction(null, Identifiers
|
|
16922
|
+
this.creationInstruction(null, Identifiers.projectionDef, parameters, /* prepend */ true);
|
|
17073
16923
|
}
|
|
17074
16924
|
if (initI18nContext) {
|
|
17075
16925
|
this.i18nEnd(null, selfClosingI18nInstruction);
|
|
@@ -17230,7 +17080,7 @@ class TemplateDefinitionBuilder {
|
|
|
17230
17080
|
if (Object.keys(icuMapping).length) {
|
|
17231
17081
|
args.push(mapLiteral(icuMapping, true));
|
|
17232
17082
|
}
|
|
17233
|
-
return instruction(null, Identifiers
|
|
17083
|
+
return instruction(null, Identifiers.i18nPostprocess, args);
|
|
17234
17084
|
};
|
|
17235
17085
|
}
|
|
17236
17086
|
this.i18nTranslate(meta, params, context.ref, transformFn);
|
|
@@ -17249,7 +17099,7 @@ class TemplateDefinitionBuilder {
|
|
|
17249
17099
|
// into i18nStart call for top level i18n context
|
|
17250
17100
|
params.push(literal(id));
|
|
17251
17101
|
}
|
|
17252
|
-
this.creationInstruction(span, selfClosing ? Identifiers
|
|
17102
|
+
this.creationInstruction(span, selfClosing ? Identifiers.i18n : Identifiers.i18nStart, params);
|
|
17253
17103
|
}
|
|
17254
17104
|
i18nEnd(span = null, selfClosing) {
|
|
17255
17105
|
if (!this.i18n) {
|
|
@@ -17272,11 +17122,11 @@ class TemplateDefinitionBuilder {
|
|
|
17272
17122
|
// for i18n block, advance to the most recent element index (by taking the current number of
|
|
17273
17123
|
// elements and subtracting one) before invoking `i18nExp` instructions, to make sure the
|
|
17274
17124
|
// necessary lifecycle hooks of components/directives are properly flushed.
|
|
17275
|
-
this.updateInstructionChainWithAdvance(this.getConstCount() - 1, Identifiers
|
|
17276
|
-
this.updateInstruction(span, Identifiers
|
|
17125
|
+
this.updateInstructionChainWithAdvance(this.getConstCount() - 1, Identifiers.i18nExp, chainBindings);
|
|
17126
|
+
this.updateInstruction(span, Identifiers.i18nApply, [literal(index)]);
|
|
17277
17127
|
}
|
|
17278
17128
|
if (!selfClosing) {
|
|
17279
|
-
this.creationInstruction(span, Identifiers
|
|
17129
|
+
this.creationInstruction(span, Identifiers.i18nEnd);
|
|
17280
17130
|
}
|
|
17281
17131
|
this.i18n = null; // reset local i18n context
|
|
17282
17132
|
}
|
|
@@ -17302,25 +17152,25 @@ class TemplateDefinitionBuilder {
|
|
|
17302
17152
|
}
|
|
17303
17153
|
});
|
|
17304
17154
|
if (bindings.length > 0) {
|
|
17305
|
-
this.updateInstructionChainWithAdvance(nodeIndex, Identifiers
|
|
17155
|
+
this.updateInstructionChainWithAdvance(nodeIndex, Identifiers.i18nExp, bindings);
|
|
17306
17156
|
}
|
|
17307
17157
|
if (i18nAttrArgs.length > 0) {
|
|
17308
17158
|
const index = literal(this.allocateDataSlot());
|
|
17309
17159
|
const constIndex = this.addToConsts(literalArr(i18nAttrArgs));
|
|
17310
|
-
this.creationInstruction(sourceSpan, Identifiers
|
|
17160
|
+
this.creationInstruction(sourceSpan, Identifiers.i18nAttributes, [index, constIndex]);
|
|
17311
17161
|
if (hasBindings) {
|
|
17312
|
-
this.updateInstruction(sourceSpan, Identifiers
|
|
17162
|
+
this.updateInstruction(sourceSpan, Identifiers.i18nApply, [index]);
|
|
17313
17163
|
}
|
|
17314
17164
|
}
|
|
17315
17165
|
}
|
|
17316
17166
|
getNamespaceInstruction(namespaceKey) {
|
|
17317
17167
|
switch (namespaceKey) {
|
|
17318
17168
|
case 'math':
|
|
17319
|
-
return Identifiers
|
|
17169
|
+
return Identifiers.namespaceMathML;
|
|
17320
17170
|
case 'svg':
|
|
17321
|
-
return Identifiers
|
|
17171
|
+
return Identifiers.namespaceSVG;
|
|
17322
17172
|
default:
|
|
17323
|
-
return Identifiers
|
|
17173
|
+
return Identifiers.namespaceHTML;
|
|
17324
17174
|
}
|
|
17325
17175
|
}
|
|
17326
17176
|
addNamespaceInstruction(nsInstruction, element) {
|
|
@@ -17347,7 +17197,7 @@ class TemplateDefinitionBuilder {
|
|
|
17347
17197
|
else if (projectionSlotIdx !== 0) {
|
|
17348
17198
|
parameters.push(literal(projectionSlotIdx));
|
|
17349
17199
|
}
|
|
17350
|
-
this.creationInstruction(ngContent.sourceSpan, Identifiers
|
|
17200
|
+
this.creationInstruction(ngContent.sourceSpan, Identifiers.projection, parameters);
|
|
17351
17201
|
if (this.i18n) {
|
|
17352
17202
|
this.i18n.appendProjection(ngContent.i18n, slot);
|
|
17353
17203
|
}
|
|
@@ -17420,12 +17270,12 @@ class TemplateDefinitionBuilder {
|
|
|
17420
17270
|
element.outputs.length === 0 && boundI18nAttrs.length === 0 && !hasChildren;
|
|
17421
17271
|
const createSelfClosingI18nInstruction = !createSelfClosingInstruction && hasTextChildrenOnly(element.children);
|
|
17422
17272
|
if (createSelfClosingInstruction) {
|
|
17423
|
-
this.creationInstruction(element.sourceSpan, isNgContainer$1 ? Identifiers
|
|
17273
|
+
this.creationInstruction(element.sourceSpan, isNgContainer$1 ? Identifiers.elementContainer : Identifiers.element, trimTrailingNulls(parameters));
|
|
17424
17274
|
}
|
|
17425
17275
|
else {
|
|
17426
|
-
this.creationInstruction(element.startSourceSpan, isNgContainer$1 ? Identifiers
|
|
17276
|
+
this.creationInstruction(element.startSourceSpan, isNgContainer$1 ? Identifiers.elementContainerStart : Identifiers.elementStart, trimTrailingNulls(parameters));
|
|
17427
17277
|
if (isNonBindableMode) {
|
|
17428
|
-
this.creationInstruction(element.startSourceSpan, Identifiers
|
|
17278
|
+
this.creationInstruction(element.startSourceSpan, Identifiers.disableBindings);
|
|
17429
17279
|
}
|
|
17430
17280
|
if (boundI18nAttrs.length > 0) {
|
|
17431
17281
|
this.i18nAttributesInstruction(elementIndex, boundI18nAttrs, (_a = element.startSourceSpan) !== null && _a !== void 0 ? _a : element.sourceSpan);
|
|
@@ -17436,7 +17286,7 @@ class TemplateDefinitionBuilder {
|
|
|
17436
17286
|
sourceSpan: outputAst.sourceSpan,
|
|
17437
17287
|
params: this.prepareListenerParameter(element.name, outputAst, elementIndex)
|
|
17438
17288
|
}));
|
|
17439
|
-
this.creationInstructionChain(Identifiers
|
|
17289
|
+
this.creationInstructionChain(Identifiers.listener, listeners);
|
|
17440
17290
|
}
|
|
17441
17291
|
// Note: it's important to keep i18n/i18nStart instructions after i18nAttributes and
|
|
17442
17292
|
// listeners, to make sure i18nAttributes instruction targets current element at runtime.
|
|
@@ -17542,7 +17392,7 @@ class TemplateDefinitionBuilder {
|
|
|
17542
17392
|
}
|
|
17543
17393
|
else {
|
|
17544
17394
|
// class prop
|
|
17545
|
-
this.updateInstructionWithAdvance(elementIndex, input.sourceSpan, Identifiers
|
|
17395
|
+
this.updateInstructionWithAdvance(elementIndex, input.sourceSpan, Identifiers.classProp, () => {
|
|
17546
17396
|
return [
|
|
17547
17397
|
literal(elementIndex), literal(attrName), this.convertPropertyBinding(value),
|
|
17548
17398
|
...params
|
|
@@ -17553,10 +17403,10 @@ class TemplateDefinitionBuilder {
|
|
|
17553
17403
|
}
|
|
17554
17404
|
});
|
|
17555
17405
|
if (propertyBindings.length > 0) {
|
|
17556
|
-
this.updateInstructionChainWithAdvance(elementIndex, Identifiers
|
|
17406
|
+
this.updateInstructionChainWithAdvance(elementIndex, Identifiers.property, propertyBindings);
|
|
17557
17407
|
}
|
|
17558
17408
|
if (attributeBindings.length > 0) {
|
|
17559
|
-
this.updateInstructionChainWithAdvance(elementIndex, Identifiers
|
|
17409
|
+
this.updateInstructionChainWithAdvance(elementIndex, Identifiers.attribute, attributeBindings);
|
|
17560
17410
|
}
|
|
17561
17411
|
// Traverse element child nodes
|
|
17562
17412
|
visitAll$1(this, element.children);
|
|
@@ -17570,9 +17420,9 @@ class TemplateDefinitionBuilder {
|
|
|
17570
17420
|
this.i18nEnd(span, createSelfClosingI18nInstruction);
|
|
17571
17421
|
}
|
|
17572
17422
|
if (isNonBindableMode) {
|
|
17573
|
-
this.creationInstruction(span, Identifiers
|
|
17423
|
+
this.creationInstruction(span, Identifiers.enableBindings);
|
|
17574
17424
|
}
|
|
17575
|
-
this.creationInstruction(span, isNgContainer$1 ? Identifiers
|
|
17425
|
+
this.creationInstruction(span, isNgContainer$1 ? Identifiers.elementContainerEnd : Identifiers.elementEnd);
|
|
17576
17426
|
}
|
|
17577
17427
|
}
|
|
17578
17428
|
visitTemplate(template) {
|
|
@@ -17599,7 +17449,7 @@ class TemplateDefinitionBuilder {
|
|
|
17599
17449
|
if (template.references && template.references.length) {
|
|
17600
17450
|
const refs = this.prepareRefsArray(template.references);
|
|
17601
17451
|
parameters.push(this.addToConsts(refs));
|
|
17602
|
-
parameters.push(importExpr(Identifiers
|
|
17452
|
+
parameters.push(importExpr(Identifiers.templateRefExtractor));
|
|
17603
17453
|
}
|
|
17604
17454
|
// Create the template function
|
|
17605
17455
|
const templateVisitor = new TemplateDefinitionBuilder(this.constantPool, this._bindingScope, this.level + 1, contextName, this.i18n, templateIndex, templateName, this._namespace, this.fileBasedI18nSuffix, this.i18nUseExternalIds, this._constants);
|
|
@@ -17615,7 +17465,7 @@ class TemplateDefinitionBuilder {
|
|
|
17615
17465
|
}
|
|
17616
17466
|
});
|
|
17617
17467
|
// e.g. template(1, MyComp_Template_1)
|
|
17618
|
-
this.creationInstruction(template.sourceSpan, Identifiers
|
|
17468
|
+
this.creationInstruction(template.sourceSpan, Identifiers.templateCreate, () => {
|
|
17619
17469
|
parameters.splice(2, 0, literal(templateVisitor.getConstCount()), literal(templateVisitor.getVarCount()));
|
|
17620
17470
|
return trimTrailingNulls(parameters);
|
|
17621
17471
|
});
|
|
@@ -17641,7 +17491,7 @@ class TemplateDefinitionBuilder {
|
|
|
17641
17491
|
sourceSpan: outputAst.sourceSpan,
|
|
17642
17492
|
params: this.prepareListenerParameter('ng_template', outputAst, templateIndex)
|
|
17643
17493
|
}));
|
|
17644
|
-
this.creationInstructionChain(Identifiers
|
|
17494
|
+
this.creationInstructionChain(Identifiers.listener, listeners);
|
|
17645
17495
|
}
|
|
17646
17496
|
}
|
|
17647
17497
|
}
|
|
@@ -17656,7 +17506,7 @@ class TemplateDefinitionBuilder {
|
|
|
17656
17506
|
return;
|
|
17657
17507
|
}
|
|
17658
17508
|
const nodeIndex = this.allocateDataSlot();
|
|
17659
|
-
this.creationInstruction(text.sourceSpan, Identifiers
|
|
17509
|
+
this.creationInstruction(text.sourceSpan, Identifiers.text, [literal(nodeIndex)]);
|
|
17660
17510
|
const value = text.value.visit(this._valueConverter);
|
|
17661
17511
|
this.allocateBindingSlots(value);
|
|
17662
17512
|
if (value instanceof Interpolation) {
|
|
@@ -17671,7 +17521,7 @@ class TemplateDefinitionBuilder {
|
|
|
17671
17521
|
// block, we exclude this text element from instructions set,
|
|
17672
17522
|
// since it will be captured in i18n content and processed at runtime
|
|
17673
17523
|
if (!this.i18n) {
|
|
17674
|
-
this.creationInstruction(text.sourceSpan, Identifiers
|
|
17524
|
+
this.creationInstruction(text.sourceSpan, Identifiers.text, [literal(this.allocateDataSlot()), literal(text.value)]);
|
|
17675
17525
|
}
|
|
17676
17526
|
}
|
|
17677
17527
|
visitIcu(icu) {
|
|
@@ -17696,7 +17546,7 @@ class TemplateDefinitionBuilder {
|
|
|
17696
17546
|
const transformFn = (raw) => {
|
|
17697
17547
|
const params = Object.assign(Object.assign({}, vars), placeholders);
|
|
17698
17548
|
const formatted = i18nFormatPlaceholderNames(params, /* useCamelCase */ false);
|
|
17699
|
-
return instruction(null, Identifiers
|
|
17549
|
+
return instruction(null, Identifiers.i18nPostprocess, [raw, mapLiteral(formatted, true)]);
|
|
17700
17550
|
};
|
|
17701
17551
|
// in case the whole i18n message is a single ICU - we do not need to
|
|
17702
17552
|
// create a separate top-level translation, we can use the root ref instead
|
|
@@ -17763,7 +17613,7 @@ class TemplateDefinitionBuilder {
|
|
|
17763
17613
|
}
|
|
17764
17614
|
});
|
|
17765
17615
|
if (propertyBindings.length > 0) {
|
|
17766
|
-
this.updateInstructionChainWithAdvance(templateIndex, Identifiers
|
|
17616
|
+
this.updateInstructionChainWithAdvance(templateIndex, Identifiers.property, propertyBindings);
|
|
17767
17617
|
}
|
|
17768
17618
|
}
|
|
17769
17619
|
// Bindings must only be resolved after all local refs have been visited, so all
|
|
@@ -17839,7 +17689,7 @@ class TemplateDefinitionBuilder {
|
|
|
17839
17689
|
if (delta < 1) {
|
|
17840
17690
|
throw new Error('advance instruction can only go forwards');
|
|
17841
17691
|
}
|
|
17842
|
-
this.instructionFn(this._updateCodeFns, span, Identifiers
|
|
17692
|
+
this.instructionFn(this._updateCodeFns, span, Identifiers.advance, [literal(delta)]);
|
|
17843
17693
|
this._currentIndex = nodeIndex;
|
|
17844
17694
|
}
|
|
17845
17695
|
}
|
|
@@ -17864,7 +17714,7 @@ class TemplateDefinitionBuilder {
|
|
|
17864
17714
|
this._bindingScope.getOrCreateSharedContextVar(0);
|
|
17865
17715
|
}
|
|
17866
17716
|
convertPropertyBinding(value) {
|
|
17867
|
-
const convertedPropertyBinding = convertPropertyBinding(this, this.getImplicitReceiverExpr(), value, this.bindingContext()
|
|
17717
|
+
const convertedPropertyBinding = convertPropertyBinding(this, this.getImplicitReceiverExpr(), value, this.bindingContext());
|
|
17868
17718
|
const valExpr = convertedPropertyBinding.currValExpr;
|
|
17869
17719
|
this._tempVariables.push(...convertedPropertyBinding.stmts);
|
|
17870
17720
|
return valExpr;
|
|
@@ -18021,7 +17871,7 @@ class TemplateDefinitionBuilder {
|
|
|
18021
17871
|
// e.g. nextContext(2);
|
|
18022
17872
|
const nextContextStmt = relativeLevel > 0 ? [generateNextContextExpr(relativeLevel).toStmt()] : [];
|
|
18023
17873
|
// e.g. const $foo$ = reference(1);
|
|
18024
|
-
const refExpr = lhs.set(importExpr(Identifiers
|
|
17874
|
+
const refExpr = lhs.set(importExpr(Identifiers.reference).callFn([literal(slot)]));
|
|
18025
17875
|
return nextContextStmt.concat(refExpr.toConstDecl());
|
|
18026
17876
|
}, true);
|
|
18027
17877
|
return [reference.name, reference.value];
|
|
@@ -18099,22 +17949,22 @@ class ValueConverter extends AstMemoryEfficientTransformer {
|
|
|
18099
17949
|
}
|
|
18100
17950
|
}
|
|
18101
17951
|
// Pipes always have at least one parameter, the value they operate on
|
|
18102
|
-
const pipeBindingIdentifiers = [Identifiers
|
|
17952
|
+
const pipeBindingIdentifiers = [Identifiers.pipeBind1, Identifiers.pipeBind2, Identifiers.pipeBind3, Identifiers.pipeBind4];
|
|
18103
17953
|
function pipeBindingCallInfo(args) {
|
|
18104
17954
|
const identifier = pipeBindingIdentifiers[args.length];
|
|
18105
17955
|
return {
|
|
18106
|
-
identifier: identifier || Identifiers
|
|
17956
|
+
identifier: identifier || Identifiers.pipeBindV,
|
|
18107
17957
|
isVarLength: !identifier,
|
|
18108
17958
|
};
|
|
18109
17959
|
}
|
|
18110
17960
|
const pureFunctionIdentifiers = [
|
|
18111
|
-
Identifiers
|
|
18112
|
-
Identifiers
|
|
17961
|
+
Identifiers.pureFunction0, Identifiers.pureFunction1, Identifiers.pureFunction2, Identifiers.pureFunction3, Identifiers.pureFunction4,
|
|
17962
|
+
Identifiers.pureFunction5, Identifiers.pureFunction6, Identifiers.pureFunction7, Identifiers.pureFunction8
|
|
18113
17963
|
];
|
|
18114
17964
|
function pureFunctionCallInfo(args) {
|
|
18115
17965
|
const identifier = pureFunctionIdentifiers[args.length];
|
|
18116
17966
|
return {
|
|
18117
|
-
identifier: identifier || Identifiers
|
|
17967
|
+
identifier: identifier || Identifiers.pureFunctionV,
|
|
18118
17968
|
isVarLength: !identifier,
|
|
18119
17969
|
};
|
|
18120
17970
|
}
|
|
@@ -18123,7 +17973,7 @@ function instruction(span, reference, params) {
|
|
|
18123
17973
|
}
|
|
18124
17974
|
// e.g. x(2);
|
|
18125
17975
|
function generateNextContextExpr(relativeLevelDiff) {
|
|
18126
|
-
return importExpr(Identifiers
|
|
17976
|
+
return importExpr(Identifiers.nextContext)
|
|
18127
17977
|
.callFn(relativeLevelDiff > 1 ? [literal(relativeLevelDiff)] : []);
|
|
18128
17978
|
}
|
|
18129
17979
|
function getLiteralFactory(constantPool, literal$1, allocateSlots) {
|
|
@@ -18325,7 +18175,7 @@ class BindingScope {
|
|
|
18325
18175
|
restoreViewStatement() {
|
|
18326
18176
|
const statements = [];
|
|
18327
18177
|
if (this.restoreViewVariable) {
|
|
18328
|
-
const restoreCall = instruction(null, Identifiers
|
|
18178
|
+
const restoreCall = instruction(null, Identifiers.restoreView, [this.restoreViewVariable]);
|
|
18329
18179
|
// Either `const restoredCtx = restoreView($state$);` or `restoreView($state$);`
|
|
18330
18180
|
// depending on whether it is being used.
|
|
18331
18181
|
statements.push(this.usesRestoredViewContext ?
|
|
@@ -18337,7 +18187,7 @@ class BindingScope {
|
|
|
18337
18187
|
viewSnapshotStatements() {
|
|
18338
18188
|
// const $state$ = getCurrentView();
|
|
18339
18189
|
return this.restoreViewVariable ?
|
|
18340
|
-
[this.restoreViewVariable.set(instruction(null, Identifiers
|
|
18190
|
+
[this.restoreViewVariable.set(instruction(null, Identifiers.getCurrentView, [])).toConstDecl()] :
|
|
18341
18191
|
[];
|
|
18342
18192
|
}
|
|
18343
18193
|
isListenerScope() {
|
|
@@ -18405,25 +18255,25 @@ function getNgProjectAsLiteral(attribute) {
|
|
|
18405
18255
|
function getPropertyInterpolationExpression(interpolation) {
|
|
18406
18256
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
18407
18257
|
case 1:
|
|
18408
|
-
return Identifiers
|
|
18258
|
+
return Identifiers.propertyInterpolate;
|
|
18409
18259
|
case 3:
|
|
18410
|
-
return Identifiers
|
|
18260
|
+
return Identifiers.propertyInterpolate1;
|
|
18411
18261
|
case 5:
|
|
18412
|
-
return Identifiers
|
|
18262
|
+
return Identifiers.propertyInterpolate2;
|
|
18413
18263
|
case 7:
|
|
18414
|
-
return Identifiers
|
|
18264
|
+
return Identifiers.propertyInterpolate3;
|
|
18415
18265
|
case 9:
|
|
18416
|
-
return Identifiers
|
|
18266
|
+
return Identifiers.propertyInterpolate4;
|
|
18417
18267
|
case 11:
|
|
18418
|
-
return Identifiers
|
|
18268
|
+
return Identifiers.propertyInterpolate5;
|
|
18419
18269
|
case 13:
|
|
18420
|
-
return Identifiers
|
|
18270
|
+
return Identifiers.propertyInterpolate6;
|
|
18421
18271
|
case 15:
|
|
18422
|
-
return Identifiers
|
|
18272
|
+
return Identifiers.propertyInterpolate7;
|
|
18423
18273
|
case 17:
|
|
18424
|
-
return Identifiers
|
|
18274
|
+
return Identifiers.propertyInterpolate8;
|
|
18425
18275
|
default:
|
|
18426
|
-
return Identifiers
|
|
18276
|
+
return Identifiers.propertyInterpolateV;
|
|
18427
18277
|
}
|
|
18428
18278
|
}
|
|
18429
18279
|
/**
|
|
@@ -18433,23 +18283,23 @@ function getPropertyInterpolationExpression(interpolation) {
|
|
|
18433
18283
|
function getAttributeInterpolationExpression(interpolation) {
|
|
18434
18284
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
18435
18285
|
case 3:
|
|
18436
|
-
return Identifiers
|
|
18286
|
+
return Identifiers.attributeInterpolate1;
|
|
18437
18287
|
case 5:
|
|
18438
|
-
return Identifiers
|
|
18288
|
+
return Identifiers.attributeInterpolate2;
|
|
18439
18289
|
case 7:
|
|
18440
|
-
return Identifiers
|
|
18290
|
+
return Identifiers.attributeInterpolate3;
|
|
18441
18291
|
case 9:
|
|
18442
|
-
return Identifiers
|
|
18292
|
+
return Identifiers.attributeInterpolate4;
|
|
18443
18293
|
case 11:
|
|
18444
|
-
return Identifiers
|
|
18294
|
+
return Identifiers.attributeInterpolate5;
|
|
18445
18295
|
case 13:
|
|
18446
|
-
return Identifiers
|
|
18296
|
+
return Identifiers.attributeInterpolate6;
|
|
18447
18297
|
case 15:
|
|
18448
|
-
return Identifiers
|
|
18298
|
+
return Identifiers.attributeInterpolate7;
|
|
18449
18299
|
case 17:
|
|
18450
|
-
return Identifiers
|
|
18300
|
+
return Identifiers.attributeInterpolate8;
|
|
18451
18301
|
default:
|
|
18452
|
-
return Identifiers
|
|
18302
|
+
return Identifiers.attributeInterpolateV;
|
|
18453
18303
|
}
|
|
18454
18304
|
}
|
|
18455
18305
|
/**
|
|
@@ -18459,25 +18309,25 @@ function getAttributeInterpolationExpression(interpolation) {
|
|
|
18459
18309
|
function getTextInterpolationExpression(interpolation) {
|
|
18460
18310
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
18461
18311
|
case 1:
|
|
18462
|
-
return Identifiers
|
|
18312
|
+
return Identifiers.textInterpolate;
|
|
18463
18313
|
case 3:
|
|
18464
|
-
return Identifiers
|
|
18314
|
+
return Identifiers.textInterpolate1;
|
|
18465
18315
|
case 5:
|
|
18466
|
-
return Identifiers
|
|
18316
|
+
return Identifiers.textInterpolate2;
|
|
18467
18317
|
case 7:
|
|
18468
|
-
return Identifiers
|
|
18318
|
+
return Identifiers.textInterpolate3;
|
|
18469
18319
|
case 9:
|
|
18470
|
-
return Identifiers
|
|
18320
|
+
return Identifiers.textInterpolate4;
|
|
18471
18321
|
case 11:
|
|
18472
|
-
return Identifiers
|
|
18322
|
+
return Identifiers.textInterpolate5;
|
|
18473
18323
|
case 13:
|
|
18474
|
-
return Identifiers
|
|
18324
|
+
return Identifiers.textInterpolate6;
|
|
18475
18325
|
case 15:
|
|
18476
|
-
return Identifiers
|
|
18326
|
+
return Identifiers.textInterpolate7;
|
|
18477
18327
|
case 17:
|
|
18478
|
-
return Identifiers
|
|
18328
|
+
return Identifiers.textInterpolate8;
|
|
18479
18329
|
default:
|
|
18480
|
-
return Identifiers
|
|
18330
|
+
return Identifiers.textInterpolateV;
|
|
18481
18331
|
}
|
|
18482
18332
|
}
|
|
18483
18333
|
/**
|
|
@@ -18568,18 +18418,18 @@ function makeBindingParser(interpolationConfig = DEFAULT_INTERPOLATION_CONFIG) {
|
|
|
18568
18418
|
function resolveSanitizationFn(context, isAttribute) {
|
|
18569
18419
|
switch (context) {
|
|
18570
18420
|
case SecurityContext.HTML:
|
|
18571
|
-
return importExpr(Identifiers
|
|
18421
|
+
return importExpr(Identifiers.sanitizeHtml);
|
|
18572
18422
|
case SecurityContext.SCRIPT:
|
|
18573
|
-
return importExpr(Identifiers
|
|
18423
|
+
return importExpr(Identifiers.sanitizeScript);
|
|
18574
18424
|
case SecurityContext.STYLE:
|
|
18575
18425
|
// the compiler does not fill in an instruction for [style.prop?] binding
|
|
18576
18426
|
// values because the style algorithm knows internally what props are subject
|
|
18577
18427
|
// to sanitization (only [attr.style] values are explicitly sanitized)
|
|
18578
|
-
return isAttribute ? importExpr(Identifiers
|
|
18428
|
+
return isAttribute ? importExpr(Identifiers.sanitizeStyle) : null;
|
|
18579
18429
|
case SecurityContext.URL:
|
|
18580
|
-
return importExpr(Identifiers
|
|
18430
|
+
return importExpr(Identifiers.sanitizeUrl);
|
|
18581
18431
|
case SecurityContext.RESOURCE_URL:
|
|
18582
|
-
return importExpr(Identifiers
|
|
18432
|
+
return importExpr(Identifiers.sanitizeResourceUrl);
|
|
18583
18433
|
default:
|
|
18584
18434
|
return null;
|
|
18585
18435
|
}
|
|
@@ -18589,10 +18439,10 @@ function trustedConstAttribute(tagName, attr) {
|
|
|
18589
18439
|
if (isTrustedTypesSink(tagName, attr.name)) {
|
|
18590
18440
|
switch (elementRegistry.securityContext(tagName, attr.name, /* isAttribute */ true)) {
|
|
18591
18441
|
case SecurityContext.HTML:
|
|
18592
|
-
return taggedTemplate(importExpr(Identifiers
|
|
18442
|
+
return taggedTemplate(importExpr(Identifiers.trustConstantHtml), new TemplateLiteral([new TemplateLiteralElement(attr.value)], []), undefined, attr.valueSpan);
|
|
18593
18443
|
// NB: no SecurityContext.SCRIPT here, as the corresponding tags are stripped by the compiler.
|
|
18594
18444
|
case SecurityContext.RESOURCE_URL:
|
|
18595
|
-
return taggedTemplate(importExpr(Identifiers
|
|
18445
|
+
return taggedTemplate(importExpr(Identifiers.trustConstantResourceUrl), new TemplateLiteral([new TemplateLiteralElement(attr.value)], []), undefined, attr.valueSpan);
|
|
18596
18446
|
default:
|
|
18597
18447
|
return value;
|
|
18598
18448
|
}
|
|
@@ -18721,16 +18571,16 @@ function addFeatures(definitionMap, meta) {
|
|
|
18721
18571
|
if (viewProviders) {
|
|
18722
18572
|
args.push(viewProviders);
|
|
18723
18573
|
}
|
|
18724
|
-
features.push(importExpr(Identifiers
|
|
18574
|
+
features.push(importExpr(Identifiers.ProvidersFeature).callFn(args));
|
|
18725
18575
|
}
|
|
18726
18576
|
if (meta.usesInheritance) {
|
|
18727
|
-
features.push(importExpr(Identifiers
|
|
18577
|
+
features.push(importExpr(Identifiers.InheritDefinitionFeature));
|
|
18728
18578
|
}
|
|
18729
18579
|
if (meta.fullInheritance) {
|
|
18730
|
-
features.push(importExpr(Identifiers
|
|
18580
|
+
features.push(importExpr(Identifiers.CopyDefinitionFeature));
|
|
18731
18581
|
}
|
|
18732
18582
|
if (meta.lifecycle.usesOnChanges) {
|
|
18733
|
-
features.push(importExpr(Identifiers
|
|
18583
|
+
features.push(importExpr(Identifiers.NgOnChangesFeature));
|
|
18734
18584
|
}
|
|
18735
18585
|
if (features.length) {
|
|
18736
18586
|
definitionMap.set('features', literalArr(features));
|
|
@@ -18742,7 +18592,7 @@ function addFeatures(definitionMap, meta) {
|
|
|
18742
18592
|
function compileDirectiveFromMetadata(meta, constantPool, bindingParser) {
|
|
18743
18593
|
const definitionMap = baseDirectiveFields(meta, constantPool, bindingParser);
|
|
18744
18594
|
addFeatures(definitionMap, meta);
|
|
18745
|
-
const expression = importExpr(Identifiers
|
|
18595
|
+
const expression = importExpr(Identifiers.defineDirective).callFn([definitionMap.toLiteralMap()], undefined, true);
|
|
18746
18596
|
const type = createDirectiveType(meta);
|
|
18747
18597
|
return { expression, type, statements: [] };
|
|
18748
18598
|
}
|
|
@@ -18768,7 +18618,7 @@ function compileComponentFromMetadata(meta, constantPool, bindingParser) {
|
|
|
18768
18618
|
const templateName = templateTypeName ? `${templateTypeName}_Template` : null;
|
|
18769
18619
|
const changeDetection = meta.changeDetection;
|
|
18770
18620
|
const template = meta.template;
|
|
18771
|
-
const templateBuilder = new TemplateDefinitionBuilder(constantPool, BindingScope.createRootScope(), 0, templateTypeName, null, null, templateName, Identifiers
|
|
18621
|
+
const templateBuilder = new TemplateDefinitionBuilder(constantPool, BindingScope.createRootScope(), 0, templateTypeName, null, null, templateName, Identifiers.namespaceHTML, meta.relativeContextFilePath, meta.i18nUseExternalIds);
|
|
18772
18622
|
const templateFunctionExpression = templateBuilder.buildTemplateFunction(template.nodes, []);
|
|
18773
18623
|
// We need to provide this so that dynamically generated components know what
|
|
18774
18624
|
// projected content blocks to pass through to the component when it is instantiated.
|
|
@@ -18834,7 +18684,7 @@ function compileComponentFromMetadata(meta, constantPool, bindingParser) {
|
|
|
18834
18684
|
if (changeDetection != null && changeDetection !== ChangeDetectionStrategy.Default) {
|
|
18835
18685
|
definitionMap.set('changeDetection', literal(changeDetection));
|
|
18836
18686
|
}
|
|
18837
|
-
const expression = importExpr(Identifiers
|
|
18687
|
+
const expression = importExpr(Identifiers.defineComponent).callFn([definitionMap.toLiteralMap()], undefined, true);
|
|
18838
18688
|
const type = createComponentType(meta);
|
|
18839
18689
|
return { expression, type, statements: [] };
|
|
18840
18690
|
}
|
|
@@ -18845,7 +18695,7 @@ function compileComponentFromMetadata(meta, constantPool, bindingParser) {
|
|
|
18845
18695
|
function createComponentType(meta) {
|
|
18846
18696
|
const typeParams = createDirectiveTypeParams(meta);
|
|
18847
18697
|
typeParams.push(stringArrayAsType(meta.template.ngContentSelectors));
|
|
18848
|
-
return expressionType(importExpr(Identifiers
|
|
18698
|
+
return expressionType(importExpr(Identifiers.ComponentDeclaration, typeParams));
|
|
18849
18699
|
}
|
|
18850
18700
|
/**
|
|
18851
18701
|
* Compiles the array literal of declarations into an expression according to the provided emit
|
|
@@ -18861,7 +18711,7 @@ function compileDeclarationList(list, mode) {
|
|
|
18861
18711
|
return fn([], [new ReturnStatement(list)]);
|
|
18862
18712
|
case 2 /* ClosureResolved */:
|
|
18863
18713
|
// directives: function () { return [MyDir].map(ng.resolveForwardRef); }
|
|
18864
|
-
const resolvedList = list.prop('map').callFn([importExpr(Identifiers
|
|
18714
|
+
const resolvedList = list.prop('map').callFn([importExpr(Identifiers.resolveForwardRef)]);
|
|
18865
18715
|
return fn([], [new ReturnStatement(resolvedList)]);
|
|
18866
18716
|
}
|
|
18867
18717
|
}
|
|
@@ -18896,13 +18746,13 @@ function createContentQueriesFunction(queries, constantPool, name) {
|
|
|
18896
18746
|
const tempAllocator = temporaryAllocator(updateStatements, TEMPORARY_NAME);
|
|
18897
18747
|
for (const query of queries) {
|
|
18898
18748
|
// creation, e.g. r3.contentQuery(dirIndex, somePredicate, true, null);
|
|
18899
|
-
createStatements.push(importExpr(Identifiers
|
|
18749
|
+
createStatements.push(importExpr(Identifiers.contentQuery)
|
|
18900
18750
|
.callFn([variable('dirIndex'), ...prepareQueryParams(query, constantPool)])
|
|
18901
18751
|
.toStmt());
|
|
18902
18752
|
// update, e.g. (r3.queryRefresh(tmp = r3.loadQuery()) && (ctx.someDir = tmp));
|
|
18903
18753
|
const temporary = tempAllocator();
|
|
18904
|
-
const getQueryList = importExpr(Identifiers
|
|
18905
|
-
const refresh = importExpr(Identifiers
|
|
18754
|
+
const getQueryList = importExpr(Identifiers.loadQuery).callFn([]);
|
|
18755
|
+
const refresh = importExpr(Identifiers.queryRefresh).callFn([temporary.set(getQueryList)]);
|
|
18906
18756
|
const updateDirective = variable(CONTEXT_NAME)
|
|
18907
18757
|
.prop(query.propertyName)
|
|
18908
18758
|
.set(query.first ? temporary.prop('first') : temporary);
|
|
@@ -18954,7 +18804,7 @@ function createDirectiveTypeParams(meta) {
|
|
|
18954
18804
|
*/
|
|
18955
18805
|
function createDirectiveType(meta) {
|
|
18956
18806
|
const typeParams = createDirectiveTypeParams(meta);
|
|
18957
|
-
return expressionType(importExpr(Identifiers
|
|
18807
|
+
return expressionType(importExpr(Identifiers.DirectiveDeclaration, typeParams));
|
|
18958
18808
|
}
|
|
18959
18809
|
// Define and update any view queries
|
|
18960
18810
|
function createViewQueriesFunction(viewQueries, constantPool, name) {
|
|
@@ -18963,12 +18813,12 @@ function createViewQueriesFunction(viewQueries, constantPool, name) {
|
|
|
18963
18813
|
const tempAllocator = temporaryAllocator(updateStatements, TEMPORARY_NAME);
|
|
18964
18814
|
viewQueries.forEach((query) => {
|
|
18965
18815
|
// creation, e.g. r3.viewQuery(somePredicate, true);
|
|
18966
|
-
const queryDefinition = importExpr(Identifiers
|
|
18816
|
+
const queryDefinition = importExpr(Identifiers.viewQuery).callFn(prepareQueryParams(query, constantPool));
|
|
18967
18817
|
createStatements.push(queryDefinition.toStmt());
|
|
18968
18818
|
// update, e.g. (r3.queryRefresh(tmp = r3.loadQuery()) && (ctx.someDir = tmp));
|
|
18969
18819
|
const temporary = tempAllocator();
|
|
18970
|
-
const getQueryList = importExpr(Identifiers
|
|
18971
|
-
const refresh = importExpr(Identifiers
|
|
18820
|
+
const getQueryList = importExpr(Identifiers.loadQuery).callFn([]);
|
|
18821
|
+
const refresh = importExpr(Identifiers.queryRefresh).callFn([temporary.set(getQueryList)]);
|
|
18972
18822
|
const updateDirective = variable(CONTEXT_NAME)
|
|
18973
18823
|
.prop(query.propertyName)
|
|
18974
18824
|
.set(query.first ? temporary.prop('first') : temporary);
|
|
@@ -19050,7 +18900,7 @@ function createHostBindingsFunction(hostBindingsMetadata, typeSourceSpan, bindin
|
|
|
19050
18900
|
// of different security contexts. In this case we use special sanitization function and
|
|
19051
18901
|
// select the actual sanitizer at runtime based on a tag name that is provided while
|
|
19052
18902
|
// invoking sanitization function.
|
|
19053
|
-
sanitizerFn = importExpr(Identifiers
|
|
18903
|
+
sanitizerFn = importExpr(Identifiers.sanitizeUrlOrResourceUrl);
|
|
19054
18904
|
}
|
|
19055
18905
|
else {
|
|
19056
18906
|
sanitizerFn = resolveSanitizationFn(securityContexts[0], isAttribute);
|
|
@@ -19061,13 +18911,13 @@ function createHostBindingsFunction(hostBindingsMetadata, typeSourceSpan, bindin
|
|
|
19061
18911
|
instructionParams.push(sanitizerFn);
|
|
19062
18912
|
}
|
|
19063
18913
|
updateStatements.push(...bindingExpr.stmts);
|
|
19064
|
-
if (instruction === Identifiers
|
|
18914
|
+
if (instruction === Identifiers.hostProperty) {
|
|
19065
18915
|
propertyBindings.push(instructionParams);
|
|
19066
18916
|
}
|
|
19067
|
-
else if (instruction === Identifiers
|
|
18917
|
+
else if (instruction === Identifiers.attribute) {
|
|
19068
18918
|
attributeBindings.push(instructionParams);
|
|
19069
18919
|
}
|
|
19070
|
-
else if (instruction === Identifiers
|
|
18920
|
+
else if (instruction === Identifiers.syntheticHostProperty) {
|
|
19071
18921
|
syntheticHostBindings.push(instructionParams);
|
|
19072
18922
|
}
|
|
19073
18923
|
else {
|
|
@@ -19075,13 +18925,13 @@ function createHostBindingsFunction(hostBindingsMetadata, typeSourceSpan, bindin
|
|
|
19075
18925
|
}
|
|
19076
18926
|
});
|
|
19077
18927
|
if (propertyBindings.length > 0) {
|
|
19078
|
-
updateStatements.push(chainedInstruction(Identifiers
|
|
18928
|
+
updateStatements.push(chainedInstruction(Identifiers.hostProperty, propertyBindings).toStmt());
|
|
19079
18929
|
}
|
|
19080
18930
|
if (attributeBindings.length > 0) {
|
|
19081
|
-
updateStatements.push(chainedInstruction(Identifiers
|
|
18931
|
+
updateStatements.push(chainedInstruction(Identifiers.attribute, attributeBindings).toStmt());
|
|
19082
18932
|
}
|
|
19083
18933
|
if (syntheticHostBindings.length > 0) {
|
|
19084
|
-
updateStatements.push(chainedInstruction(Identifiers
|
|
18934
|
+
updateStatements.push(chainedInstruction(Identifiers.syntheticHostProperty, syntheticHostBindings).toStmt());
|
|
19085
18935
|
}
|
|
19086
18936
|
// since we're dealing with directives/components and both have hostBinding
|
|
19087
18937
|
// functions, we need to generate a special hostAttrs instruction that deals
|
|
@@ -19127,7 +18977,7 @@ function createHostBindingsFunction(hostBindingsMetadata, typeSourceSpan, bindin
|
|
|
19127
18977
|
return null;
|
|
19128
18978
|
}
|
|
19129
18979
|
function bindingFn(implicit, value) {
|
|
19130
|
-
return convertPropertyBinding(null, implicit, value, 'b'
|
|
18980
|
+
return convertPropertyBinding(null, implicit, value, 'b');
|
|
19131
18981
|
}
|
|
19132
18982
|
function convertStylingCall(call, bindingContext, bindingFn) {
|
|
19133
18983
|
return call.params(value => bindingFn(bindingContext, value).currValExpr);
|
|
@@ -19139,7 +18989,7 @@ function getBindingNameAndInstruction(binding) {
|
|
|
19139
18989
|
const attrMatches = bindingName.match(ATTR_REGEX);
|
|
19140
18990
|
if (attrMatches) {
|
|
19141
18991
|
bindingName = attrMatches[1];
|
|
19142
|
-
instruction = Identifiers
|
|
18992
|
+
instruction = Identifiers.attribute;
|
|
19143
18993
|
}
|
|
19144
18994
|
else {
|
|
19145
18995
|
if (binding.isAnimation) {
|
|
@@ -19147,10 +18997,10 @@ function getBindingNameAndInstruction(binding) {
|
|
|
19147
18997
|
// host bindings that have a synthetic property (e.g. @foo) should always be rendered
|
|
19148
18998
|
// in the context of the component and not the parent. Therefore there is a special
|
|
19149
18999
|
// compatibility instruction available for this purpose.
|
|
19150
|
-
instruction = Identifiers
|
|
19000
|
+
instruction = Identifiers.syntheticHostProperty;
|
|
19151
19001
|
}
|
|
19152
19002
|
else {
|
|
19153
|
-
instruction = Identifiers
|
|
19003
|
+
instruction = Identifiers.hostProperty;
|
|
19154
19004
|
}
|
|
19155
19005
|
}
|
|
19156
19006
|
return { bindingName, instruction, isAttribute: !!attrMatches };
|
|
@@ -19174,10 +19024,10 @@ function createHostListeners(eventBindings, name) {
|
|
|
19174
19024
|
}
|
|
19175
19025
|
});
|
|
19176
19026
|
if (syntheticListeners.length > 0) {
|
|
19177
|
-
instructions.push(chainedInstruction(Identifiers
|
|
19027
|
+
instructions.push(chainedInstruction(Identifiers.syntheticHostListener, syntheticListeners).toStmt());
|
|
19178
19028
|
}
|
|
19179
19029
|
if (listeners.length > 0) {
|
|
19180
|
-
instructions.push(chainedInstruction(Identifiers
|
|
19030
|
+
instructions.push(chainedInstruction(Identifiers.listener, listeners).toStmt());
|
|
19181
19031
|
}
|
|
19182
19032
|
return instructions;
|
|
19183
19033
|
}
|
|
@@ -19726,7 +19576,7 @@ function publishFacade(global) {
|
|
|
19726
19576
|
* Use of this source code is governed by an MIT-style license that can be
|
|
19727
19577
|
* found in the LICENSE file at https://angular.io/license
|
|
19728
19578
|
*/
|
|
19729
|
-
const VERSION = new Version('14.0.0-next.
|
|
19579
|
+
const VERSION = new Version('14.0.0-next.1');
|
|
19730
19580
|
|
|
19731
19581
|
/**
|
|
19732
19582
|
* @license
|
|
@@ -21725,7 +21575,7 @@ function compileClassMetadata(metadata) {
|
|
|
21725
21575
|
var _a, _b;
|
|
21726
21576
|
// Generate an ngDevMode guarded call to setClassMetadata with the class identifier and its
|
|
21727
21577
|
// metadata.
|
|
21728
|
-
const fnCall = importExpr(Identifiers
|
|
21578
|
+
const fnCall = importExpr(Identifiers.setClassMetadata).callFn([
|
|
21729
21579
|
metadata.type,
|
|
21730
21580
|
metadata.decorators,
|
|
21731
21581
|
(_a = metadata.ctorParameters) !== null && _a !== void 0 ? _a : literal(null),
|
|
@@ -21753,13 +21603,13 @@ const MINIMUM_PARTIAL_LINKER_VERSION$6 = '12.0.0';
|
|
|
21753
21603
|
function compileDeclareClassMetadata(metadata) {
|
|
21754
21604
|
const definitionMap = new DefinitionMap();
|
|
21755
21605
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$6));
|
|
21756
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
21757
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
21606
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
21607
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
21758
21608
|
definitionMap.set('type', metadata.type);
|
|
21759
21609
|
definitionMap.set('decorators', metadata.decorators);
|
|
21760
21610
|
definitionMap.set('ctorParameters', metadata.ctorParameters);
|
|
21761
21611
|
definitionMap.set('propDecorators', metadata.propDecorators);
|
|
21762
|
-
return importExpr(Identifiers
|
|
21612
|
+
return importExpr(Identifiers.declareClassMetadata).callFn([definitionMap.toLiteralMap()]);
|
|
21763
21613
|
}
|
|
21764
21614
|
|
|
21765
21615
|
/**
|
|
@@ -21859,7 +21709,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$5 = '12.0.0';
|
|
|
21859
21709
|
*/
|
|
21860
21710
|
function compileDeclareDirectiveFromMetadata(meta) {
|
|
21861
21711
|
const definitionMap = createDirectiveDefinitionMap(meta);
|
|
21862
|
-
const expression = importExpr(Identifiers
|
|
21712
|
+
const expression = importExpr(Identifiers.declareDirective).callFn([definitionMap.toLiteralMap()]);
|
|
21863
21713
|
const type = createDirectiveType(meta);
|
|
21864
21714
|
return { expression, type, statements: [] };
|
|
21865
21715
|
}
|
|
@@ -21870,7 +21720,7 @@ function compileDeclareDirectiveFromMetadata(meta) {
|
|
|
21870
21720
|
function createDirectiveDefinitionMap(meta) {
|
|
21871
21721
|
const definitionMap = new DefinitionMap();
|
|
21872
21722
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
|
|
21873
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
21723
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
21874
21724
|
// e.g. `type: MyDirective`
|
|
21875
21725
|
definitionMap.set('type', meta.internalType);
|
|
21876
21726
|
// e.g. `selector: 'some-dir'`
|
|
@@ -21896,7 +21746,7 @@ function createDirectiveDefinitionMap(meta) {
|
|
|
21896
21746
|
if (meta.lifecycle.usesOnChanges) {
|
|
21897
21747
|
definitionMap.set('usesOnChanges', literal(true));
|
|
21898
21748
|
}
|
|
21899
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
21749
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
21900
21750
|
return definitionMap;
|
|
21901
21751
|
}
|
|
21902
21752
|
/**
|
|
@@ -21963,7 +21813,7 @@ function compileHostMetadata(meta) {
|
|
|
21963
21813
|
*/
|
|
21964
21814
|
function compileDeclareComponentFromMetadata(meta, template, additionalTemplateInfo) {
|
|
21965
21815
|
const definitionMap = createComponentDefinitionMap(meta, template, additionalTemplateInfo);
|
|
21966
|
-
const expression = importExpr(Identifiers
|
|
21816
|
+
const expression = importExpr(Identifiers.declareComponent).callFn([definitionMap.toLiteralMap()]);
|
|
21967
21817
|
const type = createComponentType(meta);
|
|
21968
21818
|
return { expression, type, statements: [] };
|
|
21969
21819
|
}
|
|
@@ -21983,11 +21833,11 @@ function createComponentDefinitionMap(meta, template, templateInfo) {
|
|
|
21983
21833
|
definitionMap.set('viewProviders', meta.viewProviders);
|
|
21984
21834
|
definitionMap.set('animations', meta.animations);
|
|
21985
21835
|
if (meta.changeDetection !== undefined) {
|
|
21986
|
-
definitionMap.set('changeDetection', importExpr(Identifiers
|
|
21836
|
+
definitionMap.set('changeDetection', importExpr(Identifiers.ChangeDetectionStrategy)
|
|
21987
21837
|
.prop(ChangeDetectionStrategy[meta.changeDetection]));
|
|
21988
21838
|
}
|
|
21989
21839
|
if (meta.encapsulation !== ViewEncapsulation.Emulated) {
|
|
21990
|
-
definitionMap.set('encapsulation', importExpr(Identifiers
|
|
21840
|
+
definitionMap.set('encapsulation', importExpr(Identifiers.ViewEncapsulation).prop(ViewEncapsulation[meta.encapsulation]));
|
|
21991
21841
|
}
|
|
21992
21842
|
if (meta.interpolation !== DEFAULT_INTERPOLATION_CONFIG) {
|
|
21993
21843
|
definitionMap.set('interpolation', literalArr([literal(meta.interpolation.start), literal(meta.interpolation.end)]));
|
|
@@ -22091,13 +21941,13 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
|
|
|
22091
21941
|
function compileDeclareFactoryFunction(meta) {
|
|
22092
21942
|
const definitionMap = new DefinitionMap();
|
|
22093
21943
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
|
|
22094
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22095
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
21944
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
21945
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22096
21946
|
definitionMap.set('type', meta.internalType);
|
|
22097
21947
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
22098
|
-
definitionMap.set('target', importExpr(Identifiers
|
|
21948
|
+
definitionMap.set('target', importExpr(Identifiers.FactoryTarget).prop(FactoryTarget$1[meta.target]));
|
|
22099
21949
|
return {
|
|
22100
|
-
expression: importExpr(Identifiers
|
|
21950
|
+
expression: importExpr(Identifiers.declareFactory).callFn([definitionMap.toLiteralMap()]),
|
|
22101
21951
|
statements: [],
|
|
22102
21952
|
type: createFactoryType(meta),
|
|
22103
21953
|
};
|
|
@@ -22123,7 +21973,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$3 = '12.0.0';
|
|
|
22123
21973
|
*/
|
|
22124
21974
|
function compileDeclareInjectableFromMetadata(meta) {
|
|
22125
21975
|
const definitionMap = createInjectableDefinitionMap(meta);
|
|
22126
|
-
const expression = importExpr(Identifiers
|
|
21976
|
+
const expression = importExpr(Identifiers.declareInjectable).callFn([definitionMap.toLiteralMap()]);
|
|
22127
21977
|
const type = createInjectableType(meta);
|
|
22128
21978
|
return { expression, type, statements: [] };
|
|
22129
21979
|
}
|
|
@@ -22133,8 +21983,8 @@ function compileDeclareInjectableFromMetadata(meta) {
|
|
|
22133
21983
|
function createInjectableDefinitionMap(meta) {
|
|
22134
21984
|
const definitionMap = new DefinitionMap();
|
|
22135
21985
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
|
|
22136
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22137
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
21986
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
21987
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22138
21988
|
definitionMap.set('type', meta.internalType);
|
|
22139
21989
|
// Only generate providedIn property if it has a non-null value
|
|
22140
21990
|
if (meta.providedIn !== undefined) {
|
|
@@ -22181,7 +22031,7 @@ function createInjectableDefinitionMap(meta) {
|
|
|
22181
22031
|
const MINIMUM_PARTIAL_LINKER_VERSION$2 = '12.0.0';
|
|
22182
22032
|
function compileDeclareInjectorFromMetadata(meta) {
|
|
22183
22033
|
const definitionMap = createInjectorDefinitionMap(meta);
|
|
22184
|
-
const expression = importExpr(Identifiers
|
|
22034
|
+
const expression = importExpr(Identifiers.declareInjector).callFn([definitionMap.toLiteralMap()]);
|
|
22185
22035
|
const type = createInjectorType(meta);
|
|
22186
22036
|
return { expression, type, statements: [] };
|
|
22187
22037
|
}
|
|
@@ -22191,8 +22041,8 @@ function compileDeclareInjectorFromMetadata(meta) {
|
|
|
22191
22041
|
function createInjectorDefinitionMap(meta) {
|
|
22192
22042
|
const definitionMap = new DefinitionMap();
|
|
22193
22043
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
|
|
22194
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22195
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
22044
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
22045
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22196
22046
|
definitionMap.set('type', meta.internalType);
|
|
22197
22047
|
definitionMap.set('providers', meta.providers);
|
|
22198
22048
|
if (meta.imports.length > 0) {
|
|
@@ -22218,7 +22068,7 @@ function createInjectorDefinitionMap(meta) {
|
|
|
22218
22068
|
const MINIMUM_PARTIAL_LINKER_VERSION$1 = '12.0.0';
|
|
22219
22069
|
function compileDeclareNgModuleFromMetadata(meta) {
|
|
22220
22070
|
const definitionMap = createNgModuleDefinitionMap(meta);
|
|
22221
|
-
const expression = importExpr(Identifiers
|
|
22071
|
+
const expression = importExpr(Identifiers.declareNgModule).callFn([definitionMap.toLiteralMap()]);
|
|
22222
22072
|
const type = createNgModuleType(meta);
|
|
22223
22073
|
return { expression, type, statements: [] };
|
|
22224
22074
|
}
|
|
@@ -22228,8 +22078,8 @@ function compileDeclareNgModuleFromMetadata(meta) {
|
|
|
22228
22078
|
function createNgModuleDefinitionMap(meta) {
|
|
22229
22079
|
const definitionMap = new DefinitionMap();
|
|
22230
22080
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
|
|
22231
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22232
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
22081
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
22082
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22233
22083
|
definitionMap.set('type', meta.internalType);
|
|
22234
22084
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
22235
22085
|
// We must wrap the arrays inside a function if any of the values are a forward reference to a
|
|
@@ -22276,7 +22126,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION = '12.0.0';
|
|
|
22276
22126
|
*/
|
|
22277
22127
|
function compileDeclarePipeFromMetadata(meta) {
|
|
22278
22128
|
const definitionMap = createPipeDefinitionMap(meta);
|
|
22279
|
-
const expression = importExpr(Identifiers
|
|
22129
|
+
const expression = importExpr(Identifiers.declarePipe).callFn([definitionMap.toLiteralMap()]);
|
|
22280
22130
|
const type = createPipeType(meta);
|
|
22281
22131
|
return { expression, type, statements: [] };
|
|
22282
22132
|
}
|
|
@@ -22286,8 +22136,8 @@ function compileDeclarePipeFromMetadata(meta) {
|
|
|
22286
22136
|
function createPipeDefinitionMap(meta) {
|
|
22287
22137
|
const definitionMap = new DefinitionMap();
|
|
22288
22138
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
22289
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22290
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
22139
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
22140
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22291
22141
|
// e.g. `type: MyPipe`
|
|
22292
22142
|
definitionMap.set('type', meta.internalType);
|
|
22293
22143
|
// e.g. `name: "myPipe"`
|
|
@@ -22336,5 +22186,5 @@ publishFacade(_global);
|
|
|
22336
22186
|
* found in the LICENSE file at https://angular.io/license
|
|
22337
22187
|
*/
|
|
22338
22188
|
|
|
22339
|
-
export { AST, ASTWithName, ASTWithSource, AbsoluteSourceSpan, ArrayType, AstMemoryEfficientTransformer, AstTransformer, Attribute, Binary, BinaryOperator, BinaryOperatorExpr, BindingPipe, BoundElementProperty, BuiltinType, BuiltinTypeName, CUSTOM_ELEMENTS_SCHEMA, Call, Chain, ChangeDetectionStrategy, CommaExpr, Comment, CompilerConfig, Conditional, ConditionalExpr, ConstantPool, CssSelector, DEFAULT_INTERPOLATION_CONFIG, DYNAMIC_TYPE, DeclareFunctionStmt, DeclareVarStmt, DomElementSchemaRegistry, EOF, Element, ElementSchemaRegistry, EmitterVisitorContext, EmptyExpr, Expansion, ExpansionCase, Expression, ExpressionBinding, ExpressionStatement, ExpressionType, ExternalExpr, ExternalReference, FactoryTarget$1 as FactoryTarget, FunctionExpr, HtmlParser, HtmlTagDefinition, I18NHtmlParser,
|
|
22189
|
+
export { AST, ASTWithName, ASTWithSource, AbsoluteSourceSpan, ArrayType, AstMemoryEfficientTransformer, AstTransformer, Attribute, Binary, BinaryOperator, BinaryOperatorExpr, BindingPipe, BoundElementProperty, BuiltinType, BuiltinTypeName, CUSTOM_ELEMENTS_SCHEMA, Call, Chain, ChangeDetectionStrategy, CommaExpr, Comment, CompilerConfig, Conditional, ConditionalExpr, ConstantPool, CssSelector, DEFAULT_INTERPOLATION_CONFIG, DYNAMIC_TYPE, DeclareFunctionStmt, DeclareVarStmt, DomElementSchemaRegistry, EOF, Element, ElementSchemaRegistry, EmitterVisitorContext, EmptyExpr, Expansion, ExpansionCase, Expression, ExpressionBinding, ExpressionStatement, ExpressionType, ExternalExpr, ExternalReference, FactoryTarget$1 as FactoryTarget, FunctionExpr, HtmlParser, HtmlTagDefinition, I18NHtmlParser, IfStmt, ImplicitReceiver, InstantiateExpr, Interpolation, InterpolationConfig, InvokeFunctionExpr, JSDocComment, JitEvaluator, KeyedRead, KeyedWrite, LeadingComment, Lexer, LiteralArray, LiteralArrayExpr, LiteralExpr, LiteralMap, LiteralMapExpr, LiteralPrimitive, LocalizedString, MapType, MessageBundle, NONE_TYPE, NO_ERRORS_SCHEMA, NodeWithI18n, NonNullAssert, NotExpr, ParseError, ParseErrorLevel, ParseLocation, ParseSourceFile, ParseSourceSpan, ParseSpan, ParseTreeResult, ParsedEvent, ParsedProperty, ParsedPropertyType, ParsedVariable, Parser$1 as Parser, ParserError, PrefixNot, PropertyRead, PropertyWrite, R3BoundTarget, Identifiers as R3Identifiers, R3TargetBinder, ReadKeyExpr, ReadPropExpr, ReadVarExpr, RecursiveAstVisitor, RecursiveVisitor, ResourceLoader, ReturnStatement, STRING_TYPE, SafeCall, SafeKeyedRead, SafePropertyRead, SelectorContext, SelectorListContext, SelectorMatcher, Serializer, SplitInterpolation, Statement, StmtModifier, TagContentType, TaggedTemplateExpr, TemplateBindingParseResult, TemplateLiteral, TemplateLiteralElement, Text, ThisReceiver, BoundAttribute as TmplAstBoundAttribute, BoundEvent as TmplAstBoundEvent, BoundText as TmplAstBoundText, Content as TmplAstContent, Element$1 as TmplAstElement, Icu$1 as TmplAstIcu, RecursiveVisitor$1 as TmplAstRecursiveVisitor, Reference as TmplAstReference, Template as TmplAstTemplate, Text$3 as TmplAstText, TextAttribute as TmplAstTextAttribute, Variable as TmplAstVariable, Token, TokenType, TreeError, Type, TypeModifier, TypeofExpr, Unary, UnaryOperator, UnaryOperatorExpr, VERSION, VariableBinding, Version, ViewEncapsulation, WrappedNodeExpr, WriteKeyExpr, WritePropExpr, WriteVarExpr, Xliff, Xliff2, Xmb, XmlParser, Xtb, _ParseAST, compileClassMetadata, compileComponentFromMetadata, compileDeclareClassMetadata, compileDeclareComponentFromMetadata, compileDeclareDirectiveFromMetadata, compileDeclareFactoryFunction, compileDeclareInjectableFromMetadata, compileDeclareInjectorFromMetadata, compileDeclareNgModuleFromMetadata, compileDeclarePipeFromMetadata, compileDirectiveFromMetadata, compileFactoryFunction, compileInjectable, compileInjector, compileNgModule, compilePipeFromMetadata, computeMsgId, core, createInjectableType, createMayBeForwardRefExpression, devOnlyGuardedExpression, emitDistinctChangesOnlyDefaultValue, getHtmlTagDefinition, getNsPrefix, getSafePropertyAccessString, identifierName, isIdentifier, isNgContainer, isNgContent, isNgTemplate, jsDocComment, leadingComment, literalMap, makeBindingParser, mergeNsAndName, output_ast as outputAst, parseHostBindings, parseTemplate, preserveWhitespacesDefault, publishFacade, r3JitTypeSourceSpan, sanitizeIdentifier, splitNsName, verifyHostBindings, visitAll };
|
|
22340
22190
|
//# sourceMappingURL=compiler.mjs.map
|