@openrewrite/rewrite 8.92.16 → 8.92.18
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/README.md +48 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/java/formatting-utils.d.ts +2 -1
- package/dist/java/formatting-utils.d.ts.map +1 -1
- package/dist/java/formatting-utils.js +4 -3
- package/dist/java/formatting-utils.js.map +1 -1
- package/dist/java/rpc.d.ts.map +1 -1
- package/dist/java/rpc.js +2 -0
- package/dist/java/rpc.js.map +1 -1
- package/dist/java/tree.d.ts +8 -0
- package/dist/java/tree.d.ts.map +1 -1
- package/dist/java/tree.js +11 -1
- package/dist/java/tree.js.map +1 -1
- package/dist/java/type.d.ts +7 -1
- package/dist/java/type.d.ts.map +1 -1
- package/dist/java/type.js +16 -1
- package/dist/java/type.js.map +1 -1
- package/dist/javascript/add-import.d.ts +27 -21
- package/dist/javascript/add-import.d.ts.map +1 -1
- package/dist/javascript/add-import.js +303 -143
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/amd.d.ts.map +1 -1
- package/dist/javascript/amd.js +25 -10
- package/dist/javascript/amd.js.map +1 -1
- package/dist/javascript/autodetect.js +36 -45
- package/dist/javascript/autodetect.js.map +1 -1
- package/dist/javascript/binding.d.ts +6 -4
- package/dist/javascript/binding.d.ts.map +1 -1
- package/dist/javascript/binding.js +54 -18
- package/dist/javascript/binding.js.map +1 -1
- package/dist/javascript/comparator.d.ts +22 -5
- package/dist/javascript/comparator.d.ts.map +1 -1
- package/dist/javascript/comparator.js +120 -38
- package/dist/javascript/comparator.js.map +1 -1
- package/dist/javascript/format/format.d.ts +2 -0
- package/dist/javascript/format/format.d.ts.map +1 -1
- package/dist/javascript/format/format.js +11 -1
- package/dist/javascript/format/format.js.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.d.ts.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.js +31 -4
- package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
- package/dist/javascript/index.d.ts +4 -2
- package/dist/javascript/index.d.ts.map +1 -1
- package/dist/javascript/index.js +10 -1
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/markers.d.ts +12 -0
- package/dist/javascript/markers.d.ts.map +1 -1
- package/dist/javascript/markers.js +81 -2
- package/dist/javascript/markers.js.map +1 -1
- package/dist/javascript/method-matcher.d.ts +13 -2
- package/dist/javascript/method-matcher.d.ts.map +1 -1
- package/dist/javascript/method-matcher.js +32 -19
- package/dist/javascript/method-matcher.js.map +1 -1
- package/dist/javascript/node-resolution-result.js +3 -2
- package/dist/javascript/node-resolution-result.js.map +1 -1
- package/dist/javascript/package-name.d.ts +6 -0
- package/dist/javascript/package-name.d.ts.map +1 -0
- package/dist/javascript/package-name.js +47 -0
- package/dist/javascript/package-name.js.map +1 -0
- package/dist/javascript/parser.d.ts +9 -0
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +185 -88
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/preconditions.d.ts +4 -1
- package/dist/javascript/preconditions.d.ts.map +1 -1
- package/dist/javascript/preconditions.js +7 -4
- package/dist/javascript/preconditions.js.map +1 -1
- package/dist/javascript/print.d.ts +10 -1
- package/dist/javascript/print.d.ts.map +1 -1
- package/dist/javascript/print.js +120 -77
- package/dist/javascript/print.js.map +1 -1
- package/dist/javascript/recipes/change-method-target-to-import.d.ts +29 -0
- package/dist/javascript/recipes/change-method-target-to-import.d.ts.map +1 -0
- package/dist/javascript/recipes/change-method-target-to-import.js +164 -0
- package/dist/javascript/recipes/change-method-target-to-import.js.map +1 -0
- package/dist/javascript/recipes/index.d.ts +1 -0
- package/dist/javascript/recipes/index.d.ts.map +1 -1
- package/dist/javascript/recipes/index.js +1 -0
- package/dist/javascript/recipes/index.js.map +1 -1
- package/dist/javascript/scope.d.ts +60 -16
- package/dist/javascript/scope.d.ts.map +1 -1
- package/dist/javascript/scope.js +596 -131
- package/dist/javascript/scope.js.map +1 -1
- package/dist/javascript/search/uses-method.d.ts +1 -1
- package/dist/javascript/search/uses-method.d.ts.map +1 -1
- package/dist/javascript/search/uses-method.js +2 -2
- package/dist/javascript/search/uses-method.js.map +1 -1
- package/dist/javascript/search/uses-type.d.ts +14 -1
- package/dist/javascript/search/uses-type.d.ts.map +1 -1
- package/dist/javascript/search/uses-type.js +24 -9
- package/dist/javascript/search/uses-type.js.map +1 -1
- package/dist/javascript/templating/bindings.d.ts +1 -1
- package/dist/javascript/templating/bindings.d.ts.map +1 -1
- package/dist/javascript/templating/bindings.js +10 -50
- package/dist/javascript/templating/bindings.js.map +1 -1
- package/dist/javascript/templating/comparator.d.ts +8 -11
- package/dist/javascript/templating/comparator.d.ts.map +1 -1
- package/dist/javascript/templating/comparator.js +12 -110
- package/dist/javascript/templating/comparator.js.map +1 -1
- package/dist/javascript/templating/engine.d.ts +34 -24
- package/dist/javascript/templating/engine.d.ts.map +1 -1
- package/dist/javascript/templating/engine.js +208 -115
- package/dist/javascript/templating/engine.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts +11 -5
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/pattern.js +86 -20
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.d.ts +34 -3
- package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.js +126 -60
- package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
- package/dist/javascript/templating/precedence.d.ts +3 -1
- package/dist/javascript/templating/precedence.d.ts.map +1 -1
- package/dist/javascript/templating/precedence.js +28 -8
- package/dist/javascript/templating/precedence.js.map +1 -1
- package/dist/javascript/templating/template.d.ts +7 -6
- package/dist/javascript/templating/template.d.ts.map +1 -1
- package/dist/javascript/templating/template.js +31 -28
- package/dist/javascript/templating/template.js.map +1 -1
- package/dist/javascript/templating/types.d.ts +6 -3
- package/dist/javascript/templating/types.d.ts.map +1 -1
- package/dist/javascript/templating/utils.d.ts +10 -1
- package/dist/javascript/templating/utils.d.ts.map +1 -1
- package/dist/javascript/templating/utils.js +22 -3
- package/dist/javascript/templating/utils.js.map +1 -1
- package/dist/javascript/tree-debug.d.ts +2 -0
- package/dist/javascript/tree-debug.d.ts.map +1 -1
- package/dist/javascript/tree-debug.js +6 -0
- package/dist/javascript/tree-debug.js.map +1 -1
- package/dist/javascript/tsconfig.d.ts.map +1 -1
- package/dist/javascript/tsconfig.js +7 -17
- package/dist/javascript/tsconfig.js.map +1 -1
- package/dist/javascript/type-mapping.d.ts +35 -16
- package/dist/javascript/type-mapping.d.ts.map +1 -1
- package/dist/javascript/type-mapping.js +271 -252
- package/dist/javascript/type-mapping.js.map +1 -1
- package/dist/javascript/type-report-cli.d.ts +7 -0
- package/dist/javascript/type-report-cli.d.ts.map +1 -0
- package/dist/javascript/type-report-cli.js +129 -0
- package/dist/javascript/type-report-cli.js.map +1 -0
- package/dist/javascript/type-report.d.ts +61 -0
- package/dist/javascript/type-report.d.ts.map +1 -0
- package/dist/javascript/type-report.js +488 -0
- package/dist/javascript/type-report.js.map +1 -0
- package/dist/markers.d.ts +4 -0
- package/dist/markers.d.ts.map +1 -1
- package/dist/markers.js +8 -0
- package/dist/markers.js.map +1 -1
- package/dist/print.d.ts +6 -1
- package/dist/print.d.ts.map +1 -1
- package/dist/print.js +21 -7
- package/dist/print.js.map +1 -1
- package/dist/recipe.d.ts +5 -0
- package/dist/recipe.d.ts.map +1 -1
- package/dist/recipe.js +5 -0
- package/dist/recipe.js.map +1 -1
- package/dist/rewrite-javascript-version.txt +1 -1
- package/dist/rpc/java-rpc-client.d.ts +2 -0
- package/dist/rpc/java-rpc-client.d.ts.map +1 -1
- package/dist/rpc/java-rpc-client.js +1 -0
- package/dist/rpc/java-rpc-client.js.map +1 -1
- package/dist/rpc/queue.d.ts +24 -0
- package/dist/rpc/queue.d.ts.map +1 -1
- package/dist/rpc/queue.js +71 -11
- package/dist/rpc/queue.js.map +1 -1
- package/dist/rpc/request/get-object.d.ts +4 -0
- package/dist/rpc/request/get-object.d.ts.map +1 -1
- package/dist/rpc/request/get-object.js +23 -1
- package/dist/rpc/request/get-object.js.map +1 -1
- package/dist/rpc/request/parse.d.ts.map +1 -1
- package/dist/rpc/request/parse.js +3 -1
- package/dist/rpc/request/parse.js.map +1 -1
- package/dist/rpc/request/prepare-recipe.d.ts +3 -1
- package/dist/rpc/request/prepare-recipe.d.ts.map +1 -1
- package/dist/rpc/request/prepare-recipe.js +13 -6
- package/dist/rpc/request/prepare-recipe.js.map +1 -1
- package/dist/rpc/request/print.d.ts +8 -2
- package/dist/rpc/request/print.d.ts.map +1 -1
- package/dist/rpc/request/print.js +12 -9
- package/dist/rpc/request/print.js.map +1 -1
- package/dist/rpc/rewrite-rpc.d.ts +3 -2
- package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
- package/dist/rpc/rewrite-rpc.js +9 -3
- package/dist/rpc/rewrite-rpc.js.map +1 -1
- package/dist/rpc/server.d.ts.map +1 -1
- package/dist/rpc/server.js +19 -5
- package/dist/rpc/server.js.map +1 -1
- package/dist/search/is-source-file.d.ts +1 -0
- package/dist/search/is-source-file.d.ts.map +1 -1
- package/dist/search/is-source-file.js +7 -2
- package/dist/search/is-source-file.js.map +1 -1
- package/dist/test/java-rpc.d.ts.map +1 -1
- package/dist/test/java-rpc.js +3 -0
- package/dist/test/java-rpc.js.map +1 -1
- package/dist/test/rewrite-test.d.ts +5 -0
- package/dist/test/rewrite-test.d.ts.map +1 -1
- package/dist/test/rewrite-test.js +14 -3
- package/dist/test/rewrite-test.js.map +1 -1
- package/package.json +4 -3
- package/src/index.ts +3 -1
- package/src/java/formatting-utils.ts +5 -4
- package/src/java/rpc.ts +2 -0
- package/src/java/tree.ts +15 -0
- package/src/java/type.ts +19 -2
- package/src/javascript/add-import.ts +338 -152
- package/src/javascript/amd.ts +28 -12
- package/src/javascript/autodetect.ts +32 -41
- package/src/javascript/binding.ts +64 -22
- package/src/javascript/comparator.ts +129 -43
- package/src/javascript/format/format.ts +9 -0
- package/src/javascript/format/tabs-and-indents-visitor.ts +30 -3
- package/src/javascript/index.ts +6 -3
- package/src/javascript/markers.ts +77 -5
- package/src/javascript/method-matcher.ts +34 -22
- package/src/javascript/node-resolution-result.ts +3 -2
- package/src/javascript/package-name.ts +45 -0
- package/src/javascript/parser.ts +200 -91
- package/src/javascript/preconditions.ts +7 -4
- package/src/javascript/print.ts +123 -76
- package/src/javascript/recipes/change-method-target-to-import.ts +178 -0
- package/src/javascript/recipes/index.ts +1 -0
- package/src/javascript/scope.ts +705 -169
- package/src/javascript/search/uses-method.ts +2 -2
- package/src/javascript/search/uses-type.ts +30 -9
- package/src/javascript/templating/bindings.ts +13 -38
- package/src/javascript/templating/comparator.ts +16 -127
- package/src/javascript/templating/engine.ts +236 -129
- package/src/javascript/templating/pattern.ts +107 -28
- package/src/javascript/templating/placeholder-replacement.ts +154 -62
- package/src/javascript/templating/precedence.ts +33 -11
- package/src/javascript/templating/template.ts +35 -30
- package/src/javascript/templating/types.ts +6 -3
- package/src/javascript/templating/utils.ts +24 -2
- package/src/javascript/tree-debug.ts +9 -0
- package/src/javascript/tsconfig.ts +7 -17
- package/src/javascript/type-mapping.ts +277 -255
- package/src/javascript/type-report-cli.ts +96 -0
- package/src/javascript/type-report.ts +575 -0
- package/src/markers.ts +8 -0
- package/src/print.ts +23 -8
- package/src/recipe.ts +6 -0
- package/src/rpc/java-rpc-client.ts +3 -0
- package/src/rpc/queue.ts +80 -7
- package/src/rpc/request/get-object.ts +24 -0
- package/src/rpc/request/parse.ts +4 -1
- package/src/rpc/request/prepare-recipe.ts +16 -6
- package/src/rpc/request/print.ts +12 -8
- package/src/rpc/rewrite-rpc.ts +16 -5
- package/src/rpc/server.ts +18 -6
- package/src/search/is-source-file.ts +8 -3
- package/src/test/java-rpc.ts +3 -0
- package/src/test/rewrite-test.ts +14 -3
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TemplateApplier = exports.TemplateEngine = void 0;
|
|
4
4
|
exports.setTemplateSourceFileCache = setTemplateSourceFileCache;
|
|
5
5
|
exports.clearTemplateCache = clearTemplateCache;
|
|
6
|
+
exports.opensWithBrace = opensWithBrace;
|
|
7
|
+
exports.replacedByObjectLiteral = replacedByObjectLiteral;
|
|
6
8
|
/*
|
|
7
9
|
* Copyright 2025 the original author or authors.
|
|
8
10
|
* <p>
|
|
@@ -33,7 +35,6 @@ const uuid_1 = require("../../uuid");
|
|
|
33
35
|
const dependency_workspace_1 = require("../dependency-workspace");
|
|
34
36
|
const add_import_1 = require("../add-import");
|
|
35
37
|
const scope_1 = require("../scope");
|
|
36
|
-
const java_2 = require("../../java");
|
|
37
38
|
const markers_1 = require("../../markers");
|
|
38
39
|
/**
|
|
39
40
|
* Simple LRU (Least Recently Used) cache implementation.
|
|
@@ -144,7 +145,7 @@ class TemplateCache {
|
|
|
144
145
|
// Parse and cache (workspace only needed during parsing)
|
|
145
146
|
// Use templateSourceFileCache if configured for ~3.2x speedup on dependency file parsing
|
|
146
147
|
const parser = templateParser(workspaceDir, types);
|
|
147
|
-
const parseGenerator = parser.parse({ text: fullTemplateString, sourcePath:
|
|
148
|
+
const parseGenerator = parser.parse({ text: fullTemplateString, sourcePath: `${utils_1.TEMPLATE_MODULE}.tsx` });
|
|
148
149
|
cu = (await parseGenerator.next()).value;
|
|
149
150
|
this.cache.set(key, cu);
|
|
150
151
|
return cu;
|
|
@@ -185,21 +186,10 @@ function parseFailureReason(cu) {
|
|
|
185
186
|
* Not exported from index, so only visible within the templating module.
|
|
186
187
|
*/
|
|
187
188
|
class TemplateEngine {
|
|
188
|
-
/**
|
|
189
|
-
* Gets the parsed and extracted template tree (before value substitution).
|
|
190
|
-
* This is the cacheable part of template processing.
|
|
191
|
-
*
|
|
192
|
-
* @param templateParts The string parts of the template
|
|
193
|
-
* @param parameters The parameters between the string parts
|
|
194
|
-
* @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
|
|
195
|
-
* @param dependencies NPM dependencies for type attribution
|
|
196
|
-
* @returns A Promise resolving to the extracted template AST
|
|
197
|
-
*/
|
|
198
189
|
/** The template parsed with its context, which is what gives its code types to attribute against. */
|
|
199
|
-
static async parseWithContext(templateParts, parameters, contextStatements, dependencies, types) {
|
|
200
|
-
// A capture's
|
|
201
|
-
const
|
|
202
|
-
const templateString = TemplateEngine.buildTemplateString(templateParts, parameters);
|
|
190
|
+
static async parseWithContext(templateParts, parameters, contextStatements, dependencies, types, expression = false, preamble = TemplateEngine.parameterPreamble(parameters)) {
|
|
191
|
+
// A capture's type reaches the parse as a declaration, so it belongs with context.
|
|
192
|
+
const templateString = TemplateEngine.buildTemplateString(templateParts, parameters, expression);
|
|
203
193
|
const contextWithPreamble = preamble.length > 0
|
|
204
194
|
? [...contextStatements, ...preamble]
|
|
205
195
|
: contextStatements;
|
|
@@ -217,31 +207,40 @@ class TemplateEngine {
|
|
|
217
207
|
return cu;
|
|
218
208
|
}
|
|
219
209
|
/**
|
|
220
|
-
* The modules the template's context binds, for the caller to bind in the
|
|
221
|
-
* An `import` or `require` states one; anything else — a `declare`, a helper
|
|
222
|
-
* the template without asking for a binding.
|
|
210
|
+
* The modules the template's context binds and its code reads, for the caller to bind in the
|
|
211
|
+
* file being edited. An `import` or `require` states one; anything else — a `declare`, a helper
|
|
212
|
+
* signature — types the template without asking for a binding.
|
|
223
213
|
*/
|
|
224
214
|
static async getContextBindings(templateParts, parameters, contextStatements = [], dependencies = {}, types) {
|
|
225
|
-
|
|
226
|
-
|
|
215
|
+
// The bindings are the context's alone, so either reading of code opening with `{` serves
|
|
216
|
+
const cu = await TemplateEngine.parseWithContext(templateParts, parameters, contextStatements, dependencies, types)
|
|
217
|
+
.catch(e => opensWithBrace(templateParts) ?
|
|
218
|
+
TemplateEngine.parseWithContext(templateParts, parameters, contextStatements, dependencies, types, true) :
|
|
219
|
+
Promise.reject(e));
|
|
220
|
+
// The template's own code is the last statement, so everything ahead of it is context, and a
|
|
221
|
+
// name the code reads without binding it itself resolves to the context's module-scope binding.
|
|
227
222
|
const context = Object.assign(Object.assign({}, cu), { statements: cu.statements.slice(0, -1) });
|
|
228
|
-
const
|
|
229
|
-
(0,
|
|
230
|
-
if ((0, java_2.isIdentifier)(node) && (node.type !== undefined || node.fieldType !== undefined)) {
|
|
231
|
-
attributed.add(node.simpleName);
|
|
232
|
-
}
|
|
233
|
-
return true;
|
|
234
|
-
});
|
|
235
|
-
return (0, add_import_1.moduleScopeBindings)(context)
|
|
236
|
-
.filter(b => b.module !== undefined)
|
|
237
|
-
.map(b => (Object.assign(Object.assign({}, b), { attributed: attributed.has(b.name) })));
|
|
223
|
+
const referenced = (0, scope_1.namesReferencedWithin)(cu.statements[cu.statements.length - 1]);
|
|
224
|
+
return (0, add_import_1.moduleScopeBindings)(context).filter(b => b.module !== undefined && referenced.has(b.name));
|
|
238
225
|
}
|
|
239
|
-
|
|
240
|
-
|
|
226
|
+
/**
|
|
227
|
+
* Gets the parsed and extracted template tree (before value substitution).
|
|
228
|
+
* This is the cacheable part of template processing.
|
|
229
|
+
*
|
|
230
|
+
* @param templateParts The string parts of the template
|
|
231
|
+
* @param parameters The parameters between the string parts
|
|
232
|
+
* @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
|
|
233
|
+
* @param dependencies NPM dependencies for type attribution
|
|
234
|
+
* @param expression Whether to parse the code as an expression
|
|
235
|
+
* @param preamble The parameters' declarations, from {@link parameterPreamble}
|
|
236
|
+
* @returns A Promise resolving to the extracted template AST
|
|
237
|
+
*/
|
|
238
|
+
static async getTemplateTree(templateParts, parameters, contextStatements = [], dependencies = {}, types, expression = false, preamble) {
|
|
239
|
+
const cu = await TemplateEngine.parseWithContext(templateParts, parameters, contextStatements, dependencies, types, expression, preamble);
|
|
241
240
|
// The template code is always the last statement (after context + preamble)
|
|
242
241
|
const lastStatement = cu.statements[cu.statements.length - 1].element;
|
|
243
242
|
// Extract from wrapper using shared utility
|
|
244
|
-
const extracted = utils_1.PlaceholderUtils.extractFromWrapper(lastStatement, 'Template');
|
|
243
|
+
const extracted = utils_1.PlaceholderUtils.extractFromWrapper(lastStatement, 'Template', expression);
|
|
245
244
|
return (0, mutative_1.create)(extracted, _ => { });
|
|
246
245
|
}
|
|
247
246
|
/**
|
|
@@ -256,10 +255,10 @@ class TemplateEngine {
|
|
|
256
255
|
* @param wrappersMap Map of capture names to J.RightPadded wrappers (for preserving markers)
|
|
257
256
|
* @param format Whether to fit the result to where it lands
|
|
258
257
|
* @param renames Local names for the template's declared bindings, keyed as declared
|
|
259
|
-
* @param
|
|
258
|
+
* @param patternPrefixes The matched pattern's capture prefixes, given only under `format: false`
|
|
260
259
|
* @returns A Promise resolving to the generated AST node
|
|
261
260
|
*/
|
|
262
|
-
static async applyTemplateFromAst(ast, parameters, cursor, coordinates, values = new Map(), wrappersMap = new Map(), format = true, renames = {},
|
|
261
|
+
static async applyTemplateFromAst(ast, parameters, cursor, coordinates, values = new Map(), wrappersMap = new Map(), format = true, renames = {}, patternPrefixes) {
|
|
263
262
|
// Create substitutions map for placeholders
|
|
264
263
|
const substitutions = new Map();
|
|
265
264
|
for (let i = 0; i < parameters.length; i++) {
|
|
@@ -269,10 +268,10 @@ class TemplateEngine {
|
|
|
269
268
|
// Before substitution, so that ids carried over from the source tree survive this pass
|
|
270
269
|
const fresh = await (0, utils_1.randomizeIds)(ast);
|
|
271
270
|
const bound = Object.keys(renames).length > 0
|
|
272
|
-
? await (0, bindings_1.renameBindings)(fresh.tree, renames
|
|
271
|
+
? await (0, bindings_1.renameBindings)(fresh.tree, renames)
|
|
273
272
|
: fresh.tree;
|
|
274
273
|
// Unsubstitute placeholders with actual parameter values and match results
|
|
275
|
-
const visitor = new placeholder_replacement_1.PlaceholderReplacementVisitor(substitutions, values, wrappersMap);
|
|
274
|
+
const visitor = new placeholder_replacement_1.PlaceholderReplacementVisitor(substitutions, values, wrappersMap, patternPrefixes);
|
|
276
275
|
const unsubstitutedAst = (await visitor.visit(bound, null));
|
|
277
276
|
// An id may only be kept where the node answering to it is leaving the tree, which is the
|
|
278
277
|
// subtree this application replaces. A parameter named twice, or spliced in from somewhere
|
|
@@ -285,7 +284,7 @@ class TemplateEngine {
|
|
|
285
284
|
}
|
|
286
285
|
const uniqueAst = await (0, utils_1.retainIds)(unsubstitutedAst, retainable);
|
|
287
286
|
// Apply the template to the current AST
|
|
288
|
-
return new TemplateApplier(cursor, coordinates, uniqueAst, format).apply();
|
|
287
|
+
return new TemplateApplier(cursor, coordinates, uniqueAst, format, visitor.substituted).apply();
|
|
289
288
|
}
|
|
290
289
|
/**
|
|
291
290
|
* Generates type preamble declarations for captures/parameters with type annotations.
|
|
@@ -316,59 +315,42 @@ class TemplateEngine {
|
|
|
316
315
|
}
|
|
317
316
|
return preamble;
|
|
318
317
|
}
|
|
319
|
-
/**
|
|
320
|
-
|
|
318
|
+
/**
|
|
319
|
+
* The parameter counterpart of {@link capturePreamble}. A capture without a declared type takes
|
|
320
|
+
* the type of the expression bound to it, as an expression parameter takes its own. A variadic
|
|
321
|
+
* capture binds a list, which has no one type to declare.
|
|
322
|
+
*/
|
|
323
|
+
static parameterPreamble(parameters, values) {
|
|
321
324
|
const preamble = [];
|
|
322
325
|
for (let i = 0; i < parameters.length; i++) {
|
|
323
|
-
const
|
|
324
|
-
const
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
(param && typeof param === 'object' && param[capture_1.CAPTURE_NAME_SYMBOL]);
|
|
328
|
-
const isCaptureValue = param instanceof capture_1.CaptureValue;
|
|
329
|
-
const isTreeArray = Array.isArray(param) && param.length > 0 && (0, __1.isTree)(param[0]);
|
|
330
|
-
if (isCapture) {
|
|
331
|
-
const captureType = param[capture_1.CAPTURE_TYPE_SYMBOL];
|
|
332
|
-
if (captureType) {
|
|
333
|
-
const typeString = typeof captureType === 'string'
|
|
334
|
-
? captureType
|
|
335
|
-
: this.typeToString(captureType);
|
|
336
|
-
// Only add preamble if we have a concrete type (not 'any')
|
|
337
|
-
if (typeString !== 'any') {
|
|
338
|
-
preamble.push(`let ${placeholder}: ${typeString};`);
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
else if (isCaptureValue) {
|
|
343
|
-
// For CaptureValue, check if the root capture has a type
|
|
344
|
-
const rootCapture = param.rootCapture;
|
|
345
|
-
if (rootCapture) {
|
|
346
|
-
const captureType = rootCapture[capture_1.CAPTURE_TYPE_SYMBOL];
|
|
347
|
-
if (captureType) {
|
|
348
|
-
const typeString = typeof captureType === 'string'
|
|
349
|
-
? captureType
|
|
350
|
-
: this.typeToString(captureType);
|
|
351
|
-
// Only add preamble if we have a concrete type (not 'any')
|
|
352
|
-
if (typeString !== 'any') {
|
|
353
|
-
preamble.push(`let ${placeholder}: ${typeString};`);
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
else if ((0, __1.isTree)(param) && !isTreeArray) {
|
|
359
|
-
// For J elements, derive type from the element's type property if it exists
|
|
360
|
-
const jElement = param;
|
|
361
|
-
if (jElement.type) {
|
|
362
|
-
const typeString = this.typeToString(jElement.type);
|
|
363
|
-
// Only add preamble if we have a concrete type (not 'any')
|
|
364
|
-
if (typeString !== 'any') {
|
|
365
|
-
preamble.push(`let ${placeholder}: ${typeString};`);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
326
|
+
const type = this.parameterType(parameters[i].value, values);
|
|
327
|
+
const typeString = typeof type === 'string' ? type : type && this.typeToString(type);
|
|
328
|
+
if (typeString && typeString !== 'any') {
|
|
329
|
+
preamble.push(`let ${utils_1.PlaceholderUtils.PLACEHOLDER_PREFIX}${i}__: ${typeString};`);
|
|
368
330
|
}
|
|
369
331
|
}
|
|
370
332
|
return preamble;
|
|
371
333
|
}
|
|
334
|
+
static parameterType(param, values) {
|
|
335
|
+
var _a;
|
|
336
|
+
// A Capture may be a Proxy, so it is recognised by its symbol
|
|
337
|
+
if (param instanceof capture_1.CaptureImpl || (param && typeof param === 'object' && param[capture_1.CAPTURE_NAME_SYMBOL])) {
|
|
338
|
+
return (_a = param[capture_1.CAPTURE_TYPE_SYMBOL]) !== null && _a !== void 0 ? _a : this.treeType(values === null || values === void 0 ? void 0 : values.get(param[capture_1.CAPTURE_NAME_SYMBOL] || param.getName()));
|
|
339
|
+
}
|
|
340
|
+
else if (param instanceof capture_1.CaptureValue) {
|
|
341
|
+
// The root's declared type is the root's alone, not that of a property or element of it
|
|
342
|
+
return values && this.treeType(param.resolve(values));
|
|
343
|
+
}
|
|
344
|
+
else if (param instanceof capture_1.TemplateParamImpl) {
|
|
345
|
+
return this.treeType(values === null || values === void 0 ? void 0 : values.get(param.name));
|
|
346
|
+
}
|
|
347
|
+
return this.treeType(param);
|
|
348
|
+
}
|
|
349
|
+
static treeType(value) {
|
|
350
|
+
// A declaration's type is that of what it declares, which is no value the placeholder holds
|
|
351
|
+
return (0, __1.isTree)(value) && ((0, parser_utils_1.isExpression)(value) || !(0, parser_utils_1.isStatement)(value)) ?
|
|
352
|
+
java_1.TypedTree.getType(value) : undefined;
|
|
353
|
+
}
|
|
372
354
|
/**
|
|
373
355
|
* Builds a template string with parameter placeholders.
|
|
374
356
|
* RawCode parameters are spliced directly into the template at construction time.
|
|
@@ -378,7 +360,7 @@ class TemplateEngine {
|
|
|
378
360
|
* @param parameters The parameters between the string parts
|
|
379
361
|
* @returns The template string
|
|
380
362
|
*/
|
|
381
|
-
static buildTemplateString(templateParts, parameters) {
|
|
363
|
+
static buildTemplateString(templateParts, parameters, expression) {
|
|
382
364
|
let result = '';
|
|
383
365
|
for (let i = 0; i < templateParts.length; i++) {
|
|
384
366
|
result += templateParts[i];
|
|
@@ -398,7 +380,7 @@ class TemplateEngine {
|
|
|
398
380
|
}
|
|
399
381
|
// Always wrap in function body - let the parser decide what it is,
|
|
400
382
|
// then we'll extract intelligently based on what was parsed
|
|
401
|
-
return
|
|
383
|
+
return (0, utils_1.wrapCode)((0, utils_1.dedentTemplate)(result), expression);
|
|
402
384
|
}
|
|
403
385
|
/**
|
|
404
386
|
* Converts a Type instance to a TypeScript type string.
|
|
@@ -454,9 +436,10 @@ class TemplateEngine {
|
|
|
454
436
|
* @param captures The captures between the string parts (can include RawCode)
|
|
455
437
|
* @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
|
|
456
438
|
* @param dependencies NPM dependencies for type attribution
|
|
439
|
+
* @param expression Whether to parse the code as an expression
|
|
457
440
|
* @returns A Promise resolving to the extracted pattern AST
|
|
458
441
|
*/
|
|
459
|
-
static async getPatternTree(templateParts, captures, contextStatements = [], dependencies = {}, types) {
|
|
442
|
+
static async getPatternTree(templateParts, captures, contextStatements = [], dependencies = {}, types, expression = false) {
|
|
460
443
|
const preamble = TemplateEngine.capturePreamble(captures);
|
|
461
444
|
// Build the template string with placeholders for captures and raw code
|
|
462
445
|
let result = '';
|
|
@@ -477,7 +460,7 @@ class TemplateEngine {
|
|
|
477
460
|
}
|
|
478
461
|
// Always wrap in function body - let the parser decide what it is,
|
|
479
462
|
// then we'll extract intelligently based on what was parsed
|
|
480
|
-
const templateString =
|
|
463
|
+
const templateString = (0, utils_1.wrapCode)(result, expression);
|
|
481
464
|
// Add preamble to context statements (so they're skipped during extraction)
|
|
482
465
|
const contextWithPreamble = preamble.length > 0
|
|
483
466
|
? [...contextStatements, ...preamble]
|
|
@@ -488,7 +471,7 @@ class TemplateEngine {
|
|
|
488
471
|
// The pattern code is always the last statement (after context + preamble)
|
|
489
472
|
const lastStatement = cu.statements[cu.statements.length - 1].element;
|
|
490
473
|
// Extract from wrapper using shared utility
|
|
491
|
-
return utils_1.PlaceholderUtils.extractFromWrapper(lastStatement, 'Pattern');
|
|
474
|
+
return utils_1.PlaceholderUtils.extractFromWrapper(lastStatement, 'Pattern', expression);
|
|
492
475
|
}
|
|
493
476
|
/**
|
|
494
477
|
* Binds a pattern tree to a set of captures by attaching a CaptureMarker, carrying that
|
|
@@ -603,16 +586,62 @@ class MarkerAttachmentVisitor extends __2.JavaScriptVisitor {
|
|
|
603
586
|
name: visitedName
|
|
604
587
|
});
|
|
605
588
|
}
|
|
589
|
+
/**
|
|
590
|
+
* Promotes a variadic capture's marker from a shorthand property's name to the property, so
|
|
591
|
+
* that `{${props}}` matches the object literal's properties as a sequence. A scalar capture
|
|
592
|
+
* stays on the name, binding the identifier a shorthand property consists of.
|
|
593
|
+
*/
|
|
594
|
+
async visitPropertyAssignment(propertyAssignment, p) {
|
|
595
|
+
const visited = await super.visitPropertyAssignment(propertyAssignment, p);
|
|
596
|
+
const nameMarker = visited.initializer === undefined ? utils_1.PlaceholderUtils.getCaptureMarker(visited.name) : undefined;
|
|
597
|
+
if (!(nameMarker === null || nameMarker === void 0 ? void 0 : nameMarker.variadicOptions)) {
|
|
598
|
+
return visited;
|
|
599
|
+
}
|
|
600
|
+
return (0, __1.updateIfChanged)(visited, {
|
|
601
|
+
name: Object.assign(Object.assign({}, visited.name), { markers: Object.assign(Object.assign({}, visited.name.markers), { markers: visited.name.markers.markers.filter(m => m !== nameMarker) }) }),
|
|
602
|
+
markers: Object.assign(Object.assign({}, visited.markers), { markers: [...visited.markers.markers, nameMarker] }),
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
// FIXME: This is a heuristic to determine if the parent expects a statement child
|
|
607
|
+
function expectsStatement(parentTree) {
|
|
608
|
+
return parentTree.kind === java_1.J.Kind.Block ||
|
|
609
|
+
parentTree.kind === java_1.J.Kind.Case ||
|
|
610
|
+
parentTree.kind === java_1.J.Kind.DoWhileLoop ||
|
|
611
|
+
parentTree.kind === java_1.J.Kind.ForEachLoop ||
|
|
612
|
+
parentTree.kind === java_1.J.Kind.ForLoop ||
|
|
613
|
+
parentTree.kind === java_1.J.Kind.If ||
|
|
614
|
+
parentTree.kind === java_1.J.Kind.IfElse ||
|
|
615
|
+
parentTree.kind === java_1.J.Kind.WhileLoop ||
|
|
616
|
+
parentTree.kind === __2.JS.Kind.CompilationUnit ||
|
|
617
|
+
parentTree.kind === __2.JS.Kind.ForInLoop;
|
|
618
|
+
}
|
|
619
|
+
/** Whether the code opens with `{`, which is a block where a statement goes and an object literal elsewhere. */
|
|
620
|
+
function opensWithBrace(templateParts) {
|
|
621
|
+
return templateParts[0].trimStart().startsWith('{');
|
|
622
|
+
}
|
|
623
|
+
/** Whether code opening with `{` that replaces `tree`, which `cursor` points at, is an object literal. */
|
|
624
|
+
function replacedByObjectLiteral(tree, cursor) {
|
|
625
|
+
var _a;
|
|
626
|
+
if (tree.kind === java_1.J.Kind.Block) {
|
|
627
|
+
return false;
|
|
628
|
+
}
|
|
629
|
+
else if (!(0, parser_utils_1.isStatement)(tree)) {
|
|
630
|
+
return true;
|
|
631
|
+
}
|
|
632
|
+
const parentTree = (_a = cursor.parentTree()) === null || _a === void 0 ? void 0 : _a.value;
|
|
633
|
+
return parentTree !== undefined && !expectsStatement(parentTree);
|
|
606
634
|
}
|
|
607
635
|
/**
|
|
608
636
|
* Helper class for applying a template to an AST.
|
|
609
637
|
*/
|
|
610
638
|
class TemplateApplier {
|
|
611
|
-
constructor(cursor, coordinates, ast, shouldFormat = true) {
|
|
639
|
+
constructor(cursor, coordinates, ast, shouldFormat = true, substituted = false) {
|
|
612
640
|
this.cursor = cursor;
|
|
613
641
|
this.coordinates = coordinates;
|
|
614
642
|
this.ast = ast;
|
|
615
643
|
this.shouldFormat = shouldFormat;
|
|
644
|
+
this.substituted = substituted;
|
|
616
645
|
}
|
|
617
646
|
/**
|
|
618
647
|
* Applies the template to the current AST.
|
|
@@ -637,17 +666,22 @@ class TemplateApplier {
|
|
|
637
666
|
* @returns A Promise resolving to the modified AST
|
|
638
667
|
*/
|
|
639
668
|
async applyInternal() {
|
|
669
|
+
var _a;
|
|
640
670
|
const { tree } = this.coordinates;
|
|
641
671
|
if (!tree) {
|
|
642
|
-
return this.ast;
|
|
672
|
+
return this.substituted ? new SubstitutedLayoutVisitor().visit(this.ast, undefined) : this.ast;
|
|
643
673
|
}
|
|
644
674
|
const originalTree = tree;
|
|
645
675
|
let resultToUse = this.wrapTree(originalTree, this.ast);
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
676
|
+
// A replaced node spliced back in as a capture carries its own trailing markers
|
|
677
|
+
const trailing = trailingMarkers(originalTree);
|
|
678
|
+
const slotMarkers = trailing && !(await (0, utils_1.treeIds)(this.ast)).has(originalTree.id) ? trailing : undefined;
|
|
679
|
+
if (slotMarkers) {
|
|
680
|
+
resultToUse = Object.assign(Object.assign({}, resultToUse), { markers: withMarkers(resultToUse.markers, slotMarkers) });
|
|
650
681
|
}
|
|
682
|
+
const slot = this.replacedSlot(originalTree);
|
|
683
|
+
// `format` substitutes the target's prefix, so decide against the prefix that will print
|
|
684
|
+
resultToUse = (0, precedence_1.maybeParenthesize)(slot === null || slot === void 0 ? void 0 : slot[0], (_a = slot === null || slot === void 0 ? void 0 : slot[1]) !== null && _a !== void 0 ? _a : originalTree.id, Object.assign(Object.assign({}, resultToUse), { prefix: originalTree.prefix }), slotMarkers);
|
|
651
685
|
return this.format(resultToUse, originalTree);
|
|
652
686
|
}
|
|
653
687
|
/** The node holding the tree being replaced and the id it holds it under, per the cursor. */
|
|
@@ -677,35 +711,40 @@ class TemplateApplier {
|
|
|
677
711
|
[frames[1], frames[0].id] : undefined;
|
|
678
712
|
}
|
|
679
713
|
async format(resultToUse, originalTree) {
|
|
680
|
-
var _a;
|
|
714
|
+
var _a, _b;
|
|
681
715
|
// Create a copy of the AST with the prefix from the target
|
|
682
716
|
const result = Object.assign(Object.assign({}, resultToUse), {
|
|
683
717
|
// We temporarily set the ID so that the formatter can identify the tree
|
|
684
718
|
id: originalTree.id, prefix: originalTree.prefix });
|
|
685
719
|
if (!this.shouldFormat) {
|
|
686
|
-
|
|
720
|
+
const unmarked = this.substituted ? await new SubstitutedLayoutVisitor().visit(result, undefined) : result;
|
|
721
|
+
return Object.assign(Object.assign({}, unmarked), { id: resultToUse.id });
|
|
722
|
+
}
|
|
723
|
+
// A recipe can apply a template to a child while its cursor still points at the
|
|
724
|
+
// owning node (for example, a JSX attribute's literal value). Keep that owner
|
|
725
|
+
// in the formatting path; dropping it loses the attribute's line indentation.
|
|
726
|
+
const owner = (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.value;
|
|
727
|
+
const parent = (0, __1.isTree)(owner) && owner.id !== originalTree.id &&
|
|
728
|
+
(await (0, utils_1.treeIds)(owner)).has(originalTree.id) ? this.cursor : (_b = this.cursor) === null || _b === void 0 ? void 0 : _b.parent;
|
|
729
|
+
const formatted = await (0, format_1.maybeAutoFormat)(originalTree, result, null, undefined, parent);
|
|
730
|
+
// A value Prettier lays out arrives unmarked, since reconciling takes the markers of Prettier's parse
|
|
731
|
+
let laidOut = formatted;
|
|
732
|
+
if (this.substituted) {
|
|
733
|
+
const restore = new SubstitutedLayoutVisitor(await substitutedValues(result));
|
|
734
|
+
laidOut = (await restore.visit(formatted, undefined));
|
|
735
|
+
if (restore.restored) {
|
|
736
|
+
laidOut = await (0, format_1.autoIndent)(laidOut, null, parent);
|
|
737
|
+
}
|
|
687
738
|
}
|
|
688
|
-
// Apply auto-formatting to the result
|
|
689
|
-
const formatted = await (0, format_1.maybeAutoFormat)(originalTree, result, null, undefined, (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.parent);
|
|
690
739
|
// Restore the original ID
|
|
691
|
-
return Object.assign(Object.assign({},
|
|
740
|
+
return Object.assign(Object.assign({}, laidOut), { id: resultToUse.id });
|
|
692
741
|
}
|
|
693
742
|
wrapTree(originalTree, resultToUse) {
|
|
694
743
|
var _a, _b;
|
|
695
744
|
const parentTree = (_b = (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.parentTree()) === null || _b === void 0 ? void 0 : _b.value;
|
|
696
745
|
// Only apply wrapping logic if we have parent context
|
|
697
746
|
if (parentTree) {
|
|
698
|
-
|
|
699
|
-
const parentExpectsStatement = parentTree.kind === java_1.J.Kind.Block ||
|
|
700
|
-
parentTree.kind === java_1.J.Kind.Case ||
|
|
701
|
-
parentTree.kind === java_1.J.Kind.DoWhileLoop ||
|
|
702
|
-
parentTree.kind === java_1.J.Kind.ForEachLoop ||
|
|
703
|
-
parentTree.kind === java_1.J.Kind.ForLoop ||
|
|
704
|
-
parentTree.kind === java_1.J.Kind.If ||
|
|
705
|
-
parentTree.kind === java_1.J.Kind.IfElse ||
|
|
706
|
-
parentTree.kind === java_1.J.Kind.WhileLoop ||
|
|
707
|
-
parentTree.kind === __2.JS.Kind.CompilationUnit ||
|
|
708
|
-
parentTree.kind === __2.JS.Kind.ForInLoop;
|
|
747
|
+
const parentExpectsStatement = expectsStatement(parentTree);
|
|
709
748
|
const originalIsStatement = (0, parser_utils_1.isStatement)(originalTree);
|
|
710
749
|
const resultIsStatement = (0, parser_utils_1.isStatement)(resultToUse);
|
|
711
750
|
const resultIsExpression = (0, parser_utils_1.isExpression)(resultToUse);
|
|
@@ -719,7 +758,7 @@ class TemplateApplier {
|
|
|
719
758
|
kind: __2.JS.Kind.ExpressionStatement,
|
|
720
759
|
id: (0, uuid_1.randomId)(),
|
|
721
760
|
prefix: expression.prefix,
|
|
722
|
-
markers: expression
|
|
761
|
+
markers: wrapperMarkers(expression),
|
|
723
762
|
expression: Object.assign(Object.assign({}, expression), { prefix: java_1.emptySpace })
|
|
724
763
|
};
|
|
725
764
|
}
|
|
@@ -732,7 +771,7 @@ class TemplateApplier {
|
|
|
732
771
|
kind: __2.JS.Kind.StatementExpression,
|
|
733
772
|
id: (0, uuid_1.randomId)(),
|
|
734
773
|
prefix: stmt.prefix,
|
|
735
|
-
markers: stmt
|
|
774
|
+
markers: wrapperMarkers(stmt),
|
|
736
775
|
statement: Object.assign(Object.assign({}, stmt), { prefix: java_1.emptySpace })
|
|
737
776
|
};
|
|
738
777
|
}
|
|
@@ -742,4 +781,58 @@ class TemplateApplier {
|
|
|
742
781
|
}
|
|
743
782
|
}
|
|
744
783
|
exports.TemplateApplier = TemplateApplier;
|
|
784
|
+
/**
|
|
785
|
+
* The trailing markers of the node a template replaces. Each prints after whatever node fills the slot,
|
|
786
|
+
* so a pattern does not match on it and the replacement keeps it.
|
|
787
|
+
*/
|
|
788
|
+
function trailingMarkers(replaced) {
|
|
789
|
+
const trailing = replaced.markers.markers.filter(precedence_1.isTrailingMarker);
|
|
790
|
+
return trailing.length === 0 ? undefined : (0, __1.markers)(...trailing);
|
|
791
|
+
}
|
|
792
|
+
/** `own`, plus each marker of `added` whose kind `own` does not already hold. */
|
|
793
|
+
function withMarkers(own, added) {
|
|
794
|
+
const missing = added.markers.filter(m => !own.markers.some(o => o.kind === m.kind));
|
|
795
|
+
return missing.length === 0 ? own : Object.assign(Object.assign({}, own), { markers: [...own.markers, ...missing] });
|
|
796
|
+
}
|
|
797
|
+
/** The markers of a node wrapping `wrapped`, less the {@link SubstitutedValue} that belongs to `wrapped` alone. */
|
|
798
|
+
function wrapperMarkers(wrapped) {
|
|
799
|
+
return Object.assign(Object.assign({}, wrapped.markers), { markers: wrapped.markers.markers.filter(m => m.kind !== placeholder_replacement_1.SubstitutedValue.KIND) });
|
|
800
|
+
}
|
|
801
|
+
/** The substituted values in `tree`, by the id of the {@link SubstitutedValue} marking each. */
|
|
802
|
+
async function substitutedValues(tree) {
|
|
803
|
+
const values = new Map();
|
|
804
|
+
await new class extends __2.JavaScriptVisitor {
|
|
805
|
+
async preVisit(t) {
|
|
806
|
+
const marker = (0, markers_1.findMarker)(t, placeholder_replacement_1.SubstitutedValue.KIND);
|
|
807
|
+
if (marker) {
|
|
808
|
+
values.set(marker.id, t);
|
|
809
|
+
}
|
|
810
|
+
return t;
|
|
811
|
+
}
|
|
812
|
+
}().visit(tree, undefined);
|
|
813
|
+
return values;
|
|
814
|
+
}
|
|
815
|
+
/**
|
|
816
|
+
* Puts each substituted value back as it was in `unformatted`, under the prefix its marker assigns it,
|
|
817
|
+
* and drops its {@link SubstitutedValue} marker. Re-indenting them is left to the indent pass.
|
|
818
|
+
*/
|
|
819
|
+
class SubstitutedLayoutVisitor extends __2.JavaScriptVisitor {
|
|
820
|
+
constructor(unformatted = new Map()) {
|
|
821
|
+
super();
|
|
822
|
+
this.unformatted = unformatted;
|
|
823
|
+
/** Whether any value was put back. */
|
|
824
|
+
this.restored = false;
|
|
825
|
+
}
|
|
826
|
+
async visit(tree, p, parent) {
|
|
827
|
+
const marker = (0, __1.isTree)(tree) ? (0, markers_1.findMarker)(tree, placeholder_replacement_1.SubstitutedValue.KIND) : undefined;
|
|
828
|
+
if (!marker) {
|
|
829
|
+
return super.visit(tree, p, parent);
|
|
830
|
+
}
|
|
831
|
+
const formatted = tree;
|
|
832
|
+
const before = this.unformatted.get(marker.id);
|
|
833
|
+
this.restored || (this.restored = before !== undefined);
|
|
834
|
+
const value = before ? Object.assign(Object.assign({}, before), { prefix: marker.ownPrefix ? before.prefix : formatted.prefix }) : formatted;
|
|
835
|
+
return Object.assign(Object.assign({}, value), { markers: Object.assign(Object.assign({}, value.markers), { markers: value.markers.markers.filter(m => m !== marker) }) });
|
|
836
|
+
}
|
|
837
|
+
}
|
|
745
838
|
//# sourceMappingURL=engine.js.map
|
|
@@ -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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"}
|