@angular/compiler 17.2.0-next.0 → 17.2.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/compiler_util/expression_converter.mjs +98 -25
- package/esm2022/src/constant_pool.mjs +14 -4
- package/esm2022/src/expression_parser/ast.mjs +2 -3
- package/esm2022/src/expression_parser/parser.mjs +8 -27
- package/esm2022/src/jit_compiler_facade.mjs +9 -2
- 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_class_metadata_compiler.mjs +5 -3
- package/esm2022/src/render3/r3_control_flow.mjs +39 -7
- package/esm2022/src/render3/r3_identifiers.mjs +6 -1
- package/esm2022/src/render3/r3_template_transform.mjs +6 -6
- package/esm2022/src/render3/view/api.mjs +1 -1
- package/esm2022/src/render3/view/compiler.mjs +12 -12
- package/esm2022/src/render3/view/template.mjs +21 -10
- package/esm2022/src/render3/view/util.mjs +4 -2
- package/esm2022/src/template/pipeline/ir/src/enums.mjs +27 -11
- package/esm2022/src/template/pipeline/ir/src/expression.mjs +32 -1
- package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +21 -3
- package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +22 -1
- package/esm2022/src/template/pipeline/src/compilation.mjs +4 -3
- package/esm2022/src/template/pipeline/src/emit.mjs +4 -2
- package/esm2022/src/template/pipeline/src/ingest.mjs +58 -15
- package/esm2022/src/template/pipeline/src/instruction.mjs +14 -1
- package/esm2022/src/template/pipeline/src/phases/attribute_extraction.mjs +15 -1
- package/esm2022/src/template/pipeline/src/phases/binding_specialization.mjs +11 -1
- package/esm2022/src/template/pipeline/src/phases/chaining.mjs +3 -1
- package/esm2022/src/template/pipeline/src/phases/const_collection.mjs +12 -5
- package/esm2022/src/template/pipeline/src/phases/create_defer_deps_fns.mjs +9 -3
- package/esm2022/src/template/pipeline/src/phases/generate_variables.mjs +2 -1
- package/esm2022/src/template/pipeline/src/phases/naming.mjs +14 -2
- package/esm2022/src/template/pipeline/src/phases/next_context_merging.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/ordering.mjs +14 -5
- package/esm2022/src/template/pipeline/src/phases/reify.mjs +9 -1
- package/esm2022/src/template/pipeline/src/phases/resolve_contexts.mjs +2 -1
- package/esm2022/src/template/pipeline/src/phases/resolve_dollar_event.mjs +6 -3
- package/esm2022/src/template/pipeline/src/phases/resolve_names.mjs +3 -2
- package/esm2022/src/template/pipeline/src/phases/save_restore_view.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/temporary_variables.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/transform_two_way_binding_set.mjs +79 -0
- package/esm2022/src/template/pipeline/src/phases/var_counting.mjs +4 -1
- package/esm2022/src/template/pipeline/src/phases/variable_optimization.mjs +3 -3
- package/esm2022/src/template_parser/binding_parser.mjs +45 -17
- package/esm2022/src/version.mjs +1 -1
- package/fesm2022/compiler.mjs +599 -161
- package/fesm2022/compiler.mjs.map +1 -1
- package/index.d.ts +49 -223
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v17.2.0-
|
|
2
|
+
* @license Angular v17.2.0-rc.0
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -157,12 +157,12 @@ export declare abstract class ASTWithName extends AST {
|
|
|
157
157
|
constructor(span: ParseSpan, sourceSpan: AbsoluteSourceSpan, nameSpan: AbsoluteSourceSpan);
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
export declare class ASTWithSource extends AST {
|
|
161
|
-
ast:
|
|
160
|
+
export declare class ASTWithSource<T extends AST = AST> extends AST {
|
|
161
|
+
ast: T;
|
|
162
162
|
source: string | null;
|
|
163
163
|
location: string;
|
|
164
164
|
errors: ParserError[];
|
|
165
|
-
constructor(ast:
|
|
165
|
+
constructor(ast: T, source: string | null, location: string, absoluteOffset: number, errors: ParserError[]);
|
|
166
166
|
visit(visitor: AstVisitor, context?: any): any;
|
|
167
167
|
toString(): string;
|
|
168
168
|
}
|
|
@@ -401,7 +401,7 @@ declare class BindingParser {
|
|
|
401
401
|
*/
|
|
402
402
|
private _parseTemplateBindings;
|
|
403
403
|
parseLiteralAttr(name: string, value: string | null, sourceSpan: ParseSourceSpan, absoluteOffset: number, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan): void;
|
|
404
|
-
parsePropertyBinding(name: string, expression: string, isHost: boolean, sourceSpan: ParseSourceSpan, absoluteOffset: number, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan): void;
|
|
404
|
+
parsePropertyBinding(name: string, expression: string, isHost: boolean, isPartOfAssignmentBinding: boolean, sourceSpan: ParseSourceSpan, absoluteOffset: number, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan): void;
|
|
405
405
|
parsePropertyInterpolation(name: string, value: string, sourceSpan: ParseSourceSpan, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan, interpolatedTokens: InterpolatedAttributeToken[] | InterpolatedTextToken[] | null): boolean;
|
|
406
406
|
private _parsePropertyAst;
|
|
407
407
|
private _parseAnimation;
|
|
@@ -420,6 +420,11 @@ declare class BindingParser {
|
|
|
420
420
|
* @param isAttr true when binding to an attribute
|
|
421
421
|
*/
|
|
422
422
|
private _validatePropertyOrAttributeName;
|
|
423
|
+
/**
|
|
424
|
+
* Returns whether a parsed AST is allowed to be used within the event side of a two-way binding.
|
|
425
|
+
* @param ast Parsed AST to be checked.
|
|
426
|
+
*/
|
|
427
|
+
private _isAllowedAssignmentEvent;
|
|
423
428
|
}
|
|
424
429
|
|
|
425
430
|
export declare class BindingPipe extends ASTWithName {
|
|
@@ -435,7 +440,8 @@ export declare const enum BindingType {
|
|
|
435
440
|
Attribute = 1,
|
|
436
441
|
Class = 2,
|
|
437
442
|
Style = 3,
|
|
438
|
-
Animation = 4
|
|
443
|
+
Animation = 4,
|
|
444
|
+
TwoWay = 5
|
|
439
445
|
}
|
|
440
446
|
|
|
441
447
|
export declare class Block extends NodeWithI18n {
|
|
@@ -691,7 +697,10 @@ export declare type CompileClassMetadataFn = (metadata: R3ClassMetadata) => outp
|
|
|
691
697
|
* Similar to the `setClassMetadata` call, it's wrapped into the `ngDevMode`
|
|
692
698
|
* check to tree-shake away this code in production mode.
|
|
693
699
|
*/
|
|
694
|
-
export declare function compileComponentClassMetadata(metadata: R3ClassMetadata, deferrableTypes: Map<string,
|
|
700
|
+
export declare function compileComponentClassMetadata(metadata: R3ClassMetadata, deferrableTypes: Map<string, {
|
|
701
|
+
importPath: string;
|
|
702
|
+
isDefaultImport: boolean;
|
|
703
|
+
}> | null): outputAst.Expression;
|
|
695
704
|
|
|
696
705
|
/**
|
|
697
706
|
* Compile a component for the render3 runtime as defined by the `R3ComponentMetadata`.
|
|
@@ -799,6 +808,13 @@ export declare class ConstantPool {
|
|
|
799
808
|
private literals;
|
|
800
809
|
private literalFactories;
|
|
801
810
|
private sharedConstants;
|
|
811
|
+
/**
|
|
812
|
+
* Constant pool also tracks claimed names from {@link uniqueName}.
|
|
813
|
+
* This is useful to avoid collisions if variables are intended to be
|
|
814
|
+
* named a certain way- but may conflict. We wouldn't want to always suffix
|
|
815
|
+
* them with unique numbers.
|
|
816
|
+
*/
|
|
817
|
+
private _claimedNames;
|
|
802
818
|
private nextNameIndex;
|
|
803
819
|
constructor(isClosureCompilerEnabled?: boolean);
|
|
804
820
|
getConstLiteral(literal: outputAst.Expression, forceShared?: boolean): outputAst.Expression;
|
|
@@ -810,13 +826,13 @@ export declare class ConstantPool {
|
|
|
810
826
|
getSharedFunctionReference(fn: outputAst.FunctionExpr | outputAst.ArrowFunctionExpr, prefix: string, useUniqueName?: boolean): outputAst.Expression;
|
|
811
827
|
private _getLiteralFactory;
|
|
812
828
|
/**
|
|
813
|
-
* Produce a unique name.
|
|
829
|
+
* Produce a unique name in the context of this pool.
|
|
814
830
|
*
|
|
815
831
|
* The name might be unique among different prefixes if any of the prefixes end in
|
|
816
832
|
* a digit so the prefix should be a constant string (not based on user input) and
|
|
817
833
|
* must not end in a digit.
|
|
818
834
|
*/
|
|
819
|
-
uniqueName(
|
|
835
|
+
uniqueName(name: string, alwaysIncludeSuffix?: boolean): string;
|
|
820
836
|
private freshName;
|
|
821
837
|
}
|
|
822
838
|
|
|
@@ -2217,210 +2233,6 @@ declare namespace outputAst {
|
|
|
2217
2233
|
}
|
|
2218
2234
|
export { outputAst }
|
|
2219
2235
|
|
|
2220
|
-
export declare class _ParseAST {
|
|
2221
|
-
input: string;
|
|
2222
|
-
location: string;
|
|
2223
|
-
absoluteOffset: number;
|
|
2224
|
-
tokens: Token[];
|
|
2225
|
-
parseFlags: ParseFlags;
|
|
2226
|
-
private errors;
|
|
2227
|
-
private offset;
|
|
2228
|
-
private rparensExpected;
|
|
2229
|
-
private rbracketsExpected;
|
|
2230
|
-
private rbracesExpected;
|
|
2231
|
-
private context;
|
|
2232
|
-
private sourceSpanCache;
|
|
2233
|
-
index: number;
|
|
2234
|
-
constructor(input: string, location: string, absoluteOffset: number, tokens: Token[], parseFlags: ParseFlags, errors: ParserError[], offset: number);
|
|
2235
|
-
peek(offset: number): Token;
|
|
2236
|
-
get next(): Token;
|
|
2237
|
-
/** Whether all the parser input has been processed. */
|
|
2238
|
-
get atEOF(): boolean;
|
|
2239
|
-
/**
|
|
2240
|
-
* Index of the next token to be processed, or the end of the last token if all have been
|
|
2241
|
-
* processed.
|
|
2242
|
-
*/
|
|
2243
|
-
get inputIndex(): number;
|
|
2244
|
-
/**
|
|
2245
|
-
* End index of the last processed token, or the start of the first token if none have been
|
|
2246
|
-
* processed.
|
|
2247
|
-
*/
|
|
2248
|
-
get currentEndIndex(): number;
|
|
2249
|
-
/**
|
|
2250
|
-
* Returns the absolute offset of the start of the current token.
|
|
2251
|
-
*/
|
|
2252
|
-
get currentAbsoluteOffset(): number;
|
|
2253
|
-
/**
|
|
2254
|
-
* Retrieve a `ParseSpan` from `start` to the current position (or to `artificialEndIndex` if
|
|
2255
|
-
* provided).
|
|
2256
|
-
*
|
|
2257
|
-
* @param start Position from which the `ParseSpan` will start.
|
|
2258
|
-
* @param artificialEndIndex Optional ending index to be used if provided (and if greater than the
|
|
2259
|
-
* natural ending index)
|
|
2260
|
-
*/
|
|
2261
|
-
span(start: number, artificialEndIndex?: number): ParseSpan;
|
|
2262
|
-
sourceSpan(start: number, artificialEndIndex?: number): AbsoluteSourceSpan;
|
|
2263
|
-
advance(): void;
|
|
2264
|
-
/**
|
|
2265
|
-
* Executes a callback in the provided context.
|
|
2266
|
-
*/
|
|
2267
|
-
private withContext;
|
|
2268
|
-
consumeOptionalCharacter(code: number): boolean;
|
|
2269
|
-
peekKeywordLet(): boolean;
|
|
2270
|
-
peekKeywordAs(): boolean;
|
|
2271
|
-
/**
|
|
2272
|
-
* Consumes an expected character, otherwise emits an error about the missing expected character
|
|
2273
|
-
* and skips over the token stream until reaching a recoverable point.
|
|
2274
|
-
*
|
|
2275
|
-
* See `this.error` and `this.skip` for more details.
|
|
2276
|
-
*/
|
|
2277
|
-
expectCharacter(code: number): void;
|
|
2278
|
-
consumeOptionalOperator(op: string): boolean;
|
|
2279
|
-
expectOperator(operator: string): void;
|
|
2280
|
-
prettyPrintToken(tok: Token): string;
|
|
2281
|
-
expectIdentifierOrKeyword(): string | null;
|
|
2282
|
-
expectIdentifierOrKeywordOrString(): string;
|
|
2283
|
-
parseChain(): AST;
|
|
2284
|
-
parsePipe(): AST;
|
|
2285
|
-
parseExpression(): AST;
|
|
2286
|
-
parseConditional(): AST;
|
|
2287
|
-
parseLogicalOr(): AST;
|
|
2288
|
-
parseLogicalAnd(): AST;
|
|
2289
|
-
parseNullishCoalescing(): AST;
|
|
2290
|
-
parseEquality(): AST;
|
|
2291
|
-
parseRelational(): AST;
|
|
2292
|
-
parseAdditive(): AST;
|
|
2293
|
-
parseMultiplicative(): AST;
|
|
2294
|
-
parsePrefix(): AST;
|
|
2295
|
-
parseCallChain(): AST;
|
|
2296
|
-
parsePrimary(): AST;
|
|
2297
|
-
parseExpressionList(terminator: number): AST[];
|
|
2298
|
-
parseLiteralMap(): LiteralMap;
|
|
2299
|
-
parseAccessMember(readReceiver: AST, start: number, isSafe: boolean): AST;
|
|
2300
|
-
parseCall(receiver: AST, start: number, isSafe: boolean): AST;
|
|
2301
|
-
private consumeOptionalAssignment;
|
|
2302
|
-
parseCallArguments(): BindingPipe[];
|
|
2303
|
-
/**
|
|
2304
|
-
* Parses an identifier, a keyword, a string with an optional `-` in between,
|
|
2305
|
-
* and returns the string along with its absolute source span.
|
|
2306
|
-
*/
|
|
2307
|
-
expectTemplateBindingKey(): TemplateBindingIdentifier;
|
|
2308
|
-
/**
|
|
2309
|
-
* Parse microsyntax template expression and return a list of bindings or
|
|
2310
|
-
* parsing errors in case the given expression is invalid.
|
|
2311
|
-
*
|
|
2312
|
-
* For example,
|
|
2313
|
-
* ```
|
|
2314
|
-
* <div *ngFor="let item of items; index as i; trackBy: func">
|
|
2315
|
-
* ```
|
|
2316
|
-
* contains five bindings:
|
|
2317
|
-
* 1. ngFor -> null
|
|
2318
|
-
* 2. item -> NgForOfContext.$implicit
|
|
2319
|
-
* 3. ngForOf -> items
|
|
2320
|
-
* 4. i -> NgForOfContext.index
|
|
2321
|
-
* 5. ngForTrackBy -> func
|
|
2322
|
-
*
|
|
2323
|
-
* For a full description of the microsyntax grammar, see
|
|
2324
|
-
* https://gist.github.com/mhevery/d3530294cff2e4a1b3fe15ff75d08855
|
|
2325
|
-
*
|
|
2326
|
-
* @param templateKey name of the microsyntax directive, like ngIf, ngFor,
|
|
2327
|
-
* without the *, along with its absolute span.
|
|
2328
|
-
*/
|
|
2329
|
-
parseTemplateBindings(templateKey: TemplateBindingIdentifier): TemplateBindingParseResult;
|
|
2330
|
-
parseKeyedReadOrWrite(receiver: AST, start: number, isSafe: boolean): AST;
|
|
2331
|
-
/**
|
|
2332
|
-
* Parse a directive keyword, followed by a mandatory expression.
|
|
2333
|
-
* For example, "of items", "trackBy: func".
|
|
2334
|
-
* The bindings are: ngForOf -> items, ngForTrackBy -> func
|
|
2335
|
-
* There could be an optional "as" binding that follows the expression.
|
|
2336
|
-
* For example,
|
|
2337
|
-
* ```
|
|
2338
|
-
* *ngFor="let item of items | slice:0:1 as collection".
|
|
2339
|
-
* ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^
|
|
2340
|
-
* keyword bound target optional 'as' binding
|
|
2341
|
-
* ```
|
|
2342
|
-
*
|
|
2343
|
-
* @param key binding key, for example, ngFor, ngIf, ngForOf, along with its
|
|
2344
|
-
* absolute span.
|
|
2345
|
-
*/
|
|
2346
|
-
private parseDirectiveKeywordBindings;
|
|
2347
|
-
/**
|
|
2348
|
-
* Return the expression AST for the bound target of a directive keyword
|
|
2349
|
-
* binding. For example,
|
|
2350
|
-
* ```
|
|
2351
|
-
* *ngIf="condition | pipe"
|
|
2352
|
-
* ^^^^^^^^^^^^^^^^ bound target for "ngIf"
|
|
2353
|
-
* *ngFor="let item of items"
|
|
2354
|
-
* ^^^^^ bound target for "ngForOf"
|
|
2355
|
-
* ```
|
|
2356
|
-
*/
|
|
2357
|
-
private getDirectiveBoundTarget;
|
|
2358
|
-
/**
|
|
2359
|
-
* Return the binding for a variable declared using `as`. Note that the order
|
|
2360
|
-
* of the key-value pair in this declaration is reversed. For example,
|
|
2361
|
-
* ```
|
|
2362
|
-
* *ngFor="let item of items; index as i"
|
|
2363
|
-
* ^^^^^ ^
|
|
2364
|
-
* value key
|
|
2365
|
-
* ```
|
|
2366
|
-
*
|
|
2367
|
-
* @param value name of the value in the declaration, "ngIf" in the example
|
|
2368
|
-
* above, along with its absolute span.
|
|
2369
|
-
*/
|
|
2370
|
-
private parseAsBinding;
|
|
2371
|
-
/**
|
|
2372
|
-
* Return the binding for a variable declared using `let`. For example,
|
|
2373
|
-
* ```
|
|
2374
|
-
* *ngFor="let item of items; let i=index;"
|
|
2375
|
-
* ^^^^^^^^ ^^^^^^^^^^^
|
|
2376
|
-
* ```
|
|
2377
|
-
* In the first binding, `item` is bound to `NgForOfContext.$implicit`.
|
|
2378
|
-
* In the second binding, `i` is bound to `NgForOfContext.index`.
|
|
2379
|
-
*/
|
|
2380
|
-
private parseLetBinding;
|
|
2381
|
-
/**
|
|
2382
|
-
* Consume the optional statement terminator: semicolon or comma.
|
|
2383
|
-
*/
|
|
2384
|
-
private consumeStatementTerminator;
|
|
2385
|
-
/**
|
|
2386
|
-
* Records an error and skips over the token stream until reaching a recoverable point. See
|
|
2387
|
-
* `this.skip` for more details on token skipping.
|
|
2388
|
-
*/
|
|
2389
|
-
error(message: string, index?: number | null): void;
|
|
2390
|
-
private locationText;
|
|
2391
|
-
/**
|
|
2392
|
-
* Records an error for an unexpected private identifier being discovered.
|
|
2393
|
-
* @param token Token representing a private identifier.
|
|
2394
|
-
* @param extraMessage Optional additional message being appended to the error.
|
|
2395
|
-
*/
|
|
2396
|
-
private _reportErrorForPrivateIdentifier;
|
|
2397
|
-
/**
|
|
2398
|
-
* Error recovery should skip tokens until it encounters a recovery point.
|
|
2399
|
-
*
|
|
2400
|
-
* The following are treated as unconditional recovery points:
|
|
2401
|
-
* - end of input
|
|
2402
|
-
* - ';' (parseChain() is always the root production, and it expects a ';')
|
|
2403
|
-
* - '|' (since pipes may be chained and each pipe expression may be treated independently)
|
|
2404
|
-
*
|
|
2405
|
-
* The following are conditional recovery points:
|
|
2406
|
-
* - ')', '}', ']' if one of calling productions is expecting one of these symbols
|
|
2407
|
-
* - This allows skip() to recover from errors such as '(a.) + 1' allowing more of the AST to
|
|
2408
|
-
* be retained (it doesn't skip any tokens as the ')' is retained because of the '(' begins
|
|
2409
|
-
* an '(' <expr> ')' production).
|
|
2410
|
-
* The recovery points of grouping symbols must be conditional as they must be skipped if
|
|
2411
|
-
* none of the calling productions are not expecting the closing token else we will never
|
|
2412
|
-
* make progress in the case of an extraneous group closing symbol (such as a stray ')').
|
|
2413
|
-
* That is, we skip a closing symbol if we are not in a grouping production.
|
|
2414
|
-
* - '=' in a `Writable` context
|
|
2415
|
-
* - In this context, we are able to recover after seeing the `=` operator, which
|
|
2416
|
-
* signals the presence of an independent rvalue expression following the `=` operator.
|
|
2417
|
-
*
|
|
2418
|
-
* If a production expects one of these token it increments the corresponding nesting count,
|
|
2419
|
-
* and then decrements it just prior to checking if the token is in the input.
|
|
2420
|
-
*/
|
|
2421
|
-
private skip;
|
|
2422
|
-
}
|
|
2423
|
-
|
|
2424
2236
|
export declare class ParsedEvent {
|
|
2425
2237
|
name: string;
|
|
2426
2238
|
targetOrPhase: string;
|
|
@@ -2429,12 +2241,14 @@ export declare class ParsedEvent {
|
|
|
2429
2241
|
sourceSpan: ParseSourceSpan;
|
|
2430
2242
|
handlerSpan: ParseSourceSpan;
|
|
2431
2243
|
readonly keySpan: ParseSourceSpan;
|
|
2244
|
+
constructor(name: string, targetOrPhase: string, type: ParsedEventType.TwoWay, handler: ASTWithSource<NonNullAssert | PropertyRead | KeyedRead>, sourceSpan: ParseSourceSpan, handlerSpan: ParseSourceSpan, keySpan: ParseSourceSpan);
|
|
2432
2245
|
constructor(name: string, targetOrPhase: string, type: ParsedEventType, handler: ASTWithSource, sourceSpan: ParseSourceSpan, handlerSpan: ParseSourceSpan, keySpan: ParseSourceSpan);
|
|
2433
2246
|
}
|
|
2434
2247
|
|
|
2435
2248
|
export declare const enum ParsedEventType {
|
|
2436
2249
|
Regular = 0,
|
|
2437
|
-
Animation = 1
|
|
2250
|
+
Animation = 1,
|
|
2251
|
+
TwoWay = 2
|
|
2438
2252
|
}
|
|
2439
2253
|
|
|
2440
2254
|
export declare interface ParsedHostBindings {
|
|
@@ -2468,7 +2282,8 @@ export declare class ParsedProperty {
|
|
|
2468
2282
|
export declare enum ParsedPropertyType {
|
|
2469
2283
|
DEFAULT = 0,
|
|
2470
2284
|
LITERAL_ATTR = 1,
|
|
2471
|
-
ANIMATION = 2
|
|
2285
|
+
ANIMATION = 2,
|
|
2286
|
+
TWO_WAY = 3
|
|
2472
2287
|
}
|
|
2473
2288
|
|
|
2474
2289
|
/**
|
|
@@ -2549,12 +2364,7 @@ export declare const enum ParseFlags {
|
|
|
2549
2364
|
/**
|
|
2550
2365
|
* Whether an output binding is being parsed.
|
|
2551
2366
|
*/
|
|
2552
|
-
Action = 1
|
|
2553
|
-
/**
|
|
2554
|
-
* Whether an assignment event is being parsed, i.e. an expression originating from
|
|
2555
|
-
* two-way-binding aka banana-in-a-box syntax.
|
|
2556
|
-
*/
|
|
2557
|
-
AssignmentEvent = 2
|
|
2367
|
+
Action = 1
|
|
2558
2368
|
}
|
|
2559
2369
|
|
|
2560
2370
|
export declare function parseHostBindings(host: {
|
|
@@ -2579,7 +2389,7 @@ export declare class Parser {
|
|
|
2579
2389
|
private _lexer;
|
|
2580
2390
|
private errors;
|
|
2581
2391
|
constructor(_lexer: Lexer);
|
|
2582
|
-
parseAction(input: string,
|
|
2392
|
+
parseAction(input: string, location: string, absoluteOffset: number, interpolationConfig?: InterpolationConfig): ASTWithSource;
|
|
2583
2393
|
parseBinding(input: string, location: string, absoluteOffset: number, interpolationConfig?: InterpolationConfig): ASTWithSource;
|
|
2584
2394
|
private checkSimpleExpression;
|
|
2585
2395
|
parseSimpleBinding(input: string, location: string, absoluteOffset: number, interpolationConfig?: InterpolationConfig): ASTWithSource;
|
|
@@ -3035,7 +2845,10 @@ export declare interface R3ComponentMetadata<DeclarationT extends R3TemplateDepe
|
|
|
3035
2845
|
/**
|
|
3036
2846
|
* Map of deferrable symbol names -> corresponding import paths.
|
|
3037
2847
|
*/
|
|
3038
|
-
deferrableTypes: Map<string,
|
|
2848
|
+
deferrableTypes: Map<string, {
|
|
2849
|
+
importPath: string;
|
|
2850
|
+
isDefaultImport: boolean;
|
|
2851
|
+
}>;
|
|
3039
2852
|
/**
|
|
3040
2853
|
* Specifies how the 'directives' and/or `pipes` array, if generated, need to be emitted.
|
|
3041
2854
|
*/
|
|
@@ -3090,6 +2903,7 @@ export declare interface R3ComponentMetadata<DeclarationT extends R3TemplateDepe
|
|
|
3090
2903
|
* not be set. If component has empty array imports then this field is not set.
|
|
3091
2904
|
*/
|
|
3092
2905
|
rawImports?: outputAst.Expression;
|
|
2906
|
+
useTemplatePipeline: boolean;
|
|
3093
2907
|
}
|
|
3094
2908
|
|
|
3095
2909
|
/**
|
|
@@ -3622,6 +3436,10 @@ export declare interface R3DeferBlockTemplateDependency {
|
|
|
3622
3436
|
* Import path where this dependency is located.
|
|
3623
3437
|
*/
|
|
3624
3438
|
importPath: string | null;
|
|
3439
|
+
/**
|
|
3440
|
+
* Whether the symbol is the default export.
|
|
3441
|
+
*/
|
|
3442
|
+
isDefaultImport: boolean;
|
|
3625
3443
|
}
|
|
3626
3444
|
|
|
3627
3445
|
declare interface R3DelegatedFnOrClassMetadata extends R3ConstructorFactoryMetadata {
|
|
@@ -3840,6 +3658,7 @@ export declare interface R3HostMetadata {
|
|
|
3840
3658
|
styleAttr?: string;
|
|
3841
3659
|
classAttr?: string;
|
|
3842
3660
|
};
|
|
3661
|
+
useTemplatePipeline: boolean;
|
|
3843
3662
|
}
|
|
3844
3663
|
|
|
3845
3664
|
export declare class R3Identifiers {
|
|
@@ -4029,6 +3848,9 @@ export declare class R3Identifiers {
|
|
|
4029
3848
|
static viewQuerySignal: outputAst.ExternalReference;
|
|
4030
3849
|
static contentQuerySignal: outputAst.ExternalReference;
|
|
4031
3850
|
static queryAdvance: outputAst.ExternalReference;
|
|
3851
|
+
static twoWayProperty: outputAst.ExternalReference;
|
|
3852
|
+
static twoWayBindingSet: outputAst.ExternalReference;
|
|
3853
|
+
static twoWayListener: outputAst.ExternalReference;
|
|
4032
3854
|
static NgOnChangesFeature: outputAst.ExternalReference;
|
|
4033
3855
|
static InheritDefinitionFeature: outputAst.ExternalReference;
|
|
4034
3856
|
static CopyDefinitionFeature: outputAst.ExternalReference;
|
|
@@ -4056,6 +3878,10 @@ export declare class R3Identifiers {
|
|
|
4056
3878
|
name: string;
|
|
4057
3879
|
moduleName: string;
|
|
4058
3880
|
};
|
|
3881
|
+
static unwrapWritableSignal: {
|
|
3882
|
+
name: string;
|
|
3883
|
+
moduleName: string;
|
|
3884
|
+
};
|
|
4059
3885
|
}
|
|
4060
3886
|
|
|
4061
3887
|
export declare interface R3InjectableMetadata {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/compiler",
|
|
3
|
-
"version": "17.2.0-
|
|
3
|
+
"version": "17.2.0-rc.0",
|
|
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": "17.2.0-
|
|
14
|
+
"@angular/core": "17.2.0-rc.0"
|
|
15
15
|
},
|
|
16
16
|
"peerDependenciesMeta": {
|
|
17
17
|
"@angular/core": {
|