@openrewrite/rewrite 8.67.0-20251107-071946 → 8.67.0-20251107-112238

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.
@@ -12,14 +12,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TemplateApplier = exports.TemplateEngine = void 0;
13
13
  exports.setTemplateSourceFileCache = setTemplateSourceFileCache;
14
14
  exports.clearTemplateCache = clearTemplateCache;
15
+ /*
16
+ * Copyright 2025 the original author or authors.
17
+ * <p>
18
+ * Licensed under the Moderne Source Available License (the "License");
19
+ * you may not use this file except in compliance with the License.
20
+ * You may obtain a copy of the License at
21
+ * <p>
22
+ * https://docs.moderne.io/licensing/moderne-source-available-license
23
+ * <p>
24
+ * Unless required by applicable law or agreed to in writing, software
25
+ * distributed under the License is distributed on an "AS IS" BASIS,
26
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27
+ * See the License for the specific language governing permissions and
28
+ * limitations under the License.
29
+ */
15
30
  const __1 = require("../..");
16
31
  const java_1 = require("../../java");
32
+ const __2 = require("..");
17
33
  const immer_1 = require("immer");
18
34
  const utils_1 = require("./utils");
19
35
  const capture_1 = require("./capture");
20
36
  const placeholder_replacement_1 = require("./placeholder-replacement");
21
- const visitor_1 = require("../visitor");
22
- const parser_1 = require("../parser");
37
+ const format_1 = require("../format");
38
+ const parser_utils_1 = require("../parser-utils");
39
+ const uuid_1 = require("../../uuid");
23
40
  const dependency_workspace_1 = require("../dependency-workspace");
24
41
  /**
25
42
  * Simple LRU (Least Recently Used) cache implementation.
@@ -115,7 +132,7 @@ class TemplateCache {
115
132
  : templateString;
116
133
  // Parse and cache (workspace only needed during parsing)
117
134
  // Use templateSourceFileCache if configured for ~3.2x speedup on dependency file parsing
118
- const parser = new parser_1.JavaScriptParser({
135
+ const parser = new __2.JavaScriptParser({
119
136
  relativeTo: workspaceDir,
120
137
  sourceFileCache: templateSourceFileCache
121
138
  });
@@ -179,32 +196,23 @@ class TemplateEngine {
179
196
  const lastStatement = cu.statements[cu.statements.length - 1].element;
180
197
  // Extract from wrapper using shared utility
181
198
  const extracted = utils_1.PlaceholderUtils.extractFromWrapper(lastStatement, 'Template');
182
- // Create a copy to avoid sharing cached AST instances
183
199
  return (0, immer_1.produce)(extracted, _ => { });
184
200
  });
185
201
  }
186
202
  /**
187
- * Applies a template with optional match results from pattern matching.
203
+ * Applies a template from a pre-parsed AST and returns the resulting AST.
204
+ * This method is used by Template.apply() after getting the cached template tree.
188
205
  *
189
- * @param templateParts The string parts of the template
206
+ * @param ast The pre-parsed template AST
190
207
  * @param parameters The parameters between the string parts
191
208
  * @param cursor The cursor pointing to the current location in the AST
192
209
  * @param coordinates The coordinates specifying where and how to insert the generated AST
193
210
  * @param values Map of capture names to values to replace the parameters with
194
211
  * @param wrappersMap Map of capture names to J.RightPadded wrappers (for preserving markers)
195
- * @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
196
- * @param dependencies NPM dependencies for type attribution
197
212
  * @returns A Promise resolving to the generated AST node
198
213
  */
199
- static applyTemplate(templateParts_1, parameters_1, cursor_1, coordinates_1) {
200
- return __awaiter(this, arguments, void 0, function* (templateParts, parameters, cursor, coordinates, values = new Map(), wrappersMap = new Map(), contextStatements = [], dependencies = {}) {
201
- // Build the template string to check if empty
202
- const templateString = TemplateEngine.buildTemplateString(templateParts, parameters);
203
- if (!templateString.trim()) {
204
- return undefined;
205
- }
206
- // Get the parsed and extracted template tree
207
- const ast = yield TemplateEngine.getTemplateTree(templateParts, parameters, contextStatements, dependencies);
214
+ static applyTemplateFromAst(ast_1, parameters_1, cursor_1, coordinates_1) {
215
+ return __awaiter(this, arguments, void 0, function* (ast, parameters, cursor, coordinates, values = new Map(), wrappersMap = new Map()) {
208
216
  // Create substitutions map for placeholders
209
217
  const substitutions = new Map();
210
218
  for (let i = 0; i < parameters.length; i++) {
@@ -279,22 +287,10 @@ class TemplateEngine {
279
287
  for (let i = 0; i < templateParts.length; i++) {
280
288
  result += templateParts[i];
281
289
  if (i < parameters.length) {
282
- const param = parameters[i].value;
283
- // Use a placeholder for Captures, TemplateParams, CaptureValues, Tree nodes, and Tree arrays
284
- // Inline everything else (strings, numbers, booleans) directly
285
- // Check for Capture (could be a Proxy, so check for symbol property)
286
- const isCapture = param instanceof capture_1.CaptureImpl ||
287
- (param && typeof param === 'object' && param[capture_1.CAPTURE_NAME_SYMBOL]);
288
- const isTemplateParam = param instanceof capture_1.TemplateParamImpl;
289
- const isCaptureValue = param instanceof capture_1.CaptureValue;
290
- const isTreeArray = Array.isArray(param) && param.length > 0 && (0, __1.isTree)(param[0]);
291
- if (isCapture || isTemplateParam || isCaptureValue || (0, __1.isTree)(param) || isTreeArray) {
292
- const placeholder = `${utils_1.PlaceholderUtils.PLACEHOLDER_PREFIX}${i}__`;
293
- result += placeholder;
294
- }
295
- else {
296
- result += param;
297
- }
290
+ // All parameters are now placeholders (no primitive inlining)
291
+ // This ensures templates with the same structure always produce the same AST
292
+ const placeholder = `${utils_1.PlaceholderUtils.PLACEHOLDER_PREFIX}${i}__`;
293
+ result += placeholder;
298
294
  }
299
295
  }
300
296
  // Always wrap in function body - let the parser decide what it is,
@@ -415,7 +411,7 @@ exports.TemplateEngine = TemplateEngine;
415
411
  * This allows efficient capture detection without string parsing during matching.
416
412
  * Used by TemplateEngine.getPatternTree() for pattern-specific processing.
417
413
  */
418
- class MarkerAttachmentVisitor extends visitor_1.JavaScriptVisitor {
414
+ class MarkerAttachmentVisitor extends __2.JavaScriptVisitor {
419
415
  constructor(captures) {
420
416
  super();
421
417
  this.captures = captures;
@@ -521,11 +517,9 @@ class TemplateApplier {
521
517
  // Apply the template based on the location and mode
522
518
  switch (loc || 'EXPRESSION_PREFIX') {
523
519
  case 'EXPRESSION_PREFIX':
524
- return this.applyToExpression();
525
520
  case 'STATEMENT_PREFIX':
526
- return this.applyToStatement();
527
521
  case 'BLOCK_END':
528
- return this.applyToBlock();
522
+ return this.applyInternal();
529
523
  default:
530
524
  throw new Error(`Unsupported location: ${loc}`);
531
525
  }
@@ -536,42 +530,77 @@ class TemplateApplier {
536
530
  *
537
531
  * @returns A Promise resolving to the modified AST
538
532
  */
539
- applyToExpression() {
533
+ applyInternal() {
540
534
  return __awaiter(this, void 0, void 0, function* () {
541
535
  const { tree } = this.coordinates;
542
- // Create a copy of the AST with the prefix from the target
543
- return tree ? (0, immer_1.produce)(this.ast, draft => {
544
- draft.prefix = tree.prefix;
545
- }) : this.ast;
536
+ if (!tree) {
537
+ return this.ast;
538
+ }
539
+ const originalTree = tree;
540
+ const resultToUse = this.wrapTree(originalTree, this.ast);
541
+ return this.format(resultToUse, originalTree);
546
542
  });
547
543
  }
548
- /**
549
- * Applies the template to a statement.
550
- *
551
- * @returns A Promise resolving to the modified AST
552
- */
553
- applyToStatement() {
544
+ format(resultToUse, originalTree) {
554
545
  return __awaiter(this, void 0, void 0, function* () {
555
- const { tree } = this.coordinates;
546
+ var _a;
556
547
  // Create a copy of the AST with the prefix from the target
557
- return (0, immer_1.produce)(this.ast, draft => {
558
- draft.prefix = tree.prefix;
559
- });
548
+ const result = Object.assign(Object.assign({}, resultToUse), {
549
+ // We temporarily set the ID so that the formatter can identify the tree
550
+ id: originalTree.id, prefix: originalTree.prefix });
551
+ // Apply auto-formatting to the result
552
+ const formatted = yield (0, format_1.maybeAutoFormat)(originalTree, result, null, undefined, (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.parent);
553
+ // Restore the original ID
554
+ return Object.assign(Object.assign({}, formatted), { id: resultToUse.id });
560
555
  });
561
556
  }
562
- /**
563
- * Applies the template to a block.
564
- *
565
- * @returns A Promise resolving to the modified AST
566
- */
567
- applyToBlock() {
568
- return __awaiter(this, void 0, void 0, function* () {
569
- const { tree } = this.coordinates;
570
- // Create a copy of the AST with the prefix from the target
571
- return (0, immer_1.produce)(this.ast, draft => {
572
- draft.prefix = tree.prefix;
573
- });
574
- });
557
+ wrapTree(originalTree, resultToUse) {
558
+ var _a, _b;
559
+ const parentTree = (_b = (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.parentTree()) === null || _b === void 0 ? void 0 : _b.value;
560
+ // Only apply wrapping logic if we have parent context
561
+ if (parentTree) {
562
+ // FIXME: This is a heuristic to determine if the parent expects a statement child
563
+ const parentExpectsStatement = parentTree.kind === java_1.J.Kind.Block ||
564
+ parentTree.kind === java_1.J.Kind.Case ||
565
+ parentTree.kind === java_1.J.Kind.DoWhileLoop ||
566
+ parentTree.kind === java_1.J.Kind.ForEachLoop ||
567
+ parentTree.kind === java_1.J.Kind.ForLoop ||
568
+ parentTree.kind === java_1.J.Kind.If ||
569
+ parentTree.kind === java_1.J.Kind.IfElse ||
570
+ parentTree.kind === java_1.J.Kind.WhileLoop ||
571
+ parentTree.kind === __2.JS.Kind.CompilationUnit ||
572
+ parentTree.kind === __2.JS.Kind.ForInLoop;
573
+ const originalIsStatement = (0, parser_utils_1.isStatement)(originalTree);
574
+ const resultIsStatement = (0, parser_utils_1.isStatement)(resultToUse);
575
+ const resultIsExpression = (0, parser_utils_1.isExpression)(resultToUse);
576
+ // Determine context and wrap if needed
577
+ if (parentExpectsStatement && originalIsStatement) {
578
+ // Statement context: wrap in ExpressionStatement if result is not a statement
579
+ if (!resultIsStatement && resultIsExpression) {
580
+ resultToUse = {
581
+ kind: __2.JS.Kind.ExpressionStatement,
582
+ id: (0, uuid_1.randomId)(),
583
+ prefix: resultToUse.prefix,
584
+ markers: resultToUse.markers,
585
+ expression: Object.assign(Object.assign({}, resultToUse), { prefix: java_1.emptySpace })
586
+ };
587
+ }
588
+ }
589
+ else if (!parentExpectsStatement) {
590
+ // Expression context: wrap in StatementExpression if result is statement-only
591
+ if (resultIsStatement && !resultIsExpression) {
592
+ const stmt = resultToUse;
593
+ resultToUse = {
594
+ kind: __2.JS.Kind.StatementExpression,
595
+ id: (0, uuid_1.randomId)(),
596
+ prefix: stmt.prefix,
597
+ markers: stmt.markers,
598
+ statement: Object.assign(Object.assign({}, stmt), { prefix: java_1.emptySpace })
599
+ };
600
+ }
601
+ }
602
+ }
603
+ return resultToUse;
575
604
  }
576
605
  }
577
606
  exports.TemplateApplier = TemplateApplier;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}
@@ -8,20 +8,26 @@ import { RewriteRule, RewriteConfig } from './types';
8
8
  *
9
9
  * @example
10
10
  * // Single pattern
11
- * const swapOperands = rewrite(() => ({
12
- * before: pattern`${"left"} + ${"right"}`,
13
- * after: template`${"right"} + ${"left"}`
14
- * }));
11
+ * const swapOperands = rewrite(() => {
12
+ * const { left, right } = { left: capture(), right: capture() };
13
+ * return {
14
+ * before: pattern`${left} + ${right}`,
15
+ * after: template`${right} + ${left}`
16
+ * };
17
+ * });
15
18
  *
16
19
  * @example
17
20
  * // Multiple patterns
18
- * const normalizeComparisons = rewrite(() => ({
19
- * before: [
20
- * pattern`${"left"} == ${"right"}`,
21
- * pattern`${"left"} === ${"right"}`
22
- * ],
23
- * after: template`${"left"} === ${"right"}`
24
- * }));
21
+ * const normalizeComparisons = rewrite(() => {
22
+ * const { left, right } = { left: capture(), right: capture() };
23
+ * return {
24
+ * before: [
25
+ * pattern`${left} == ${right}`,
26
+ * pattern`${left} === ${right}`
27
+ * ],
28
+ * after: template`${left} === ${right}`
29
+ * };
30
+ * });
25
31
  *
26
32
  * @example
27
33
  * // Using in a visitor - IMPORTANT: use `|| node` to handle undefined when no match
@@ -1 +1 @@
1
- {"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"AAeA,OAAO,EAAS,gBAAgB,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAkGnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,OAAO,CACnB,SAAS,EAAE,MAAM,aAAa,GAC/B,WAAW,CAcb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAK,gBAAgB,KAAG,WAgBlE,CAAA"}
1
+ {"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"AAeA,OAAO,EAAS,gBAAgB,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAkGnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,OAAO,CACnB,SAAS,EAAE,MAAM,aAAa,GAC/B,WAAW,CAcb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAK,gBAAgB,KAAG,WAgBlE,CAAA"}
@@ -108,20 +108,26 @@ class RewriteRuleImpl {
108
108
  *
109
109
  * @example
110
110
  * // Single pattern
111
- * const swapOperands = rewrite(() => ({
112
- * before: pattern`${"left"} + ${"right"}`,
113
- * after: template`${"right"} + ${"left"}`
114
- * }));
111
+ * const swapOperands = rewrite(() => {
112
+ * const { left, right } = { left: capture(), right: capture() };
113
+ * return {
114
+ * before: pattern`${left} + ${right}`,
115
+ * after: template`${right} + ${left}`
116
+ * };
117
+ * });
115
118
  *
116
119
  * @example
117
120
  * // Multiple patterns
118
- * const normalizeComparisons = rewrite(() => ({
119
- * before: [
120
- * pattern`${"left"} == ${"right"}`,
121
- * pattern`${"left"} === ${"right"}`
122
- * ],
123
- * after: template`${"left"} === ${"right"}`
124
- * }));
121
+ * const normalizeComparisons = rewrite(() => {
122
+ * const { left, right } = { left: capture(), right: capture() };
123
+ * return {
124
+ * before: [
125
+ * pattern`${left} == ${right}`,
126
+ * pattern`${left} === ${right}`
127
+ * ],
128
+ * after: template`${left} === ${right}`
129
+ * };
130
+ * });
125
131
  *
126
132
  * @example
127
133
  * // Using in a visitor - IMPORTANT: use `|| node` to handle undefined when no match
@@ -1 +1 @@
1
- {"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Cursor, Tree } from '../..';
2
2
  import { J } from '../../java';
3
3
  import { Capture, Parameter, TemplateOptions, TemplateParameter } from './types';
4
+ import { JS } from '..';
4
5
  /**
5
6
  * Coordinates for template application.
6
7
  */
@@ -145,12 +146,18 @@ export declare class Template {
145
146
  */
146
147
  configure(options: TemplateOptions): Template;
147
148
  /**
148
- * Gets the cached template tree or computes it.
149
- * Uses two-level caching: instance cache global cache compute.
149
+ * Gets the template tree for this template, using two-level caching:
150
+ * - Level 1: Instance cache (this._cachedTemplate) - fastest, no lookup needed
151
+ * - Level 2: Global cache (globalAstCache) - fast, shared across all templates
152
+ * - Level 3: TemplateEngine - slow, parses and processes the template
150
153
  *
151
- * @returns A Promise resolving to the template AST tree
154
+ * Since all parameters are now placeholders (no primitives), templates with the same
155
+ * structure always parse to the same AST regardless of parameter values.
156
+ *
157
+ * @returns The cached or newly computed template tree
158
+ * @internal
152
159
  */
153
- private getTemplate;
160
+ getTemplateTree(): Promise<JS.CompilationUnit>;
154
161
  /**
155
162
  * Applies this template and returns the resulting tree.
156
163
  *
@@ -170,7 +177,7 @@ export declare class Template {
170
177
  * access array elements (e.g., `args.elements[0].element`).
171
178
  *
172
179
  * @param strings The string parts of the template
173
- * @param parameters The parameters between the string parts (Capture, Tree, or primitives)
180
+ * @param parameters The parameters between the string parts (Capture, CaptureValue, TemplateParam, Tree, or Tree[])
174
181
  * @returns A Template object that can be applied to generate AST nodes
175
182
  *
176
183
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/template.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,CAAC,EAAC,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAM/E;;GAEG;AACH,KAAK,eAAe,GAAG;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,GAAG,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;CAC/B,CAAC;AAEF,kBAAU,eAAe,CAAC;IAEtB,KAAY,QAAQ,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAE9E,KAAY,IAAI;QACZ,MAAM,IAAA;QACN,KAAK,IAAA;QACL,OAAO,IAAA;KACV;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAcvB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAWrC;;;;OAIG;IACH,KAAK,IAAI,QAAQ;CAiBpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,QAAQ;IA4Bb,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IA5B/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAI;IAE5B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,IAAI,eAAe;IAIjC;;;;;OAKG;gBAEkB,aAAa,EAAE,oBAAoB,EACnC,UAAU,EAAE,SAAS,EAAE;IAI5C;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ;IAO7C;;;;;OAKG;YACW,WAAW;IAsCzB;;;;;;;OAOG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CA2DpJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,UAAU,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAQpG;AAED,YAAY,EAAC,eAAe,EAAC,CAAC"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/template.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,CAAC,EAAC,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAK/E,OAAO,EAAC,EAAE,EAAC,MAAM,IAAI,CAAC;AAEtB;;GAEG;AACH,KAAK,eAAe,GAAG;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,GAAG,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;CAC/B,CAAC;AAEF,kBAAU,eAAe,CAAC;IAEtB,KAAY,QAAQ,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAE9E,KAAY,IAAI;QACZ,MAAM,IAAA;QACN,KAAK,IAAA;QACL,OAAO,IAAA;KACV;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAcvB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAWrC;;;;OAIG;IACH,KAAK,IAAI,QAAQ;CAiBpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,QAAQ;IA4Bb,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IA5B/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAI;IAE5B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,IAAI,eAAe;IAIjC;;;;;OAKG;gBAEkB,aAAa,EAAE,oBAAoB,EACnC,UAAU,EAAE,SAAS,EAAE;IAI5C;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ;IAO7C;;;;;;;;;;;OAWG;IACG,eAAe,IAAI,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC;IAuCpD;;;;;;;OAOG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAoDpJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,UAAU,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAQpG;AAED,YAAY,EAAC,eAAe,EAAC,CAAC"}
@@ -198,21 +198,28 @@ class Template {
198
198
  return this;
199
199
  }
200
200
  /**
201
- * Gets the cached template tree or computes it.
202
- * Uses two-level caching: instance cache global cache compute.
201
+ * Gets the template tree for this template, using two-level caching:
202
+ * - Level 1: Instance cache (this._cachedTemplate) - fastest, no lookup needed
203
+ * - Level 2: Global cache (globalAstCache) - fast, shared across all templates
204
+ * - Level 3: TemplateEngine - slow, parses and processes the template
203
205
  *
204
- * @returns A Promise resolving to the template AST tree
206
+ * Since all parameters are now placeholders (no primitives), templates with the same
207
+ * structure always parse to the same AST regardless of parameter values.
208
+ *
209
+ * @returns The cached or newly computed template tree
210
+ * @internal
205
211
  */
206
- getTemplate() {
212
+ getTemplateTree() {
207
213
  return __awaiter(this, void 0, void 0, function* () {
208
214
  // Level 1: Instance cache (fastest path)
209
215
  if (this._cachedTemplate) {
210
216
  return this._cachedTemplate;
211
217
  }
212
218
  // Generate cache key for global lookup
219
+ // Since all parameters use placeholders, we only need the template structure
213
220
  const contextStatements = this.options.context || this.options.imports || [];
214
- const paramNames = this.parameters.map((p, i) => `param${i}`).join(',');
215
- const cacheKey = (0, utils_1.generateCacheKey)(this.templateParts, paramNames, contextStatements, this.options.dependencies || {});
221
+ const parametersKey = this.parameters.length.toString(); // Just the count
222
+ const cacheKey = (0, utils_1.generateCacheKey)(this.templateParts, parametersKey, contextStatements, this.options.dependencies || {});
216
223
  // Level 2: Global cache (fast path - shared with Pattern)
217
224
  const cached = utils_1.globalAstCache.get(cacheKey);
218
225
  if (cached) {
@@ -273,17 +280,13 @@ class Template {
273
280
  normalizedValues = normalized;
274
281
  }
275
282
  }
276
- // Get the cached template tree (uses two-level caching)
277
- const templateTree = yield this.getTemplate();
278
- // Prefer 'context' over deprecated 'imports'
279
- const contextStatements = this.options.context || this.options.imports || [];
280
- // Apply template with value substitution using TemplateEngine
281
- // Note: TemplateEngine.applyTemplate will call getTemplateTree again,
282
- // but that's okay because it hits the templateCache which is fast
283
- return engine_1.TemplateEngine.applyTemplate(this.templateParts, this.parameters, cursor, {
283
+ // Use instance-level cache to get the template tree
284
+ const ast = yield this.getTemplateTree();
285
+ // Delegate to TemplateEngine for placeholder substitution and application
286
+ return engine_1.TemplateEngine.applyTemplateFromAst(ast, this.parameters, cursor, {
284
287
  tree,
285
288
  mode: JavaCoordinates.Mode.Replace
286
- }, normalizedValues, wrappersMap, contextStatements, this.options.dependencies || {});
289
+ }, normalizedValues, wrappersMap);
287
290
  });
288
291
  }
289
292
  }
@@ -297,7 +300,7 @@ exports.Template = Template;
297
300
  * access array elements (e.g., `args.elements[0].element`).
298
301
  *
299
302
  * @param strings The string parts of the template
300
- * @param parameters The parameters between the string parts (Capture, Tree, or primitives)
303
+ * @param parameters The parameters between the string parts (Capture, CaptureValue, TemplateParam, Tree, or Tree[])
301
304
  * @returns A Template object that can be applied to generate AST nodes
302
305
  *
303
306
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/javascript/templating/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/javascript/templating/template.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Cursor, Tree } from '../..';
2
2
  import { J, Type } from '../../java';
3
3
  import type { MatchResult, Pattern } from "./pattern";
4
4
  import type { Template } from "./template";
5
+ import type { CaptureValue } from "./capture";
5
6
  /**
6
7
  * Options for variadic captures that match zero or more nodes in a sequence.
7
8
  */
@@ -241,15 +242,22 @@ export interface PatternOptions {
241
242
  * Valid parameter types for template literals.
242
243
  * - Capture: For pattern matching and reuse
243
244
  * - CaptureValue: Result of property access or array operations on captures (e.g., capture.prop, capture[0], capture.slice(1))
245
+ * - TemplateParam: For standalone template parameters
244
246
  * - Tree: AST nodes to be inserted directly
245
247
  * - Tree[]: Arrays of AST nodes (from variadic capture operations like slice)
246
- * - Primitives: Values to be converted to literals
248
+ *
249
+ * Note: Primitive values (string, number, boolean) are NOT supported in template literals.
250
+ * Use Template.builder() API if you need to insert literal values.
247
251
  */
248
- export type TemplateParameter = Capture | any | TemplateParam | Tree | Tree[] | string | number | boolean;
252
+ export type TemplateParameter = Capture | CaptureValue | TemplateParam | Tree | Tree[];
249
253
  /**
250
254
  * Parameter specification for template generation (internal).
251
255
  * Represents a placeholder in a template that will be replaced with a parameter value.
252
256
  * This is the internal wrapper used by the template engine.
257
+ *
258
+ * Note: The value is typed as `any` rather than `TemplateParameter` to allow flexible
259
+ * internal handling without excessive type guards. The public API (template function)
260
+ * constrains inputs to `TemplateParameter`, providing type safety at the API boundary.
253
261
  */
254
262
  export interface Parameter {
255
263
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/utils.ts"],"names":[],"mappings":"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"}