@angular/compiler 17.0.0-next.6 → 17.0.0-next.8

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.
Files changed (75) hide show
  1. package/esm2022/src/compiler.mjs +4 -3
  2. package/esm2022/src/config.mjs +2 -4
  3. package/esm2022/src/injectable_compiler_2.mjs +3 -6
  4. package/esm2022/src/jit_compiler_facade.mjs +2 -7
  5. package/esm2022/src/ml_parser/lexer.mjs +19 -11
  6. package/esm2022/src/ml_parser/parser.mjs +28 -10
  7. package/esm2022/src/ml_parser/tokens.mjs +1 -1
  8. package/esm2022/src/output/abstract_emitter.mjs +8 -1
  9. package/esm2022/src/render3/partial/class_metadata.mjs +1 -1
  10. package/esm2022/src/render3/partial/component.mjs +45 -1
  11. package/esm2022/src/render3/partial/directive.mjs +1 -1
  12. package/esm2022/src/render3/partial/factory.mjs +1 -1
  13. package/esm2022/src/render3/partial/injectable.mjs +1 -1
  14. package/esm2022/src/render3/partial/injector.mjs +1 -1
  15. package/esm2022/src/render3/partial/ng_module.mjs +1 -1
  16. package/esm2022/src/render3/partial/pipe.mjs +1 -1
  17. package/esm2022/src/render3/r3_ast.mjs +37 -19
  18. package/esm2022/src/render3/r3_class_debug_info_compiler.mjs +36 -0
  19. package/esm2022/src/render3/r3_control_flow.mjs +40 -23
  20. package/esm2022/src/render3/r3_deferred_blocks.mjs +13 -3
  21. package/esm2022/src/render3/r3_factory.mjs +2 -2
  22. package/esm2022/src/render3/r3_identifiers.mjs +3 -1
  23. package/esm2022/src/render3/r3_template_transform.mjs +19 -23
  24. package/esm2022/src/render3/util.mjs +3 -3
  25. package/esm2022/src/render3/view/compiler.mjs +8 -6
  26. package/esm2022/src/render3/view/t2_binder.mjs +8 -7
  27. package/esm2022/src/render3/view/template.mjs +36 -27
  28. package/esm2022/src/render3/view/util.mjs +8 -2
  29. package/esm2022/src/template/pipeline/ir/src/enums.mjs +42 -9
  30. package/esm2022/src/template/pipeline/ir/src/expression.mjs +61 -16
  31. package/esm2022/src/template/pipeline/ir/src/operations.mjs +2 -2
  32. package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +55 -12
  33. package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +35 -4
  34. package/esm2022/src/template/pipeline/ir/src/traits.mjs +17 -2
  35. package/esm2022/src/template/pipeline/ir/src/variable.mjs +6 -2
  36. package/esm2022/src/template/pipeline/src/conversion.mjs +3 -2
  37. package/esm2022/src/template/pipeline/src/emit.mjs +16 -10
  38. package/esm2022/src/template/pipeline/src/ingest.mjs +159 -18
  39. package/esm2022/src/template/pipeline/src/instruction.mjs +44 -7
  40. package/esm2022/src/template/pipeline/src/phases/apply_i18n_expressions.mjs +37 -0
  41. package/esm2022/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs +33 -0
  42. package/esm2022/src/template/pipeline/src/phases/chaining.mjs +13 -12
  43. package/esm2022/src/template/pipeline/src/phases/conditionals.mjs +22 -9
  44. package/esm2022/src/template/pipeline/src/phases/empty_elements.mjs +14 -3
  45. package/esm2022/src/template/pipeline/src/phases/generate_variables.mjs +6 -2
  46. package/esm2022/src/template/pipeline/src/phases/has_const_trait_collection.mjs +34 -0
  47. package/esm2022/src/template/pipeline/src/phases/host_style_property_parsing.mjs +6 -1
  48. package/esm2022/src/template/pipeline/src/phases/i18n_const_collection.mjs +3 -3
  49. package/esm2022/src/template/pipeline/src/phases/i18n_message_extraction.mjs +18 -15
  50. package/esm2022/src/template/pipeline/src/phases/i18n_text_extraction.mjs +31 -5
  51. package/esm2022/src/template/pipeline/src/phases/naming.mjs +3 -3
  52. package/esm2022/src/template/pipeline/src/phases/ng_container.mjs +6 -1
  53. package/esm2022/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs +57 -0
  54. package/esm2022/src/template/pipeline/src/phases/propagate_i18n_placeholders.mjs +39 -0
  55. package/esm2022/src/template/pipeline/src/phases/pure_function_extraction.mjs +4 -4
  56. package/esm2022/src/template/pipeline/src/phases/reify.mjs +25 -10
  57. package/esm2022/src/template/pipeline/src/phases/resolve_i18n_placeholders.mjs +163 -36
  58. package/esm2022/src/template/pipeline/src/phases/slot_allocation.mjs +5 -5
  59. package/esm2022/src/template/pipeline/src/phases/temporary_variables.mjs +53 -38
  60. package/esm2022/src/template/pipeline/src/phases/var_counting.mjs +10 -1
  61. package/esm2022/src/template/pipeline/src/phases/variable_optimization.mjs +9 -1
  62. package/esm2022/src/version.mjs +1 -1
  63. package/fesm2022/compiler.mjs +1406 -550
  64. package/fesm2022/compiler.mjs.map +1 -1
  65. package/index.d.ts +81 -18
  66. package/package.json +2 -8
  67. package/esm2022/src/template/pipeline/src/phases/generate_i18n_blocks.mjs +0 -38
  68. package/esm2022/src/template/pipeline/src/phases/no_listeners_on_templates.mjs +0 -32
  69. package/esm2022/testing/index.mjs +0 -13
  70. package/esm2022/testing/public_api.mjs +0 -16
  71. package/esm2022/testing/src/testing.mjs +0 -29
  72. package/esm2022/testing/testing.mjs +0 -5
  73. package/fesm2022/testing.mjs +0 -39
  74. package/fesm2022/testing.mjs.map +0 -1
  75. package/testing/index.d.ts +0 -25
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.0-next.6
2
+ * @license Angular v17.0.0-next.8
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -637,6 +637,12 @@ declare class Comment_3 implements TmplAstNode {
637
637
  visit<Result>(_visitor: Visitor_3<Result>): Result;
638
638
  }
639
639
 
640
+ /**
641
+ * Generate an ngDevMode guarded call to setClassDebugInfo with the debug info about the class
642
+ * (e.g., the file name in which the class is defined)
643
+ */
644
+ export declare function compileClassDebugInfo(debugInfo: R3ClassDebugInfo): outputAst.Expression;
645
+
640
646
  export declare function compileClassMetadata(metadata: R3ClassMetadata): outputAst.Expression;
641
647
 
642
648
  export declare type CompileClassMetadataFn = (metadata: R3ClassMetadata) => outputAst.Expression;
@@ -720,11 +726,9 @@ export declare function compilePipeFromMetadata(metadata: R3PipeMetadata): R3Com
720
726
 
721
727
  export declare class CompilerConfig {
722
728
  defaultEncapsulation: ViewEncapsulation | null;
723
- useJit: boolean;
724
- missingTranslation: MissingTranslationStrategy | null;
725
729
  preserveWhitespaces: boolean;
726
730
  strictInjectionParameters: boolean;
727
- constructor({ defaultEncapsulation, useJit, missingTranslation, preserveWhitespaces, strictInjectionParameters }?: {
731
+ constructor({ defaultEncapsulation, preserveWhitespaces, strictInjectionParameters }?: {
728
732
  defaultEncapsulation?: ViewEncapsulation;
729
733
  useJit?: boolean;
730
734
  missingTranslation?: MissingTranslationStrategy | null;
@@ -1738,10 +1742,11 @@ export declare const enum LexerTokenType {
1738
1742
  BLOCK_OPEN_END = 25,
1739
1743
  BLOCK_CLOSE = 26,
1740
1744
  BLOCK_PARAMETER = 27,
1741
- EOF = 28
1745
+ INCOMPLETE_BLOCK_OPEN = 28,
1746
+ EOF = 29
1742
1747
  }
1743
1748
 
1744
- declare function literal(value: any, type?: Type | null, sourceSpan?: ParseSourceSpan | null): LiteralExpr;
1749
+ export declare function literal(value: any, type?: Type | null, sourceSpan?: ParseSourceSpan | null): LiteralExpr;
1745
1750
 
1746
1751
  declare function literalArr(values: Expression[], type?: Type | null, sourceSpan?: ParseSourceSpan | null): LiteralArrayExpr;
1747
1752
 
@@ -2711,11 +2716,8 @@ export declare interface ParseTemplateOptions {
2711
2716
  * rules on a case by case basis, instead of for their whole project within a configuration file.
2712
2717
  */
2713
2718
  collectCommentNodes?: boolean;
2714
- /**
2715
- * Names of the blocks that should be enabled. E.g. `enabledBlockTypes: new Set(['defer'])`
2716
- * would allow usages of `@defer {}` in templates.
2717
- */
2718
- enabledBlockTypes?: Set<string>;
2719
+ /** Whether the @ block syntax is enabled. */
2720
+ enableBlockSyntax?: boolean;
2719
2721
  }
2720
2722
 
2721
2723
  export declare class ParseTreeResult {
@@ -2829,6 +2831,39 @@ export declare class R3BoundTarget<DirectiveT extends DirectiveMeta> implements
2829
2831
  private referenceTargetToElement;
2830
2832
  }
2831
2833
 
2834
+ /**
2835
+ * Info needed for runtime errors related to a class, such as the location in which the class is
2836
+ * defined.
2837
+ */
2838
+ export declare interface R3ClassDebugInfo {
2839
+ /** The class identifier */
2840
+ type: outputAst.Expression;
2841
+ /**
2842
+ * A string literal containing the original class name as appears in its definition.
2843
+ */
2844
+ className: outputAst.Expression;
2845
+ /**
2846
+ * A string literal containing the relative path of the file in which the class is defined.
2847
+ *
2848
+ * The path is relative to the project root. The compiler does the best effort to find the project
2849
+ * root (e.g., using the rootDir of tsconfig), but if it fails this field is set to null,
2850
+ * indicating that the file path was failed to be computed. In this case, the downstream consumers
2851
+ * of the debug info will usually ignore the `lineNumber` field as well and just show the
2852
+ * `className`. For security reasons we never show the absolute file path and prefer to just
2853
+ * return null here.
2854
+ */
2855
+ filePath: outputAst.Expression | null;
2856
+ /**
2857
+ * A number literal number containing the line number in which this class is defined.
2858
+ */
2859
+ lineNumber: outputAst.Expression;
2860
+ /**
2861
+ * Whether to check if this component is being rendered without its NgModule being loaded into the
2862
+ * browser. Such checks is carried out only in dev mode.
2863
+ */
2864
+ forbidOrphanRendering: boolean;
2865
+ }
2866
+
2832
2867
  /**
2833
2868
  * Metadata of a class which captures the original Angular decorators of a class. The original
2834
2869
  * decorators are preserved in the generated code to allow TestBed APIs to recompile the class
@@ -3771,6 +3806,7 @@ export declare class R3Identifiers {
3771
3806
  static deferPrefetchOnHover: outputAst.ExternalReference;
3772
3807
  static deferPrefetchOnInteraction: outputAst.ExternalReference;
3773
3808
  static deferPrefetchOnViewport: outputAst.ExternalReference;
3809
+ static deferEnableTimerScheduling: outputAst.ExternalReference;
3774
3810
  static conditional: outputAst.ExternalReference;
3775
3811
  static repeater: outputAst.ExternalReference;
3776
3812
  static repeaterCreate: outputAst.ExternalReference;
@@ -3873,6 +3909,7 @@ export declare class R3Identifiers {
3873
3909
  static declareClassMetadata: outputAst.ExternalReference;
3874
3910
  static setClassMetadata: outputAst.ExternalReference;
3875
3911
  static setClassMetadataAsync: outputAst.ExternalReference;
3912
+ static setClassDebugInfo: outputAst.ExternalReference;
3876
3913
  static queryRefresh: outputAst.ExternalReference;
3877
3914
  static viewQuery: outputAst.ExternalReference;
3878
3915
  static loadQuery: outputAst.ExternalReference;
@@ -4590,6 +4627,7 @@ declare namespace t {
4590
4627
  TmplAstForLoopBlockEmpty as ForLoopBlockEmpty,
4591
4628
  TmplAstIfBlock as IfBlock,
4592
4629
  TmplAstIfBlockBranch as IfBlockBranch,
4630
+ TmplAstUnknownBlock as UnknownBlock,
4593
4631
  TmplAstTemplate as Template,
4594
4632
  TmplAstContent as Content,
4595
4633
  TmplAstVariable as Variable,
@@ -4803,13 +4841,14 @@ export declare class TmplAstDeferredBlock implements TmplAstNode {
4803
4841
  loading: TmplAstDeferredBlockLoading | null;
4804
4842
  error: TmplAstDeferredBlockError | null;
4805
4843
  sourceSpan: ParseSourceSpan;
4844
+ mainBlockSpan: ParseSourceSpan;
4806
4845
  startSourceSpan: ParseSourceSpan;
4807
4846
  endSourceSpan: ParseSourceSpan | null;
4808
4847
  readonly triggers: Readonly<TmplAstDeferredBlockTriggers>;
4809
4848
  readonly prefetchTriggers: Readonly<TmplAstDeferredBlockTriggers>;
4810
4849
  private readonly definedTriggers;
4811
4850
  private readonly definedPrefetchTriggers;
4812
- constructor(children: TmplAstNode[], triggers: TmplAstDeferredBlockTriggers, prefetchTriggers: TmplAstDeferredBlockTriggers, placeholder: TmplAstDeferredBlockPlaceholder | null, loading: TmplAstDeferredBlockLoading | null, error: TmplAstDeferredBlockError | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4851
+ constructor(children: TmplAstNode[], triggers: TmplAstDeferredBlockTriggers, prefetchTriggers: TmplAstDeferredBlockTriggers, placeholder: TmplAstDeferredBlockPlaceholder | null, loading: TmplAstDeferredBlockLoading | null, error: TmplAstDeferredBlockError | null, sourceSpan: ParseSourceSpan, mainBlockSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4813
4852
  visit<Result>(visitor: Visitor_3<Result>): Result;
4814
4853
  visitAll(visitor: Visitor_3<unknown>): void;
4815
4854
  private visitTriggers;
@@ -4884,9 +4923,10 @@ export declare class TmplAstForLoopBlock implements TmplAstNode {
4884
4923
  children: TmplAstNode[];
4885
4924
  empty: TmplAstForLoopBlockEmpty | null;
4886
4925
  sourceSpan: ParseSourceSpan;
4926
+ mainBlockSpan: ParseSourceSpan;
4887
4927
  startSourceSpan: ParseSourceSpan;
4888
4928
  endSourceSpan: ParseSourceSpan | null;
4889
- constructor(item: TmplAstVariable, expression: ASTWithSource, trackBy: ASTWithSource, contextVariables: ForLoopBlockContext, children: TmplAstNode[], empty: TmplAstForLoopBlockEmpty | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4929
+ constructor(item: TmplAstVariable, expression: ASTWithSource, trackBy: ASTWithSource, contextVariables: ForLoopBlockContext, children: TmplAstNode[], empty: TmplAstForLoopBlockEmpty | null, sourceSpan: ParseSourceSpan, mainBlockSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4890
4930
  visit<Result>(visitor: Visitor_3<Result>): Result;
4891
4931
  }
4892
4932
 
@@ -4894,7 +4934,8 @@ export declare class TmplAstForLoopBlockEmpty implements TmplAstNode {
4894
4934
  children: TmplAstNode[];
4895
4935
  sourceSpan: ParseSourceSpan;
4896
4936
  startSourceSpan: ParseSourceSpan;
4897
- constructor(children: TmplAstNode[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan);
4937
+ endSourceSpan: ParseSourceSpan | null;
4938
+ constructor(children: TmplAstNode[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4898
4939
  visit<Result>(visitor: Visitor_3<Result>): Result;
4899
4940
  }
4900
4941
 
@@ -4938,7 +4979,8 @@ export declare class TmplAstIfBlockBranch implements TmplAstNode {
4938
4979
  expressionAlias: TmplAstVariable | null;
4939
4980
  sourceSpan: ParseSourceSpan;
4940
4981
  startSourceSpan: ParseSourceSpan;
4941
- constructor(expression: AST | null, children: TmplAstNode[], expressionAlias: TmplAstVariable | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan);
4982
+ endSourceSpan: ParseSourceSpan | null;
4983
+ constructor(expression: AST | null, children: TmplAstNode[], expressionAlias: TmplAstVariable | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4942
4984
  visit<Result>(visitor: Visitor_3<Result>): Result;
4943
4985
  }
4944
4986
 
@@ -4978,6 +5020,7 @@ export declare class TmplAstRecursiveVisitor implements Visitor_3<void> {
4978
5020
  visitBoundText(text: TmplAstBoundText): void;
4979
5021
  visitIcu(icu: TmplAstIcu): void;
4980
5022
  visitDeferredTrigger(trigger: TmplAstDeferredTrigger): void;
5023
+ visitUnknownBlock(block: TmplAstUnknownBlock): void;
4981
5024
  }
4982
5025
 
4983
5026
  export declare class TmplAstReference implements TmplAstNode {
@@ -4993,10 +5036,20 @@ export declare class TmplAstReference implements TmplAstNode {
4993
5036
  export declare class TmplAstSwitchBlock implements TmplAstNode {
4994
5037
  expression: AST;
4995
5038
  cases: TmplAstSwitchBlockCase[];
5039
+ /**
5040
+ * These blocks are only captured to allow for autocompletion in the language service. They
5041
+ * aren't meant to be processed in any other way.
5042
+ */
5043
+ unknownBlocks: TmplAstUnknownBlock[];
4996
5044
  sourceSpan: ParseSourceSpan;
4997
5045
  startSourceSpan: ParseSourceSpan;
4998
5046
  endSourceSpan: ParseSourceSpan | null;
4999
- constructor(expression: AST, cases: TmplAstSwitchBlockCase[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
5047
+ constructor(expression: AST, cases: TmplAstSwitchBlockCase[],
5048
+ /**
5049
+ * These blocks are only captured to allow for autocompletion in the language service. They
5050
+ * aren't meant to be processed in any other way.
5051
+ */
5052
+ unknownBlocks: TmplAstUnknownBlock[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
5000
5053
  visit<Result>(visitor: Visitor_3<Result>): Result;
5001
5054
  }
5002
5055
 
@@ -5005,7 +5058,8 @@ export declare class TmplAstSwitchBlockCase implements TmplAstNode {
5005
5058
  children: TmplAstNode[];
5006
5059
  sourceSpan: ParseSourceSpan;
5007
5060
  startSourceSpan: ParseSourceSpan;
5008
- constructor(expression: AST | null, children: TmplAstNode[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan);
5061
+ endSourceSpan: ParseSourceSpan | null;
5062
+ constructor(expression: AST | null, children: TmplAstNode[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
5009
5063
  visit<Result>(visitor: Visitor_3<Result>): Result;
5010
5064
  }
5011
5065
 
@@ -5055,6 +5109,13 @@ export declare class TmplAstTimerDeferredTrigger extends TmplAstDeferredTrigger
5055
5109
  constructor(delay: number, sourceSpan: ParseSourceSpan);
5056
5110
  }
5057
5111
 
5112
+ export declare class TmplAstUnknownBlock implements TmplAstNode {
5113
+ name: string;
5114
+ sourceSpan: ParseSourceSpan;
5115
+ constructor(name: string, sourceSpan: ParseSourceSpan);
5116
+ visit<Result>(visitor: Visitor_3<Result>): Result;
5117
+ }
5118
+
5058
5119
  export declare class TmplAstVariable implements TmplAstNode {
5059
5120
  name: string;
5060
5121
  value: string;
@@ -5159,7 +5220,8 @@ declare interface TokenizeOptions {
5159
5220
  */
5160
5221
  preserveLineEndings?: boolean;
5161
5222
  /**
5162
- * Whether the block syntax is enabled at the compiler level.
5223
+ * Whether to tokenize @ block syntax. Otherwise considered text,
5224
+ * or ICU tokens if `tokenizeExpansionForms` is enabled.
5163
5225
  */
5164
5226
  tokenizeBlocks?: boolean;
5165
5227
  }
@@ -5363,6 +5425,7 @@ declare interface Visitor_3<Result = any> {
5363
5425
  visitForLoopBlockEmpty(block: TmplAstForLoopBlockEmpty): Result;
5364
5426
  visitIfBlock(block: TmplAstIfBlock): Result;
5365
5427
  visitIfBlockBranch(block: TmplAstIfBlockBranch): Result;
5428
+ visitUnknownBlock(block: TmplAstUnknownBlock): Result;
5366
5429
  }
5367
5430
 
5368
5431
  export declare class WrappedNodeExpr<T> extends Expression {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/compiler",
3
- "version": "17.0.0-next.6",
3
+ "version": "17.0.0-next.8",
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.0.0-next.6"
14
+ "@angular/core": "17.0.0-next.8"
15
15
  },
16
16
  "peerDependenciesMeta": {
17
17
  "@angular/core": {
@@ -56,12 +56,6 @@
56
56
  "esm2022": "./esm2022/index.mjs",
57
57
  "esm": "./esm2022/index.mjs",
58
58
  "default": "./fesm2022/compiler.mjs"
59
- },
60
- "./testing": {
61
- "types": "./testing/index.d.ts",
62
- "esm2022": "./esm2022/testing/testing.mjs",
63
- "esm": "./esm2022/testing/testing.mjs",
64
- "default": "./fesm2022/testing.mjs"
65
59
  }
66
60
  }
67
61
  }
@@ -1,38 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import * as i18n from '../../../../i18n/i18n_ast';
9
- import * as ir from '../../ir';
10
- import { getElementsByXrefId } from '../util/elements';
11
- /**
12
- * Generate i18n start and end isntructions to mark i18n blocks.
13
- */
14
- export function phaseGenerateI18nBlocks(job) {
15
- for (const unit of job.units) {
16
- const elements = getElementsByXrefId(unit);
17
- for (const op of unit.create) {
18
- switch (op.kind) {
19
- case ir.OpKind.ElementEnd:
20
- const start = elements.get(op.xref);
21
- if (start.i18n instanceof i18n.Message) {
22
- const id = job.allocateXrefId();
23
- ir.OpList.insertAfter(ir.createI18nStartOp(id, start.i18n), start);
24
- ir.OpList.insertBefore(ir.createI18nEndOp(id), op);
25
- }
26
- break;
27
- case ir.OpKind.Template:
28
- if (op.i18n !== undefined) {
29
- const id = job.allocateXrefId();
30
- ir.OpList.insertBefore(ir.createI18nStartOp(id, op.i18n), op);
31
- ir.OpList.insertAfter(ir.createI18nEndOp(id), op);
32
- }
33
- break;
34
- }
35
- }
36
- }
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVfaTE4bl9ibG9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvc3JjL3BoYXNlcy9nZW5lcmF0ZV9pMThuX2Jsb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEtBQUssSUFBSSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9CLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEdBQW1CO0lBQ3pELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtRQUM1QixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDNUIsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO2dCQUNmLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVO29CQUN2QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUUsQ0FBQztvQkFDckMsSUFBSSxLQUFLLENBQUMsSUFBSSxZQUFZLElBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQ3RDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDaEMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQWMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7d0JBQ2hGLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFjLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7cUJBQ2pFO29CQUNELE1BQU07Z0JBQ1IsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVE7b0JBQ3JCLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7d0JBQ3pCLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDaEMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQWMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQzNFLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFjLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7cUJBQ2hFO29CQUNELE1BQU07YUFDVDtTQUNGO0tBQ0Y7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIGkxOG4gZnJvbSAnLi4vLi4vLi4vLi4vaTE4bi9pMThuX2FzdCc7XG5pbXBvcnQgKiBhcyBpciBmcm9tICcuLi8uLi9pcic7XG5pbXBvcnQge0NvbXBpbGF0aW9uSm9ifSBmcm9tICcuLi9jb21waWxhdGlvbic7XG5pbXBvcnQge2dldEVsZW1lbnRzQnlYcmVmSWR9IGZyb20gJy4uL3V0aWwvZWxlbWVudHMnO1xuXG4vKipcbiAqIEdlbmVyYXRlIGkxOG4gc3RhcnQgYW5kIGVuZCBpc250cnVjdGlvbnMgdG8gbWFyayBpMThuIGJsb2Nrcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBoYXNlR2VuZXJhdGVJMThuQmxvY2tzKGpvYjogQ29tcGlsYXRpb25Kb2IpOiB2b2lkIHtcbiAgZm9yIChjb25zdCB1bml0IG9mIGpvYi51bml0cykge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gZ2V0RWxlbWVudHNCeVhyZWZJZCh1bml0KTtcbiAgICBmb3IgKGNvbnN0IG9wIG9mIHVuaXQuY3JlYXRlKSB7XG4gICAgICBzd2l0Y2ggKG9wLmtpbmQpIHtcbiAgICAgICAgY2FzZSBpci5PcEtpbmQuRWxlbWVudEVuZDpcbiAgICAgICAgICBjb25zdCBzdGFydCA9IGVsZW1lbnRzLmdldChvcC54cmVmKSE7XG4gICAgICAgICAgaWYgKHN0YXJ0LmkxOG4gaW5zdGFuY2VvZiBpMThuLk1lc3NhZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gam9iLmFsbG9jYXRlWHJlZklkKCk7XG4gICAgICAgICAgICBpci5PcExpc3QuaW5zZXJ0QWZ0ZXI8aXIuQ3JlYXRlT3A+KGlyLmNyZWF0ZUkxOG5TdGFydE9wKGlkLCBzdGFydC5pMThuKSwgc3RhcnQpO1xuICAgICAgICAgICAgaXIuT3BMaXN0Lmluc2VydEJlZm9yZTxpci5DcmVhdGVPcD4oaXIuY3JlYXRlSTE4bkVuZE9wKGlkKSwgb3ApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBpci5PcEtpbmQuVGVtcGxhdGU6XG4gICAgICAgICAgaWYgKG9wLmkxOG4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgaWQgPSBqb2IuYWxsb2NhdGVYcmVmSWQoKTtcbiAgICAgICAgICAgIGlyLk9wTGlzdC5pbnNlcnRCZWZvcmU8aXIuQ3JlYXRlT3A+KGlyLmNyZWF0ZUkxOG5TdGFydE9wKGlkLCBvcC5pMThuKSwgb3ApO1xuICAgICAgICAgICAgaXIuT3BMaXN0Lmluc2VydEFmdGVyPGlyLkNyZWF0ZU9wPihpci5jcmVhdGVJMThuRW5kT3AoaWQpLCBvcCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,32 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import * as ir from '../../ir';
9
- export function phaseNoListenersOnTemplates(job) {
10
- for (const unit of job.units) {
11
- let inTemplate = false;
12
- for (const op of unit.create) {
13
- switch (op.kind) {
14
- case ir.OpKind.Template:
15
- inTemplate = true;
16
- break;
17
- case ir.OpKind.ElementStart:
18
- case ir.OpKind.Element:
19
- case ir.OpKind.ContainerStart:
20
- case ir.OpKind.Container:
21
- inTemplate = false;
22
- break;
23
- case ir.OpKind.Listener:
24
- if (inTemplate) {
25
- ir.OpList.remove(op);
26
- }
27
- break;
28
- }
29
- }
30
- }
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9fbGlzdGVuZXJzX29uX3RlbXBsYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy90ZW1wbGF0ZS9waXBlbGluZS9zcmMvcGhhc2VzL25vX2xpc3RlbmVyc19vbl90ZW1wbGF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHL0IsTUFBTSxVQUFVLDJCQUEyQixDQUFDLEdBQW1CO0lBQzdELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtRQUM1QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzVCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtnQkFDZixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUTtvQkFDckIsVUFBVSxHQUFHLElBQUksQ0FBQztvQkFDbEIsTUFBTTtnQkFDUixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO2dCQUM1QixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUN2QixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO2dCQUM5QixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUztvQkFDdEIsVUFBVSxHQUFHLEtBQUssQ0FBQztvQkFDbkIsTUFBTTtnQkFDUixLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUTtvQkFDckIsSUFBSSxVQUFVLEVBQUU7d0JBQ2QsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQWMsRUFBRSxDQUFDLENBQUM7cUJBQ25DO29CQUNELE1BQU07YUFDVDtTQUNGO0tBQ0Y7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIG8gZnJvbSAnLi4vLi4vLi4vLi4vb3V0cHV0L291dHB1dF9hc3QnO1xuaW1wb3J0ICogYXMgaXIgZnJvbSAnLi4vLi4vaXInO1xuaW1wb3J0IHR5cGUge0NvbXBpbGF0aW9uSm9ifSBmcm9tICcuLi9jb21waWxhdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBwaGFzZU5vTGlzdGVuZXJzT25UZW1wbGF0ZXMoam9iOiBDb21waWxhdGlvbkpvYik6IHZvaWQge1xuICBmb3IgKGNvbnN0IHVuaXQgb2Ygam9iLnVuaXRzKSB7XG4gICAgbGV0IGluVGVtcGxhdGUgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IG9wIG9mIHVuaXQuY3JlYXRlKSB7XG4gICAgICBzd2l0Y2ggKG9wLmtpbmQpIHtcbiAgICAgICAgY2FzZSBpci5PcEtpbmQuVGVtcGxhdGU6XG4gICAgICAgICAgaW5UZW1wbGF0ZSA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgaXIuT3BLaW5kLkVsZW1lbnRTdGFydDpcbiAgICAgICAgY2FzZSBpci5PcEtpbmQuRWxlbWVudDpcbiAgICAgICAgY2FzZSBpci5PcEtpbmQuQ29udGFpbmVyU3RhcnQ6XG4gICAgICAgIGNhc2UgaXIuT3BLaW5kLkNvbnRhaW5lcjpcbiAgICAgICAgICBpblRlbXBsYXRlID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgaXIuT3BLaW5kLkxpc3RlbmVyOlxuICAgICAgICAgIGlmIChpblRlbXBsYXRlKSB7XG4gICAgICAgICAgICBpci5PcExpc3QucmVtb3ZlPGlyLkNyZWF0ZU9wPihvcCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,13 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- // This file is not used to build this module. It is only used during editing
9
- // by the TypeScript language service and during build for verification. `ngc`
10
- // replaces this file with production index.ts when it rewrites private symbol
11
- // names.
12
- export * from './public_api';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci90ZXN0aW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILDZFQUE2RTtBQUM3RSw4RUFBOEU7QUFDOUUsOEVBQThFO0FBQzlFLFNBQVM7QUFFVCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLyBUaGlzIGZpbGUgaXMgbm90IHVzZWQgdG8gYnVpbGQgdGhpcyBtb2R1bGUuIEl0IGlzIG9ubHkgdXNlZCBkdXJpbmcgZWRpdGluZ1xuLy8gYnkgdGhlIFR5cGVTY3JpcHQgbGFuZ3VhZ2Ugc2VydmljZSBhbmQgZHVyaW5nIGJ1aWxkIGZvciB2ZXJpZmljYXRpb24uIGBuZ2NgXG4vLyByZXBsYWNlcyB0aGlzIGZpbGUgd2l0aCBwcm9kdWN0aW9uIGluZGV4LnRzIHdoZW4gaXQgcmV3cml0ZXMgcHJpdmF0ZSBzeW1ib2xcbi8vIG5hbWVzLlxuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,16 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <reference types="node" />
9
- /**
10
- * @module
11
- * @description
12
- * Entry point for all public APIs of this package.
13
- */
14
- export * from './src/testing';
15
- // This file only reexports content of the `src` folder. Keep it that way.
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3Rlc3RpbmcvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCw4QkFBOEI7QUFFOUI7Ozs7R0FJRztBQUNILGNBQWMsZUFBZSxDQUFDO0FBRTlCLDBFQUEwRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cIm5vZGVcIiAvPlxuXG4vKipcbiAqIEBtb2R1bGVcbiAqIEBkZXNjcmlwdGlvblxuICogRW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgQVBJcyBvZiB0aGlzIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3Rlc3RpbmcnO1xuXG4vLyBUaGlzIGZpbGUgb25seSByZWV4cG9ydHMgY29udGVudCBvZiB0aGUgYHNyY2AgZm9sZGVyLiBLZWVwIGl0IHRoYXQgd2F5LlxuIl19
@@ -1,29 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /**
9
- * @module
10
- * @description
11
- * Entry point for all APIs of the compiler package.
12
- *
13
- * <div class="callout is-critical">
14
- * <header>Unstable APIs</header>
15
- * <p>
16
- * All compiler apis are currently considered experimental and private!
17
- * </p>
18
- * <p>
19
- * We expect the APIs in this package to keep on changing. Do not rely on them.
20
- * </p>
21
- * </div>
22
- */
23
- // TODO(alxhub): @angular/compiler/testing is unused in Ivy. A placeholder
24
- // is left here because the components repo still depends on this package
25
- // directly. It will be cleaned up at a later date.
26
- //
27
- // This export ensures this package is not empty.
28
- export const unusedExport = true;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3Rlc3Rpbmcvc3JjL3Rlc3RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUg7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCwwRUFBMEU7QUFDMUUseUVBQXlFO0FBQ3pFLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBAbW9kdWxlXG4gKiBAZGVzY3JpcHRpb25cbiAqIEVudHJ5IHBvaW50IGZvciBhbGwgQVBJcyBvZiB0aGUgY29tcGlsZXIgcGFja2FnZS5cbiAqXG4gKiA8ZGl2IGNsYXNzPVwiY2FsbG91dCBpcy1jcml0aWNhbFwiPlxuICogICA8aGVhZGVyPlVuc3RhYmxlIEFQSXM8L2hlYWRlcj5cbiAqICAgPHA+XG4gKiAgICAgQWxsIGNvbXBpbGVyIGFwaXMgYXJlIGN1cnJlbnRseSBjb25zaWRlcmVkIGV4cGVyaW1lbnRhbCBhbmQgcHJpdmF0ZSFcbiAqICAgPC9wPlxuICogICA8cD5cbiAqICAgICBXZSBleHBlY3QgdGhlIEFQSXMgaW4gdGhpcyBwYWNrYWdlIHRvIGtlZXAgb24gY2hhbmdpbmcuIERvIG5vdCByZWx5IG9uIHRoZW0uXG4gKiAgIDwvcD5cbiAqIDwvZGl2PlxuICovXG5cbi8vIFRPRE8oYWx4aHViKTogQGFuZ3VsYXIvY29tcGlsZXIvdGVzdGluZyBpcyB1bnVzZWQgaW4gSXZ5LiBBIHBsYWNlaG9sZGVyXG4vLyBpcyBsZWZ0IGhlcmUgYmVjYXVzZSB0aGUgY29tcG9uZW50cyByZXBvIHN0aWxsIGRlcGVuZHMgb24gdGhpcyBwYWNrYWdlXG4vLyBkaXJlY3RseS4gSXQgd2lsbCBiZSBjbGVhbmVkIHVwIGF0IGEgbGF0ZXIgZGF0ZS5cbi8vXG4vLyBUaGlzIGV4cG9ydCBlbnN1cmVzIHRoaXMgcGFja2FnZSBpcyBub3QgZW1wdHkuXG5leHBvcnQgY29uc3QgdW51c2VkRXhwb3J0ID0gdHJ1ZTtcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3Rlc3RpbmcvdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,39 +0,0 @@
1
- /**
2
- * @license Angular v17.0.0-next.6
3
- * (c) 2010-2022 Google LLC. https://angular.io/
4
- * License: MIT
5
- */
6
-
7
- /**
8
- * @module
9
- * @description
10
- * Entry point for all APIs of the compiler package.
11
- *
12
- * <div class="callout is-critical">
13
- * <header>Unstable APIs</header>
14
- * <p>
15
- * All compiler apis are currently considered experimental and private!
16
- * </p>
17
- * <p>
18
- * We expect the APIs in this package to keep on changing. Do not rely on them.
19
- * </p>
20
- * </div>
21
- */
22
- // TODO(alxhub): @angular/compiler/testing is unused in Ivy. A placeholder
23
- // is left here because the components repo still depends on this package
24
- // directly. It will be cleaned up at a later date.
25
- //
26
- // This export ensures this package is not empty.
27
- const unusedExport = true;
28
-
29
- /// <reference types="node" />
30
- // This file only reexports content of the `src` folder. Keep it that way.
31
-
32
- // This file is not used to build this module. It is only used during editing
33
-
34
- /**
35
- * Generated bundle index. Do not edit.
36
- */
37
-
38
- export { unusedExport };
39
- //# sourceMappingURL=testing.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../packages/compiler/testing/src/testing.ts","../../../../../../packages/compiler/testing/public_api.ts","../../../../../../packages/compiler/testing/index.ts","../../../../../../packages/compiler/testing/testing.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all APIs of the compiler package.\n *\n * <div class=\"callout is-critical\">\n * <header>Unstable APIs</header>\n * <p>\n * All compiler apis are currently considered experimental and private!\n * </p>\n * <p>\n * We expect the APIs in this package to keep on changing. Do not rely on them.\n * </p>\n * </div>\n */\n\n// TODO(alxhub): @angular/compiler/testing is unused in Ivy. A placeholder\n// is left here because the components repo still depends on this package\n// directly. It will be cleaned up at a later date.\n//\n// This export ensures this package is not empty.\nexport const unusedExport = true;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/// <reference types=\"node\" />\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/testing';\n\n// This file only reexports content of the `src` folder. Keep it that way.\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAQA;;;;;;;;;;;;;;AAcG;AAEH;AACA;AACA;AACA;AACA;AACO,MAAM,YAAY,GAAG;;ACrB5B;AASA;;ACTA;;ACRA;;AAEG;;;;"}
@@ -1,25 +0,0 @@
1
- /**
2
- * @license Angular v17.0.0-next.6
3
- * (c) 2010-2022 Google LLC. https://angular.io/
4
- * License: MIT
5
- */
6
-
7
-
8
- /**
9
- * @module
10
- * @description
11
- * Entry point for all APIs of the compiler package.
12
- *
13
- * <div class="callout is-critical">
14
- * <header>Unstable APIs</header>
15
- * <p>
16
- * All compiler apis are currently considered experimental and private!
17
- * </p>
18
- * <p>
19
- * We expect the APIs in this package to keep on changing. Do not rely on them.
20
- * </p>
21
- * </div>
22
- */
23
- export declare const unusedExport = true;
24
-
25
- export { }