@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/fesm2020/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
|
*/
|
|
@@ -2733,206 +2733,206 @@ function isLongStringLiteral(expr) {
|
|
|
2733
2733
|
* Use of this source code is governed by an MIT-style license that can be
|
|
2734
2734
|
* found in the LICENSE file at https://angular.io/license
|
|
2735
2735
|
*/
|
|
2736
|
-
const CORE
|
|
2737
|
-
class Identifiers
|
|
2736
|
+
const CORE = '@angular/core';
|
|
2737
|
+
class Identifiers {
|
|
2738
2738
|
}
|
|
2739
2739
|
/* Methods */
|
|
2740
|
-
Identifiers
|
|
2741
|
-
Identifiers
|
|
2742
|
-
Identifiers
|
|
2743
|
-
Identifiers
|
|
2740
|
+
Identifiers.NEW_METHOD = 'factory';
|
|
2741
|
+
Identifiers.TRANSFORM_METHOD = 'transform';
|
|
2742
|
+
Identifiers.PATCH_DEPS = 'patchedDeps';
|
|
2743
|
+
Identifiers.core = { name: null, moduleName: CORE };
|
|
2744
2744
|
/* Instructions */
|
|
2745
|
-
Identifiers
|
|
2746
|
-
Identifiers
|
|
2747
|
-
Identifiers
|
|
2748
|
-
Identifiers
|
|
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
|
|
2745
|
+
Identifiers.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE };
|
|
2746
|
+
Identifiers.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE };
|
|
2747
|
+
Identifiers.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE };
|
|
2748
|
+
Identifiers.element = { name: 'ɵɵelement', moduleName: CORE };
|
|
2749
|
+
Identifiers.elementStart = { name: 'ɵɵelementStart', moduleName: CORE };
|
|
2750
|
+
Identifiers.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE };
|
|
2751
|
+
Identifiers.advance = { name: 'ɵɵadvance', moduleName: CORE };
|
|
2752
|
+
Identifiers.syntheticHostProperty = { name: 'ɵɵsyntheticHostProperty', moduleName: CORE };
|
|
2753
|
+
Identifiers.syntheticHostListener = { name: 'ɵɵsyntheticHostListener', moduleName: CORE };
|
|
2754
|
+
Identifiers.attribute = { name: 'ɵɵattribute', moduleName: CORE };
|
|
2755
|
+
Identifiers.attributeInterpolate1 = { name: 'ɵɵattributeInterpolate1', moduleName: CORE };
|
|
2756
|
+
Identifiers.attributeInterpolate2 = { name: 'ɵɵattributeInterpolate2', moduleName: CORE };
|
|
2757
|
+
Identifiers.attributeInterpolate3 = { name: 'ɵɵattributeInterpolate3', moduleName: CORE };
|
|
2758
|
+
Identifiers.attributeInterpolate4 = { name: 'ɵɵattributeInterpolate4', moduleName: CORE };
|
|
2759
|
+
Identifiers.attributeInterpolate5 = { name: 'ɵɵattributeInterpolate5', moduleName: CORE };
|
|
2760
|
+
Identifiers.attributeInterpolate6 = { name: 'ɵɵattributeInterpolate6', moduleName: CORE };
|
|
2761
|
+
Identifiers.attributeInterpolate7 = { name: 'ɵɵattributeInterpolate7', moduleName: CORE };
|
|
2762
|
+
Identifiers.attributeInterpolate8 = { name: 'ɵɵattributeInterpolate8', moduleName: CORE };
|
|
2763
|
+
Identifiers.attributeInterpolateV = { name: 'ɵɵattributeInterpolateV', moduleName: CORE };
|
|
2764
|
+
Identifiers.classProp = { name: 'ɵɵclassProp', moduleName: CORE };
|
|
2765
|
+
Identifiers.elementContainerStart = { name: 'ɵɵelementContainerStart', moduleName: CORE };
|
|
2766
|
+
Identifiers.elementContainerEnd = { name: 'ɵɵelementContainerEnd', moduleName: CORE };
|
|
2767
|
+
Identifiers.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE };
|
|
2768
|
+
Identifiers.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE };
|
|
2769
|
+
Identifiers.styleMapInterpolate1 = { name: 'ɵɵstyleMapInterpolate1', moduleName: CORE };
|
|
2770
|
+
Identifiers.styleMapInterpolate2 = { name: 'ɵɵstyleMapInterpolate2', moduleName: CORE };
|
|
2771
|
+
Identifiers.styleMapInterpolate3 = { name: 'ɵɵstyleMapInterpolate3', moduleName: CORE };
|
|
2772
|
+
Identifiers.styleMapInterpolate4 = { name: 'ɵɵstyleMapInterpolate4', moduleName: CORE };
|
|
2773
|
+
Identifiers.styleMapInterpolate5 = { name: 'ɵɵstyleMapInterpolate5', moduleName: CORE };
|
|
2774
|
+
Identifiers.styleMapInterpolate6 = { name: 'ɵɵstyleMapInterpolate6', moduleName: CORE };
|
|
2775
|
+
Identifiers.styleMapInterpolate7 = { name: 'ɵɵstyleMapInterpolate7', moduleName: CORE };
|
|
2776
|
+
Identifiers.styleMapInterpolate8 = { name: 'ɵɵstyleMapInterpolate8', moduleName: CORE };
|
|
2777
|
+
Identifiers.styleMapInterpolateV = { name: 'ɵɵstyleMapInterpolateV', moduleName: CORE };
|
|
2778
|
+
Identifiers.classMap = { name: 'ɵɵclassMap', moduleName: CORE };
|
|
2779
|
+
Identifiers.classMapInterpolate1 = { name: 'ɵɵclassMapInterpolate1', moduleName: CORE };
|
|
2780
|
+
Identifiers.classMapInterpolate2 = { name: 'ɵɵclassMapInterpolate2', moduleName: CORE };
|
|
2781
|
+
Identifiers.classMapInterpolate3 = { name: 'ɵɵclassMapInterpolate3', moduleName: CORE };
|
|
2782
|
+
Identifiers.classMapInterpolate4 = { name: 'ɵɵclassMapInterpolate4', moduleName: CORE };
|
|
2783
|
+
Identifiers.classMapInterpolate5 = { name: 'ɵɵclassMapInterpolate5', moduleName: CORE };
|
|
2784
|
+
Identifiers.classMapInterpolate6 = { name: 'ɵɵclassMapInterpolate6', moduleName: CORE };
|
|
2785
|
+
Identifiers.classMapInterpolate7 = { name: 'ɵɵclassMapInterpolate7', moduleName: CORE };
|
|
2786
|
+
Identifiers.classMapInterpolate8 = { name: 'ɵɵclassMapInterpolate8', moduleName: CORE };
|
|
2787
|
+
Identifiers.classMapInterpolateV = { name: 'ɵɵclassMapInterpolateV', moduleName: CORE };
|
|
2788
|
+
Identifiers.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE };
|
|
2789
|
+
Identifiers.stylePropInterpolate1 = { name: 'ɵɵstylePropInterpolate1', moduleName: CORE };
|
|
2790
|
+
Identifiers.stylePropInterpolate2 = { name: 'ɵɵstylePropInterpolate2', moduleName: CORE };
|
|
2791
|
+
Identifiers.stylePropInterpolate3 = { name: 'ɵɵstylePropInterpolate3', moduleName: CORE };
|
|
2792
|
+
Identifiers.stylePropInterpolate4 = { name: 'ɵɵstylePropInterpolate4', moduleName: CORE };
|
|
2793
|
+
Identifiers.stylePropInterpolate5 = { name: 'ɵɵstylePropInterpolate5', moduleName: CORE };
|
|
2794
|
+
Identifiers.stylePropInterpolate6 = { name: 'ɵɵstylePropInterpolate6', moduleName: CORE };
|
|
2795
|
+
Identifiers.stylePropInterpolate7 = { name: 'ɵɵstylePropInterpolate7', moduleName: CORE };
|
|
2796
|
+
Identifiers.stylePropInterpolate8 = { name: 'ɵɵstylePropInterpolate8', moduleName: CORE };
|
|
2797
|
+
Identifiers.stylePropInterpolateV = { name: 'ɵɵstylePropInterpolateV', moduleName: CORE };
|
|
2798
|
+
Identifiers.nextContext = { name: 'ɵɵnextContext', moduleName: CORE };
|
|
2799
|
+
Identifiers.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE };
|
|
2800
|
+
Identifiers.text = { name: 'ɵɵtext', moduleName: CORE };
|
|
2801
|
+
Identifiers.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE };
|
|
2802
|
+
Identifiers.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE };
|
|
2803
|
+
Identifiers.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE };
|
|
2804
|
+
Identifiers.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE };
|
|
2805
|
+
Identifiers.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE };
|
|
2806
|
+
Identifiers.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE };
|
|
2807
|
+
Identifiers.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE };
|
|
2808
|
+
Identifiers.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE };
|
|
2809
|
+
Identifiers.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE };
|
|
2810
|
+
Identifiers.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE };
|
|
2811
|
+
Identifiers.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE };
|
|
2812
|
+
Identifiers.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE };
|
|
2813
|
+
Identifiers.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE };
|
|
2814
|
+
Identifiers.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE };
|
|
2815
|
+
Identifiers.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE };
|
|
2816
|
+
Identifiers.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE };
|
|
2817
|
+
Identifiers.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE };
|
|
2818
|
+
Identifiers.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE };
|
|
2819
|
+
Identifiers.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE };
|
|
2820
|
+
Identifiers.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE };
|
|
2821
|
+
Identifiers.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE };
|
|
2822
|
+
Identifiers.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE };
|
|
2823
|
+
Identifiers.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE };
|
|
2824
|
+
Identifiers.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE };
|
|
2825
|
+
Identifiers.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE };
|
|
2826
|
+
Identifiers.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE };
|
|
2827
|
+
Identifiers.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE };
|
|
2828
|
+
Identifiers.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE };
|
|
2829
|
+
Identifiers.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE };
|
|
2830
|
+
Identifiers.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE };
|
|
2831
|
+
Identifiers.property = { name: 'ɵɵproperty', moduleName: CORE };
|
|
2832
|
+
Identifiers.propertyInterpolate = { name: 'ɵɵpropertyInterpolate', moduleName: CORE };
|
|
2833
|
+
Identifiers.propertyInterpolate1 = { name: 'ɵɵpropertyInterpolate1', moduleName: CORE };
|
|
2834
|
+
Identifiers.propertyInterpolate2 = { name: 'ɵɵpropertyInterpolate2', moduleName: CORE };
|
|
2835
|
+
Identifiers.propertyInterpolate3 = { name: 'ɵɵpropertyInterpolate3', moduleName: CORE };
|
|
2836
|
+
Identifiers.propertyInterpolate4 = { name: 'ɵɵpropertyInterpolate4', moduleName: CORE };
|
|
2837
|
+
Identifiers.propertyInterpolate5 = { name: 'ɵɵpropertyInterpolate5', moduleName: CORE };
|
|
2838
|
+
Identifiers.propertyInterpolate6 = { name: 'ɵɵpropertyInterpolate6', moduleName: CORE };
|
|
2839
|
+
Identifiers.propertyInterpolate7 = { name: 'ɵɵpropertyInterpolate7', moduleName: CORE };
|
|
2840
|
+
Identifiers.propertyInterpolate8 = { name: 'ɵɵpropertyInterpolate8', moduleName: CORE };
|
|
2841
|
+
Identifiers.propertyInterpolateV = { name: 'ɵɵpropertyInterpolateV', moduleName: CORE };
|
|
2842
|
+
Identifiers.i18n = { name: 'ɵɵi18n', moduleName: CORE };
|
|
2843
|
+
Identifiers.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE };
|
|
2844
|
+
Identifiers.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE };
|
|
2845
|
+
Identifiers.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE };
|
|
2846
|
+
Identifiers.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE };
|
|
2847
|
+
Identifiers.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE };
|
|
2848
|
+
Identifiers.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE };
|
|
2849
|
+
Identifiers.pipe = { name: 'ɵɵpipe', moduleName: CORE };
|
|
2850
|
+
Identifiers.projection = { name: 'ɵɵprojection', moduleName: CORE };
|
|
2851
|
+
Identifiers.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE };
|
|
2852
|
+
Identifiers.reference = { name: 'ɵɵreference', moduleName: CORE };
|
|
2853
|
+
Identifiers.inject = { name: 'ɵɵinject', moduleName: CORE };
|
|
2854
|
+
Identifiers.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE };
|
|
2855
|
+
Identifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };
|
|
2856
|
+
Identifiers.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE };
|
|
2857
|
+
Identifiers.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE };
|
|
2858
|
+
Identifiers.templateRefExtractor = { name: 'ɵɵtemplateRefExtractor', moduleName: CORE };
|
|
2859
|
+
Identifiers.forwardRef = { name: 'forwardRef', moduleName: CORE };
|
|
2860
|
+
Identifiers.resolveForwardRef = { name: 'resolveForwardRef', moduleName: CORE };
|
|
2861
|
+
Identifiers.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };
|
|
2862
|
+
Identifiers.declareInjectable = { name: 'ɵɵngDeclareInjectable', moduleName: CORE };
|
|
2863
|
+
Identifiers.InjectableDeclaration = { name: 'ɵɵInjectableDeclaration', moduleName: CORE };
|
|
2864
|
+
Identifiers.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE };
|
|
2865
|
+
Identifiers.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE };
|
|
2866
|
+
Identifiers.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE };
|
|
2867
|
+
Identifiers.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE };
|
|
2868
|
+
Identifiers.declareComponent = { name: 'ɵɵngDeclareComponent', moduleName: CORE };
|
|
2869
|
+
Identifiers.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE };
|
|
2870
|
+
Identifiers.ChangeDetectionStrategy = {
|
|
2871
2871
|
name: 'ChangeDetectionStrategy',
|
|
2872
|
-
moduleName: CORE
|
|
2872
|
+
moduleName: CORE,
|
|
2873
2873
|
};
|
|
2874
|
-
Identifiers
|
|
2874
|
+
Identifiers.ViewEncapsulation = {
|
|
2875
2875
|
name: 'ViewEncapsulation',
|
|
2876
|
-
moduleName: CORE
|
|
2876
|
+
moduleName: CORE,
|
|
2877
2877
|
};
|
|
2878
|
-
Identifiers
|
|
2878
|
+
Identifiers.ComponentDeclaration = {
|
|
2879
2879
|
name: 'ɵɵComponentDeclaration',
|
|
2880
|
-
moduleName: CORE
|
|
2880
|
+
moduleName: CORE,
|
|
2881
2881
|
};
|
|
2882
|
-
Identifiers
|
|
2882
|
+
Identifiers.FactoryDeclaration = {
|
|
2883
2883
|
name: 'ɵɵFactoryDeclaration',
|
|
2884
|
-
moduleName: CORE
|
|
2884
|
+
moduleName: CORE,
|
|
2885
2885
|
};
|
|
2886
|
-
Identifiers
|
|
2887
|
-
Identifiers
|
|
2888
|
-
Identifiers
|
|
2889
|
-
Identifiers
|
|
2890
|
-
Identifiers
|
|
2886
|
+
Identifiers.declareFactory = { name: 'ɵɵngDeclareFactory', moduleName: CORE };
|
|
2887
|
+
Identifiers.FactoryTarget = { name: 'ɵɵFactoryTarget', moduleName: CORE };
|
|
2888
|
+
Identifiers.defineDirective = { name: 'ɵɵdefineDirective', moduleName: CORE };
|
|
2889
|
+
Identifiers.declareDirective = { name: 'ɵɵngDeclareDirective', moduleName: CORE };
|
|
2890
|
+
Identifiers.DirectiveDeclaration = {
|
|
2891
2891
|
name: 'ɵɵDirectiveDeclaration',
|
|
2892
|
-
moduleName: CORE
|
|
2892
|
+
moduleName: CORE,
|
|
2893
2893
|
};
|
|
2894
|
-
Identifiers
|
|
2895
|
-
Identifiers
|
|
2896
|
-
Identifiers
|
|
2897
|
-
Identifiers
|
|
2898
|
-
Identifiers
|
|
2894
|
+
Identifiers.InjectorDef = { name: 'ɵɵInjectorDef', moduleName: CORE };
|
|
2895
|
+
Identifiers.InjectorDeclaration = { name: 'ɵɵInjectorDeclaration', moduleName: CORE };
|
|
2896
|
+
Identifiers.defineInjector = { name: 'ɵɵdefineInjector', moduleName: CORE };
|
|
2897
|
+
Identifiers.declareInjector = { name: 'ɵɵngDeclareInjector', moduleName: CORE };
|
|
2898
|
+
Identifiers.NgModuleDeclaration = {
|
|
2899
2899
|
name: 'ɵɵNgModuleDeclaration',
|
|
2900
|
-
moduleName: CORE
|
|
2900
|
+
moduleName: CORE,
|
|
2901
2901
|
};
|
|
2902
|
-
Identifiers
|
|
2902
|
+
Identifiers.ModuleWithProviders = {
|
|
2903
2903
|
name: 'ModuleWithProviders',
|
|
2904
|
-
moduleName: CORE
|
|
2904
|
+
moduleName: CORE,
|
|
2905
2905
|
};
|
|
2906
|
-
Identifiers
|
|
2907
|
-
Identifiers
|
|
2908
|
-
Identifiers
|
|
2909
|
-
Identifiers
|
|
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
|
|
2906
|
+
Identifiers.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE };
|
|
2907
|
+
Identifiers.declareNgModule = { name: 'ɵɵngDeclareNgModule', moduleName: CORE };
|
|
2908
|
+
Identifiers.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE };
|
|
2909
|
+
Identifiers.PipeDeclaration = { name: 'ɵɵPipeDeclaration', moduleName: CORE };
|
|
2910
|
+
Identifiers.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE };
|
|
2911
|
+
Identifiers.declarePipe = { name: 'ɵɵngDeclarePipe', moduleName: CORE };
|
|
2912
|
+
Identifiers.declareClassMetadata = { name: 'ɵɵngDeclareClassMetadata', moduleName: CORE };
|
|
2913
|
+
Identifiers.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE };
|
|
2914
|
+
Identifiers.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE };
|
|
2915
|
+
Identifiers.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE };
|
|
2916
|
+
Identifiers.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE };
|
|
2917
|
+
Identifiers.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE };
|
|
2918
|
+
Identifiers.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE };
|
|
2919
|
+
Identifiers.InheritDefinitionFeature = { name: 'ɵɵInheritDefinitionFeature', moduleName: CORE };
|
|
2920
|
+
Identifiers.CopyDefinitionFeature = { name: 'ɵɵCopyDefinitionFeature', moduleName: CORE };
|
|
2921
|
+
Identifiers.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE };
|
|
2922
|
+
Identifiers.listener = { name: 'ɵɵlistener', moduleName: CORE };
|
|
2923
|
+
Identifiers.getInheritedFactory = {
|
|
2924
2924
|
name: 'ɵɵgetInheritedFactory',
|
|
2925
|
-
moduleName: CORE
|
|
2925
|
+
moduleName: CORE,
|
|
2926
2926
|
};
|
|
2927
2927
|
// sanitization-related functions
|
|
2928
|
-
Identifiers
|
|
2929
|
-
Identifiers
|
|
2930
|
-
Identifiers
|
|
2931
|
-
Identifiers
|
|
2932
|
-
Identifiers
|
|
2933
|
-
Identifiers
|
|
2934
|
-
Identifiers
|
|
2935
|
-
Identifiers
|
|
2928
|
+
Identifiers.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE };
|
|
2929
|
+
Identifiers.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE };
|
|
2930
|
+
Identifiers.sanitizeResourceUrl = { name: 'ɵɵsanitizeResourceUrl', moduleName: CORE };
|
|
2931
|
+
Identifiers.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE };
|
|
2932
|
+
Identifiers.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE };
|
|
2933
|
+
Identifiers.sanitizeUrlOrResourceUrl = { name: 'ɵɵsanitizeUrlOrResourceUrl', moduleName: CORE };
|
|
2934
|
+
Identifiers.trustConstantHtml = { name: 'ɵɵtrustConstantHtml', moduleName: CORE };
|
|
2935
|
+
Identifiers.trustConstantResourceUrl = { name: 'ɵɵtrustConstantResourceUrl', moduleName: CORE };
|
|
2936
2936
|
|
|
2937
2937
|
/**
|
|
2938
2938
|
* @license
|
|
@@ -3674,7 +3674,7 @@ function convertFromMaybeForwardRefExpression({ expression, forwardRef }) {
|
|
|
3674
3674
|
* ```
|
|
3675
3675
|
*/
|
|
3676
3676
|
function generateForwardRef(expr) {
|
|
3677
|
-
return importExpr(Identifiers
|
|
3677
|
+
return importExpr(Identifiers.forwardRef).callFn([fn([], [new ReturnStatement(expr)])]);
|
|
3678
3678
|
}
|
|
3679
3679
|
|
|
3680
3680
|
var R3FactoryDelegateType;
|
|
@@ -3722,7 +3722,7 @@ function compileFactoryFunction(meta) {
|
|
|
3722
3722
|
const r = variable('r');
|
|
3723
3723
|
body.push(r.set(NULL_EXPR).toDeclStmt());
|
|
3724
3724
|
const ctorStmt = ctorExpr !== null ? r.set(ctorExpr).toStmt() :
|
|
3725
|
-
importExpr(Identifiers
|
|
3725
|
+
importExpr(Identifiers.invalidFactory).callFn([]).toStmt();
|
|
3726
3726
|
body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));
|
|
3727
3727
|
return r;
|
|
3728
3728
|
}
|
|
@@ -3745,11 +3745,11 @@ function compileFactoryFunction(meta) {
|
|
|
3745
3745
|
}
|
|
3746
3746
|
if (retExpr === null) {
|
|
3747
3747
|
// The expression cannot be formed so render an `ɵɵinvalidFactory()` call.
|
|
3748
|
-
body.push(importExpr(Identifiers
|
|
3748
|
+
body.push(importExpr(Identifiers.invalidFactory).callFn([]).toStmt());
|
|
3749
3749
|
}
|
|
3750
3750
|
else if (baseFactoryVar !== null) {
|
|
3751
3751
|
// This factory uses a base factory, so call `ɵɵgetInheritedFactory()` to compute it.
|
|
3752
|
-
const getInheritedFactoryCall = importExpr(Identifiers
|
|
3752
|
+
const getInheritedFactoryCall = importExpr(Identifiers.getInheritedFactory).callFn([meta.internalType]);
|
|
3753
3753
|
// Memoize the base factoryFn: `baseFactory || (baseFactory = ɵɵgetInheritedFactory(...))`
|
|
3754
3754
|
const baseFactory = new BinaryOperatorExpr(BinaryOperator.Or, baseFactoryVar, baseFactoryVar.set(getInheritedFactoryCall));
|
|
3755
3755
|
body.push(new ReturnStatement(baseFactory.callFn([typeForCtor])));
|
|
@@ -3774,7 +3774,7 @@ function compileFactoryFunction(meta) {
|
|
|
3774
3774
|
}
|
|
3775
3775
|
function createFactoryType(meta) {
|
|
3776
3776
|
const ctorDepsType = meta.deps !== null && meta.deps !== 'invalid' ? createCtorDepsType(meta.deps) : NONE_TYPE;
|
|
3777
|
-
return expressionType(importExpr(Identifiers
|
|
3777
|
+
return expressionType(importExpr(Identifiers.FactoryDeclaration, [typeWithParameters(meta.type.type, meta.typeArgumentCount), ctorDepsType]));
|
|
3778
3778
|
}
|
|
3779
3779
|
function injectDependencies(deps, target) {
|
|
3780
3780
|
return deps.map((dep, index) => compileInjectDependency(dep, target, index));
|
|
@@ -3782,7 +3782,7 @@ function injectDependencies(deps, target) {
|
|
|
3782
3782
|
function compileInjectDependency(dep, target, index) {
|
|
3783
3783
|
// Interpret the dependency according to its resolved type.
|
|
3784
3784
|
if (dep.token === null) {
|
|
3785
|
-
return importExpr(Identifiers
|
|
3785
|
+
return importExpr(Identifiers.invalidFactoryDep).callFn([literal(index)]);
|
|
3786
3786
|
}
|
|
3787
3787
|
else if (dep.attributeNameType === null) {
|
|
3788
3788
|
// Build up the injection flags according to the metadata.
|
|
@@ -3810,7 +3810,7 @@ function compileInjectDependency(dep, target, index) {
|
|
|
3810
3810
|
//
|
|
3811
3811
|
// The `dep.attributeTypeName` is only actually used (in `createCtorDepType()`) to generate
|
|
3812
3812
|
// typings.
|
|
3813
|
-
return importExpr(Identifiers
|
|
3813
|
+
return importExpr(Identifiers.injectAttribute).callFn([dep.token]);
|
|
3814
3814
|
}
|
|
3815
3815
|
}
|
|
3816
3816
|
function createCtorDepsType(deps) {
|
|
@@ -3862,11 +3862,11 @@ function getInjectFn(target) {
|
|
|
3862
3862
|
case FactoryTarget$1.Component:
|
|
3863
3863
|
case FactoryTarget$1.Directive:
|
|
3864
3864
|
case FactoryTarget$1.Pipe:
|
|
3865
|
-
return Identifiers
|
|
3865
|
+
return Identifiers.directiveInject;
|
|
3866
3866
|
case FactoryTarget$1.NgModule:
|
|
3867
3867
|
case FactoryTarget$1.Injectable:
|
|
3868
3868
|
default:
|
|
3869
|
-
return Identifiers
|
|
3869
|
+
return Identifiers.inject;
|
|
3870
3870
|
}
|
|
3871
3871
|
}
|
|
3872
3872
|
|
|
@@ -4962,7 +4962,7 @@ function getQueryPredicate(query, constantPool) {
|
|
|
4962
4962
|
case 2 /* Unwrapped */:
|
|
4963
4963
|
return query.predicate.expression;
|
|
4964
4964
|
case 1 /* Wrapped */:
|
|
4965
|
-
return importExpr(Identifiers
|
|
4965
|
+
return importExpr(Identifiers.resolveForwardRef).callFn([query.predicate.expression]);
|
|
4966
4966
|
}
|
|
4967
4967
|
}
|
|
4968
4968
|
}
|
|
@@ -5122,7 +5122,7 @@ function compileInjectable(meta, resolveForwardRefs) {
|
|
|
5122
5122
|
// useExisting is an `inject` call on the existing token.
|
|
5123
5123
|
result = compileFactoryFunction({
|
|
5124
5124
|
...factoryMeta,
|
|
5125
|
-
expression: importExpr(Identifiers
|
|
5125
|
+
expression: importExpr(Identifiers.inject).callFn([meta.useExisting.expression]),
|
|
5126
5126
|
});
|
|
5127
5127
|
}
|
|
5128
5128
|
else {
|
|
@@ -5139,7 +5139,7 @@ function compileInjectable(meta, resolveForwardRefs) {
|
|
|
5139
5139
|
if (meta.providedIn.expression.value !== null) {
|
|
5140
5140
|
injectableProps.set('providedIn', convertFromMaybeForwardRefExpression(meta.providedIn));
|
|
5141
5141
|
}
|
|
5142
|
-
const expression = importExpr(Identifiers
|
|
5142
|
+
const expression = importExpr(Identifiers.ɵɵdefineInjectable)
|
|
5143
5143
|
.callFn([injectableProps.toLiteralMap()], undefined, true);
|
|
5144
5144
|
return {
|
|
5145
5145
|
expression,
|
|
@@ -5148,7 +5148,7 @@ function compileInjectable(meta, resolveForwardRefs) {
|
|
|
5148
5148
|
};
|
|
5149
5149
|
}
|
|
5150
5150
|
function createInjectableType(meta) {
|
|
5151
|
-
return new ExpressionType(importExpr(Identifiers
|
|
5151
|
+
return new ExpressionType(importExpr(Identifiers.InjectableDeclaration, [typeWithParameters(meta.type.type, meta.typeArgumentCount)]));
|
|
5152
5152
|
}
|
|
5153
5153
|
function delegateToFactory(type, internalType, unwrapForwardRefs) {
|
|
5154
5154
|
if (type.node === internalType.node) {
|
|
@@ -5171,7 +5171,7 @@ function delegateToFactory(type, internalType, unwrapForwardRefs) {
|
|
|
5171
5171
|
// ```
|
|
5172
5172
|
// factory: function(t) { return core.resolveForwardRef(type).ɵfac(t); }
|
|
5173
5173
|
// ```
|
|
5174
|
-
const unwrappedType = importExpr(Identifiers
|
|
5174
|
+
const unwrappedType = importExpr(Identifiers.resolveForwardRef).callFn([internalType]);
|
|
5175
5175
|
return createFactoryFunction(unwrappedType);
|
|
5176
5176
|
}
|
|
5177
5177
|
function createFactoryFunction(type) {
|
|
@@ -5859,12 +5859,12 @@ function compileInjector(meta) {
|
|
|
5859
5859
|
if (meta.imports.length > 0) {
|
|
5860
5860
|
definitionMap.set('imports', literalArr(meta.imports));
|
|
5861
5861
|
}
|
|
5862
|
-
const expression = importExpr(Identifiers
|
|
5862
|
+
const expression = importExpr(Identifiers.defineInjector).callFn([definitionMap.toLiteralMap()], undefined, true);
|
|
5863
5863
|
const type = createInjectorType(meta);
|
|
5864
5864
|
return { expression, type, statements: [] };
|
|
5865
5865
|
}
|
|
5866
5866
|
function createInjectorType(meta) {
|
|
5867
|
-
return new ExpressionType(importExpr(Identifiers
|
|
5867
|
+
return new ExpressionType(importExpr(Identifiers.InjectorDeclaration, [new ExpressionType(meta.type.type)]));
|
|
5868
5868
|
}
|
|
5869
5869
|
|
|
5870
5870
|
/**
|
|
@@ -5941,7 +5941,7 @@ function compileNgModule(meta) {
|
|
|
5941
5941
|
if (id !== null) {
|
|
5942
5942
|
definitionMap.set('id', id);
|
|
5943
5943
|
}
|
|
5944
|
-
const expression = importExpr(Identifiers
|
|
5944
|
+
const expression = importExpr(Identifiers.defineNgModule).callFn([definitionMap.toLiteralMap()], undefined, true);
|
|
5945
5945
|
const type = createNgModuleType(meta);
|
|
5946
5946
|
return { expression, type, statements };
|
|
5947
5947
|
}
|
|
@@ -5970,10 +5970,10 @@ function compileNgModuleDeclarationExpression(meta) {
|
|
|
5970
5970
|
if (meta.id !== undefined) {
|
|
5971
5971
|
definitionMap.set('id', new WrappedNodeExpr(meta.id));
|
|
5972
5972
|
}
|
|
5973
|
-
return importExpr(Identifiers
|
|
5973
|
+
return importExpr(Identifiers.defineNgModule).callFn([definitionMap.toLiteralMap()]);
|
|
5974
5974
|
}
|
|
5975
5975
|
function createNgModuleType({ type: moduleType, declarations, imports, exports }) {
|
|
5976
|
-
return new ExpressionType(importExpr(Identifiers
|
|
5976
|
+
return new ExpressionType(importExpr(Identifiers.NgModuleDeclaration, [
|
|
5977
5977
|
new ExpressionType(moduleType.type), tupleTypeOf(declarations), tupleTypeOf(imports),
|
|
5978
5978
|
tupleTypeOf(exports)
|
|
5979
5979
|
]));
|
|
@@ -6001,7 +6001,7 @@ function generateSetNgModuleScopeCall(meta) {
|
|
|
6001
6001
|
}
|
|
6002
6002
|
// setNgModuleScope(...)
|
|
6003
6003
|
const fnCall = new InvokeFunctionExpr(
|
|
6004
|
-
/* fn */ importExpr(Identifiers
|
|
6004
|
+
/* fn */ importExpr(Identifiers.setNgModuleScope),
|
|
6005
6005
|
/* args */ [moduleType, scopeMap.toLiteralMap()]);
|
|
6006
6006
|
// (ngJitMode guard) && setNgModuleScope(...)
|
|
6007
6007
|
const guardedCall = jitOnlyGuardedExpression(fnCall);
|
|
@@ -6035,12 +6035,12 @@ function compilePipeFromMetadata(metadata) {
|
|
|
6035
6035
|
definitionMapValues.push({ key: 'type', value: metadata.type.value, quoted: false });
|
|
6036
6036
|
// e.g. `pure: true`
|
|
6037
6037
|
definitionMapValues.push({ key: 'pure', value: literal(metadata.pure), quoted: false });
|
|
6038
|
-
const expression = importExpr(Identifiers
|
|
6038
|
+
const expression = importExpr(Identifiers.definePipe).callFn([literalMap(definitionMapValues)], undefined, true);
|
|
6039
6039
|
const type = createPipeType(metadata);
|
|
6040
6040
|
return { expression, type, statements: [] };
|
|
6041
6041
|
}
|
|
6042
6042
|
function createPipeType(metadata) {
|
|
6043
|
-
return new ExpressionType(importExpr(Identifiers
|
|
6043
|
+
return new ExpressionType(importExpr(Identifiers.PipeDeclaration, [
|
|
6044
6044
|
typeWithParameters(metadata.type.type, metadata.typeArgumentCount),
|
|
6045
6045
|
new ExpressionType(new LiteralExpr(metadata.pipeName)),
|
|
6046
6046
|
]));
|
|
@@ -6089,33 +6089,6 @@ class ASTWithName extends AST {
|
|
|
6089
6089
|
this.nameSpan = nameSpan;
|
|
6090
6090
|
}
|
|
6091
6091
|
}
|
|
6092
|
-
/**
|
|
6093
|
-
* Represents a quoted expression of the form:
|
|
6094
|
-
*
|
|
6095
|
-
* quote = prefix `:` uninterpretedExpression
|
|
6096
|
-
* prefix = identifier
|
|
6097
|
-
* uninterpretedExpression = arbitrary string
|
|
6098
|
-
*
|
|
6099
|
-
* A quoted expression is meant to be pre-processed by an AST transformer that
|
|
6100
|
-
* converts it into another AST that no longer contains quoted expressions.
|
|
6101
|
-
* It is meant to allow third-party developers to extend Angular template
|
|
6102
|
-
* expression language. The `uninterpretedExpression` part of the quote is
|
|
6103
|
-
* therefore not interpreted by the Angular's own expression parser.
|
|
6104
|
-
*/
|
|
6105
|
-
class Quote extends AST {
|
|
6106
|
-
constructor(span, sourceSpan, prefix, uninterpretedExpression, location) {
|
|
6107
|
-
super(span, sourceSpan);
|
|
6108
|
-
this.prefix = prefix;
|
|
6109
|
-
this.uninterpretedExpression = uninterpretedExpression;
|
|
6110
|
-
this.location = location;
|
|
6111
|
-
}
|
|
6112
|
-
visit(visitor, context = null) {
|
|
6113
|
-
return visitor.visitQuote(this, context);
|
|
6114
|
-
}
|
|
6115
|
-
toString() {
|
|
6116
|
-
return 'Quote';
|
|
6117
|
-
}
|
|
6118
|
-
}
|
|
6119
6092
|
class EmptyExpr extends AST {
|
|
6120
6093
|
visit(visitor, context = null) {
|
|
6121
6094
|
// do nothing
|
|
@@ -6495,7 +6468,6 @@ class RecursiveAstVisitor {
|
|
|
6495
6468
|
this.visit(ast.receiver, context);
|
|
6496
6469
|
this.visitAll(ast.args, context);
|
|
6497
6470
|
}
|
|
6498
|
-
visitQuote(ast, context) { }
|
|
6499
6471
|
// This is not part of the AstVisitor interface, just a helper method
|
|
6500
6472
|
visitAll(asts, context) {
|
|
6501
6473
|
for (const ast of asts) {
|
|
@@ -6578,9 +6550,6 @@ class AstTransformer {
|
|
|
6578
6550
|
visitChain(ast, context) {
|
|
6579
6551
|
return new Chain(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));
|
|
6580
6552
|
}
|
|
6581
|
-
visitQuote(ast, context) {
|
|
6582
|
-
return new Quote(ast.span, ast.sourceSpan, ast.prefix, ast.uninterpretedExpression, ast.location);
|
|
6583
|
-
}
|
|
6584
6553
|
visitSafeKeyedRead(ast, context) {
|
|
6585
6554
|
return new SafeKeyedRead(ast.span, ast.sourceSpan, ast.receiver.visit(this), ast.key.visit(this));
|
|
6586
6555
|
}
|
|
@@ -6743,9 +6712,6 @@ class AstMemoryEfficientTransformer {
|
|
|
6743
6712
|
}
|
|
6744
6713
|
return ast;
|
|
6745
6714
|
}
|
|
6746
|
-
visitQuote(ast, context) {
|
|
6747
|
-
return ast;
|
|
6748
|
-
}
|
|
6749
6715
|
visitSafeKeyedRead(ast, context) {
|
|
6750
6716
|
const obj = ast.receiver.visit(this);
|
|
6751
6717
|
const key = ast.key.visit(this);
|
|
@@ -6812,98 +6778,6 @@ class BoundElementProperty {
|
|
|
6812
6778
|
}
|
|
6813
6779
|
}
|
|
6814
6780
|
|
|
6815
|
-
/**
|
|
6816
|
-
* @license
|
|
6817
|
-
* Copyright Google LLC All Rights Reserved.
|
|
6818
|
-
*
|
|
6819
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6820
|
-
* found in the LICENSE file at https://angular.io/license
|
|
6821
|
-
*/
|
|
6822
|
-
const CORE = '@angular/core';
|
|
6823
|
-
class Identifiers {
|
|
6824
|
-
}
|
|
6825
|
-
Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {
|
|
6826
|
-
name: 'ANALYZE_FOR_ENTRY_COMPONENTS',
|
|
6827
|
-
moduleName: CORE,
|
|
6828
|
-
};
|
|
6829
|
-
Identifiers.ElementRef = { name: 'ElementRef', moduleName: CORE };
|
|
6830
|
-
Identifiers.NgModuleRef = { name: 'NgModuleRef', moduleName: CORE };
|
|
6831
|
-
Identifiers.ViewContainerRef = { name: 'ViewContainerRef', moduleName: CORE };
|
|
6832
|
-
Identifiers.ChangeDetectorRef = {
|
|
6833
|
-
name: 'ChangeDetectorRef',
|
|
6834
|
-
moduleName: CORE,
|
|
6835
|
-
};
|
|
6836
|
-
Identifiers.QueryList = { name: 'QueryList', moduleName: CORE };
|
|
6837
|
-
Identifiers.TemplateRef = { name: 'TemplateRef', moduleName: CORE };
|
|
6838
|
-
Identifiers.Renderer2 = { name: 'Renderer2', moduleName: CORE };
|
|
6839
|
-
Identifiers.CodegenComponentFactoryResolver = {
|
|
6840
|
-
name: 'ɵCodegenComponentFactoryResolver',
|
|
6841
|
-
moduleName: CORE,
|
|
6842
|
-
};
|
|
6843
|
-
Identifiers.ComponentFactoryResolver = {
|
|
6844
|
-
name: 'ComponentFactoryResolver',
|
|
6845
|
-
moduleName: CORE,
|
|
6846
|
-
};
|
|
6847
|
-
Identifiers.ComponentFactory = { name: 'ComponentFactory', moduleName: CORE };
|
|
6848
|
-
Identifiers.ComponentRef = { name: 'ComponentRef', moduleName: CORE };
|
|
6849
|
-
Identifiers.NgModuleFactory = { name: 'NgModuleFactory', moduleName: CORE };
|
|
6850
|
-
Identifiers.createModuleFactory = {
|
|
6851
|
-
name: 'ɵcmf',
|
|
6852
|
-
moduleName: CORE,
|
|
6853
|
-
};
|
|
6854
|
-
Identifiers.moduleDef = {
|
|
6855
|
-
name: 'ɵmod',
|
|
6856
|
-
moduleName: CORE,
|
|
6857
|
-
};
|
|
6858
|
-
Identifiers.moduleProviderDef = {
|
|
6859
|
-
name: 'ɵmpd',
|
|
6860
|
-
moduleName: CORE,
|
|
6861
|
-
};
|
|
6862
|
-
Identifiers.RegisterModuleFactoryFn = {
|
|
6863
|
-
name: 'ɵregisterModuleFactory',
|
|
6864
|
-
moduleName: CORE,
|
|
6865
|
-
};
|
|
6866
|
-
Identifiers.inject = { name: 'ɵɵinject', moduleName: CORE };
|
|
6867
|
-
Identifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };
|
|
6868
|
-
Identifiers.INJECTOR = { name: 'INJECTOR', moduleName: CORE };
|
|
6869
|
-
Identifiers.Injector = { name: 'Injector', moduleName: CORE };
|
|
6870
|
-
Identifiers.ViewEncapsulation = {
|
|
6871
|
-
name: 'ViewEncapsulation',
|
|
6872
|
-
moduleName: CORE,
|
|
6873
|
-
};
|
|
6874
|
-
Identifiers.ChangeDetectionStrategy = {
|
|
6875
|
-
name: 'ChangeDetectionStrategy',
|
|
6876
|
-
moduleName: CORE,
|
|
6877
|
-
};
|
|
6878
|
-
Identifiers.SecurityContext = {
|
|
6879
|
-
name: 'SecurityContext',
|
|
6880
|
-
moduleName: CORE,
|
|
6881
|
-
};
|
|
6882
|
-
Identifiers.LOCALE_ID = { name: 'LOCALE_ID', moduleName: CORE };
|
|
6883
|
-
Identifiers.TRANSLATIONS_FORMAT = {
|
|
6884
|
-
name: 'TRANSLATIONS_FORMAT',
|
|
6885
|
-
moduleName: CORE,
|
|
6886
|
-
};
|
|
6887
|
-
Identifiers.inlineInterpolate = {
|
|
6888
|
-
name: 'ɵinlineInterpolate',
|
|
6889
|
-
moduleName: CORE,
|
|
6890
|
-
};
|
|
6891
|
-
Identifiers.interpolate = { name: 'ɵinterpolate', moduleName: CORE };
|
|
6892
|
-
Identifiers.EMPTY_ARRAY = { name: 'ɵEMPTY_ARRAY', moduleName: CORE };
|
|
6893
|
-
Identifiers.EMPTY_MAP = { name: 'ɵEMPTY_MAP', moduleName: CORE };
|
|
6894
|
-
Identifiers.Renderer = { name: 'Renderer', moduleName: CORE };
|
|
6895
|
-
// type only
|
|
6896
|
-
Identifiers.RendererType2 = {
|
|
6897
|
-
name: 'RendererType2',
|
|
6898
|
-
moduleName: CORE,
|
|
6899
|
-
};
|
|
6900
|
-
// type only
|
|
6901
|
-
Identifiers.ViewDefinition = {
|
|
6902
|
-
name: 'ɵViewDefinition',
|
|
6903
|
-
moduleName: CORE,
|
|
6904
|
-
};
|
|
6905
|
-
Identifiers.createComponentFactory = { name: 'ɵccf', moduleName: CORE };
|
|
6906
|
-
|
|
6907
6781
|
/**
|
|
6908
6782
|
* @license
|
|
6909
6783
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -6918,7 +6792,7 @@ EventHandlerVars.event = variable('$event');
|
|
|
6918
6792
|
* Converts the given expression AST into an executable output AST, assuming the expression is
|
|
6919
6793
|
* used in an action binding (e.g. an event handler).
|
|
6920
6794
|
*/
|
|
6921
|
-
function convertActionBinding(localResolver, implicitReceiver, action, bindingId,
|
|
6795
|
+
function convertActionBinding(localResolver, implicitReceiver, action, bindingId, baseSourceSpan, implicitReceiverAccesses, globals) {
|
|
6922
6796
|
if (!localResolver) {
|
|
6923
6797
|
localResolver = new DefaultLocalResolver(globals);
|
|
6924
6798
|
}
|
|
@@ -6942,7 +6816,7 @@ function convertActionBinding(localResolver, implicitReceiver, action, bindingId
|
|
|
6942
6816
|
throw new Error(`Illegal State: Actions are not allowed to contain pipes. Pipe: ${name}`);
|
|
6943
6817
|
}
|
|
6944
6818
|
}, action);
|
|
6945
|
-
const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId,
|
|
6819
|
+
const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, /* supportsInterpolation */ false, baseSourceSpan, implicitReceiverAccesses);
|
|
6946
6820
|
const actionStmts = [];
|
|
6947
6821
|
flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);
|
|
6948
6822
|
prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);
|
|
@@ -6973,11 +6847,11 @@ class ConvertPropertyBindingResult {
|
|
|
6973
6847
|
* is used in property binding. The expression has to be preprocessed via
|
|
6974
6848
|
* `convertPropertyBindingBuiltins`.
|
|
6975
6849
|
*/
|
|
6976
|
-
function convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId
|
|
6850
|
+
function convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId) {
|
|
6977
6851
|
if (!localResolver) {
|
|
6978
6852
|
localResolver = new DefaultLocalResolver();
|
|
6979
6853
|
}
|
|
6980
|
-
const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId,
|
|
6854
|
+
const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, /* supportsInterpolation */ false);
|
|
6981
6855
|
const outputExpr = expressionWithoutBuiltins.visit(visitor, _Mode.Expression);
|
|
6982
6856
|
const stmts = getStatementsFromVisitor(visitor, bindingId);
|
|
6983
6857
|
if (visitor.usesImplicitReceiver) {
|
|
@@ -7002,28 +6876,13 @@ function convertPropertyBinding(localResolver, implicitReceiver, expressionWitho
|
|
|
7002
6876
|
* `o.importExpr(R3.propertyInterpolate).callFn(result)`
|
|
7003
6877
|
*/
|
|
7004
6878
|
function convertUpdateArguments(localResolver, contextVariableExpression, expressionWithArgumentsToExtract, bindingId) {
|
|
7005
|
-
const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId,
|
|
7006
|
-
const outputExpr =
|
|
6879
|
+
const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId, /* supportsInterpolation */ true);
|
|
6880
|
+
const outputExpr = visitor.visitInterpolation(expressionWithArgumentsToExtract, _Mode.Expression);
|
|
7007
6881
|
if (visitor.usesImplicitReceiver) {
|
|
7008
6882
|
localResolver.notifyImplicitReceiverUse();
|
|
7009
6883
|
}
|
|
7010
6884
|
const stmts = getStatementsFromVisitor(visitor, bindingId);
|
|
7011
|
-
|
|
7012
|
-
let args = outputExpr.args.slice(1);
|
|
7013
|
-
if (expressionWithArgumentsToExtract instanceof Interpolation) {
|
|
7014
|
-
// If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the
|
|
7015
|
-
// args returned to just the value, because we're going to pass it to a special instruction.
|
|
7016
|
-
const strings = expressionWithArgumentsToExtract.strings;
|
|
7017
|
-
if (args.length === 3 && strings[0] === '' && strings[1] === '') {
|
|
7018
|
-
// Single argument interpolate instructions.
|
|
7019
|
-
args = [args[1]];
|
|
7020
|
-
}
|
|
7021
|
-
else if (args.length >= 19) {
|
|
7022
|
-
// 19 or more arguments must be passed to the `interpolateV`-style instructions, which accept
|
|
7023
|
-
// an array of arguments
|
|
7024
|
-
args = [literalArr(args)];
|
|
7025
|
-
}
|
|
7026
|
-
}
|
|
6885
|
+
const args = outputExpr.args;
|
|
7027
6886
|
return { stmts, args };
|
|
7028
6887
|
}
|
|
7029
6888
|
function getStatementsFromVisitor(visitor, bindingId) {
|
|
@@ -7090,11 +6949,11 @@ class _BuiltinAstConverter extends AstTransformer {
|
|
|
7090
6949
|
}
|
|
7091
6950
|
}
|
|
7092
6951
|
class _AstToIrVisitor {
|
|
7093
|
-
constructor(_localResolver, _implicitReceiver, bindingId,
|
|
6952
|
+
constructor(_localResolver, _implicitReceiver, bindingId, supportsInterpolation, baseSourceSpan, implicitReceiverAccesses) {
|
|
7094
6953
|
this._localResolver = _localResolver;
|
|
7095
6954
|
this._implicitReceiver = _implicitReceiver;
|
|
7096
6955
|
this.bindingId = bindingId;
|
|
7097
|
-
this.
|
|
6956
|
+
this.supportsInterpolation = supportsInterpolation;
|
|
7098
6957
|
this.baseSourceSpan = baseSourceSpan;
|
|
7099
6958
|
this.implicitReceiverAccesses = implicitReceiverAccesses;
|
|
7100
6959
|
this._nodeMap = new Map();
|
|
@@ -7192,21 +7051,29 @@ class _AstToIrVisitor {
|
|
|
7192
7051
|
return this.visitImplicitReceiver(ast, mode);
|
|
7193
7052
|
}
|
|
7194
7053
|
visitInterpolation(ast, mode) {
|
|
7054
|
+
if (!this.supportsInterpolation) {
|
|
7055
|
+
throw new Error('Unexpected interpolation');
|
|
7056
|
+
}
|
|
7195
7057
|
ensureExpressionMode(mode, ast);
|
|
7196
|
-
|
|
7058
|
+
let args = [];
|
|
7197
7059
|
for (let i = 0; i < ast.strings.length - 1; i++) {
|
|
7198
7060
|
args.push(literal(ast.strings[i]));
|
|
7199
7061
|
args.push(this._visit(ast.expressions[i], _Mode.Expression));
|
|
7200
7062
|
}
|
|
7201
7063
|
args.push(literal(ast.strings[ast.strings.length - 1]));
|
|
7202
|
-
|
|
7203
|
-
|
|
7064
|
+
// If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the
|
|
7065
|
+
// args returned to just the value, because we're going to pass it to a special instruction.
|
|
7066
|
+
const strings = ast.strings;
|
|
7067
|
+
if (strings.length === 2 && strings[0] === '' && strings[1] === '') {
|
|
7068
|
+
// Single argument interpolate instructions.
|
|
7069
|
+
args = [args[1]];
|
|
7204
7070
|
}
|
|
7205
|
-
|
|
7206
|
-
|
|
7207
|
-
|
|
7208
|
-
|
|
7209
|
-
|
|
7071
|
+
else if (ast.expressions.length >= 9) {
|
|
7072
|
+
// 9 or more arguments must be passed to the `interpolateV`-style instructions, which accept
|
|
7073
|
+
// an array of arguments
|
|
7074
|
+
args = [literalArr(args)];
|
|
7075
|
+
}
|
|
7076
|
+
return new InterpolationExpression(args);
|
|
7210
7077
|
}
|
|
7211
7078
|
visitKeyedRead(ast, mode) {
|
|
7212
7079
|
const leftMostSafe = this.leftMostSafeNode(ast);
|
|
@@ -7317,10 +7184,6 @@ class _AstToIrVisitor {
|
|
|
7317
7184
|
visitAll(asts, mode) {
|
|
7318
7185
|
return asts.map(ast => this._visit(ast, mode));
|
|
7319
7186
|
}
|
|
7320
|
-
visitQuote(ast, mode) {
|
|
7321
|
-
throw new Error(`Quotes are not supported for evaluation!
|
|
7322
|
-
Statement: ${ast.uninterpretedExpression} located at ${ast.location}`);
|
|
7323
|
-
}
|
|
7324
7187
|
visitCall(ast, mode) {
|
|
7325
7188
|
const leftMostSafe = this.leftMostSafeNode(ast);
|
|
7326
7189
|
if (leftMostSafe) {
|
|
@@ -7506,9 +7369,6 @@ class _AstToIrVisitor {
|
|
|
7506
7369
|
visitPropertyWrite(ast) {
|
|
7507
7370
|
return null;
|
|
7508
7371
|
},
|
|
7509
|
-
visitQuote(ast) {
|
|
7510
|
-
return null;
|
|
7511
|
-
},
|
|
7512
7372
|
visitSafePropertyRead(ast) {
|
|
7513
7373
|
return visit(this, ast.receiver) || ast;
|
|
7514
7374
|
},
|
|
@@ -7585,9 +7445,6 @@ class _AstToIrVisitor {
|
|
|
7585
7445
|
visitPropertyWrite(ast) {
|
|
7586
7446
|
return false;
|
|
7587
7447
|
},
|
|
7588
|
-
visitQuote(ast) {
|
|
7589
|
-
return false;
|
|
7590
|
-
},
|
|
7591
7448
|
visitSafePropertyRead(ast) {
|
|
7592
7449
|
return false;
|
|
7593
7450
|
},
|
|
@@ -7644,6 +7501,18 @@ function flattenStatements(arg, output) {
|
|
|
7644
7501
|
output.push(arg);
|
|
7645
7502
|
}
|
|
7646
7503
|
}
|
|
7504
|
+
function unsupported() {
|
|
7505
|
+
throw new Error('Unsupported operation');
|
|
7506
|
+
}
|
|
7507
|
+
class InterpolationExpression extends Expression {
|
|
7508
|
+
constructor(args) {
|
|
7509
|
+
super(null, null);
|
|
7510
|
+
this.args = args;
|
|
7511
|
+
this.isConstant = unsupported;
|
|
7512
|
+
this.isEquivalent = unsupported;
|
|
7513
|
+
this.visitExpression = unsupported;
|
|
7514
|
+
}
|
|
7515
|
+
}
|
|
7647
7516
|
class DefaultLocalResolver {
|
|
7648
7517
|
constructor(globals) {
|
|
7649
7518
|
this.globals = globals;
|
|
@@ -8811,7 +8680,7 @@ class StylingBuilder {
|
|
|
8811
8680
|
getStyleMapInterpolationExpression(mapValue);
|
|
8812
8681
|
}
|
|
8813
8682
|
else {
|
|
8814
|
-
reference = isClassBased ? Identifiers
|
|
8683
|
+
reference = isClassBased ? Identifiers.classMap : Identifiers.styleMap;
|
|
8815
8684
|
}
|
|
8816
8685
|
return {
|
|
8817
8686
|
reference,
|
|
@@ -8885,13 +8754,13 @@ class StylingBuilder {
|
|
|
8885
8754
|
}
|
|
8886
8755
|
_buildClassInputs(valueConverter) {
|
|
8887
8756
|
if (this._singleClassInputs) {
|
|
8888
|
-
return this._buildSingleInputs(Identifiers
|
|
8757
|
+
return this._buildSingleInputs(Identifiers.classProp, this._singleClassInputs, valueConverter, null, true);
|
|
8889
8758
|
}
|
|
8890
8759
|
return [];
|
|
8891
8760
|
}
|
|
8892
8761
|
_buildStyleInputs(valueConverter) {
|
|
8893
8762
|
if (this._singleStyleInputs) {
|
|
8894
|
-
return this._buildSingleInputs(Identifiers
|
|
8763
|
+
return this._buildSingleInputs(Identifiers.styleProp, this._singleStyleInputs, valueConverter, getStylePropInterpolationExpression, false);
|
|
8895
8764
|
}
|
|
8896
8765
|
return [];
|
|
8897
8766
|
}
|
|
@@ -8944,25 +8813,25 @@ function parseProperty(name) {
|
|
|
8944
8813
|
function getClassMapInterpolationExpression(interpolation) {
|
|
8945
8814
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
8946
8815
|
case 1:
|
|
8947
|
-
return Identifiers
|
|
8816
|
+
return Identifiers.classMap;
|
|
8948
8817
|
case 3:
|
|
8949
|
-
return Identifiers
|
|
8818
|
+
return Identifiers.classMapInterpolate1;
|
|
8950
8819
|
case 5:
|
|
8951
|
-
return Identifiers
|
|
8820
|
+
return Identifiers.classMapInterpolate2;
|
|
8952
8821
|
case 7:
|
|
8953
|
-
return Identifiers
|
|
8822
|
+
return Identifiers.classMapInterpolate3;
|
|
8954
8823
|
case 9:
|
|
8955
|
-
return Identifiers
|
|
8824
|
+
return Identifiers.classMapInterpolate4;
|
|
8956
8825
|
case 11:
|
|
8957
|
-
return Identifiers
|
|
8826
|
+
return Identifiers.classMapInterpolate5;
|
|
8958
8827
|
case 13:
|
|
8959
|
-
return Identifiers
|
|
8828
|
+
return Identifiers.classMapInterpolate6;
|
|
8960
8829
|
case 15:
|
|
8961
|
-
return Identifiers
|
|
8830
|
+
return Identifiers.classMapInterpolate7;
|
|
8962
8831
|
case 17:
|
|
8963
|
-
return Identifiers
|
|
8832
|
+
return Identifiers.classMapInterpolate8;
|
|
8964
8833
|
default:
|
|
8965
|
-
return Identifiers
|
|
8834
|
+
return Identifiers.classMapInterpolateV;
|
|
8966
8835
|
}
|
|
8967
8836
|
}
|
|
8968
8837
|
/**
|
|
@@ -8972,25 +8841,25 @@ function getClassMapInterpolationExpression(interpolation) {
|
|
|
8972
8841
|
function getStyleMapInterpolationExpression(interpolation) {
|
|
8973
8842
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
8974
8843
|
case 1:
|
|
8975
|
-
return Identifiers
|
|
8844
|
+
return Identifiers.styleMap;
|
|
8976
8845
|
case 3:
|
|
8977
|
-
return Identifiers
|
|
8846
|
+
return Identifiers.styleMapInterpolate1;
|
|
8978
8847
|
case 5:
|
|
8979
|
-
return Identifiers
|
|
8848
|
+
return Identifiers.styleMapInterpolate2;
|
|
8980
8849
|
case 7:
|
|
8981
|
-
return Identifiers
|
|
8850
|
+
return Identifiers.styleMapInterpolate3;
|
|
8982
8851
|
case 9:
|
|
8983
|
-
return Identifiers
|
|
8852
|
+
return Identifiers.styleMapInterpolate4;
|
|
8984
8853
|
case 11:
|
|
8985
|
-
return Identifiers
|
|
8854
|
+
return Identifiers.styleMapInterpolate5;
|
|
8986
8855
|
case 13:
|
|
8987
|
-
return Identifiers
|
|
8856
|
+
return Identifiers.styleMapInterpolate6;
|
|
8988
8857
|
case 15:
|
|
8989
|
-
return Identifiers
|
|
8858
|
+
return Identifiers.styleMapInterpolate7;
|
|
8990
8859
|
case 17:
|
|
8991
|
-
return Identifiers
|
|
8860
|
+
return Identifiers.styleMapInterpolate8;
|
|
8992
8861
|
default:
|
|
8993
|
-
return Identifiers
|
|
8862
|
+
return Identifiers.styleMapInterpolateV;
|
|
8994
8863
|
}
|
|
8995
8864
|
}
|
|
8996
8865
|
/**
|
|
@@ -9000,25 +8869,25 @@ function getStyleMapInterpolationExpression(interpolation) {
|
|
|
9000
8869
|
function getStylePropInterpolationExpression(interpolation) {
|
|
9001
8870
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
9002
8871
|
case 1:
|
|
9003
|
-
return Identifiers
|
|
8872
|
+
return Identifiers.styleProp;
|
|
9004
8873
|
case 3:
|
|
9005
|
-
return Identifiers
|
|
8874
|
+
return Identifiers.stylePropInterpolate1;
|
|
9006
8875
|
case 5:
|
|
9007
|
-
return Identifiers
|
|
8876
|
+
return Identifiers.stylePropInterpolate2;
|
|
9008
8877
|
case 7:
|
|
9009
|
-
return Identifiers
|
|
8878
|
+
return Identifiers.stylePropInterpolate3;
|
|
9010
8879
|
case 9:
|
|
9011
|
-
return Identifiers
|
|
8880
|
+
return Identifiers.stylePropInterpolate4;
|
|
9012
8881
|
case 11:
|
|
9013
|
-
return Identifiers
|
|
8882
|
+
return Identifiers.stylePropInterpolate5;
|
|
9014
8883
|
case 13:
|
|
9015
|
-
return Identifiers
|
|
8884
|
+
return Identifiers.stylePropInterpolate6;
|
|
9016
8885
|
case 15:
|
|
9017
|
-
return Identifiers
|
|
8886
|
+
return Identifiers.stylePropInterpolate7;
|
|
9018
8887
|
case 17:
|
|
9019
|
-
return Identifiers
|
|
8888
|
+
return Identifiers.stylePropInterpolate8;
|
|
9020
8889
|
default:
|
|
9021
|
-
return Identifiers
|
|
8890
|
+
return Identifiers.stylePropInterpolateV;
|
|
9022
8891
|
}
|
|
9023
8892
|
}
|
|
9024
8893
|
/**
|
|
@@ -9507,31 +9376,12 @@ class Parser$1 {
|
|
|
9507
9376
|
this.errors.push(new ParserError(message, input, errLocation, ctxLocation));
|
|
9508
9377
|
}
|
|
9509
9378
|
_parseBindingAst(input, location, absoluteOffset, interpolationConfig) {
|
|
9510
|
-
// Quotes expressions use 3rd-party expression language. We don't want to use
|
|
9511
|
-
// our lexer or parser for that, so we check for that ahead of time.
|
|
9512
|
-
const quote = this._parseQuote(input, location, absoluteOffset);
|
|
9513
|
-
if (quote != null) {
|
|
9514
|
-
return quote;
|
|
9515
|
-
}
|
|
9516
9379
|
this._checkNoInterpolation(input, location, interpolationConfig);
|
|
9517
9380
|
const sourceToLex = this._stripComments(input);
|
|
9518
9381
|
const tokens = this._lexer.tokenize(sourceToLex);
|
|
9519
9382
|
return new _ParseAST(input, location, absoluteOffset, tokens, false, this.errors, 0)
|
|
9520
9383
|
.parseChain();
|
|
9521
9384
|
}
|
|
9522
|
-
_parseQuote(input, location, absoluteOffset) {
|
|
9523
|
-
if (input == null)
|
|
9524
|
-
return null;
|
|
9525
|
-
const prefixSeparatorIndex = input.indexOf(':');
|
|
9526
|
-
if (prefixSeparatorIndex == -1)
|
|
9527
|
-
return null;
|
|
9528
|
-
const prefix = input.substring(0, prefixSeparatorIndex).trim();
|
|
9529
|
-
if (!isIdentifier(prefix))
|
|
9530
|
-
return null;
|
|
9531
|
-
const uninterpretedExpression = input.substring(prefixSeparatorIndex + 1);
|
|
9532
|
-
const span = new ParseSpan(0, input.length);
|
|
9533
|
-
return new Quote(span, span.toAbsolute(absoluteOffset), prefix, uninterpretedExpression, location);
|
|
9534
|
-
}
|
|
9535
9385
|
/**
|
|
9536
9386
|
* Parse microsyntax template expression and return a list of bindings or
|
|
9537
9387
|
* parsing errors in case the given expression is invalid.
|
|
@@ -16910,7 +16760,7 @@ const NG_PROJECT_AS_ATTR_NAME = 'ngProjectAs';
|
|
|
16910
16760
|
// Global symbols available only inside event bindings.
|
|
16911
16761
|
const EVENT_BINDING_SCOPE_GLOBALS = new Set(['$event']);
|
|
16912
16762
|
// List of supported global targets for event listeners
|
|
16913
|
-
const GLOBAL_TARGET_RESOLVERS = new Map([['window', Identifiers
|
|
16763
|
+
const GLOBAL_TARGET_RESOLVERS = new Map([['window', Identifiers.resolveWindow], ['document', Identifiers.resolveDocument], ['body', Identifiers.resolveBody]]);
|
|
16914
16764
|
const LEADING_TRIVIA_CHARS = [' ', '\n', '\r', '\t'];
|
|
16915
16765
|
// if (rf & flags) { .. }
|
|
16916
16766
|
function renderFlagCheckIfStmt(flags, statements) {
|
|
@@ -16927,7 +16777,7 @@ function prepareEventListenerParameters(eventAst, handlerName = null, scope = nu
|
|
|
16927
16777
|
const implicitReceiverExpr = (scope === null || scope.bindingLevel === 0) ?
|
|
16928
16778
|
variable(CONTEXT_NAME) :
|
|
16929
16779
|
scope.getOrCreateSharedContextVar(0);
|
|
16930
|
-
const bindingStatements = convertActionBinding(scope, implicitReceiverExpr, handler, 'b',
|
|
16780
|
+
const bindingStatements = convertActionBinding(scope, implicitReceiverExpr, handler, 'b', eventAst.handlerSpan, implicitReceiverAccesses, EVENT_BINDING_SCOPE_GLOBALS);
|
|
16931
16781
|
const statements = [];
|
|
16932
16782
|
if (scope) {
|
|
16933
16783
|
// `variableDeclarations` needs to run first, because
|
|
@@ -17022,12 +16872,12 @@ class TemplateDefinitionBuilder {
|
|
|
17022
16872
|
this.fileBasedI18nSuffix = relativeContextFilePath.replace(/[^A-Za-z0-9]/g, '_') + '_';
|
|
17023
16873
|
this._valueConverter = new ValueConverter(constantPool, () => this.allocateDataSlot(), (numSlots) => this.allocatePureFunctionSlots(numSlots), (name, localName, slot, value) => {
|
|
17024
16874
|
this._bindingScope.set(this.level, localName, value);
|
|
17025
|
-
this.creationInstruction(null, Identifiers
|
|
16875
|
+
this.creationInstruction(null, Identifiers.pipe, [literal(slot), literal(name)]);
|
|
17026
16876
|
});
|
|
17027
16877
|
}
|
|
17028
16878
|
buildTemplateFunction(nodes, variables, ngContentSelectorsOffset = 0, i18n) {
|
|
17029
16879
|
this._ngContentSelectorsOffset = ngContentSelectorsOffset;
|
|
17030
|
-
if (this._namespace !== Identifiers
|
|
16880
|
+
if (this._namespace !== Identifiers.namespaceHTML) {
|
|
17031
16881
|
this.creationInstruction(null, this._namespace);
|
|
17032
16882
|
}
|
|
17033
16883
|
// Create variable bindings
|
|
@@ -17073,7 +16923,7 @@ class TemplateDefinitionBuilder {
|
|
|
17073
16923
|
// Since we accumulate ngContent selectors while processing template elements,
|
|
17074
16924
|
// we *prepend* `projectionDef` to creation instructions block, to put it before
|
|
17075
16925
|
// any `projection` instructions
|
|
17076
|
-
this.creationInstruction(null, Identifiers
|
|
16926
|
+
this.creationInstruction(null, Identifiers.projectionDef, parameters, /* prepend */ true);
|
|
17077
16927
|
}
|
|
17078
16928
|
if (initI18nContext) {
|
|
17079
16929
|
this.i18nEnd(null, selfClosingI18nInstruction);
|
|
@@ -17234,7 +17084,7 @@ class TemplateDefinitionBuilder {
|
|
|
17234
17084
|
if (Object.keys(icuMapping).length) {
|
|
17235
17085
|
args.push(mapLiteral(icuMapping, true));
|
|
17236
17086
|
}
|
|
17237
|
-
return instruction(null, Identifiers
|
|
17087
|
+
return instruction(null, Identifiers.i18nPostprocess, args);
|
|
17238
17088
|
};
|
|
17239
17089
|
}
|
|
17240
17090
|
this.i18nTranslate(meta, params, context.ref, transformFn);
|
|
@@ -17253,7 +17103,7 @@ class TemplateDefinitionBuilder {
|
|
|
17253
17103
|
// into i18nStart call for top level i18n context
|
|
17254
17104
|
params.push(literal(id));
|
|
17255
17105
|
}
|
|
17256
|
-
this.creationInstruction(span, selfClosing ? Identifiers
|
|
17106
|
+
this.creationInstruction(span, selfClosing ? Identifiers.i18n : Identifiers.i18nStart, params);
|
|
17257
17107
|
}
|
|
17258
17108
|
i18nEnd(span = null, selfClosing) {
|
|
17259
17109
|
if (!this.i18n) {
|
|
@@ -17276,11 +17126,11 @@ class TemplateDefinitionBuilder {
|
|
|
17276
17126
|
// for i18n block, advance to the most recent element index (by taking the current number of
|
|
17277
17127
|
// elements and subtracting one) before invoking `i18nExp` instructions, to make sure the
|
|
17278
17128
|
// necessary lifecycle hooks of components/directives are properly flushed.
|
|
17279
|
-
this.updateInstructionChainWithAdvance(this.getConstCount() - 1, Identifiers
|
|
17280
|
-
this.updateInstruction(span, Identifiers
|
|
17129
|
+
this.updateInstructionChainWithAdvance(this.getConstCount() - 1, Identifiers.i18nExp, chainBindings);
|
|
17130
|
+
this.updateInstruction(span, Identifiers.i18nApply, [literal(index)]);
|
|
17281
17131
|
}
|
|
17282
17132
|
if (!selfClosing) {
|
|
17283
|
-
this.creationInstruction(span, Identifiers
|
|
17133
|
+
this.creationInstruction(span, Identifiers.i18nEnd);
|
|
17284
17134
|
}
|
|
17285
17135
|
this.i18n = null; // reset local i18n context
|
|
17286
17136
|
}
|
|
@@ -17306,25 +17156,25 @@ class TemplateDefinitionBuilder {
|
|
|
17306
17156
|
}
|
|
17307
17157
|
});
|
|
17308
17158
|
if (bindings.length > 0) {
|
|
17309
|
-
this.updateInstructionChainWithAdvance(nodeIndex, Identifiers
|
|
17159
|
+
this.updateInstructionChainWithAdvance(nodeIndex, Identifiers.i18nExp, bindings);
|
|
17310
17160
|
}
|
|
17311
17161
|
if (i18nAttrArgs.length > 0) {
|
|
17312
17162
|
const index = literal(this.allocateDataSlot());
|
|
17313
17163
|
const constIndex = this.addToConsts(literalArr(i18nAttrArgs));
|
|
17314
|
-
this.creationInstruction(sourceSpan, Identifiers
|
|
17164
|
+
this.creationInstruction(sourceSpan, Identifiers.i18nAttributes, [index, constIndex]);
|
|
17315
17165
|
if (hasBindings) {
|
|
17316
|
-
this.updateInstruction(sourceSpan, Identifiers
|
|
17166
|
+
this.updateInstruction(sourceSpan, Identifiers.i18nApply, [index]);
|
|
17317
17167
|
}
|
|
17318
17168
|
}
|
|
17319
17169
|
}
|
|
17320
17170
|
getNamespaceInstruction(namespaceKey) {
|
|
17321
17171
|
switch (namespaceKey) {
|
|
17322
17172
|
case 'math':
|
|
17323
|
-
return Identifiers
|
|
17173
|
+
return Identifiers.namespaceMathML;
|
|
17324
17174
|
case 'svg':
|
|
17325
|
-
return Identifiers
|
|
17175
|
+
return Identifiers.namespaceSVG;
|
|
17326
17176
|
default:
|
|
17327
|
-
return Identifiers
|
|
17177
|
+
return Identifiers.namespaceHTML;
|
|
17328
17178
|
}
|
|
17329
17179
|
}
|
|
17330
17180
|
addNamespaceInstruction(nsInstruction, element) {
|
|
@@ -17351,7 +17201,7 @@ class TemplateDefinitionBuilder {
|
|
|
17351
17201
|
else if (projectionSlotIdx !== 0) {
|
|
17352
17202
|
parameters.push(literal(projectionSlotIdx));
|
|
17353
17203
|
}
|
|
17354
|
-
this.creationInstruction(ngContent.sourceSpan, Identifiers
|
|
17204
|
+
this.creationInstruction(ngContent.sourceSpan, Identifiers.projection, parameters);
|
|
17355
17205
|
if (this.i18n) {
|
|
17356
17206
|
this.i18n.appendProjection(ngContent.i18n, slot);
|
|
17357
17207
|
}
|
|
@@ -17423,12 +17273,12 @@ class TemplateDefinitionBuilder {
|
|
|
17423
17273
|
element.outputs.length === 0 && boundI18nAttrs.length === 0 && !hasChildren;
|
|
17424
17274
|
const createSelfClosingI18nInstruction = !createSelfClosingInstruction && hasTextChildrenOnly(element.children);
|
|
17425
17275
|
if (createSelfClosingInstruction) {
|
|
17426
|
-
this.creationInstruction(element.sourceSpan, isNgContainer$1 ? Identifiers
|
|
17276
|
+
this.creationInstruction(element.sourceSpan, isNgContainer$1 ? Identifiers.elementContainer : Identifiers.element, trimTrailingNulls(parameters));
|
|
17427
17277
|
}
|
|
17428
17278
|
else {
|
|
17429
|
-
this.creationInstruction(element.startSourceSpan, isNgContainer$1 ? Identifiers
|
|
17279
|
+
this.creationInstruction(element.startSourceSpan, isNgContainer$1 ? Identifiers.elementContainerStart : Identifiers.elementStart, trimTrailingNulls(parameters));
|
|
17430
17280
|
if (isNonBindableMode) {
|
|
17431
|
-
this.creationInstruction(element.startSourceSpan, Identifiers
|
|
17281
|
+
this.creationInstruction(element.startSourceSpan, Identifiers.disableBindings);
|
|
17432
17282
|
}
|
|
17433
17283
|
if (boundI18nAttrs.length > 0) {
|
|
17434
17284
|
this.i18nAttributesInstruction(elementIndex, boundI18nAttrs, element.startSourceSpan ?? element.sourceSpan);
|
|
@@ -17439,7 +17289,7 @@ class TemplateDefinitionBuilder {
|
|
|
17439
17289
|
sourceSpan: outputAst.sourceSpan,
|
|
17440
17290
|
params: this.prepareListenerParameter(element.name, outputAst, elementIndex)
|
|
17441
17291
|
}));
|
|
17442
|
-
this.creationInstructionChain(Identifiers
|
|
17292
|
+
this.creationInstructionChain(Identifiers.listener, listeners);
|
|
17443
17293
|
}
|
|
17444
17294
|
// Note: it's important to keep i18n/i18nStart instructions after i18nAttributes and
|
|
17445
17295
|
// listeners, to make sure i18nAttributes instruction targets current element at runtime.
|
|
@@ -17545,7 +17395,7 @@ class TemplateDefinitionBuilder {
|
|
|
17545
17395
|
}
|
|
17546
17396
|
else {
|
|
17547
17397
|
// class prop
|
|
17548
|
-
this.updateInstructionWithAdvance(elementIndex, input.sourceSpan, Identifiers
|
|
17398
|
+
this.updateInstructionWithAdvance(elementIndex, input.sourceSpan, Identifiers.classProp, () => {
|
|
17549
17399
|
return [
|
|
17550
17400
|
literal(elementIndex), literal(attrName), this.convertPropertyBinding(value),
|
|
17551
17401
|
...params
|
|
@@ -17556,10 +17406,10 @@ class TemplateDefinitionBuilder {
|
|
|
17556
17406
|
}
|
|
17557
17407
|
});
|
|
17558
17408
|
if (propertyBindings.length > 0) {
|
|
17559
|
-
this.updateInstructionChainWithAdvance(elementIndex, Identifiers
|
|
17409
|
+
this.updateInstructionChainWithAdvance(elementIndex, Identifiers.property, propertyBindings);
|
|
17560
17410
|
}
|
|
17561
17411
|
if (attributeBindings.length > 0) {
|
|
17562
|
-
this.updateInstructionChainWithAdvance(elementIndex, Identifiers
|
|
17412
|
+
this.updateInstructionChainWithAdvance(elementIndex, Identifiers.attribute, attributeBindings);
|
|
17563
17413
|
}
|
|
17564
17414
|
// Traverse element child nodes
|
|
17565
17415
|
visitAll$1(this, element.children);
|
|
@@ -17573,9 +17423,9 @@ class TemplateDefinitionBuilder {
|
|
|
17573
17423
|
this.i18nEnd(span, createSelfClosingI18nInstruction);
|
|
17574
17424
|
}
|
|
17575
17425
|
if (isNonBindableMode) {
|
|
17576
|
-
this.creationInstruction(span, Identifiers
|
|
17426
|
+
this.creationInstruction(span, Identifiers.enableBindings);
|
|
17577
17427
|
}
|
|
17578
|
-
this.creationInstruction(span, isNgContainer$1 ? Identifiers
|
|
17428
|
+
this.creationInstruction(span, isNgContainer$1 ? Identifiers.elementContainerEnd : Identifiers.elementEnd);
|
|
17579
17429
|
}
|
|
17580
17430
|
}
|
|
17581
17431
|
visitTemplate(template) {
|
|
@@ -17601,7 +17451,7 @@ class TemplateDefinitionBuilder {
|
|
|
17601
17451
|
if (template.references && template.references.length) {
|
|
17602
17452
|
const refs = this.prepareRefsArray(template.references);
|
|
17603
17453
|
parameters.push(this.addToConsts(refs));
|
|
17604
|
-
parameters.push(importExpr(Identifiers
|
|
17454
|
+
parameters.push(importExpr(Identifiers.templateRefExtractor));
|
|
17605
17455
|
}
|
|
17606
17456
|
// Create the template function
|
|
17607
17457
|
const templateVisitor = new TemplateDefinitionBuilder(this.constantPool, this._bindingScope, this.level + 1, contextName, this.i18n, templateIndex, templateName, this._namespace, this.fileBasedI18nSuffix, this.i18nUseExternalIds, this._constants);
|
|
@@ -17617,7 +17467,7 @@ class TemplateDefinitionBuilder {
|
|
|
17617
17467
|
}
|
|
17618
17468
|
});
|
|
17619
17469
|
// e.g. template(1, MyComp_Template_1)
|
|
17620
|
-
this.creationInstruction(template.sourceSpan, Identifiers
|
|
17470
|
+
this.creationInstruction(template.sourceSpan, Identifiers.templateCreate, () => {
|
|
17621
17471
|
parameters.splice(2, 0, literal(templateVisitor.getConstCount()), literal(templateVisitor.getVarCount()));
|
|
17622
17472
|
return trimTrailingNulls(parameters);
|
|
17623
17473
|
});
|
|
@@ -17643,7 +17493,7 @@ class TemplateDefinitionBuilder {
|
|
|
17643
17493
|
sourceSpan: outputAst.sourceSpan,
|
|
17644
17494
|
params: this.prepareListenerParameter('ng_template', outputAst, templateIndex)
|
|
17645
17495
|
}));
|
|
17646
|
-
this.creationInstructionChain(Identifiers
|
|
17496
|
+
this.creationInstructionChain(Identifiers.listener, listeners);
|
|
17647
17497
|
}
|
|
17648
17498
|
}
|
|
17649
17499
|
}
|
|
@@ -17658,7 +17508,7 @@ class TemplateDefinitionBuilder {
|
|
|
17658
17508
|
return;
|
|
17659
17509
|
}
|
|
17660
17510
|
const nodeIndex = this.allocateDataSlot();
|
|
17661
|
-
this.creationInstruction(text.sourceSpan, Identifiers
|
|
17511
|
+
this.creationInstruction(text.sourceSpan, Identifiers.text, [literal(nodeIndex)]);
|
|
17662
17512
|
const value = text.value.visit(this._valueConverter);
|
|
17663
17513
|
this.allocateBindingSlots(value);
|
|
17664
17514
|
if (value instanceof Interpolation) {
|
|
@@ -17673,7 +17523,7 @@ class TemplateDefinitionBuilder {
|
|
|
17673
17523
|
// block, we exclude this text element from instructions set,
|
|
17674
17524
|
// since it will be captured in i18n content and processed at runtime
|
|
17675
17525
|
if (!this.i18n) {
|
|
17676
|
-
this.creationInstruction(text.sourceSpan, Identifiers
|
|
17526
|
+
this.creationInstruction(text.sourceSpan, Identifiers.text, [literal(this.allocateDataSlot()), literal(text.value)]);
|
|
17677
17527
|
}
|
|
17678
17528
|
}
|
|
17679
17529
|
visitIcu(icu) {
|
|
@@ -17698,7 +17548,7 @@ class TemplateDefinitionBuilder {
|
|
|
17698
17548
|
const transformFn = (raw) => {
|
|
17699
17549
|
const params = { ...vars, ...placeholders };
|
|
17700
17550
|
const formatted = i18nFormatPlaceholderNames(params, /* useCamelCase */ false);
|
|
17701
|
-
return instruction(null, Identifiers
|
|
17551
|
+
return instruction(null, Identifiers.i18nPostprocess, [raw, mapLiteral(formatted, true)]);
|
|
17702
17552
|
};
|
|
17703
17553
|
// in case the whole i18n message is a single ICU - we do not need to
|
|
17704
17554
|
// create a separate top-level translation, we can use the root ref instead
|
|
@@ -17765,7 +17615,7 @@ class TemplateDefinitionBuilder {
|
|
|
17765
17615
|
}
|
|
17766
17616
|
});
|
|
17767
17617
|
if (propertyBindings.length > 0) {
|
|
17768
|
-
this.updateInstructionChainWithAdvance(templateIndex, Identifiers
|
|
17618
|
+
this.updateInstructionChainWithAdvance(templateIndex, Identifiers.property, propertyBindings);
|
|
17769
17619
|
}
|
|
17770
17620
|
}
|
|
17771
17621
|
// Bindings must only be resolved after all local refs have been visited, so all
|
|
@@ -17841,7 +17691,7 @@ class TemplateDefinitionBuilder {
|
|
|
17841
17691
|
if (delta < 1) {
|
|
17842
17692
|
throw new Error('advance instruction can only go forwards');
|
|
17843
17693
|
}
|
|
17844
|
-
this.instructionFn(this._updateCodeFns, span, Identifiers
|
|
17694
|
+
this.instructionFn(this._updateCodeFns, span, Identifiers.advance, [literal(delta)]);
|
|
17845
17695
|
this._currentIndex = nodeIndex;
|
|
17846
17696
|
}
|
|
17847
17697
|
}
|
|
@@ -17866,7 +17716,7 @@ class TemplateDefinitionBuilder {
|
|
|
17866
17716
|
this._bindingScope.getOrCreateSharedContextVar(0);
|
|
17867
17717
|
}
|
|
17868
17718
|
convertPropertyBinding(value) {
|
|
17869
|
-
const convertedPropertyBinding = convertPropertyBinding(this, this.getImplicitReceiverExpr(), value, this.bindingContext()
|
|
17719
|
+
const convertedPropertyBinding = convertPropertyBinding(this, this.getImplicitReceiverExpr(), value, this.bindingContext());
|
|
17870
17720
|
const valExpr = convertedPropertyBinding.currValExpr;
|
|
17871
17721
|
this._tempVariables.push(...convertedPropertyBinding.stmts);
|
|
17872
17722
|
return valExpr;
|
|
@@ -18023,7 +17873,7 @@ class TemplateDefinitionBuilder {
|
|
|
18023
17873
|
// e.g. nextContext(2);
|
|
18024
17874
|
const nextContextStmt = relativeLevel > 0 ? [generateNextContextExpr(relativeLevel).toStmt()] : [];
|
|
18025
17875
|
// e.g. const $foo$ = reference(1);
|
|
18026
|
-
const refExpr = lhs.set(importExpr(Identifiers
|
|
17876
|
+
const refExpr = lhs.set(importExpr(Identifiers.reference).callFn([literal(slot)]));
|
|
18027
17877
|
return nextContextStmt.concat(refExpr.toConstDecl());
|
|
18028
17878
|
}, true);
|
|
18029
17879
|
return [reference.name, reference.value];
|
|
@@ -18101,22 +17951,22 @@ class ValueConverter extends AstMemoryEfficientTransformer {
|
|
|
18101
17951
|
}
|
|
18102
17952
|
}
|
|
18103
17953
|
// Pipes always have at least one parameter, the value they operate on
|
|
18104
|
-
const pipeBindingIdentifiers = [Identifiers
|
|
17954
|
+
const pipeBindingIdentifiers = [Identifiers.pipeBind1, Identifiers.pipeBind2, Identifiers.pipeBind3, Identifiers.pipeBind4];
|
|
18105
17955
|
function pipeBindingCallInfo(args) {
|
|
18106
17956
|
const identifier = pipeBindingIdentifiers[args.length];
|
|
18107
17957
|
return {
|
|
18108
|
-
identifier: identifier || Identifiers
|
|
17958
|
+
identifier: identifier || Identifiers.pipeBindV,
|
|
18109
17959
|
isVarLength: !identifier,
|
|
18110
17960
|
};
|
|
18111
17961
|
}
|
|
18112
17962
|
const pureFunctionIdentifiers = [
|
|
18113
|
-
Identifiers
|
|
18114
|
-
Identifiers
|
|
17963
|
+
Identifiers.pureFunction0, Identifiers.pureFunction1, Identifiers.pureFunction2, Identifiers.pureFunction3, Identifiers.pureFunction4,
|
|
17964
|
+
Identifiers.pureFunction5, Identifiers.pureFunction6, Identifiers.pureFunction7, Identifiers.pureFunction8
|
|
18115
17965
|
];
|
|
18116
17966
|
function pureFunctionCallInfo(args) {
|
|
18117
17967
|
const identifier = pureFunctionIdentifiers[args.length];
|
|
18118
17968
|
return {
|
|
18119
|
-
identifier: identifier || Identifiers
|
|
17969
|
+
identifier: identifier || Identifiers.pureFunctionV,
|
|
18120
17970
|
isVarLength: !identifier,
|
|
18121
17971
|
};
|
|
18122
17972
|
}
|
|
@@ -18125,7 +17975,7 @@ function instruction(span, reference, params) {
|
|
|
18125
17975
|
}
|
|
18126
17976
|
// e.g. x(2);
|
|
18127
17977
|
function generateNextContextExpr(relativeLevelDiff) {
|
|
18128
|
-
return importExpr(Identifiers
|
|
17978
|
+
return importExpr(Identifiers.nextContext)
|
|
18129
17979
|
.callFn(relativeLevelDiff > 1 ? [literal(relativeLevelDiff)] : []);
|
|
18130
17980
|
}
|
|
18131
17981
|
function getLiteralFactory(constantPool, literal$1, allocateSlots) {
|
|
@@ -18327,7 +18177,7 @@ class BindingScope {
|
|
|
18327
18177
|
restoreViewStatement() {
|
|
18328
18178
|
const statements = [];
|
|
18329
18179
|
if (this.restoreViewVariable) {
|
|
18330
|
-
const restoreCall = instruction(null, Identifiers
|
|
18180
|
+
const restoreCall = instruction(null, Identifiers.restoreView, [this.restoreViewVariable]);
|
|
18331
18181
|
// Either `const restoredCtx = restoreView($state$);` or `restoreView($state$);`
|
|
18332
18182
|
// depending on whether it is being used.
|
|
18333
18183
|
statements.push(this.usesRestoredViewContext ?
|
|
@@ -18339,7 +18189,7 @@ class BindingScope {
|
|
|
18339
18189
|
viewSnapshotStatements() {
|
|
18340
18190
|
// const $state$ = getCurrentView();
|
|
18341
18191
|
return this.restoreViewVariable ?
|
|
18342
|
-
[this.restoreViewVariable.set(instruction(null, Identifiers
|
|
18192
|
+
[this.restoreViewVariable.set(instruction(null, Identifiers.getCurrentView, [])).toConstDecl()] :
|
|
18343
18193
|
[];
|
|
18344
18194
|
}
|
|
18345
18195
|
isListenerScope() {
|
|
@@ -18407,25 +18257,25 @@ function getNgProjectAsLiteral(attribute) {
|
|
|
18407
18257
|
function getPropertyInterpolationExpression(interpolation) {
|
|
18408
18258
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
18409
18259
|
case 1:
|
|
18410
|
-
return Identifiers
|
|
18260
|
+
return Identifiers.propertyInterpolate;
|
|
18411
18261
|
case 3:
|
|
18412
|
-
return Identifiers
|
|
18262
|
+
return Identifiers.propertyInterpolate1;
|
|
18413
18263
|
case 5:
|
|
18414
|
-
return Identifiers
|
|
18264
|
+
return Identifiers.propertyInterpolate2;
|
|
18415
18265
|
case 7:
|
|
18416
|
-
return Identifiers
|
|
18266
|
+
return Identifiers.propertyInterpolate3;
|
|
18417
18267
|
case 9:
|
|
18418
|
-
return Identifiers
|
|
18268
|
+
return Identifiers.propertyInterpolate4;
|
|
18419
18269
|
case 11:
|
|
18420
|
-
return Identifiers
|
|
18270
|
+
return Identifiers.propertyInterpolate5;
|
|
18421
18271
|
case 13:
|
|
18422
|
-
return Identifiers
|
|
18272
|
+
return Identifiers.propertyInterpolate6;
|
|
18423
18273
|
case 15:
|
|
18424
|
-
return Identifiers
|
|
18274
|
+
return Identifiers.propertyInterpolate7;
|
|
18425
18275
|
case 17:
|
|
18426
|
-
return Identifiers
|
|
18276
|
+
return Identifiers.propertyInterpolate8;
|
|
18427
18277
|
default:
|
|
18428
|
-
return Identifiers
|
|
18278
|
+
return Identifiers.propertyInterpolateV;
|
|
18429
18279
|
}
|
|
18430
18280
|
}
|
|
18431
18281
|
/**
|
|
@@ -18435,23 +18285,23 @@ function getPropertyInterpolationExpression(interpolation) {
|
|
|
18435
18285
|
function getAttributeInterpolationExpression(interpolation) {
|
|
18436
18286
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
18437
18287
|
case 3:
|
|
18438
|
-
return Identifiers
|
|
18288
|
+
return Identifiers.attributeInterpolate1;
|
|
18439
18289
|
case 5:
|
|
18440
|
-
return Identifiers
|
|
18290
|
+
return Identifiers.attributeInterpolate2;
|
|
18441
18291
|
case 7:
|
|
18442
|
-
return Identifiers
|
|
18292
|
+
return Identifiers.attributeInterpolate3;
|
|
18443
18293
|
case 9:
|
|
18444
|
-
return Identifiers
|
|
18294
|
+
return Identifiers.attributeInterpolate4;
|
|
18445
18295
|
case 11:
|
|
18446
|
-
return Identifiers
|
|
18296
|
+
return Identifiers.attributeInterpolate5;
|
|
18447
18297
|
case 13:
|
|
18448
|
-
return Identifiers
|
|
18298
|
+
return Identifiers.attributeInterpolate6;
|
|
18449
18299
|
case 15:
|
|
18450
|
-
return Identifiers
|
|
18300
|
+
return Identifiers.attributeInterpolate7;
|
|
18451
18301
|
case 17:
|
|
18452
|
-
return Identifiers
|
|
18302
|
+
return Identifiers.attributeInterpolate8;
|
|
18453
18303
|
default:
|
|
18454
|
-
return Identifiers
|
|
18304
|
+
return Identifiers.attributeInterpolateV;
|
|
18455
18305
|
}
|
|
18456
18306
|
}
|
|
18457
18307
|
/**
|
|
@@ -18461,25 +18311,25 @@ function getAttributeInterpolationExpression(interpolation) {
|
|
|
18461
18311
|
function getTextInterpolationExpression(interpolation) {
|
|
18462
18312
|
switch (getInterpolationArgsLength(interpolation)) {
|
|
18463
18313
|
case 1:
|
|
18464
|
-
return Identifiers
|
|
18314
|
+
return Identifiers.textInterpolate;
|
|
18465
18315
|
case 3:
|
|
18466
|
-
return Identifiers
|
|
18316
|
+
return Identifiers.textInterpolate1;
|
|
18467
18317
|
case 5:
|
|
18468
|
-
return Identifiers
|
|
18318
|
+
return Identifiers.textInterpolate2;
|
|
18469
18319
|
case 7:
|
|
18470
|
-
return Identifiers
|
|
18320
|
+
return Identifiers.textInterpolate3;
|
|
18471
18321
|
case 9:
|
|
18472
|
-
return Identifiers
|
|
18322
|
+
return Identifiers.textInterpolate4;
|
|
18473
18323
|
case 11:
|
|
18474
|
-
return Identifiers
|
|
18324
|
+
return Identifiers.textInterpolate5;
|
|
18475
18325
|
case 13:
|
|
18476
|
-
return Identifiers
|
|
18326
|
+
return Identifiers.textInterpolate6;
|
|
18477
18327
|
case 15:
|
|
18478
|
-
return Identifiers
|
|
18328
|
+
return Identifiers.textInterpolate7;
|
|
18479
18329
|
case 17:
|
|
18480
|
-
return Identifiers
|
|
18330
|
+
return Identifiers.textInterpolate8;
|
|
18481
18331
|
default:
|
|
18482
|
-
return Identifiers
|
|
18332
|
+
return Identifiers.textInterpolateV;
|
|
18483
18333
|
}
|
|
18484
18334
|
}
|
|
18485
18335
|
/**
|
|
@@ -18570,18 +18420,18 @@ function makeBindingParser(interpolationConfig = DEFAULT_INTERPOLATION_CONFIG) {
|
|
|
18570
18420
|
function resolveSanitizationFn(context, isAttribute) {
|
|
18571
18421
|
switch (context) {
|
|
18572
18422
|
case SecurityContext.HTML:
|
|
18573
|
-
return importExpr(Identifiers
|
|
18423
|
+
return importExpr(Identifiers.sanitizeHtml);
|
|
18574
18424
|
case SecurityContext.SCRIPT:
|
|
18575
|
-
return importExpr(Identifiers
|
|
18425
|
+
return importExpr(Identifiers.sanitizeScript);
|
|
18576
18426
|
case SecurityContext.STYLE:
|
|
18577
18427
|
// the compiler does not fill in an instruction for [style.prop?] binding
|
|
18578
18428
|
// values because the style algorithm knows internally what props are subject
|
|
18579
18429
|
// to sanitization (only [attr.style] values are explicitly sanitized)
|
|
18580
|
-
return isAttribute ? importExpr(Identifiers
|
|
18430
|
+
return isAttribute ? importExpr(Identifiers.sanitizeStyle) : null;
|
|
18581
18431
|
case SecurityContext.URL:
|
|
18582
|
-
return importExpr(Identifiers
|
|
18432
|
+
return importExpr(Identifiers.sanitizeUrl);
|
|
18583
18433
|
case SecurityContext.RESOURCE_URL:
|
|
18584
|
-
return importExpr(Identifiers
|
|
18434
|
+
return importExpr(Identifiers.sanitizeResourceUrl);
|
|
18585
18435
|
default:
|
|
18586
18436
|
return null;
|
|
18587
18437
|
}
|
|
@@ -18591,10 +18441,10 @@ function trustedConstAttribute(tagName, attr) {
|
|
|
18591
18441
|
if (isTrustedTypesSink(tagName, attr.name)) {
|
|
18592
18442
|
switch (elementRegistry.securityContext(tagName, attr.name, /* isAttribute */ true)) {
|
|
18593
18443
|
case SecurityContext.HTML:
|
|
18594
|
-
return taggedTemplate(importExpr(Identifiers
|
|
18444
|
+
return taggedTemplate(importExpr(Identifiers.trustConstantHtml), new TemplateLiteral([new TemplateLiteralElement(attr.value)], []), undefined, attr.valueSpan);
|
|
18595
18445
|
// NB: no SecurityContext.SCRIPT here, as the corresponding tags are stripped by the compiler.
|
|
18596
18446
|
case SecurityContext.RESOURCE_URL:
|
|
18597
|
-
return taggedTemplate(importExpr(Identifiers
|
|
18447
|
+
return taggedTemplate(importExpr(Identifiers.trustConstantResourceUrl), new TemplateLiteral([new TemplateLiteralElement(attr.value)], []), undefined, attr.valueSpan);
|
|
18598
18448
|
default:
|
|
18599
18449
|
return value;
|
|
18600
18450
|
}
|
|
@@ -18723,16 +18573,16 @@ function addFeatures(definitionMap, meta) {
|
|
|
18723
18573
|
if (viewProviders) {
|
|
18724
18574
|
args.push(viewProviders);
|
|
18725
18575
|
}
|
|
18726
|
-
features.push(importExpr(Identifiers
|
|
18576
|
+
features.push(importExpr(Identifiers.ProvidersFeature).callFn(args));
|
|
18727
18577
|
}
|
|
18728
18578
|
if (meta.usesInheritance) {
|
|
18729
|
-
features.push(importExpr(Identifiers
|
|
18579
|
+
features.push(importExpr(Identifiers.InheritDefinitionFeature));
|
|
18730
18580
|
}
|
|
18731
18581
|
if (meta.fullInheritance) {
|
|
18732
|
-
features.push(importExpr(Identifiers
|
|
18582
|
+
features.push(importExpr(Identifiers.CopyDefinitionFeature));
|
|
18733
18583
|
}
|
|
18734
18584
|
if (meta.lifecycle.usesOnChanges) {
|
|
18735
|
-
features.push(importExpr(Identifiers
|
|
18585
|
+
features.push(importExpr(Identifiers.NgOnChangesFeature));
|
|
18736
18586
|
}
|
|
18737
18587
|
if (features.length) {
|
|
18738
18588
|
definitionMap.set('features', literalArr(features));
|
|
@@ -18744,7 +18594,7 @@ function addFeatures(definitionMap, meta) {
|
|
|
18744
18594
|
function compileDirectiveFromMetadata(meta, constantPool, bindingParser) {
|
|
18745
18595
|
const definitionMap = baseDirectiveFields(meta, constantPool, bindingParser);
|
|
18746
18596
|
addFeatures(definitionMap, meta);
|
|
18747
|
-
const expression = importExpr(Identifiers
|
|
18597
|
+
const expression = importExpr(Identifiers.defineDirective).callFn([definitionMap.toLiteralMap()], undefined, true);
|
|
18748
18598
|
const type = createDirectiveType(meta);
|
|
18749
18599
|
return { expression, type, statements: [] };
|
|
18750
18600
|
}
|
|
@@ -18770,7 +18620,7 @@ function compileComponentFromMetadata(meta, constantPool, bindingParser) {
|
|
|
18770
18620
|
const templateName = templateTypeName ? `${templateTypeName}_Template` : null;
|
|
18771
18621
|
const changeDetection = meta.changeDetection;
|
|
18772
18622
|
const template = meta.template;
|
|
18773
|
-
const templateBuilder = new TemplateDefinitionBuilder(constantPool, BindingScope.createRootScope(), 0, templateTypeName, null, null, templateName, Identifiers
|
|
18623
|
+
const templateBuilder = new TemplateDefinitionBuilder(constantPool, BindingScope.createRootScope(), 0, templateTypeName, null, null, templateName, Identifiers.namespaceHTML, meta.relativeContextFilePath, meta.i18nUseExternalIds);
|
|
18774
18624
|
const templateFunctionExpression = templateBuilder.buildTemplateFunction(template.nodes, []);
|
|
18775
18625
|
// We need to provide this so that dynamically generated components know what
|
|
18776
18626
|
// projected content blocks to pass through to the component when it is instantiated.
|
|
@@ -18836,7 +18686,7 @@ function compileComponentFromMetadata(meta, constantPool, bindingParser) {
|
|
|
18836
18686
|
if (changeDetection != null && changeDetection !== ChangeDetectionStrategy.Default) {
|
|
18837
18687
|
definitionMap.set('changeDetection', literal(changeDetection));
|
|
18838
18688
|
}
|
|
18839
|
-
const expression = importExpr(Identifiers
|
|
18689
|
+
const expression = importExpr(Identifiers.defineComponent).callFn([definitionMap.toLiteralMap()], undefined, true);
|
|
18840
18690
|
const type = createComponentType(meta);
|
|
18841
18691
|
return { expression, type, statements: [] };
|
|
18842
18692
|
}
|
|
@@ -18847,7 +18697,7 @@ function compileComponentFromMetadata(meta, constantPool, bindingParser) {
|
|
|
18847
18697
|
function createComponentType(meta) {
|
|
18848
18698
|
const typeParams = createDirectiveTypeParams(meta);
|
|
18849
18699
|
typeParams.push(stringArrayAsType(meta.template.ngContentSelectors));
|
|
18850
|
-
return expressionType(importExpr(Identifiers
|
|
18700
|
+
return expressionType(importExpr(Identifiers.ComponentDeclaration, typeParams));
|
|
18851
18701
|
}
|
|
18852
18702
|
/**
|
|
18853
18703
|
* Compiles the array literal of declarations into an expression according to the provided emit
|
|
@@ -18863,7 +18713,7 @@ function compileDeclarationList(list, mode) {
|
|
|
18863
18713
|
return fn([], [new ReturnStatement(list)]);
|
|
18864
18714
|
case 2 /* ClosureResolved */:
|
|
18865
18715
|
// directives: function () { return [MyDir].map(ng.resolveForwardRef); }
|
|
18866
|
-
const resolvedList = list.prop('map').callFn([importExpr(Identifiers
|
|
18716
|
+
const resolvedList = list.prop('map').callFn([importExpr(Identifiers.resolveForwardRef)]);
|
|
18867
18717
|
return fn([], [new ReturnStatement(resolvedList)]);
|
|
18868
18718
|
}
|
|
18869
18719
|
}
|
|
@@ -18898,13 +18748,13 @@ function createContentQueriesFunction(queries, constantPool, name) {
|
|
|
18898
18748
|
const tempAllocator = temporaryAllocator(updateStatements, TEMPORARY_NAME);
|
|
18899
18749
|
for (const query of queries) {
|
|
18900
18750
|
// creation, e.g. r3.contentQuery(dirIndex, somePredicate, true, null);
|
|
18901
|
-
createStatements.push(importExpr(Identifiers
|
|
18751
|
+
createStatements.push(importExpr(Identifiers.contentQuery)
|
|
18902
18752
|
.callFn([variable('dirIndex'), ...prepareQueryParams(query, constantPool)])
|
|
18903
18753
|
.toStmt());
|
|
18904
18754
|
// update, e.g. (r3.queryRefresh(tmp = r3.loadQuery()) && (ctx.someDir = tmp));
|
|
18905
18755
|
const temporary = tempAllocator();
|
|
18906
|
-
const getQueryList = importExpr(Identifiers
|
|
18907
|
-
const refresh = importExpr(Identifiers
|
|
18756
|
+
const getQueryList = importExpr(Identifiers.loadQuery).callFn([]);
|
|
18757
|
+
const refresh = importExpr(Identifiers.queryRefresh).callFn([temporary.set(getQueryList)]);
|
|
18908
18758
|
const updateDirective = variable(CONTEXT_NAME)
|
|
18909
18759
|
.prop(query.propertyName)
|
|
18910
18760
|
.set(query.first ? temporary.prop('first') : temporary);
|
|
@@ -18956,7 +18806,7 @@ function createDirectiveTypeParams(meta) {
|
|
|
18956
18806
|
*/
|
|
18957
18807
|
function createDirectiveType(meta) {
|
|
18958
18808
|
const typeParams = createDirectiveTypeParams(meta);
|
|
18959
|
-
return expressionType(importExpr(Identifiers
|
|
18809
|
+
return expressionType(importExpr(Identifiers.DirectiveDeclaration, typeParams));
|
|
18960
18810
|
}
|
|
18961
18811
|
// Define and update any view queries
|
|
18962
18812
|
function createViewQueriesFunction(viewQueries, constantPool, name) {
|
|
@@ -18965,12 +18815,12 @@ function createViewQueriesFunction(viewQueries, constantPool, name) {
|
|
|
18965
18815
|
const tempAllocator = temporaryAllocator(updateStatements, TEMPORARY_NAME);
|
|
18966
18816
|
viewQueries.forEach((query) => {
|
|
18967
18817
|
// creation, e.g. r3.viewQuery(somePredicate, true);
|
|
18968
|
-
const queryDefinition = importExpr(Identifiers
|
|
18818
|
+
const queryDefinition = importExpr(Identifiers.viewQuery).callFn(prepareQueryParams(query, constantPool));
|
|
18969
18819
|
createStatements.push(queryDefinition.toStmt());
|
|
18970
18820
|
// update, e.g. (r3.queryRefresh(tmp = r3.loadQuery()) && (ctx.someDir = tmp));
|
|
18971
18821
|
const temporary = tempAllocator();
|
|
18972
|
-
const getQueryList = importExpr(Identifiers
|
|
18973
|
-
const refresh = importExpr(Identifiers
|
|
18822
|
+
const getQueryList = importExpr(Identifiers.loadQuery).callFn([]);
|
|
18823
|
+
const refresh = importExpr(Identifiers.queryRefresh).callFn([temporary.set(getQueryList)]);
|
|
18974
18824
|
const updateDirective = variable(CONTEXT_NAME)
|
|
18975
18825
|
.prop(query.propertyName)
|
|
18976
18826
|
.set(query.first ? temporary.prop('first') : temporary);
|
|
@@ -19052,7 +18902,7 @@ function createHostBindingsFunction(hostBindingsMetadata, typeSourceSpan, bindin
|
|
|
19052
18902
|
// of different security contexts. In this case we use special sanitization function and
|
|
19053
18903
|
// select the actual sanitizer at runtime based on a tag name that is provided while
|
|
19054
18904
|
// invoking sanitization function.
|
|
19055
|
-
sanitizerFn = importExpr(Identifiers
|
|
18905
|
+
sanitizerFn = importExpr(Identifiers.sanitizeUrlOrResourceUrl);
|
|
19056
18906
|
}
|
|
19057
18907
|
else {
|
|
19058
18908
|
sanitizerFn = resolveSanitizationFn(securityContexts[0], isAttribute);
|
|
@@ -19063,13 +18913,13 @@ function createHostBindingsFunction(hostBindingsMetadata, typeSourceSpan, bindin
|
|
|
19063
18913
|
instructionParams.push(sanitizerFn);
|
|
19064
18914
|
}
|
|
19065
18915
|
updateStatements.push(...bindingExpr.stmts);
|
|
19066
|
-
if (instruction === Identifiers
|
|
18916
|
+
if (instruction === Identifiers.hostProperty) {
|
|
19067
18917
|
propertyBindings.push(instructionParams);
|
|
19068
18918
|
}
|
|
19069
|
-
else if (instruction === Identifiers
|
|
18919
|
+
else if (instruction === Identifiers.attribute) {
|
|
19070
18920
|
attributeBindings.push(instructionParams);
|
|
19071
18921
|
}
|
|
19072
|
-
else if (instruction === Identifiers
|
|
18922
|
+
else if (instruction === Identifiers.syntheticHostProperty) {
|
|
19073
18923
|
syntheticHostBindings.push(instructionParams);
|
|
19074
18924
|
}
|
|
19075
18925
|
else {
|
|
@@ -19077,13 +18927,13 @@ function createHostBindingsFunction(hostBindingsMetadata, typeSourceSpan, bindin
|
|
|
19077
18927
|
}
|
|
19078
18928
|
});
|
|
19079
18929
|
if (propertyBindings.length > 0) {
|
|
19080
|
-
updateStatements.push(chainedInstruction(Identifiers
|
|
18930
|
+
updateStatements.push(chainedInstruction(Identifiers.hostProperty, propertyBindings).toStmt());
|
|
19081
18931
|
}
|
|
19082
18932
|
if (attributeBindings.length > 0) {
|
|
19083
|
-
updateStatements.push(chainedInstruction(Identifiers
|
|
18933
|
+
updateStatements.push(chainedInstruction(Identifiers.attribute, attributeBindings).toStmt());
|
|
19084
18934
|
}
|
|
19085
18935
|
if (syntheticHostBindings.length > 0) {
|
|
19086
|
-
updateStatements.push(chainedInstruction(Identifiers
|
|
18936
|
+
updateStatements.push(chainedInstruction(Identifiers.syntheticHostProperty, syntheticHostBindings).toStmt());
|
|
19087
18937
|
}
|
|
19088
18938
|
// since we're dealing with directives/components and both have hostBinding
|
|
19089
18939
|
// functions, we need to generate a special hostAttrs instruction that deals
|
|
@@ -19129,7 +18979,7 @@ function createHostBindingsFunction(hostBindingsMetadata, typeSourceSpan, bindin
|
|
|
19129
18979
|
return null;
|
|
19130
18980
|
}
|
|
19131
18981
|
function bindingFn(implicit, value) {
|
|
19132
|
-
return convertPropertyBinding(null, implicit, value, 'b'
|
|
18982
|
+
return convertPropertyBinding(null, implicit, value, 'b');
|
|
19133
18983
|
}
|
|
19134
18984
|
function convertStylingCall(call, bindingContext, bindingFn) {
|
|
19135
18985
|
return call.params(value => bindingFn(bindingContext, value).currValExpr);
|
|
@@ -19141,7 +18991,7 @@ function getBindingNameAndInstruction(binding) {
|
|
|
19141
18991
|
const attrMatches = bindingName.match(ATTR_REGEX);
|
|
19142
18992
|
if (attrMatches) {
|
|
19143
18993
|
bindingName = attrMatches[1];
|
|
19144
|
-
instruction = Identifiers
|
|
18994
|
+
instruction = Identifiers.attribute;
|
|
19145
18995
|
}
|
|
19146
18996
|
else {
|
|
19147
18997
|
if (binding.isAnimation) {
|
|
@@ -19149,10 +18999,10 @@ function getBindingNameAndInstruction(binding) {
|
|
|
19149
18999
|
// host bindings that have a synthetic property (e.g. @foo) should always be rendered
|
|
19150
19000
|
// in the context of the component and not the parent. Therefore there is a special
|
|
19151
19001
|
// compatibility instruction available for this purpose.
|
|
19152
|
-
instruction = Identifiers
|
|
19002
|
+
instruction = Identifiers.syntheticHostProperty;
|
|
19153
19003
|
}
|
|
19154
19004
|
else {
|
|
19155
|
-
instruction = Identifiers
|
|
19005
|
+
instruction = Identifiers.hostProperty;
|
|
19156
19006
|
}
|
|
19157
19007
|
}
|
|
19158
19008
|
return { bindingName, instruction, isAttribute: !!attrMatches };
|
|
@@ -19176,10 +19026,10 @@ function createHostListeners(eventBindings, name) {
|
|
|
19176
19026
|
}
|
|
19177
19027
|
});
|
|
19178
19028
|
if (syntheticListeners.length > 0) {
|
|
19179
|
-
instructions.push(chainedInstruction(Identifiers
|
|
19029
|
+
instructions.push(chainedInstruction(Identifiers.syntheticHostListener, syntheticListeners).toStmt());
|
|
19180
19030
|
}
|
|
19181
19031
|
if (listeners.length > 0) {
|
|
19182
|
-
instructions.push(chainedInstruction(Identifiers
|
|
19032
|
+
instructions.push(chainedInstruction(Identifiers.listener, listeners).toStmt());
|
|
19183
19033
|
}
|
|
19184
19034
|
return instructions;
|
|
19185
19035
|
}
|
|
@@ -19767,7 +19617,7 @@ function publishFacade(global) {
|
|
|
19767
19617
|
* Use of this source code is governed by an MIT-style license that can be
|
|
19768
19618
|
* found in the LICENSE file at https://angular.io/license
|
|
19769
19619
|
*/
|
|
19770
|
-
const VERSION = new Version('14.0.0-next.
|
|
19620
|
+
const VERSION = new Version('14.0.0-next.1');
|
|
19771
19621
|
|
|
19772
19622
|
/**
|
|
19773
19623
|
* @license
|
|
@@ -21780,7 +21630,7 @@ function extractTemplateEntities(rootScope) {
|
|
|
21780
21630
|
function compileClassMetadata(metadata) {
|
|
21781
21631
|
// Generate an ngDevMode guarded call to setClassMetadata with the class identifier and its
|
|
21782
21632
|
// metadata.
|
|
21783
|
-
const fnCall = importExpr(Identifiers
|
|
21633
|
+
const fnCall = importExpr(Identifiers.setClassMetadata).callFn([
|
|
21784
21634
|
metadata.type,
|
|
21785
21635
|
metadata.decorators,
|
|
21786
21636
|
metadata.ctorParameters ?? literal(null),
|
|
@@ -21808,13 +21658,13 @@ const MINIMUM_PARTIAL_LINKER_VERSION$6 = '12.0.0';
|
|
|
21808
21658
|
function compileDeclareClassMetadata(metadata) {
|
|
21809
21659
|
const definitionMap = new DefinitionMap();
|
|
21810
21660
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$6));
|
|
21811
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
21812
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
21661
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
21662
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
21813
21663
|
definitionMap.set('type', metadata.type);
|
|
21814
21664
|
definitionMap.set('decorators', metadata.decorators);
|
|
21815
21665
|
definitionMap.set('ctorParameters', metadata.ctorParameters);
|
|
21816
21666
|
definitionMap.set('propDecorators', metadata.propDecorators);
|
|
21817
|
-
return importExpr(Identifiers
|
|
21667
|
+
return importExpr(Identifiers.declareClassMetadata).callFn([definitionMap.toLiteralMap()]);
|
|
21818
21668
|
}
|
|
21819
21669
|
|
|
21820
21670
|
/**
|
|
@@ -21914,7 +21764,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$5 = '12.0.0';
|
|
|
21914
21764
|
*/
|
|
21915
21765
|
function compileDeclareDirectiveFromMetadata(meta) {
|
|
21916
21766
|
const definitionMap = createDirectiveDefinitionMap(meta);
|
|
21917
|
-
const expression = importExpr(Identifiers
|
|
21767
|
+
const expression = importExpr(Identifiers.declareDirective).callFn([definitionMap.toLiteralMap()]);
|
|
21918
21768
|
const type = createDirectiveType(meta);
|
|
21919
21769
|
return { expression, type, statements: [] };
|
|
21920
21770
|
}
|
|
@@ -21925,7 +21775,7 @@ function compileDeclareDirectiveFromMetadata(meta) {
|
|
|
21925
21775
|
function createDirectiveDefinitionMap(meta) {
|
|
21926
21776
|
const definitionMap = new DefinitionMap();
|
|
21927
21777
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
|
|
21928
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
21778
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
21929
21779
|
// e.g. `type: MyDirective`
|
|
21930
21780
|
definitionMap.set('type', meta.internalType);
|
|
21931
21781
|
// e.g. `selector: 'some-dir'`
|
|
@@ -21951,7 +21801,7 @@ function createDirectiveDefinitionMap(meta) {
|
|
|
21951
21801
|
if (meta.lifecycle.usesOnChanges) {
|
|
21952
21802
|
definitionMap.set('usesOnChanges', literal(true));
|
|
21953
21803
|
}
|
|
21954
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
21804
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
21955
21805
|
return definitionMap;
|
|
21956
21806
|
}
|
|
21957
21807
|
/**
|
|
@@ -22018,7 +21868,7 @@ function compileHostMetadata(meta) {
|
|
|
22018
21868
|
*/
|
|
22019
21869
|
function compileDeclareComponentFromMetadata(meta, template, additionalTemplateInfo) {
|
|
22020
21870
|
const definitionMap = createComponentDefinitionMap(meta, template, additionalTemplateInfo);
|
|
22021
|
-
const expression = importExpr(Identifiers
|
|
21871
|
+
const expression = importExpr(Identifiers.declareComponent).callFn([definitionMap.toLiteralMap()]);
|
|
22022
21872
|
const type = createComponentType(meta);
|
|
22023
21873
|
return { expression, type, statements: [] };
|
|
22024
21874
|
}
|
|
@@ -22038,11 +21888,11 @@ function createComponentDefinitionMap(meta, template, templateInfo) {
|
|
|
22038
21888
|
definitionMap.set('viewProviders', meta.viewProviders);
|
|
22039
21889
|
definitionMap.set('animations', meta.animations);
|
|
22040
21890
|
if (meta.changeDetection !== undefined) {
|
|
22041
|
-
definitionMap.set('changeDetection', importExpr(Identifiers
|
|
21891
|
+
definitionMap.set('changeDetection', importExpr(Identifiers.ChangeDetectionStrategy)
|
|
22042
21892
|
.prop(ChangeDetectionStrategy[meta.changeDetection]));
|
|
22043
21893
|
}
|
|
22044
21894
|
if (meta.encapsulation !== ViewEncapsulation.Emulated) {
|
|
22045
|
-
definitionMap.set('encapsulation', importExpr(Identifiers
|
|
21895
|
+
definitionMap.set('encapsulation', importExpr(Identifiers.ViewEncapsulation).prop(ViewEncapsulation[meta.encapsulation]));
|
|
22046
21896
|
}
|
|
22047
21897
|
if (meta.interpolation !== DEFAULT_INTERPOLATION_CONFIG) {
|
|
22048
21898
|
definitionMap.set('interpolation', literalArr([literal(meta.interpolation.start), literal(meta.interpolation.end)]));
|
|
@@ -22146,13 +21996,13 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
|
|
|
22146
21996
|
function compileDeclareFactoryFunction(meta) {
|
|
22147
21997
|
const definitionMap = new DefinitionMap();
|
|
22148
21998
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
|
|
22149
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22150
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
21999
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
22000
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22151
22001
|
definitionMap.set('type', meta.internalType);
|
|
22152
22002
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
22153
|
-
definitionMap.set('target', importExpr(Identifiers
|
|
22003
|
+
definitionMap.set('target', importExpr(Identifiers.FactoryTarget).prop(FactoryTarget$1[meta.target]));
|
|
22154
22004
|
return {
|
|
22155
|
-
expression: importExpr(Identifiers
|
|
22005
|
+
expression: importExpr(Identifiers.declareFactory).callFn([definitionMap.toLiteralMap()]),
|
|
22156
22006
|
statements: [],
|
|
22157
22007
|
type: createFactoryType(meta),
|
|
22158
22008
|
};
|
|
@@ -22178,7 +22028,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$3 = '12.0.0';
|
|
|
22178
22028
|
*/
|
|
22179
22029
|
function compileDeclareInjectableFromMetadata(meta) {
|
|
22180
22030
|
const definitionMap = createInjectableDefinitionMap(meta);
|
|
22181
|
-
const expression = importExpr(Identifiers
|
|
22031
|
+
const expression = importExpr(Identifiers.declareInjectable).callFn([definitionMap.toLiteralMap()]);
|
|
22182
22032
|
const type = createInjectableType(meta);
|
|
22183
22033
|
return { expression, type, statements: [] };
|
|
22184
22034
|
}
|
|
@@ -22188,8 +22038,8 @@ function compileDeclareInjectableFromMetadata(meta) {
|
|
|
22188
22038
|
function createInjectableDefinitionMap(meta) {
|
|
22189
22039
|
const definitionMap = new DefinitionMap();
|
|
22190
22040
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
|
|
22191
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22192
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
22041
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
22042
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22193
22043
|
definitionMap.set('type', meta.internalType);
|
|
22194
22044
|
// Only generate providedIn property if it has a non-null value
|
|
22195
22045
|
if (meta.providedIn !== undefined) {
|
|
@@ -22236,7 +22086,7 @@ function createInjectableDefinitionMap(meta) {
|
|
|
22236
22086
|
const MINIMUM_PARTIAL_LINKER_VERSION$2 = '12.0.0';
|
|
22237
22087
|
function compileDeclareInjectorFromMetadata(meta) {
|
|
22238
22088
|
const definitionMap = createInjectorDefinitionMap(meta);
|
|
22239
|
-
const expression = importExpr(Identifiers
|
|
22089
|
+
const expression = importExpr(Identifiers.declareInjector).callFn([definitionMap.toLiteralMap()]);
|
|
22240
22090
|
const type = createInjectorType(meta);
|
|
22241
22091
|
return { expression, type, statements: [] };
|
|
22242
22092
|
}
|
|
@@ -22246,8 +22096,8 @@ function compileDeclareInjectorFromMetadata(meta) {
|
|
|
22246
22096
|
function createInjectorDefinitionMap(meta) {
|
|
22247
22097
|
const definitionMap = new DefinitionMap();
|
|
22248
22098
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
|
|
22249
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22250
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
22099
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
22100
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22251
22101
|
definitionMap.set('type', meta.internalType);
|
|
22252
22102
|
definitionMap.set('providers', meta.providers);
|
|
22253
22103
|
if (meta.imports.length > 0) {
|
|
@@ -22273,7 +22123,7 @@ function createInjectorDefinitionMap(meta) {
|
|
|
22273
22123
|
const MINIMUM_PARTIAL_LINKER_VERSION$1 = '12.0.0';
|
|
22274
22124
|
function compileDeclareNgModuleFromMetadata(meta) {
|
|
22275
22125
|
const definitionMap = createNgModuleDefinitionMap(meta);
|
|
22276
|
-
const expression = importExpr(Identifiers
|
|
22126
|
+
const expression = importExpr(Identifiers.declareNgModule).callFn([definitionMap.toLiteralMap()]);
|
|
22277
22127
|
const type = createNgModuleType(meta);
|
|
22278
22128
|
return { expression, type, statements: [] };
|
|
22279
22129
|
}
|
|
@@ -22283,8 +22133,8 @@ function compileDeclareNgModuleFromMetadata(meta) {
|
|
|
22283
22133
|
function createNgModuleDefinitionMap(meta) {
|
|
22284
22134
|
const definitionMap = new DefinitionMap();
|
|
22285
22135
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
|
|
22286
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22287
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
22136
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
22137
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22288
22138
|
definitionMap.set('type', meta.internalType);
|
|
22289
22139
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
22290
22140
|
// We must wrap the arrays inside a function if any of the values are a forward reference to a
|
|
@@ -22331,7 +22181,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION = '12.0.0';
|
|
|
22331
22181
|
*/
|
|
22332
22182
|
function compileDeclarePipeFromMetadata(meta) {
|
|
22333
22183
|
const definitionMap = createPipeDefinitionMap(meta);
|
|
22334
|
-
const expression = importExpr(Identifiers
|
|
22184
|
+
const expression = importExpr(Identifiers.declarePipe).callFn([definitionMap.toLiteralMap()]);
|
|
22335
22185
|
const type = createPipeType(meta);
|
|
22336
22186
|
return { expression, type, statements: [] };
|
|
22337
22187
|
}
|
|
@@ -22341,8 +22191,8 @@ function compileDeclarePipeFromMetadata(meta) {
|
|
|
22341
22191
|
function createPipeDefinitionMap(meta) {
|
|
22342
22192
|
const definitionMap = new DefinitionMap();
|
|
22343
22193
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
22344
|
-
definitionMap.set('version', literal('14.0.0-next.
|
|
22345
|
-
definitionMap.set('ngImport', importExpr(Identifiers
|
|
22194
|
+
definitionMap.set('version', literal('14.0.0-next.1'));
|
|
22195
|
+
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
22346
22196
|
// e.g. `type: MyPipe`
|
|
22347
22197
|
definitionMap.set('type', meta.internalType);
|
|
22348
22198
|
// e.g. `name: "myPipe"`
|
|
@@ -22391,5 +22241,5 @@ publishFacade(_global);
|
|
|
22391
22241
|
* found in the LICENSE file at https://angular.io/license
|
|
22392
22242
|
*/
|
|
22393
22243
|
|
|
22394
|
-
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,
|
|
22244
|
+
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 };
|
|
22395
22245
|
//# sourceMappingURL=compiler.mjs.map
|