@angular/core 20.0.0-next.3 → 20.0.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/event_dispatcher.d-pVP0-wST.d.ts +345 -0
- package/fesm2022/core.mjs +218 -80
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/injector-BlLwZ2sr.mjs +24 -0
- package/fesm2022/injector-BlLwZ2sr.mjs.map +1 -0
- package/fesm2022/primitives/di.mjs +3 -17
- package/fesm2022/primitives/di.mjs.map +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +1 -1
- package/fesm2022/primitives/signals.mjs +4 -610
- package/fesm2022/primitives/signals.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/testing.mjs +1 -1
- package/fesm2022/untracked-DkcXpNb_.mjs +620 -0
- package/fesm2022/untracked-DkcXpNb_.mjs.map +1 -0
- package/index.d.ts +54 -9
- package/{navigation_types.d-u4EOrrdZ.d.ts → navigation_types.d-DgDrF5rp.d.ts} +2 -2
- package/package.json +2 -2
- package/primitives/di/index.d.ts +1 -1
- package/primitives/event-dispatch/index.d.ts +5 -340
- package/primitives/signals/index.d.ts +4 -210
- package/rxjs-interop/index.d.ts +1 -1
- package/schematics/bundles/{apply_import_manager-BXQEjo09.js → apply_import_manager-CeNv8GIG.js} +3 -3
- package/schematics/bundles/{checker-BHb19MHt.js → checker-k591b6WQ.js} +230 -112
- package/schematics/bundles/cleanup-unused-imports.js +5 -5
- package/schematics/bundles/{compiler_host-Bk3repE2.js → compiler_host-DwM3ugW3.js} +2 -2
- package/schematics/bundles/control-flow-migration.js +34 -13
- package/schematics/bundles/imports-CIX-JgAN.js +1 -1
- package/schematics/bundles/{index-I8VbxQcO.js → index-B4OAlHh8.js} +12 -12
- package/schematics/bundles/{index-BL9kAIe5.js → index-BhELUmYx.js} +4 -4
- package/schematics/bundles/inject-flags.js +5 -5
- package/schematics/bundles/inject-migration.js +3 -3
- package/schematics/bundles/leading_space-D9nQ8UQC.js +1 -1
- package/schematics/bundles/{migrate_ts_type_references-KlOTWeDl.js → migrate_ts_type_references-Be0TNYen.js} +5 -5
- package/schematics/bundles/ng_decorators-DznZ5jMl.js +1 -1
- package/schematics/bundles/nodes-B16H9JUd.js +1 -1
- package/schematics/bundles/output-migration.js +6 -6
- package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.js +1 -1
- package/schematics/bundles/property_name-BBwFuqMe.js +1 -1
- package/schematics/bundles/route-lazy-loading.js +3 -3
- package/schematics/bundles/{run_in_devkit-C0JPtK2u.js → run_in_devkit-CkvEksWP.js} +3 -3
- package/schematics/bundles/self-closing-tags-migration.js +4 -4
- package/schematics/bundles/signal-input-migration.js +7 -7
- package/schematics/bundles/signal-queries-migration.js +7 -7
- package/schematics/bundles/signals.js +7 -7
- package/schematics/bundles/standalone-migration.js +4 -4
- package/schematics/bundles/symbol-VPWguRxr.js +1 -1
- package/schematics/bundles/test-bed-get.js +4 -4
- package/testing/index.d.ts +2 -2
- package/weak_ref.d-BZ7gyRag.d.ts +216 -0
- package/fesm2022/weak_ref-DrMdAIDh.mjs +0 -12
- package/fesm2022/weak_ref-DrMdAIDh.mjs.map +0 -1
- package/weak_ref.d-ttyj86RV.d.ts +0 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.4
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
@@ -2773,6 +2773,11 @@ class Identifiers {
|
|
|
2773
2773
|
name: 'ɵɵdeferEnableTimerScheduling',
|
|
2774
2774
|
moduleName: CORE,
|
|
2775
2775
|
};
|
|
2776
|
+
static conditionalCreate = { name: 'ɵɵconditionalCreate', moduleName: CORE };
|
|
2777
|
+
static conditionalBranchCreate = {
|
|
2778
|
+
name: 'ɵɵconditionalBranchCreate',
|
|
2779
|
+
moduleName: CORE,
|
|
2780
|
+
};
|
|
2776
2781
|
static conditional = { name: 'ɵɵconditional', moduleName: CORE };
|
|
2777
2782
|
static repeater = { name: 'ɵɵrepeater', moduleName: CORE };
|
|
2778
2783
|
static repeaterCreate = { name: 'ɵɵrepeaterCreate', moduleName: CORE };
|
|
@@ -8603,167 +8608,175 @@ var OpKind;
|
|
|
8603
8608
|
* node.
|
|
8604
8609
|
*/
|
|
8605
8610
|
OpKind[OpKind["DisableBindings"] = 10] = "DisableBindings";
|
|
8611
|
+
/**
|
|
8612
|
+
* Create a conditional creation instruction op.
|
|
8613
|
+
*/
|
|
8614
|
+
OpKind[OpKind["ConditionalCreate"] = 11] = "ConditionalCreate";
|
|
8615
|
+
/**
|
|
8616
|
+
* Create a conditional branch creation instruction op.
|
|
8617
|
+
*/
|
|
8618
|
+
OpKind[OpKind["ConditionalBranchCreate"] = 12] = "ConditionalBranchCreate";
|
|
8606
8619
|
/**
|
|
8607
8620
|
* An op to conditionally render a template.
|
|
8608
8621
|
*/
|
|
8609
|
-
OpKind[OpKind["Conditional"] =
|
|
8622
|
+
OpKind[OpKind["Conditional"] = 13] = "Conditional";
|
|
8610
8623
|
/**
|
|
8611
8624
|
* An operation to re-enable binding, after it was previously disabled.
|
|
8612
8625
|
*/
|
|
8613
|
-
OpKind[OpKind["EnableBindings"] =
|
|
8626
|
+
OpKind[OpKind["EnableBindings"] = 14] = "EnableBindings";
|
|
8614
8627
|
/**
|
|
8615
8628
|
* An operation to render a text node.
|
|
8616
8629
|
*/
|
|
8617
|
-
OpKind[OpKind["Text"] =
|
|
8630
|
+
OpKind[OpKind["Text"] = 15] = "Text";
|
|
8618
8631
|
/**
|
|
8619
8632
|
* An operation declaring an event listener for an element.
|
|
8620
8633
|
*/
|
|
8621
|
-
OpKind[OpKind["Listener"] =
|
|
8634
|
+
OpKind[OpKind["Listener"] = 16] = "Listener";
|
|
8622
8635
|
/**
|
|
8623
8636
|
* An operation to interpolate text into a text node.
|
|
8624
8637
|
*/
|
|
8625
|
-
OpKind[OpKind["InterpolateText"] =
|
|
8638
|
+
OpKind[OpKind["InterpolateText"] = 17] = "InterpolateText";
|
|
8626
8639
|
/**
|
|
8627
8640
|
* An intermediate binding op, that has not yet been processed into an individual property,
|
|
8628
8641
|
* attribute, style, etc.
|
|
8629
8642
|
*/
|
|
8630
|
-
OpKind[OpKind["Binding"] =
|
|
8643
|
+
OpKind[OpKind["Binding"] = 18] = "Binding";
|
|
8631
8644
|
/**
|
|
8632
8645
|
* An operation to bind an expression to a property of an element.
|
|
8633
8646
|
*/
|
|
8634
|
-
OpKind[OpKind["Property"] =
|
|
8647
|
+
OpKind[OpKind["Property"] = 19] = "Property";
|
|
8635
8648
|
/**
|
|
8636
8649
|
* An operation to bind an expression to a style property of an element.
|
|
8637
8650
|
*/
|
|
8638
|
-
OpKind[OpKind["StyleProp"] =
|
|
8651
|
+
OpKind[OpKind["StyleProp"] = 20] = "StyleProp";
|
|
8639
8652
|
/**
|
|
8640
8653
|
* An operation to bind an expression to a class property of an element.
|
|
8641
8654
|
*/
|
|
8642
|
-
OpKind[OpKind["ClassProp"] =
|
|
8655
|
+
OpKind[OpKind["ClassProp"] = 21] = "ClassProp";
|
|
8643
8656
|
/**
|
|
8644
8657
|
* An operation to bind an expression to the styles of an element.
|
|
8645
8658
|
*/
|
|
8646
|
-
OpKind[OpKind["StyleMap"] =
|
|
8659
|
+
OpKind[OpKind["StyleMap"] = 22] = "StyleMap";
|
|
8647
8660
|
/**
|
|
8648
8661
|
* An operation to bind an expression to the classes of an element.
|
|
8649
8662
|
*/
|
|
8650
|
-
OpKind[OpKind["ClassMap"] =
|
|
8663
|
+
OpKind[OpKind["ClassMap"] = 23] = "ClassMap";
|
|
8651
8664
|
/**
|
|
8652
8665
|
* An operation to advance the runtime's implicit slot context during the update phase of a view.
|
|
8653
8666
|
*/
|
|
8654
|
-
OpKind[OpKind["Advance"] =
|
|
8667
|
+
OpKind[OpKind["Advance"] = 24] = "Advance";
|
|
8655
8668
|
/**
|
|
8656
8669
|
* An operation to instantiate a pipe.
|
|
8657
8670
|
*/
|
|
8658
|
-
OpKind[OpKind["Pipe"] =
|
|
8671
|
+
OpKind[OpKind["Pipe"] = 25] = "Pipe";
|
|
8659
8672
|
/**
|
|
8660
8673
|
* An operation to associate an attribute with an element.
|
|
8661
8674
|
*/
|
|
8662
|
-
OpKind[OpKind["Attribute"] =
|
|
8675
|
+
OpKind[OpKind["Attribute"] = 26] = "Attribute";
|
|
8663
8676
|
/**
|
|
8664
8677
|
* An attribute that has been extracted for inclusion in the consts array.
|
|
8665
8678
|
*/
|
|
8666
|
-
OpKind[OpKind["ExtractedAttribute"] =
|
|
8679
|
+
OpKind[OpKind["ExtractedAttribute"] = 27] = "ExtractedAttribute";
|
|
8667
8680
|
/**
|
|
8668
8681
|
* An operation that configures a `@defer` block.
|
|
8669
8682
|
*/
|
|
8670
|
-
OpKind[OpKind["Defer"] =
|
|
8683
|
+
OpKind[OpKind["Defer"] = 28] = "Defer";
|
|
8671
8684
|
/**
|
|
8672
8685
|
* An operation that controls when a `@defer` loads.
|
|
8673
8686
|
*/
|
|
8674
|
-
OpKind[OpKind["DeferOn"] =
|
|
8687
|
+
OpKind[OpKind["DeferOn"] = 29] = "DeferOn";
|
|
8675
8688
|
/**
|
|
8676
8689
|
* An operation that controls when a `@defer` loads, using a custom expression as the condition.
|
|
8677
8690
|
*/
|
|
8678
|
-
OpKind[OpKind["DeferWhen"] =
|
|
8691
|
+
OpKind[OpKind["DeferWhen"] = 30] = "DeferWhen";
|
|
8679
8692
|
/**
|
|
8680
8693
|
* An i18n message that has been extracted for inclusion in the consts array.
|
|
8681
8694
|
*/
|
|
8682
|
-
OpKind[OpKind["I18nMessage"] =
|
|
8695
|
+
OpKind[OpKind["I18nMessage"] = 31] = "I18nMessage";
|
|
8683
8696
|
/**
|
|
8684
8697
|
* A host binding property.
|
|
8685
8698
|
*/
|
|
8686
|
-
OpKind[OpKind["HostProperty"] =
|
|
8699
|
+
OpKind[OpKind["HostProperty"] = 32] = "HostProperty";
|
|
8687
8700
|
/**
|
|
8688
8701
|
* A namespace change, which causes the subsequent elements to be processed as either HTML or SVG.
|
|
8689
8702
|
*/
|
|
8690
|
-
OpKind[OpKind["Namespace"] =
|
|
8703
|
+
OpKind[OpKind["Namespace"] = 33] = "Namespace";
|
|
8691
8704
|
/**
|
|
8692
8705
|
* Configure a content projeciton definition for the view.
|
|
8693
8706
|
*/
|
|
8694
|
-
OpKind[OpKind["ProjectionDef"] =
|
|
8707
|
+
OpKind[OpKind["ProjectionDef"] = 34] = "ProjectionDef";
|
|
8695
8708
|
/**
|
|
8696
8709
|
* Create a content projection slot.
|
|
8697
8710
|
*/
|
|
8698
|
-
OpKind[OpKind["Projection"] =
|
|
8711
|
+
OpKind[OpKind["Projection"] = 35] = "Projection";
|
|
8699
8712
|
/**
|
|
8700
8713
|
* Create a repeater creation instruction op.
|
|
8701
8714
|
*/
|
|
8702
|
-
OpKind[OpKind["RepeaterCreate"] =
|
|
8715
|
+
OpKind[OpKind["RepeaterCreate"] = 36] = "RepeaterCreate";
|
|
8703
8716
|
/**
|
|
8704
8717
|
* An update up for a repeater.
|
|
8705
8718
|
*/
|
|
8706
|
-
OpKind[OpKind["Repeater"] =
|
|
8719
|
+
OpKind[OpKind["Repeater"] = 37] = "Repeater";
|
|
8707
8720
|
/**
|
|
8708
8721
|
* An operation to bind an expression to the property side of a two-way binding.
|
|
8709
8722
|
*/
|
|
8710
|
-
OpKind[OpKind["TwoWayProperty"] =
|
|
8723
|
+
OpKind[OpKind["TwoWayProperty"] = 38] = "TwoWayProperty";
|
|
8711
8724
|
/**
|
|
8712
8725
|
* An operation declaring the event side of a two-way binding.
|
|
8713
8726
|
*/
|
|
8714
|
-
OpKind[OpKind["TwoWayListener"] =
|
|
8727
|
+
OpKind[OpKind["TwoWayListener"] = 39] = "TwoWayListener";
|
|
8715
8728
|
/**
|
|
8716
8729
|
* A creation-time operation that initializes the slot for a `@let` declaration.
|
|
8717
8730
|
*/
|
|
8718
|
-
OpKind[OpKind["DeclareLet"] =
|
|
8731
|
+
OpKind[OpKind["DeclareLet"] = 40] = "DeclareLet";
|
|
8719
8732
|
/**
|
|
8720
8733
|
* An update-time operation that stores the current value of a `@let` declaration.
|
|
8721
8734
|
*/
|
|
8722
|
-
OpKind[OpKind["StoreLet"] =
|
|
8735
|
+
OpKind[OpKind["StoreLet"] = 41] = "StoreLet";
|
|
8723
8736
|
/**
|
|
8724
8737
|
* The start of an i18n block.
|
|
8725
8738
|
*/
|
|
8726
|
-
OpKind[OpKind["I18nStart"] =
|
|
8739
|
+
OpKind[OpKind["I18nStart"] = 42] = "I18nStart";
|
|
8727
8740
|
/**
|
|
8728
8741
|
* A self-closing i18n on a single element.
|
|
8729
8742
|
*/
|
|
8730
|
-
OpKind[OpKind["I18n"] =
|
|
8743
|
+
OpKind[OpKind["I18n"] = 43] = "I18n";
|
|
8731
8744
|
/**
|
|
8732
8745
|
* The end of an i18n block.
|
|
8733
8746
|
*/
|
|
8734
|
-
OpKind[OpKind["I18nEnd"] =
|
|
8747
|
+
OpKind[OpKind["I18nEnd"] = 44] = "I18nEnd";
|
|
8735
8748
|
/**
|
|
8736
8749
|
* An expression in an i18n message.
|
|
8737
8750
|
*/
|
|
8738
|
-
OpKind[OpKind["I18nExpression"] =
|
|
8751
|
+
OpKind[OpKind["I18nExpression"] = 45] = "I18nExpression";
|
|
8739
8752
|
/**
|
|
8740
8753
|
* An instruction that applies a set of i18n expressions.
|
|
8741
8754
|
*/
|
|
8742
|
-
OpKind[OpKind["I18nApply"] =
|
|
8755
|
+
OpKind[OpKind["I18nApply"] = 46] = "I18nApply";
|
|
8743
8756
|
/**
|
|
8744
8757
|
* An instruction to create an ICU expression.
|
|
8745
8758
|
*/
|
|
8746
|
-
OpKind[OpKind["IcuStart"] =
|
|
8759
|
+
OpKind[OpKind["IcuStart"] = 47] = "IcuStart";
|
|
8747
8760
|
/**
|
|
8748
8761
|
* An instruction to update an ICU expression.
|
|
8749
8762
|
*/
|
|
8750
|
-
OpKind[OpKind["IcuEnd"] =
|
|
8763
|
+
OpKind[OpKind["IcuEnd"] = 48] = "IcuEnd";
|
|
8751
8764
|
/**
|
|
8752
8765
|
* An instruction representing a placeholder in an ICU expression.
|
|
8753
8766
|
*/
|
|
8754
|
-
OpKind[OpKind["IcuPlaceholder"] =
|
|
8767
|
+
OpKind[OpKind["IcuPlaceholder"] = 49] = "IcuPlaceholder";
|
|
8755
8768
|
/**
|
|
8756
8769
|
* An i18n context containing information needed to generate an i18n message.
|
|
8757
8770
|
*/
|
|
8758
|
-
OpKind[OpKind["I18nContext"] =
|
|
8771
|
+
OpKind[OpKind["I18nContext"] = 50] = "I18nContext";
|
|
8759
8772
|
/**
|
|
8760
8773
|
* A creation op that corresponds to i18n attributes on an element.
|
|
8761
8774
|
*/
|
|
8762
|
-
OpKind[OpKind["I18nAttributes"] =
|
|
8775
|
+
OpKind[OpKind["I18nAttributes"] = 51] = "I18nAttributes";
|
|
8763
8776
|
/**
|
|
8764
8777
|
* Creation op that attaches the location at which an element was defined in a template to it.
|
|
8765
8778
|
*/
|
|
8766
|
-
OpKind[OpKind["SourceLocation"] =
|
|
8779
|
+
OpKind[OpKind["SourceLocation"] = 52] = "SourceLocation";
|
|
8767
8780
|
})(OpKind || (OpKind = {}));
|
|
8768
8781
|
/**
|
|
8769
8782
|
* Distinguishes different kinds of IR expressions.
|
|
@@ -10313,6 +10326,8 @@ function transformExpressionsInOp(op, transform, flags) {
|
|
|
10313
10326
|
case OpKind.IcuPlaceholder:
|
|
10314
10327
|
case OpKind.DeclareLet:
|
|
10315
10328
|
case OpKind.SourceLocation:
|
|
10329
|
+
case OpKind.ConditionalCreate:
|
|
10330
|
+
case OpKind.ConditionalBranchCreate:
|
|
10316
10331
|
// These operations contain no expressions.
|
|
10317
10332
|
break;
|
|
10318
10333
|
default:
|
|
@@ -10728,6 +10743,8 @@ const elementContainerOpKinds = new Set([
|
|
|
10728
10743
|
OpKind.ContainerStart,
|
|
10729
10744
|
OpKind.Template,
|
|
10730
10745
|
OpKind.RepeaterCreate,
|
|
10746
|
+
OpKind.ConditionalCreate,
|
|
10747
|
+
OpKind.ConditionalBranchCreate,
|
|
10731
10748
|
]);
|
|
10732
10749
|
/**
|
|
10733
10750
|
* Checks whether the given operation represents the creation of an element or container.
|
|
@@ -10779,6 +10796,48 @@ function createTemplateOp(xref, templateKind, tag, functionNameSuffix, namespace
|
|
|
10779
10796
|
...NEW_OP,
|
|
10780
10797
|
};
|
|
10781
10798
|
}
|
|
10799
|
+
function createConditionalCreateOp(xref, templateKind, tag, functionNameSuffix, namespace, i18nPlaceholder, startSourceSpan, wholeSourceSpan) {
|
|
10800
|
+
return {
|
|
10801
|
+
kind: OpKind.ConditionalCreate,
|
|
10802
|
+
xref,
|
|
10803
|
+
templateKind,
|
|
10804
|
+
attributes: null,
|
|
10805
|
+
tag,
|
|
10806
|
+
handle: new SlotHandle(),
|
|
10807
|
+
functionNameSuffix,
|
|
10808
|
+
decls: null,
|
|
10809
|
+
vars: null,
|
|
10810
|
+
localRefs: [],
|
|
10811
|
+
nonBindable: false,
|
|
10812
|
+
namespace,
|
|
10813
|
+
i18nPlaceholder,
|
|
10814
|
+
startSourceSpan,
|
|
10815
|
+
wholeSourceSpan,
|
|
10816
|
+
...TRAIT_CONSUMES_SLOT,
|
|
10817
|
+
...NEW_OP,
|
|
10818
|
+
};
|
|
10819
|
+
}
|
|
10820
|
+
function createConditionalBranchCreateOp(xref, templateKind, tag, functionNameSuffix, namespace, i18nPlaceholder, startSourceSpan, wholeSourceSpan) {
|
|
10821
|
+
return {
|
|
10822
|
+
kind: OpKind.ConditionalBranchCreate,
|
|
10823
|
+
xref,
|
|
10824
|
+
templateKind,
|
|
10825
|
+
attributes: null,
|
|
10826
|
+
tag,
|
|
10827
|
+
handle: new SlotHandle(),
|
|
10828
|
+
functionNameSuffix,
|
|
10829
|
+
decls: null,
|
|
10830
|
+
vars: null,
|
|
10831
|
+
localRefs: [],
|
|
10832
|
+
nonBindable: false,
|
|
10833
|
+
namespace,
|
|
10834
|
+
i18nPlaceholder,
|
|
10835
|
+
startSourceSpan,
|
|
10836
|
+
wholeSourceSpan,
|
|
10837
|
+
...TRAIT_CONSUMES_SLOT,
|
|
10838
|
+
...NEW_OP,
|
|
10839
|
+
};
|
|
10840
|
+
}
|
|
10782
10841
|
function createRepeaterCreateOp(primaryView, emptyView, tag, track, varNames, emptyTag, i18nPlaceholder, emptyI18nPlaceholder, startSourceSpan, wholeSourceSpan) {
|
|
10783
10842
|
return {
|
|
10784
10843
|
kind: OpKind.RepeaterCreate,
|
|
@@ -11726,36 +11785,38 @@ function specializeBindings(job) {
|
|
|
11726
11785
|
}
|
|
11727
11786
|
}
|
|
11728
11787
|
|
|
11729
|
-
const
|
|
11730
|
-
Identifiers.attribute,
|
|
11731
|
-
Identifiers.classProp,
|
|
11732
|
-
Identifiers.element,
|
|
11733
|
-
Identifiers.elementContainer,
|
|
11734
|
-
Identifiers.elementContainerEnd,
|
|
11735
|
-
Identifiers.elementContainerStart,
|
|
11736
|
-
Identifiers.elementEnd,
|
|
11737
|
-
Identifiers.elementStart,
|
|
11738
|
-
Identifiers.hostProperty,
|
|
11739
|
-
Identifiers.i18nExp,
|
|
11740
|
-
Identifiers.listener,
|
|
11741
|
-
Identifiers.listener,
|
|
11742
|
-
Identifiers.property,
|
|
11743
|
-
Identifiers.styleProp,
|
|
11744
|
-
Identifiers.stylePropInterpolate1,
|
|
11745
|
-
Identifiers.stylePropInterpolate2,
|
|
11746
|
-
Identifiers.stylePropInterpolate3,
|
|
11747
|
-
Identifiers.stylePropInterpolate4,
|
|
11748
|
-
Identifiers.stylePropInterpolate5,
|
|
11749
|
-
Identifiers.stylePropInterpolate6,
|
|
11750
|
-
Identifiers.stylePropInterpolate7,
|
|
11751
|
-
Identifiers.stylePropInterpolate8,
|
|
11752
|
-
Identifiers.stylePropInterpolateV,
|
|
11753
|
-
Identifiers.syntheticHostListener,
|
|
11754
|
-
Identifiers.syntheticHostProperty,
|
|
11755
|
-
Identifiers.templateCreate,
|
|
11756
|
-
Identifiers.twoWayProperty,
|
|
11757
|
-
Identifiers.twoWayListener,
|
|
11758
|
-
Identifiers.declareLet,
|
|
11788
|
+
const CHAIN_COMPATIBILITY = new Map([
|
|
11789
|
+
[Identifiers.attribute, Identifiers.attribute],
|
|
11790
|
+
[Identifiers.classProp, Identifiers.classProp],
|
|
11791
|
+
[Identifiers.element, Identifiers.element],
|
|
11792
|
+
[Identifiers.elementContainer, Identifiers.elementContainer],
|
|
11793
|
+
[Identifiers.elementContainerEnd, Identifiers.elementContainerEnd],
|
|
11794
|
+
[Identifiers.elementContainerStart, Identifiers.elementContainerStart],
|
|
11795
|
+
[Identifiers.elementEnd, Identifiers.elementEnd],
|
|
11796
|
+
[Identifiers.elementStart, Identifiers.elementStart],
|
|
11797
|
+
[Identifiers.hostProperty, Identifiers.hostProperty],
|
|
11798
|
+
[Identifiers.i18nExp, Identifiers.i18nExp],
|
|
11799
|
+
[Identifiers.listener, Identifiers.listener],
|
|
11800
|
+
[Identifiers.listener, Identifiers.listener],
|
|
11801
|
+
[Identifiers.property, Identifiers.property],
|
|
11802
|
+
[Identifiers.styleProp, Identifiers.styleProp],
|
|
11803
|
+
[Identifiers.stylePropInterpolate1, Identifiers.stylePropInterpolate1],
|
|
11804
|
+
[Identifiers.stylePropInterpolate2, Identifiers.stylePropInterpolate2],
|
|
11805
|
+
[Identifiers.stylePropInterpolate3, Identifiers.stylePropInterpolate3],
|
|
11806
|
+
[Identifiers.stylePropInterpolate4, Identifiers.stylePropInterpolate4],
|
|
11807
|
+
[Identifiers.stylePropInterpolate5, Identifiers.stylePropInterpolate5],
|
|
11808
|
+
[Identifiers.stylePropInterpolate6, Identifiers.stylePropInterpolate6],
|
|
11809
|
+
[Identifiers.stylePropInterpolate7, Identifiers.stylePropInterpolate7],
|
|
11810
|
+
[Identifiers.stylePropInterpolate8, Identifiers.stylePropInterpolate8],
|
|
11811
|
+
[Identifiers.stylePropInterpolateV, Identifiers.stylePropInterpolateV],
|
|
11812
|
+
[Identifiers.syntheticHostListener, Identifiers.syntheticHostListener],
|
|
11813
|
+
[Identifiers.syntheticHostProperty, Identifiers.syntheticHostProperty],
|
|
11814
|
+
[Identifiers.templateCreate, Identifiers.templateCreate],
|
|
11815
|
+
[Identifiers.twoWayProperty, Identifiers.twoWayProperty],
|
|
11816
|
+
[Identifiers.twoWayListener, Identifiers.twoWayListener],
|
|
11817
|
+
[Identifiers.declareLet, Identifiers.declareLet],
|
|
11818
|
+
[Identifiers.conditionalCreate, Identifiers.conditionalBranchCreate],
|
|
11819
|
+
[Identifiers.conditionalBranchCreate, Identifiers.conditionalBranchCreate],
|
|
11759
11820
|
]);
|
|
11760
11821
|
/**
|
|
11761
11822
|
* Chaining results in repeated call expressions, causing a deep AST of receiver expressions. To prevent running out of
|
|
@@ -11801,14 +11862,16 @@ function chainOperationsInList(opList) {
|
|
|
11801
11862
|
continue;
|
|
11802
11863
|
}
|
|
11803
11864
|
const instruction = op.statement.expr.fn.value;
|
|
11804
|
-
if (!
|
|
11865
|
+
if (!CHAIN_COMPATIBILITY.has(instruction)) {
|
|
11805
11866
|
// This instruction isn't chainable.
|
|
11806
11867
|
chain = null;
|
|
11807
11868
|
continue;
|
|
11808
11869
|
}
|
|
11809
11870
|
// This instruction can be chained. It can either be added on to the previous chain (if
|
|
11810
11871
|
// compatible) or it can be the start of a new chain.
|
|
11811
|
-
if (chain !== null &&
|
|
11872
|
+
if (chain !== null &&
|
|
11873
|
+
CHAIN_COMPATIBILITY.get(chain.instruction) === instruction &&
|
|
11874
|
+
chain.length < MAX_CHAIN_LENGTH) {
|
|
11812
11875
|
// This instruction can be added onto the previous chain.
|
|
11813
11876
|
const expression = chain.expression.callFn(op.statement.expr.args, op.statement.expr.sourceSpan, op.statement.expr.pure);
|
|
11814
11877
|
chain.expression = expression;
|
|
@@ -13036,6 +13099,8 @@ function recursivelyProcessView(view, parentScope) {
|
|
|
13036
13099
|
const scope = getScopeForView(view, parentScope);
|
|
13037
13100
|
for (const op of view.create) {
|
|
13038
13101
|
switch (op.kind) {
|
|
13102
|
+
case OpKind.ConditionalCreate:
|
|
13103
|
+
case OpKind.ConditionalBranchCreate:
|
|
13039
13104
|
case OpKind.Template:
|
|
13040
13105
|
// Descend into child embedded views.
|
|
13041
13106
|
recursivelyProcessView(view.job.views.get(op.xref), scope);
|
|
@@ -13093,6 +13158,8 @@ function getScopeForView(view, parent) {
|
|
|
13093
13158
|
for (const op of view.create) {
|
|
13094
13159
|
switch (op.kind) {
|
|
13095
13160
|
case OpKind.ElementStart:
|
|
13161
|
+
case OpKind.ConditionalCreate:
|
|
13162
|
+
case OpKind.ConditionalBranchCreate:
|
|
13096
13163
|
case OpKind.Template:
|
|
13097
13164
|
if (!Array.isArray(op.localRefs)) {
|
|
13098
13165
|
throw new Error(`AssertionError: expected localRefs to be an array`);
|
|
@@ -21623,6 +21690,8 @@ function liftLocalRefs(job) {
|
|
|
21623
21690
|
for (const op of unit.create) {
|
|
21624
21691
|
switch (op.kind) {
|
|
21625
21692
|
case OpKind.ElementStart:
|
|
21693
|
+
case OpKind.ConditionalCreate:
|
|
21694
|
+
case OpKind.ConditionalBranchCreate:
|
|
21626
21695
|
case OpKind.Template:
|
|
21627
21696
|
if (!Array.isArray(op.localRefs)) {
|
|
21628
21697
|
throw new Error(`AssertionError: expected localRefs to be an array still`);
|
|
@@ -21765,7 +21834,9 @@ function parseExtractedStyles(job) {
|
|
|
21765
21834
|
isStringLiteral(op.expression)) {
|
|
21766
21835
|
const target = elements.get(op.target);
|
|
21767
21836
|
if (target !== undefined &&
|
|
21768
|
-
target.kind === OpKind.Template
|
|
21837
|
+
(target.kind === OpKind.Template ||
|
|
21838
|
+
target.kind === OpKind.ConditionalCreate ||
|
|
21839
|
+
target.kind === OpKind.ConditionalBranchCreate) &&
|
|
21769
21840
|
target.templateKind === TemplateKind.Structural) {
|
|
21770
21841
|
// TemplateDefinitionBuilder will not apply class and style bindings to structural
|
|
21771
21842
|
// directives; instead, it will leave them as attributes.
|
|
@@ -21880,6 +21951,8 @@ function addNamesToView(unit, baseName, state, compatibility) {
|
|
|
21880
21951
|
addNamesToView(fallbackView, `${baseName}_ProjectionFallback_${op.handle.slot}`, state, compatibility);
|
|
21881
21952
|
}
|
|
21882
21953
|
break;
|
|
21954
|
+
case OpKind.ConditionalCreate:
|
|
21955
|
+
case OpKind.ConditionalBranchCreate:
|
|
21883
21956
|
case OpKind.Template:
|
|
21884
21957
|
if (!(unit instanceof ViewCompilationUnit)) {
|
|
21885
21958
|
throw new Error(`AssertionError: must be compiling a component`);
|
|
@@ -22365,6 +22438,8 @@ function propagateI18nBlocksToTemplates(unit, subTemplateIndex) {
|
|
|
22365
22438
|
}
|
|
22366
22439
|
i18nBlock = null;
|
|
22367
22440
|
break;
|
|
22441
|
+
case OpKind.ConditionalCreate:
|
|
22442
|
+
case OpKind.ConditionalBranchCreate:
|
|
22368
22443
|
case OpKind.Template:
|
|
22369
22444
|
subTemplateIndex = propagateI18nBlocksForView(unit.job.views.get(op.xref), i18nBlock, op.i18nPlaceholder, subTemplateIndex);
|
|
22370
22445
|
break;
|
|
@@ -22729,6 +22804,42 @@ function i18nStart(slot, constIndex, subTemplateIndex, sourceSpan) {
|
|
|
22729
22804
|
}
|
|
22730
22805
|
return call(Identifiers.i18nStart, args, sourceSpan);
|
|
22731
22806
|
}
|
|
22807
|
+
function conditionalCreate(slot, templateFnRef, decls, vars, tag, constIndex, localRefs, sourceSpan) {
|
|
22808
|
+
const args = [
|
|
22809
|
+
literal$1(slot),
|
|
22810
|
+
templateFnRef,
|
|
22811
|
+
literal$1(decls),
|
|
22812
|
+
literal$1(vars),
|
|
22813
|
+
literal$1(tag),
|
|
22814
|
+
literal$1(constIndex),
|
|
22815
|
+
];
|
|
22816
|
+
if (localRefs !== null) {
|
|
22817
|
+
args.push(literal$1(localRefs));
|
|
22818
|
+
args.push(importExpr(Identifiers.templateRefExtractor));
|
|
22819
|
+
}
|
|
22820
|
+
while (args[args.length - 1].isEquivalent(NULL_EXPR)) {
|
|
22821
|
+
args.pop();
|
|
22822
|
+
}
|
|
22823
|
+
return call(Identifiers.conditionalCreate, args, sourceSpan);
|
|
22824
|
+
}
|
|
22825
|
+
function conditionalBranchCreate(slot, templateFnRef, decls, vars, tag, constIndex, localRefs, sourceSpan) {
|
|
22826
|
+
const args = [
|
|
22827
|
+
literal$1(slot),
|
|
22828
|
+
templateFnRef,
|
|
22829
|
+
literal$1(decls),
|
|
22830
|
+
literal$1(vars),
|
|
22831
|
+
literal$1(tag),
|
|
22832
|
+
literal$1(constIndex),
|
|
22833
|
+
];
|
|
22834
|
+
if (localRefs !== null) {
|
|
22835
|
+
args.push(literal$1(localRefs));
|
|
22836
|
+
args.push(importExpr(Identifiers.templateRefExtractor));
|
|
22837
|
+
}
|
|
22838
|
+
while (args[args.length - 1].isEquivalent(NULL_EXPR)) {
|
|
22839
|
+
args.pop();
|
|
22840
|
+
}
|
|
22841
|
+
return call(Identifiers.conditionalBranchCreate, args, sourceSpan);
|
|
22842
|
+
}
|
|
22732
22843
|
function repeaterCreate(slot, viewFnName, decls, vars, tag, constIndex, trackByFn, trackByUsesComponentInstance, emptyViewFnName, emptyDecls, emptyVars, emptyTag, emptyConstIndex, sourceSpan) {
|
|
22733
22844
|
const args = [
|
|
22734
22845
|
literal$1(slot),
|
|
@@ -23298,6 +23409,26 @@ function reifyCreateOperations(unit, ops) {
|
|
|
23298
23409
|
}
|
|
23299
23410
|
OpList.replace(op, projection(op.handle.slot, op.projectionSlotIndex, op.attributes, fallbackViewFnName, fallbackDecls, fallbackVars, op.sourceSpan));
|
|
23300
23411
|
break;
|
|
23412
|
+
case OpKind.ConditionalCreate:
|
|
23413
|
+
if (!(unit instanceof ViewCompilationUnit)) {
|
|
23414
|
+
throw new Error(`AssertionError: must be compiling a component`);
|
|
23415
|
+
}
|
|
23416
|
+
if (Array.isArray(op.localRefs)) {
|
|
23417
|
+
throw new Error(`AssertionError: local refs array should have been extracted into a constant`);
|
|
23418
|
+
}
|
|
23419
|
+
const conditionalCreateChildView = unit.job.views.get(op.xref);
|
|
23420
|
+
OpList.replace(op, conditionalCreate(op.handle.slot, variable(conditionalCreateChildView.fnName), conditionalCreateChildView.decls, conditionalCreateChildView.vars, op.tag, op.attributes, op.localRefs, op.startSourceSpan));
|
|
23421
|
+
break;
|
|
23422
|
+
case OpKind.ConditionalBranchCreate:
|
|
23423
|
+
if (!(unit instanceof ViewCompilationUnit)) {
|
|
23424
|
+
throw new Error(`AssertionError: must be compiling a component`);
|
|
23425
|
+
}
|
|
23426
|
+
if (Array.isArray(op.localRefs)) {
|
|
23427
|
+
throw new Error(`AssertionError: local refs array should have been extracted into a constant`);
|
|
23428
|
+
}
|
|
23429
|
+
const conditionalBranchCreateChildView = unit.job.views.get(op.xref);
|
|
23430
|
+
OpList.replace(op, conditionalBranchCreate(op.handle.slot, variable(conditionalBranchCreateChildView.fnName), conditionalBranchCreateChildView.decls, conditionalBranchCreateChildView.vars, op.tag, op.attributes, op.localRefs, op.startSourceSpan));
|
|
23431
|
+
break;
|
|
23301
23432
|
case OpKind.RepeaterCreate:
|
|
23302
23433
|
if (op.handle.slot === null) {
|
|
23303
23434
|
throw new Error('No slot was assigned for repeater instruction');
|
|
@@ -23855,6 +23986,8 @@ function resolvePlaceholdersForView(job, unit, i18nContexts, elements, pendingSt
|
|
|
23855
23986
|
pendingStructuralDirective = undefined;
|
|
23856
23987
|
}
|
|
23857
23988
|
break;
|
|
23989
|
+
case OpKind.ConditionalCreate:
|
|
23990
|
+
case OpKind.ConditionalBranchCreate:
|
|
23858
23991
|
case OpKind.Template:
|
|
23859
23992
|
const view = job.views.get(op.xref);
|
|
23860
23993
|
if (op.i18nPlaceholder === undefined) {
|
|
@@ -24418,7 +24551,10 @@ function allocateSlots(job) {
|
|
|
24418
24551
|
// propagate the number of slots used for each view into the operation which declares it.
|
|
24419
24552
|
for (const unit of job.units) {
|
|
24420
24553
|
for (const op of unit.ops()) {
|
|
24421
|
-
if (op.kind === OpKind.Template ||
|
|
24554
|
+
if (op.kind === OpKind.Template ||
|
|
24555
|
+
op.kind === OpKind.ConditionalCreate ||
|
|
24556
|
+
op.kind === OpKind.ConditionalBranchCreate ||
|
|
24557
|
+
op.kind === OpKind.RepeaterCreate) {
|
|
24422
24558
|
// Record the number of slots used by the view this `ir.TemplateOp` declares in the
|
|
24423
24559
|
// operation itself, so it can be emitted later.
|
|
24424
24560
|
const childView = job.views.get(op.xref);
|
|
@@ -24479,6 +24615,8 @@ function optimizeStoreLet(job) {
|
|
|
24479
24615
|
* typescript AST, the parentheses node is removed, and then the remaining AST is printed, it
|
|
24480
24616
|
* incorrectly prints `a ? b : c ?? d`. This is different from how it handles the same situation
|
|
24481
24617
|
* with `||` and `&&` where it prints the parentheses even if they are not present in the AST.
|
|
24618
|
+
* Note: We may be able to remove this case if Typescript resolves the following issue:
|
|
24619
|
+
* https://github.com/microsoft/TypeScript/issues/61369
|
|
24482
24620
|
*/
|
|
24483
24621
|
function stripNonrequiredParentheses(job) {
|
|
24484
24622
|
// Check which parentheses are required.
|
|
@@ -24853,7 +24991,10 @@ function countVariables(job) {
|
|
|
24853
24991
|
// an embedded view).
|
|
24854
24992
|
for (const unit of job.units) {
|
|
24855
24993
|
for (const op of unit.create) {
|
|
24856
|
-
if (op.kind !== OpKind.Template &&
|
|
24994
|
+
if (op.kind !== OpKind.Template &&
|
|
24995
|
+
op.kind !== OpKind.RepeaterCreate &&
|
|
24996
|
+
op.kind !== OpKind.ConditionalCreate &&
|
|
24997
|
+
op.kind !== OpKind.ConditionalBranchCreate) {
|
|
24857
24998
|
continue;
|
|
24858
24999
|
}
|
|
24859
25000
|
const childView = job.views.get(op.xref);
|
|
@@ -25837,13 +25978,14 @@ function ingestIfBlock(unit, ifBlock) {
|
|
|
25837
25978
|
}
|
|
25838
25979
|
ifCaseI18nMeta = ifCase.i18n;
|
|
25839
25980
|
}
|
|
25840
|
-
const
|
|
25841
|
-
|
|
25981
|
+
const createOp = i === 0 ? createConditionalCreateOp : createConditionalBranchCreateOp;
|
|
25982
|
+
const conditionalCreateOp = createOp(cView.xref, TemplateKind.Block, tagName, 'Conditional', Namespace.HTML, ifCaseI18nMeta, ifCase.startSourceSpan, ifCase.sourceSpan);
|
|
25983
|
+
unit.create.push(conditionalCreateOp);
|
|
25842
25984
|
if (firstXref === null) {
|
|
25843
25985
|
firstXref = cView.xref;
|
|
25844
25986
|
}
|
|
25845
25987
|
const caseExpr = ifCase.expression ? convertAst(ifCase.expression, unit.job, null) : null;
|
|
25846
|
-
const conditionalCaseExpr = new ConditionalCaseExpr(caseExpr,
|
|
25988
|
+
const conditionalCaseExpr = new ConditionalCaseExpr(caseExpr, conditionalCreateOp.xref, conditionalCreateOp.handle, ifCase.expressionAlias);
|
|
25847
25989
|
conditions.push(conditionalCaseExpr);
|
|
25848
25990
|
ingestNodes(cView, ifCase.children);
|
|
25849
25991
|
}
|
|
@@ -25859,7 +26001,8 @@ function ingestSwitchBlock(unit, switchBlock) {
|
|
|
25859
26001
|
}
|
|
25860
26002
|
let firstXref = null;
|
|
25861
26003
|
let conditions = [];
|
|
25862
|
-
for (
|
|
26004
|
+
for (let i = 0; i < switchBlock.cases.length; i++) {
|
|
26005
|
+
const switchCase = switchBlock.cases[i];
|
|
25863
26006
|
const cView = unit.job.allocateView(unit.xref);
|
|
25864
26007
|
const tagName = ingestControlFlowInsertionPoint(unit, cView.xref, switchCase);
|
|
25865
26008
|
let switchCaseI18nMeta = undefined;
|
|
@@ -25869,15 +26012,16 @@ function ingestSwitchBlock(unit, switchBlock) {
|
|
|
25869
26012
|
}
|
|
25870
26013
|
switchCaseI18nMeta = switchCase.i18n;
|
|
25871
26014
|
}
|
|
25872
|
-
const
|
|
25873
|
-
|
|
26015
|
+
const createOp = i === 0 ? createConditionalCreateOp : createConditionalBranchCreateOp;
|
|
26016
|
+
const conditionalCreateOp = createOp(cView.xref, TemplateKind.Block, tagName, 'Case', Namespace.HTML, switchCaseI18nMeta, switchCase.startSourceSpan, switchCase.sourceSpan);
|
|
26017
|
+
unit.create.push(conditionalCreateOp);
|
|
25874
26018
|
if (firstXref === null) {
|
|
25875
26019
|
firstXref = cView.xref;
|
|
25876
26020
|
}
|
|
25877
26021
|
const caseExpr = switchCase.expression
|
|
25878
26022
|
? convertAst(switchCase.expression, unit.job, switchBlock.startSourceSpan)
|
|
25879
26023
|
: null;
|
|
25880
|
-
const conditionalCaseExpr = new ConditionalCaseExpr(caseExpr,
|
|
26024
|
+
const conditionalCaseExpr = new ConditionalCaseExpr(caseExpr, conditionalCreateOp.xref, conditionalCreateOp.handle);
|
|
25881
26025
|
conditions.push(conditionalCaseExpr);
|
|
25882
26026
|
ingestNodes(cView, switchCase.children);
|
|
25883
26027
|
}
|
|
@@ -31467,7 +31611,7 @@ var FactoryTarget;
|
|
|
31467
31611
|
* @description
|
|
31468
31612
|
* Entry point for all public APIs of the compiler package.
|
|
31469
31613
|
*/
|
|
31470
|
-
new Version('20.0.0-next.
|
|
31614
|
+
new Version('20.0.0-next.4');
|
|
31471
31615
|
|
|
31472
31616
|
//////////////////////////////////////
|
|
31473
31617
|
// THIS FILE HAS GLOBAL SIDE EFFECT //
|
|
@@ -32422,7 +32566,7 @@ class NodeJSPathManipulation {
|
|
|
32422
32566
|
// G3-ESM-MARKER: G3 uses CommonJS, but externally everything in ESM.
|
|
32423
32567
|
// CommonJS/ESM interop for determining the current file name and containing dir.
|
|
32424
32568
|
const isCommonJS = typeof __filename !== 'undefined';
|
|
32425
|
-
const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('checker-
|
|
32569
|
+
const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('checker-k591b6WQ.js', document.baseURI).href));
|
|
32426
32570
|
const currentFileName = isCommonJS ? __filename : url.fileURLToPath(currentFileUrl);
|
|
32427
32571
|
/**
|
|
32428
32572
|
* A wrapper around the Node.js file-system that supports readonly operations and path manipulation.
|
|
@@ -37673,33 +37817,7 @@ class ExpressionTranslatorVisitor {
|
|
|
37673
37817
|
}
|
|
37674
37818
|
}
|
|
37675
37819
|
visitConditionalExpr(ast, context) {
|
|
37676
|
-
|
|
37677
|
-
// Ordinarily the ternary operator is right-associative. The following are equivalent:
|
|
37678
|
-
// `a ? b : c ? d : e` => `a ? b : (c ? d : e)`
|
|
37679
|
-
//
|
|
37680
|
-
// However, occasionally Angular needs to produce a left-associative conditional, such as in
|
|
37681
|
-
// the case of a null-safe navigation production: `{{a?.b ? c : d}}`. This template produces
|
|
37682
|
-
// a ternary of the form:
|
|
37683
|
-
// `a == null ? null : rest of expression`
|
|
37684
|
-
// If the rest of the expression is also a ternary though, this would produce the form:
|
|
37685
|
-
// `a == null ? null : a.b ? c : d`
|
|
37686
|
-
// which, if left as right-associative, would be incorrectly associated as:
|
|
37687
|
-
// `a == null ? null : (a.b ? c : d)`
|
|
37688
|
-
//
|
|
37689
|
-
// In such cases, the left-associativity needs to be enforced with parentheses:
|
|
37690
|
-
// `(a == null ? null : a.b) ? c : d`
|
|
37691
|
-
//
|
|
37692
|
-
// Such parentheses could always be included in the condition (guaranteeing correct behavior) in
|
|
37693
|
-
// all cases, but this has a code size cost. Instead, parentheses are added only when a
|
|
37694
|
-
// conditional expression is directly used as the condition of another.
|
|
37695
|
-
//
|
|
37696
|
-
// TODO(alxhub): investigate better logic for precendence of conditional operators
|
|
37697
|
-
if (ast.condition instanceof ConditionalExpr) {
|
|
37698
|
-
// The condition of this ternary needs to be wrapped in parentheses to maintain
|
|
37699
|
-
// left-associativity.
|
|
37700
|
-
cond = this.factory.createParenthesizedExpression(cond);
|
|
37701
|
-
}
|
|
37702
|
-
return this.factory.createConditional(cond, ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context));
|
|
37820
|
+
return this.factory.createConditional(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context));
|
|
37703
37821
|
}
|
|
37704
37822
|
visitDynamicImportExpr(ast, context) {
|
|
37705
37823
|
const urlExpression = typeof ast.url === 'string'
|