@angular/compiler 16.2.0-next.2 → 16.2.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/esm2022/src/compiler.mjs +3 -3
- package/esm2022/src/jit_compiler_facade.mjs +6 -2
- package/esm2022/src/ml_parser/lexer.mjs +14 -3
- package/esm2022/src/output/abstract_emitter.mjs +4 -1
- package/esm2022/src/output/output_ast.mjs +22 -1
- package/esm2022/src/render3/partial/class_metadata.mjs +1 -1
- package/esm2022/src/render3/partial/directive.mjs +1 -1
- package/esm2022/src/render3/partial/factory.mjs +1 -1
- package/esm2022/src/render3/partial/injectable.mjs +1 -1
- package/esm2022/src/render3/partial/injector.mjs +1 -1
- package/esm2022/src/render3/partial/ng_module.mjs +1 -1
- package/esm2022/src/render3/partial/pipe.mjs +1 -1
- package/esm2022/src/render3/r3_ast.mjs +109 -1
- package/esm2022/src/render3/r3_deferred_blocks.mjs +156 -0
- package/esm2022/src/render3/r3_deferred_triggers.mjs +275 -0
- package/esm2022/src/render3/r3_template_transform.mjs +40 -12
- package/esm2022/src/render3/view/t2_binder.mjs +61 -6
- package/esm2022/src/render3/view/template.mjs +17 -3
- package/esm2022/src/template/pipeline/ir/src/enums.mjs +21 -9
- package/esm2022/src/template/pipeline/ir/src/expression.mjs +4 -1
- package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +42 -1
- package/esm2022/src/template/pipeline/src/emit.mjs +8 -6
- package/esm2022/src/template/pipeline/src/ingest.mjs +25 -3
- package/esm2022/src/template/pipeline/src/instruction.mjs +35 -8
- package/esm2022/src/template/pipeline/src/phases/attribute_extraction.mjs +2 -1
- package/esm2022/src/template/pipeline/src/phases/chaining.mjs +11 -1
- package/esm2022/src/template/pipeline/src/phases/naming.mjs +38 -9
- package/esm2022/src/template/pipeline/src/phases/property_ordering.mjs +82 -0
- package/esm2022/src/template/pipeline/src/phases/reify.mjs +10 -1
- package/esm2022/src/template/pipeline/src/phases/var_counting.mjs +13 -8
- package/esm2022/src/template_parser/binding_parser.mjs +4 -4
- package/esm2022/src/util.mjs +2 -8
- package/esm2022/src/version.mjs +1 -1
- package/fesm2022/compiler.mjs +1335 -456
- package/fesm2022/compiler.mjs.map +1 -1
- package/fesm2022/testing.mjs +1 -1
- package/index.d.ts +120 -2
- package/package.json +2 -2
- package/testing/index.d.ts +1 -1
package/fesm2022/testing.mjs
CHANGED
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v16.2.0-next.
|
|
2
|
+
* @license Angular v16.2.0-next.4
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -391,7 +391,7 @@ declare class BindingParser {
|
|
|
391
391
|
parsePropertyInterpolation(name: string, value: string, sourceSpan: ParseSourceSpan, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan, interpolatedTokens: InterpolatedAttributeToken[] | InterpolatedTextToken[] | null): boolean;
|
|
392
392
|
private _parsePropertyAst;
|
|
393
393
|
private _parseAnimation;
|
|
394
|
-
|
|
394
|
+
parseBinding(value: string, isHostBinding: boolean, sourceSpan: ParseSourceSpan, absoluteOffset: number): ASTWithSource;
|
|
395
395
|
createBoundElementProperty(elementSelector: string, boundProp: ParsedProperty, skipValidation?: boolean, mapPropertyName?: boolean): BoundElementProperty;
|
|
396
396
|
parseEvent(name: string, expression: string, isAssignmentEvent: boolean, sourceSpan: ParseSourceSpan, handlerSpan: ParseSourceSpan, targetMatchableAttrs: string[][], targetEvents: ParsedEvent[], keySpan: ParseSourceSpan): void;
|
|
397
397
|
calcPossibleSecurityContexts(selector: string, propName: string, isAttribute: boolean): SecurityContext[];
|
|
@@ -1023,6 +1023,15 @@ export declare class DomElementSchemaRegistry extends ElementSchemaRegistry {
|
|
|
1023
1023
|
|
|
1024
1024
|
export declare const DYNAMIC_TYPE: BuiltinType;
|
|
1025
1025
|
|
|
1026
|
+
export declare class DynamicImportExpr extends Expression {
|
|
1027
|
+
url: string;
|
|
1028
|
+
constructor(url: string, sourceSpan?: ParseSourceSpan | null);
|
|
1029
|
+
isEquivalent(e: Expression): boolean;
|
|
1030
|
+
isConstant(): boolean;
|
|
1031
|
+
visitExpression(visitor: ExpressionVisitor, context: any): any;
|
|
1032
|
+
clone(): DynamicImportExpr;
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1026
1035
|
declare class Element_2 extends NodeWithI18n {
|
|
1027
1036
|
name: string;
|
|
1028
1037
|
attrs: Attribute[];
|
|
@@ -1200,6 +1209,7 @@ export declare interface ExpressionVisitor {
|
|
|
1200
1209
|
visitLocalizedString(ast: LocalizedString, context: any): any;
|
|
1201
1210
|
visitExternalExpr(ast: ExternalExpr, context: any): any;
|
|
1202
1211
|
visitConditionalExpr(ast: ConditionalExpr, context: any): any;
|
|
1212
|
+
visitDynamicImportExpr(ast: DynamicImportExpr, context: any): any;
|
|
1203
1213
|
visitNotExpr(ast: NotExpr, context: any): any;
|
|
1204
1214
|
visitFunctionExpr(ast: FunctionExpr, context: any): any;
|
|
1205
1215
|
visitUnaryOperatorExpr(ast: UnaryOperatorExpr, context: any): any;
|
|
@@ -1998,6 +2008,7 @@ declare namespace outputAst {
|
|
|
1998
2008
|
ExternalExpr,
|
|
1999
2009
|
ExternalReference,
|
|
2000
2010
|
ConditionalExpr,
|
|
2011
|
+
DynamicImportExpr,
|
|
2001
2012
|
NotExpr,
|
|
2002
2013
|
FnParam,
|
|
2003
2014
|
FunctionExpr,
|
|
@@ -2620,6 +2631,11 @@ export declare interface ParseTemplateOptions {
|
|
|
2620
2631
|
* rules on a case by case basis, instead of for their whole project within a configuration file.
|
|
2621
2632
|
*/
|
|
2622
2633
|
collectCommentNodes?: boolean;
|
|
2634
|
+
/**
|
|
2635
|
+
* Names of the blocks that should be enabled. E.g. `enabledBlockTypes: new Set(['defer'])`
|
|
2636
|
+
* would allow usages of `{#defer}{/defer}` in templates.
|
|
2637
|
+
*/
|
|
2638
|
+
enabledBlockTypes?: Set<string>;
|
|
2623
2639
|
}
|
|
2624
2640
|
|
|
2625
2641
|
export declare class ParseTreeResult {
|
|
@@ -4114,6 +4130,7 @@ declare class RecursiveAstVisitor_2 implements StatementVisitor, ExpressionVisit
|
|
|
4114
4130
|
visitWriteVarExpr(ast: WriteVarExpr, context: any): any;
|
|
4115
4131
|
visitWriteKeyExpr(ast: WriteKeyExpr, context: any): any;
|
|
4116
4132
|
visitWritePropExpr(ast: WritePropExpr, context: any): any;
|
|
4133
|
+
visitDynamicImportExpr(ast: DynamicImportExpr, context: any): any;
|
|
4117
4134
|
visitInvokeFunctionExpr(ast: InvokeFunctionExpr, context: any): any;
|
|
4118
4135
|
visitTaggedTemplateExpr(ast: TaggedTemplateExpr, context: any): any;
|
|
4119
4136
|
visitInstantiateExpr(ast: InstantiateExpr, context: any): any;
|
|
@@ -4377,6 +4394,18 @@ declare namespace t {
|
|
|
4377
4394
|
TmplAstBoundAttribute as BoundAttribute,
|
|
4378
4395
|
TmplAstBoundEvent as BoundEvent,
|
|
4379
4396
|
TmplAstElement as Element,
|
|
4397
|
+
TmplAstDeferredTrigger as DeferredTrigger,
|
|
4398
|
+
TmplAstBoundDeferredTrigger as BoundDeferredTrigger,
|
|
4399
|
+
TmplAstIdleDeferredTrigger as IdleDeferredTrigger,
|
|
4400
|
+
TmplAstImmediateDeferredTrigger as ImmediateDeferredTrigger,
|
|
4401
|
+
TmplAstHoverDeferredTrigger as HoverDeferredTrigger,
|
|
4402
|
+
TmplAstTimerDeferredTrigger as TimerDeferredTrigger,
|
|
4403
|
+
TmplAstInteractionDeferredTrigger as InteractionDeferredTrigger,
|
|
4404
|
+
TmplAstViewportDeferredTrigger as ViewportDeferredTrigger,
|
|
4405
|
+
TmplAstDeferredBlockPlaceholder as DeferredBlockPlaceholder,
|
|
4406
|
+
TmplAstDeferredBlockLoading as DeferredBlockLoading,
|
|
4407
|
+
TmplAstDeferredBlockError as DeferredBlockError,
|
|
4408
|
+
TmplAstDeferredBlock as DeferredBlock,
|
|
4380
4409
|
TmplAstTemplate as Template,
|
|
4381
4410
|
TmplAstContent as Content,
|
|
4382
4411
|
TmplAstVariable as Variable,
|
|
@@ -4547,6 +4576,11 @@ export declare class TmplAstBoundAttribute implements TmplAstNode {
|
|
|
4547
4576
|
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4548
4577
|
}
|
|
4549
4578
|
|
|
4579
|
+
export declare class TmplAstBoundDeferredTrigger extends TmplAstDeferredTrigger {
|
|
4580
|
+
value: AST;
|
|
4581
|
+
constructor(value: AST, sourceSpan: ParseSourceSpan);
|
|
4582
|
+
}
|
|
4583
|
+
|
|
4550
4584
|
export declare class TmplAstBoundEvent implements TmplAstNode {
|
|
4551
4585
|
name: string;
|
|
4552
4586
|
type: ParsedEventType;
|
|
@@ -4579,6 +4613,56 @@ export declare class TmplAstContent implements TmplAstNode {
|
|
|
4579
4613
|
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4580
4614
|
}
|
|
4581
4615
|
|
|
4616
|
+
export declare class TmplAstDeferredBlock implements TmplAstNode {
|
|
4617
|
+
children: TmplAstNode[];
|
|
4618
|
+
triggers: TmplAstDeferredTrigger[];
|
|
4619
|
+
prefetchTriggers: TmplAstDeferredTrigger[];
|
|
4620
|
+
placeholder: TmplAstDeferredBlockPlaceholder | null;
|
|
4621
|
+
loading: TmplAstDeferredBlockLoading | null;
|
|
4622
|
+
error: TmplAstDeferredBlockError | null;
|
|
4623
|
+
sourceSpan: ParseSourceSpan;
|
|
4624
|
+
startSourceSpan: ParseSourceSpan;
|
|
4625
|
+
endSourceSpan: ParseSourceSpan | null;
|
|
4626
|
+
constructor(children: TmplAstNode[], triggers: TmplAstDeferredTrigger[], prefetchTriggers: TmplAstDeferredTrigger[], placeholder: TmplAstDeferredBlockPlaceholder | null, loading: TmplAstDeferredBlockLoading | null, error: TmplAstDeferredBlockError | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
|
|
4627
|
+
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4628
|
+
}
|
|
4629
|
+
|
|
4630
|
+
export declare class TmplAstDeferredBlockError implements TmplAstNode {
|
|
4631
|
+
children: TmplAstNode[];
|
|
4632
|
+
sourceSpan: ParseSourceSpan;
|
|
4633
|
+
startSourceSpan: ParseSourceSpan;
|
|
4634
|
+
endSourceSpan: ParseSourceSpan | null;
|
|
4635
|
+
constructor(children: TmplAstNode[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
|
|
4636
|
+
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4637
|
+
}
|
|
4638
|
+
|
|
4639
|
+
export declare class TmplAstDeferredBlockLoading implements TmplAstNode {
|
|
4640
|
+
children: TmplAstNode[];
|
|
4641
|
+
afterTime: number | null;
|
|
4642
|
+
minimumTime: number | null;
|
|
4643
|
+
sourceSpan: ParseSourceSpan;
|
|
4644
|
+
startSourceSpan: ParseSourceSpan;
|
|
4645
|
+
endSourceSpan: ParseSourceSpan | null;
|
|
4646
|
+
constructor(children: TmplAstNode[], afterTime: number | null, minimumTime: number | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
|
|
4647
|
+
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4648
|
+
}
|
|
4649
|
+
|
|
4650
|
+
export declare class TmplAstDeferredBlockPlaceholder implements TmplAstNode {
|
|
4651
|
+
children: TmplAstNode[];
|
|
4652
|
+
minimumTime: number | null;
|
|
4653
|
+
sourceSpan: ParseSourceSpan;
|
|
4654
|
+
startSourceSpan: ParseSourceSpan;
|
|
4655
|
+
endSourceSpan: ParseSourceSpan | null;
|
|
4656
|
+
constructor(children: TmplAstNode[], minimumTime: number | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
|
|
4657
|
+
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4658
|
+
}
|
|
4659
|
+
|
|
4660
|
+
export declare abstract class TmplAstDeferredTrigger implements TmplAstNode {
|
|
4661
|
+
sourceSpan: ParseSourceSpan;
|
|
4662
|
+
constructor(sourceSpan: ParseSourceSpan);
|
|
4663
|
+
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4664
|
+
}
|
|
4665
|
+
|
|
4582
4666
|
export declare class TmplAstElement implements TmplAstNode {
|
|
4583
4667
|
name: string;
|
|
4584
4668
|
attributes: TmplAstTextAttribute[];
|
|
@@ -4594,6 +4678,9 @@ export declare class TmplAstElement implements TmplAstNode {
|
|
|
4594
4678
|
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4595
4679
|
}
|
|
4596
4680
|
|
|
4681
|
+
export declare class TmplAstHoverDeferredTrigger extends TmplAstDeferredTrigger {
|
|
4682
|
+
}
|
|
4683
|
+
|
|
4597
4684
|
export declare class TmplAstIcu implements TmplAstNode {
|
|
4598
4685
|
vars: {
|
|
4599
4686
|
[name: string]: TmplAstBoundText;
|
|
@@ -4611,6 +4698,17 @@ export declare class TmplAstIcu implements TmplAstNode {
|
|
|
4611
4698
|
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4612
4699
|
}
|
|
4613
4700
|
|
|
4701
|
+
export declare class TmplAstIdleDeferredTrigger extends TmplAstDeferredTrigger {
|
|
4702
|
+
}
|
|
4703
|
+
|
|
4704
|
+
export declare class TmplAstImmediateDeferredTrigger extends TmplAstDeferredTrigger {
|
|
4705
|
+
}
|
|
4706
|
+
|
|
4707
|
+
export declare class TmplAstInteractionDeferredTrigger extends TmplAstDeferredTrigger {
|
|
4708
|
+
reference: string | null;
|
|
4709
|
+
constructor(reference: string | null, sourceSpan: ParseSourceSpan);
|
|
4710
|
+
}
|
|
4711
|
+
|
|
4614
4712
|
export declare interface TmplAstNode {
|
|
4615
4713
|
sourceSpan: ParseSourceSpan;
|
|
4616
4714
|
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
@@ -4619,6 +4717,10 @@ export declare interface TmplAstNode {
|
|
|
4619
4717
|
export declare class TmplAstRecursiveVisitor implements Visitor_3<void> {
|
|
4620
4718
|
visitElement(element: TmplAstElement): void;
|
|
4621
4719
|
visitTemplate(template: TmplAstTemplate): void;
|
|
4720
|
+
visitDeferredBlock(deferred: TmplAstDeferredBlock): void;
|
|
4721
|
+
visitDeferredBlockPlaceholder(block: TmplAstDeferredBlockPlaceholder): void;
|
|
4722
|
+
visitDeferredBlockError(block: TmplAstDeferredBlockError): void;
|
|
4723
|
+
visitDeferredBlockLoading(block: TmplAstDeferredBlockLoading): void;
|
|
4622
4724
|
visitContent(content: TmplAstContent): void;
|
|
4623
4725
|
visitVariable(variable: TmplAstVariable): void;
|
|
4624
4726
|
visitReference(reference: TmplAstReference): void;
|
|
@@ -4628,6 +4730,7 @@ export declare class TmplAstRecursiveVisitor implements Visitor_3<void> {
|
|
|
4628
4730
|
visitText(text: TmplAstText): void;
|
|
4629
4731
|
visitBoundText(text: TmplAstBoundText): void;
|
|
4630
4732
|
visitIcu(icu: TmplAstIcu): void;
|
|
4733
|
+
visitDeferredTrigger(trigger: TmplAstDeferredTrigger): void;
|
|
4631
4734
|
}
|
|
4632
4735
|
|
|
4633
4736
|
export declare class TmplAstReference implements TmplAstNode {
|
|
@@ -4681,6 +4784,11 @@ export declare class TmplAstTextAttribute implements TmplAstNode {
|
|
|
4681
4784
|
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4682
4785
|
}
|
|
4683
4786
|
|
|
4787
|
+
export declare class TmplAstTimerDeferredTrigger extends TmplAstDeferredTrigger {
|
|
4788
|
+
delay: number;
|
|
4789
|
+
constructor(delay: number, sourceSpan: ParseSourceSpan);
|
|
4790
|
+
}
|
|
4791
|
+
|
|
4684
4792
|
export declare class TmplAstVariable implements TmplAstNode {
|
|
4685
4793
|
name: string;
|
|
4686
4794
|
value: string;
|
|
@@ -4691,6 +4799,11 @@ export declare class TmplAstVariable implements TmplAstNode {
|
|
|
4691
4799
|
visit<Result>(visitor: Visitor_3<Result>): Result;
|
|
4692
4800
|
}
|
|
4693
4801
|
|
|
4802
|
+
export declare class TmplAstViewportDeferredTrigger extends TmplAstDeferredTrigger {
|
|
4803
|
+
reference: string | null;
|
|
4804
|
+
constructor(reference: string | null, sourceSpan: ParseSourceSpan);
|
|
4805
|
+
}
|
|
4806
|
+
|
|
4694
4807
|
export declare class Token {
|
|
4695
4808
|
index: number;
|
|
4696
4809
|
end: number;
|
|
@@ -5008,6 +5121,11 @@ declare interface Visitor_3<Result = any> {
|
|
|
5008
5121
|
visitText(text: TmplAstText): Result;
|
|
5009
5122
|
visitBoundText(text: TmplAstBoundText): Result;
|
|
5010
5123
|
visitIcu(icu: TmplAstIcu): Result;
|
|
5124
|
+
visitDeferredBlock(deferred: TmplAstDeferredBlock): Result;
|
|
5125
|
+
visitDeferredBlockPlaceholder(block: TmplAstDeferredBlockPlaceholder): Result;
|
|
5126
|
+
visitDeferredBlockError(block: TmplAstDeferredBlockError): Result;
|
|
5127
|
+
visitDeferredBlockLoading(block: TmplAstDeferredBlockLoading): Result;
|
|
5128
|
+
visitDeferredTrigger(trigger: TmplAstDeferredTrigger): Result;
|
|
5011
5129
|
}
|
|
5012
5130
|
|
|
5013
5131
|
export declare class WrappedNodeExpr<T> extends Expression {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/compiler",
|
|
3
|
-
"version": "16.2.0-next.
|
|
3
|
+
"version": "16.2.0-next.4",
|
|
4
4
|
"description": "Angular - the compiler library",
|
|
5
5
|
"author": "angular",
|
|
6
6
|
"license": "MIT",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"tslib": "^2.3.0"
|
|
12
12
|
},
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"@angular/core": "16.2.0-next.
|
|
14
|
+
"@angular/core": "16.2.0-next.4"
|
|
15
15
|
},
|
|
16
16
|
"peerDependenciesMeta": {
|
|
17
17
|
"@angular/core": {
|
package/testing/index.d.ts
CHANGED