@openrewrite/rewrite 8.67.0-20251104-185626 → 8.67.0-20251105-083346
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/dist/javascript/format.d.ts +2 -2
- package/dist/javascript/format.d.ts.map +1 -1
- package/dist/javascript/format.js +10 -16
- package/dist/javascript/format.js.map +1 -1
- package/dist/javascript/index.d.ts +1 -0
- package/dist/javascript/index.d.ts.map +1 -1
- package/dist/javascript/index.js +1 -0
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/templating/index.d.ts +1 -1
- package/dist/javascript/templating/index.d.ts.map +1 -1
- package/dist/javascript/templating/index.js +2 -1
- package/dist/javascript/templating/index.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts +1 -1
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/rewrite.d.ts +39 -0
- package/dist/javascript/templating/rewrite.d.ts.map +1 -1
- package/dist/javascript/templating/rewrite.js +85 -1
- package/dist/javascript/templating/rewrite.js.map +1 -1
- package/dist/javascript/templating/types.d.ts +33 -2
- package/dist/javascript/templating/types.d.ts.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/javascript/format.ts +3 -4
- package/src/javascript/index.ts +1 -0
- package/src/javascript/templating/index.ts +2 -1
- package/src/javascript/templating/pattern.ts +1 -1
- package/src/javascript/templating/rewrite.ts +88 -4
- package/src/javascript/templating/types.ts +34 -2
|
@@ -3,8 +3,8 @@ import { JavaScriptVisitor } from "./visitor";
|
|
|
3
3
|
import { J, Statement } from "../java";
|
|
4
4
|
import { Cursor, Tree } from "../tree";
|
|
5
5
|
import { BlankLinesStyle, SpacesStyle, TabsAndIndentsStyle, WrappingAndBracesStyle } from "./style";
|
|
6
|
-
export declare
|
|
7
|
-
export declare
|
|
6
|
+
export declare const maybeAutoFormat: <J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor) => Promise<J2>;
|
|
7
|
+
export declare const autoFormat: <J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor) => Promise<J2>;
|
|
8
8
|
export declare class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
|
|
9
9
|
private stopAfter?;
|
|
10
10
|
constructor(stopAfter?: Tree | undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAU,CAAC,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAC,MAAM,EAAW,IAAI,EAAC,MAAM,SAAS,CAAC;AAC9C,OAAO,EACH,eAAe,EACf,WAAW,EAGX,mBAAmB,EACnB,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAGjB,
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TabsAndIndentsVisitor = exports.BlankLinesVisitor = exports.MinimumViableSpacingVisitor = exports.WrappingAndBracesVisitor = exports.SpacesVisitor = exports.NormalizeWhitespaceVisitor = exports.AutoformatVisitor = void 0;
|
|
13
|
-
exports.maybeAutoFormat = maybeAutoFormat;
|
|
14
|
-
exports.autoFormat = autoFormat;
|
|
12
|
+
exports.TabsAndIndentsVisitor = exports.BlankLinesVisitor = exports.MinimumViableSpacingVisitor = exports.WrappingAndBracesVisitor = exports.SpacesVisitor = exports.NormalizeWhitespaceVisitor = exports.AutoformatVisitor = exports.autoFormat = exports.maybeAutoFormat = void 0;
|
|
15
13
|
/*
|
|
16
14
|
* Copyright 2025 the original author or authors.
|
|
17
15
|
* <p>
|
|
@@ -34,19 +32,15 @@ const immer_1 = require("immer");
|
|
|
34
32
|
const tree_2 = require("../tree");
|
|
35
33
|
const style_1 = require("./style");
|
|
36
34
|
const visitor_2 = require("../visitor");
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
return yield new AutoformatVisitor(stopAfter).visit(j, p, parent);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
35
|
+
const maybeAutoFormat = (before, after, p, stopAfter, parent) => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
if (before !== after) {
|
|
37
|
+
return (0, exports.autoFormat)(after, p, stopAfter, parent);
|
|
38
|
+
}
|
|
39
|
+
return after;
|
|
40
|
+
});
|
|
41
|
+
exports.maybeAutoFormat = maybeAutoFormat;
|
|
42
|
+
const autoFormat = (j, p, stopAfter, parent) => __awaiter(void 0, void 0, void 0, function* () { return yield new AutoformatVisitor(stopAfter).visit(j, p, parent); });
|
|
43
|
+
exports.autoFormat = autoFormat;
|
|
50
44
|
class AutoformatVisitor extends visitor_1.JavaScriptVisitor {
|
|
51
45
|
constructor(stopAfter) {
|
|
52
46
|
super();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":"AAeA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":"AAeA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AAEzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,OAAO,SAAS,CAAC;AACjB,OAAO,OAAO,CAAC"}
|
package/dist/javascript/index.js
CHANGED
|
@@ -38,6 +38,7 @@ __exportStar(require("./markers"), exports);
|
|
|
38
38
|
__exportStar(require("./preconditions"), exports);
|
|
39
39
|
__exportStar(require("./templating/index"), exports);
|
|
40
40
|
__exportStar(require("./method-matcher"), exports);
|
|
41
|
+
__exportStar(require("./format"), exports);
|
|
41
42
|
__exportStar(require("./add-import"), exports);
|
|
42
43
|
__exportStar(require("./remove-import"), exports);
|
|
43
44
|
require("./print");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yCAAuB;AACvB,4CAA0B;AAC1B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yCAAuB;AACvB,4CAA0B;AAC1B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC;AACjC,2CAAyB;AAEzB,+CAA6B;AAC7B,kDAAgC;AAEhC,mBAAiB;AACjB,iBAAe"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { VariadicOptions, CaptureOptions, Capture, Any, TemplateParam, PatternOptions, TemplateParameter, TemplateOptions, RewriteRule, RewriteConfig } from './types';
|
|
2
2
|
export { and, or, not, capture, any, param, _ } from './capture';
|
|
3
3
|
export { Pattern, PatternBuilder, MatchResult, pattern } from './pattern';
|
|
4
|
-
export { rewrite } from './rewrite';
|
|
4
|
+
export { rewrite, fromRecipe } from './rewrite';
|
|
5
5
|
export { Template, TemplateBuilder, template } from './template';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":"AAiBA,YAAY,EACR,eAAe,EACf,cAAc,EACd,OAAO,EACP,GAAG,EACH,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACH,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,EACH,KAAK,EACL,CAAC,EACJ,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,cAAc,EACd,WAAW,EACX,OAAO,EACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":"AAiBA,YAAY,EACR,eAAe,EACf,cAAc,EACd,OAAO,EACP,GAAG,EACH,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACH,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,EACH,KAAK,EACL,CAAC,EACJ,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,cAAc,EACd,WAAW,EACX,OAAO,EACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,UAAU,EACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,QAAQ,EACR,eAAe,EACf,QAAQ,EACX,MAAM,YAAY,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.template = exports.TemplateBuilder = exports.Template = exports.rewrite = exports.pattern = exports.MatchResult = exports.PatternBuilder = exports.Pattern = exports._ = exports.param = exports.any = exports.capture = exports.not = exports.or = exports.and = void 0;
|
|
18
|
+
exports.template = exports.TemplateBuilder = exports.Template = exports.fromRecipe = exports.rewrite = exports.pattern = exports.MatchResult = exports.PatternBuilder = exports.Pattern = exports._ = exports.param = exports.any = exports.capture = exports.not = exports.or = exports.and = void 0;
|
|
19
19
|
// Export capture functionality
|
|
20
20
|
var capture_1 = require("./capture");
|
|
21
21
|
Object.defineProperty(exports, "and", { enumerable: true, get: function () { return capture_1.and; } });
|
|
@@ -34,6 +34,7 @@ Object.defineProperty(exports, "pattern", { enumerable: true, get: function () {
|
|
|
34
34
|
// Export rewrite functionality
|
|
35
35
|
var rewrite_1 = require("./rewrite");
|
|
36
36
|
Object.defineProperty(exports, "rewrite", { enumerable: true, get: function () { return rewrite_1.rewrite; } });
|
|
37
|
+
Object.defineProperty(exports, "fromRecipe", { enumerable: true, get: function () { return rewrite_1.fromRecipe; } });
|
|
37
38
|
// Export template functionality
|
|
38
39
|
var template_1 = require("./template");
|
|
39
40
|
Object.defineProperty(exports, "Template", { enumerable: true, get: function () { return template_1.Template; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAgBH,+BAA+B;AAC/B,qCAQmB;AAPf,8FAAA,GAAG,OAAA;AACH,6FAAA,EAAE,OAAA;AACF,8FAAA,GAAG,OAAA;AACH,kGAAA,OAAO,OAAA;AACP,8FAAA,GAAG,OAAA;AACH,gGAAA,KAAK,OAAA;AACL,4FAAA,CAAC,OAAA;AAGL,+BAA+B;AAC/B,qCAKmB;AAJf,kGAAA,OAAO,OAAA;AACP,yGAAA,cAAc,OAAA;AACd,sGAAA,WAAW,OAAA;AACX,kGAAA,OAAO,OAAA;AAGX,+BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAgBH,+BAA+B;AAC/B,qCAQmB;AAPf,8FAAA,GAAG,OAAA;AACH,6FAAA,EAAE,OAAA;AACF,8FAAA,GAAG,OAAA;AACH,kGAAA,OAAO,OAAA;AACP,8FAAA,GAAG,OAAA;AACH,gGAAA,KAAK,OAAA;AACL,4FAAA,CAAC,OAAA;AAGL,+BAA+B;AAC/B,qCAKmB;AAJf,kGAAA,OAAO,OAAA;AACP,yGAAA,cAAc,OAAA;AACd,sGAAA,WAAW,OAAA;AACX,kGAAA,OAAO,OAAA;AAGX,+BAA+B;AAC/B,qCAGmB;AAFf,kGAAA,OAAO,OAAA;AACP,qGAAA,UAAU,OAAA;AAGd,gCAAgC;AAChC,uCAIoB;AAHhB,oGAAA,QAAQ,OAAA;AACR,2GAAA,eAAe,OAAA;AACf,oGAAA,QAAQ,OAAA"}
|
|
@@ -130,7 +130,7 @@ export declare class Pattern {
|
|
|
130
130
|
* const capturedArgs = match.get(args); // Returns J[] for variadic captures
|
|
131
131
|
* }
|
|
132
132
|
*/
|
|
133
|
-
export declare class MatchResult
|
|
133
|
+
export declare class MatchResult {
|
|
134
134
|
private readonly storage;
|
|
135
135
|
constructor(storage?: Map<string, CaptureStorageValue>);
|
|
136
136
|
get<T>(capture: Capture<T[]>): T[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/pattern.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,CAAC,EAAO,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAC,GAAG,EAAE,OAAO,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAGrD,OAAO,EAAgB,mBAAmB,EAAmC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAEjH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAA8B;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAcvB;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI;IAajD;;;;OAIG;IACH,KAAK,IAAI,OAAO;CAiBnB;AAED;;GAEG;AACH,qBAAa,OAAO;aAoCI,aAAa,EAAE,oBAAoB;aACnC,QAAQ,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IApCpD,OAAO,CAAC,QAAQ,CAAsB;IAEtC;;;OAGG;IACH,IAAI,OAAO,IAAI,QAAQ,CAAC,cAAc,CAAC,CAEtC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,IAAI,cAAc;IAIhC;;;;;OAKG;gBAEiB,aAAa,EAAE,oBAAoB,EACnC,QAAQ,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAIpD;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAK3C;;;;;OAKG;IACG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAUxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,
|
|
1
|
+
{"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/pattern.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,CAAC,EAAO,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAC,GAAG,EAAE,OAAO,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAGrD,OAAO,EAAgB,mBAAmB,EAAmC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAEjH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAA8B;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAcvB;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI;IAajD;;;;OAIG;IACH,KAAK,IAAI,OAAO;CAiBnB;AAED;;GAEG;AACH,qBAAa,OAAO;aAoCI,aAAa,EAAE,oBAAoB;aACnC,QAAQ,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IApCpD,OAAO,CAAC,QAAQ,CAAsB;IAEtC;;;OAGG;IACH,IAAI,OAAO,IAAI,QAAQ,CAAC,cAAc,CAAC,CAEtC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,IAAI,cAAc;IAIhC;;;;;OAKG;gBAEiB,aAAa,EAAE,oBAAoB,EACnC,QAAQ,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAIpD;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAK3C;;;;;OAKG;IACG,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAUxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,WAAW;IAEhB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAa;IAK1E,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS;IAE9C,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAE1C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAYnC;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;;OAIG;IACH,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;CAa9E;AAoeD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,QAAQ,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAY5G"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ExecutionContext, Recipe } from '../..';
|
|
1
2
|
import { RewriteRule, RewriteConfig } from './types';
|
|
2
3
|
/**
|
|
3
4
|
* Creates a replacement rule using a capture context and configuration.
|
|
@@ -36,4 +37,42 @@ import { RewriteRule, RewriteConfig } from './types';
|
|
|
36
37
|
* }
|
|
37
38
|
*/
|
|
38
39
|
export declare function rewrite(builderFn: () => RewriteConfig): RewriteRule;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a RewriteRule from a Recipe by using its editor visitor.
|
|
42
|
+
*
|
|
43
|
+
* This allows recipes to be used in the same chaining pattern as other rewrite rules,
|
|
44
|
+
* enabling composition with `andThen()`.
|
|
45
|
+
*
|
|
46
|
+
* @param recipe The recipe whose editor will be used to transform nodes
|
|
47
|
+
* @param ctx The execution context to pass to the recipe's editor
|
|
48
|
+
* @returns A RewriteRule that applies the recipe's editor to nodes
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* class MyRecipe extends Recipe {
|
|
53
|
+
* name = "my.recipe";
|
|
54
|
+
* displayName = "My Recipe";
|
|
55
|
+
* description = "Transforms code.";
|
|
56
|
+
*
|
|
57
|
+
* async editor(): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
58
|
+
* return new MyVisitor();
|
|
59
|
+
* }
|
|
60
|
+
* }
|
|
61
|
+
*
|
|
62
|
+
* // In a visitor:
|
|
63
|
+
* override async visitBinary(binary: J.Binary, p: ExecutionContext): Promise<J | undefined> {
|
|
64
|
+
* const rule1 = rewrite(() => ({
|
|
65
|
+
* before: pattern`${capture('a')} + ${capture('b')}`,
|
|
66
|
+
* after: template`${capture('b')} + ${capture('a')}`
|
|
67
|
+
* }));
|
|
68
|
+
*
|
|
69
|
+
* const rule2 = fromRecipe(new MyRecipe(), p);
|
|
70
|
+
*
|
|
71
|
+
* // Chain the pattern-based rule with the recipe
|
|
72
|
+
* const combined = rule1.andThen(rule2);
|
|
73
|
+
* return await combined.tryOn(this.cursor, binary) || binary;
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export declare const fromRecipe: (recipe: Recipe, ctx: ExecutionContext) => RewriteRule;
|
|
39
78
|
//# sourceMappingURL=rewrite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"
|
|
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;AA2DnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,OAAO,CACnB,SAAS,EAAE,MAAM,aAAa,GAC/B,WAAW,CASb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAK,gBAAgB,KAAG,WAgBlE,CAAA"}
|
|
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.fromRecipe = void 0;
|
|
12
13
|
exports.rewrite = rewrite;
|
|
13
14
|
/**
|
|
14
15
|
* Implementation of a replacement rule.
|
|
@@ -23,7 +24,15 @@ class RewriteRuleImpl {
|
|
|
23
24
|
for (const pattern of this.before) {
|
|
24
25
|
const match = yield pattern.match(node);
|
|
25
26
|
if (match) {
|
|
26
|
-
|
|
27
|
+
let result;
|
|
28
|
+
if (typeof this.after === 'function') {
|
|
29
|
+
// Call the function directly with the match result
|
|
30
|
+
result = yield this.after(match);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// Use template.apply() as before
|
|
34
|
+
result = yield this.after.apply(cursor, node, match);
|
|
35
|
+
}
|
|
27
36
|
if (result) {
|
|
28
37
|
return result;
|
|
29
38
|
}
|
|
@@ -33,6 +42,26 @@ class RewriteRuleImpl {
|
|
|
33
42
|
return undefined;
|
|
34
43
|
});
|
|
35
44
|
}
|
|
45
|
+
andThen(next) {
|
|
46
|
+
const first = this;
|
|
47
|
+
return new (class extends RewriteRuleImpl {
|
|
48
|
+
constructor() {
|
|
49
|
+
// Pass empty patterns and a function that will never be called
|
|
50
|
+
// since we override tryOn
|
|
51
|
+
super([], () => __awaiter(this, void 0, void 0, function* () { return undefined; }));
|
|
52
|
+
}
|
|
53
|
+
tryOn(cursor, node) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
const firstResult = yield first.tryOn(cursor, node);
|
|
56
|
+
if (firstResult !== undefined) {
|
|
57
|
+
const secondResult = yield next.tryOn(cursor, firstResult);
|
|
58
|
+
return secondResult !== null && secondResult !== void 0 ? secondResult : firstResult;
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
})();
|
|
64
|
+
}
|
|
36
65
|
}
|
|
37
66
|
/**
|
|
38
67
|
* Creates a replacement rule using a capture context and configuration.
|
|
@@ -78,4 +107,59 @@ function rewrite(builderFn) {
|
|
|
78
107
|
}
|
|
79
108
|
return new RewriteRuleImpl(Array.isArray(config.before) ? config.before : [config.before], config.after);
|
|
80
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Creates a RewriteRule from a Recipe by using its editor visitor.
|
|
112
|
+
*
|
|
113
|
+
* This allows recipes to be used in the same chaining pattern as other rewrite rules,
|
|
114
|
+
* enabling composition with `andThen()`.
|
|
115
|
+
*
|
|
116
|
+
* @param recipe The recipe whose editor will be used to transform nodes
|
|
117
|
+
* @param ctx The execution context to pass to the recipe's editor
|
|
118
|
+
* @returns A RewriteRule that applies the recipe's editor to nodes
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* class MyRecipe extends Recipe {
|
|
123
|
+
* name = "my.recipe";
|
|
124
|
+
* displayName = "My Recipe";
|
|
125
|
+
* description = "Transforms code.";
|
|
126
|
+
*
|
|
127
|
+
* async editor(): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
128
|
+
* return new MyVisitor();
|
|
129
|
+
* }
|
|
130
|
+
* }
|
|
131
|
+
*
|
|
132
|
+
* // In a visitor:
|
|
133
|
+
* override async visitBinary(binary: J.Binary, p: ExecutionContext): Promise<J | undefined> {
|
|
134
|
+
* const rule1 = rewrite(() => ({
|
|
135
|
+
* before: pattern`${capture('a')} + ${capture('b')}`,
|
|
136
|
+
* after: template`${capture('b')} + ${capture('a')}`
|
|
137
|
+
* }));
|
|
138
|
+
*
|
|
139
|
+
* const rule2 = fromRecipe(new MyRecipe(), p);
|
|
140
|
+
*
|
|
141
|
+
* // Chain the pattern-based rule with the recipe
|
|
142
|
+
* const combined = rule1.andThen(rule2);
|
|
143
|
+
* return await combined.tryOn(this.cursor, binary) || binary;
|
|
144
|
+
* }
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
const fromRecipe = (recipe, ctx) => {
|
|
148
|
+
return new (class extends RewriteRuleImpl {
|
|
149
|
+
constructor() {
|
|
150
|
+
// Pass empty patterns and a function that will never be called
|
|
151
|
+
// since we override tryOn
|
|
152
|
+
super([], () => __awaiter(this, void 0, void 0, function* () { return undefined; }));
|
|
153
|
+
}
|
|
154
|
+
tryOn(cursor, tree) {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
const visitor = yield recipe.editor();
|
|
157
|
+
const result = yield visitor.visit(tree, ctx, cursor);
|
|
158
|
+
// Return undefined if the visitor didn't change the node
|
|
159
|
+
return result !== tree ? result : undefined;
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
})();
|
|
163
|
+
};
|
|
164
|
+
exports.fromRecipe = fromRecipe;
|
|
81
165
|
//# sourceMappingURL=rewrite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Cursor, Tree } from '../..';
|
|
2
2
|
import { J, Type } from '../../java';
|
|
3
|
+
import type { Pattern, MatchResult } from "./pattern";
|
|
4
|
+
import type { Template } from "./template";
|
|
3
5
|
/**
|
|
4
6
|
* Options for variadic captures that match zero or more nodes in a sequence.
|
|
5
7
|
*/
|
|
@@ -262,12 +264,41 @@ export interface RewriteRule {
|
|
|
262
264
|
* node when there's no match: `return await rule.tryOn(this.cursor, node) || node;`
|
|
263
265
|
*/
|
|
264
266
|
tryOn(cursor: Cursor, node: J): Promise<J | undefined>;
|
|
267
|
+
/**
|
|
268
|
+
* Chains this rule with another rule, creating a composite rule that applies both transformations sequentially.
|
|
269
|
+
*
|
|
270
|
+
* The resulting rule:
|
|
271
|
+
* 1. First applies this rule to the input node
|
|
272
|
+
* 2. If this rule matches and transforms the node, applies the next rule to the result
|
|
273
|
+
* 3. If the next rule returns undefined (no match), keeps the result from the first rule
|
|
274
|
+
* 4. If this rule returns undefined (no match), returns undefined without trying the next rule
|
|
275
|
+
*
|
|
276
|
+
* @param next The rule to apply after this rule
|
|
277
|
+
* @returns A new RewriteRule that applies both rules in sequence
|
|
278
|
+
*
|
|
279
|
+
* @example
|
|
280
|
+
* ```typescript
|
|
281
|
+
* const rule1 = rewrite(() => ({
|
|
282
|
+
* before: pattern`${capture('a')} + ${capture('b')}`,
|
|
283
|
+
* after: template`${capture('b')} + ${capture('a')}`
|
|
284
|
+
* }));
|
|
285
|
+
*
|
|
286
|
+
* const rule2 = rewrite(() => ({
|
|
287
|
+
* before: pattern`${capture('x')} + 1`,
|
|
288
|
+
* after: template`${capture('x')} + 2`
|
|
289
|
+
* }));
|
|
290
|
+
*
|
|
291
|
+
* const combined = rule1.andThen(rule2);
|
|
292
|
+
* // Will first swap operands, then if result matches "x + 1", change to "x + 2"
|
|
293
|
+
* ```
|
|
294
|
+
*/
|
|
295
|
+
andThen(next: RewriteRule): RewriteRule;
|
|
265
296
|
}
|
|
266
297
|
/**
|
|
267
298
|
* Configuration for a replacement rule.
|
|
268
299
|
*/
|
|
269
300
|
export interface RewriteConfig {
|
|
270
|
-
before:
|
|
271
|
-
after:
|
|
301
|
+
before: Pattern | Pattern[];
|
|
302
|
+
after: Template | ((match: MatchResult) => Promise<J>);
|
|
272
303
|
}
|
|
273
304
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,CAAC,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"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"}
|
package/dist/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
8.67.0-
|
|
1
|
+
8.67.0-20251105-083346
|
package/package.json
CHANGED
package/src/javascript/format.ts
CHANGED
|
@@ -28,16 +28,15 @@ import {
|
|
|
28
28
|
} from "./style";
|
|
29
29
|
import {produceAsync} from "../visitor";
|
|
30
30
|
|
|
31
|
-
export async
|
|
31
|
+
export const maybeAutoFormat = async <J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2> => {
|
|
32
32
|
if (before !== after) {
|
|
33
33
|
return autoFormat(after, p, stopAfter, parent);
|
|
34
34
|
}
|
|
35
35
|
return after;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
export async
|
|
39
|
-
|
|
40
|
-
}
|
|
38
|
+
export const autoFormat = async <J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2> =>
|
|
39
|
+
(await new AutoformatVisitor(stopAfter).visit(j, p, parent) as J2);
|
|
41
40
|
|
|
42
41
|
export class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
|
|
43
42
|
constructor(private stopAfter?: Tree) {
|
package/src/javascript/index.ts
CHANGED
|
@@ -218,7 +218,7 @@ export class Pattern {
|
|
|
218
218
|
* const capturedArgs = match.get(args); // Returns J[] for variadic captures
|
|
219
219
|
* }
|
|
220
220
|
*/
|
|
221
|
-
export class MatchResult
|
|
221
|
+
export class MatchResult {
|
|
222
222
|
constructor(
|
|
223
223
|
private readonly storage: Map<string, CaptureStorageValue> = new Map()
|
|
224
224
|
) {
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import {Cursor} from '../..';
|
|
16
|
+
import {Cursor, ExecutionContext, Recipe} from '../..';
|
|
17
17
|
import {J} from '../../java';
|
|
18
18
|
import {RewriteRule, RewriteConfig} from './types';
|
|
19
|
-
import {Pattern} from './pattern';
|
|
19
|
+
import {Pattern, MatchResult} from './pattern';
|
|
20
20
|
import {Template} from './template';
|
|
21
21
|
|
|
22
22
|
/**
|
|
@@ -25,7 +25,7 @@ import {Template} from './template';
|
|
|
25
25
|
class RewriteRuleImpl implements RewriteRule {
|
|
26
26
|
constructor(
|
|
27
27
|
private readonly before: Pattern[],
|
|
28
|
-
private readonly after: Template
|
|
28
|
+
private readonly after: Template | ((match: MatchResult) => Promise<J>)
|
|
29
29
|
) {
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -33,7 +33,16 @@ class RewriteRuleImpl implements RewriteRule {
|
|
|
33
33
|
for (const pattern of this.before) {
|
|
34
34
|
const match = await pattern.match(node);
|
|
35
35
|
if (match) {
|
|
36
|
-
|
|
36
|
+
let result: J | undefined;
|
|
37
|
+
|
|
38
|
+
if (typeof this.after === 'function') {
|
|
39
|
+
// Call the function directly with the match result
|
|
40
|
+
result = await this.after(match);
|
|
41
|
+
} else {
|
|
42
|
+
// Use template.apply() as before
|
|
43
|
+
result = await this.after.apply(cursor, node, match);
|
|
44
|
+
}
|
|
45
|
+
|
|
37
46
|
if (result) {
|
|
38
47
|
return result;
|
|
39
48
|
}
|
|
@@ -43,6 +52,26 @@ class RewriteRuleImpl implements RewriteRule {
|
|
|
43
52
|
// Return undefined if no patterns match
|
|
44
53
|
return undefined;
|
|
45
54
|
}
|
|
55
|
+
|
|
56
|
+
andThen(next: RewriteRule): RewriteRule {
|
|
57
|
+
const first = this;
|
|
58
|
+
return new (class extends RewriteRuleImpl {
|
|
59
|
+
constructor() {
|
|
60
|
+
// Pass empty patterns and a function that will never be called
|
|
61
|
+
// since we override tryOn
|
|
62
|
+
super([], async () => undefined as unknown as J);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async tryOn(cursor: Cursor, node: J): Promise<J | undefined> {
|
|
66
|
+
const firstResult = await first.tryOn(cursor, node);
|
|
67
|
+
if (firstResult !== undefined) {
|
|
68
|
+
const secondResult = await next.tryOn(cursor, firstResult);
|
|
69
|
+
return secondResult ?? firstResult;
|
|
70
|
+
}
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
})();
|
|
74
|
+
}
|
|
46
75
|
}
|
|
47
76
|
|
|
48
77
|
/**
|
|
@@ -93,3 +122,58 @@ export function rewrite(
|
|
|
93
122
|
|
|
94
123
|
return new RewriteRuleImpl(Array.isArray(config.before) ? config.before : [config.before], config.after);
|
|
95
124
|
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Creates a RewriteRule from a Recipe by using its editor visitor.
|
|
128
|
+
*
|
|
129
|
+
* This allows recipes to be used in the same chaining pattern as other rewrite rules,
|
|
130
|
+
* enabling composition with `andThen()`.
|
|
131
|
+
*
|
|
132
|
+
* @param recipe The recipe whose editor will be used to transform nodes
|
|
133
|
+
* @param ctx The execution context to pass to the recipe's editor
|
|
134
|
+
* @returns A RewriteRule that applies the recipe's editor to nodes
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* class MyRecipe extends Recipe {
|
|
139
|
+
* name = "my.recipe";
|
|
140
|
+
* displayName = "My Recipe";
|
|
141
|
+
* description = "Transforms code.";
|
|
142
|
+
*
|
|
143
|
+
* async editor(): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
144
|
+
* return new MyVisitor();
|
|
145
|
+
* }
|
|
146
|
+
* }
|
|
147
|
+
*
|
|
148
|
+
* // In a visitor:
|
|
149
|
+
* override async visitBinary(binary: J.Binary, p: ExecutionContext): Promise<J | undefined> {
|
|
150
|
+
* const rule1 = rewrite(() => ({
|
|
151
|
+
* before: pattern`${capture('a')} + ${capture('b')}`,
|
|
152
|
+
* after: template`${capture('b')} + ${capture('a')}`
|
|
153
|
+
* }));
|
|
154
|
+
*
|
|
155
|
+
* const rule2 = fromRecipe(new MyRecipe(), p);
|
|
156
|
+
*
|
|
157
|
+
* // Chain the pattern-based rule with the recipe
|
|
158
|
+
* const combined = rule1.andThen(rule2);
|
|
159
|
+
* return await combined.tryOn(this.cursor, binary) || binary;
|
|
160
|
+
* }
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
export const fromRecipe = (recipe: Recipe, ctx: ExecutionContext): RewriteRule => {
|
|
164
|
+
return new (class extends RewriteRuleImpl {
|
|
165
|
+
constructor() {
|
|
166
|
+
// Pass empty patterns and a function that will never be called
|
|
167
|
+
// since we override tryOn
|
|
168
|
+
super([], async () => undefined as unknown as J);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
async tryOn(cursor: Cursor, tree: J): Promise<J | undefined> {
|
|
172
|
+
const visitor = await recipe.editor();
|
|
173
|
+
const result = await visitor.visit<J>(tree, ctx, cursor);
|
|
174
|
+
|
|
175
|
+
// Return undefined if the visitor didn't change the node
|
|
176
|
+
return result !== tree ? result : undefined;
|
|
177
|
+
}
|
|
178
|
+
})();
|
|
179
|
+
}
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import {Cursor, Tree} from '../..';
|
|
17
17
|
import {J, Type} from '../../java';
|
|
18
|
+
import type {Pattern, MatchResult} from "./pattern";
|
|
19
|
+
import type {Template} from "./template";
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
22
|
* Options for variadic captures that match zero or more nodes in a sequence.
|
|
@@ -299,12 +301,42 @@ export interface RewriteRule {
|
|
|
299
301
|
* node when there's no match: `return await rule.tryOn(this.cursor, node) || node;`
|
|
300
302
|
*/
|
|
301
303
|
tryOn(cursor: Cursor, node: J): Promise<J | undefined>;
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Chains this rule with another rule, creating a composite rule that applies both transformations sequentially.
|
|
307
|
+
*
|
|
308
|
+
* The resulting rule:
|
|
309
|
+
* 1. First applies this rule to the input node
|
|
310
|
+
* 2. If this rule matches and transforms the node, applies the next rule to the result
|
|
311
|
+
* 3. If the next rule returns undefined (no match), keeps the result from the first rule
|
|
312
|
+
* 4. If this rule returns undefined (no match), returns undefined without trying the next rule
|
|
313
|
+
*
|
|
314
|
+
* @param next The rule to apply after this rule
|
|
315
|
+
* @returns A new RewriteRule that applies both rules in sequence
|
|
316
|
+
*
|
|
317
|
+
* @example
|
|
318
|
+
* ```typescript
|
|
319
|
+
* const rule1 = rewrite(() => ({
|
|
320
|
+
* before: pattern`${capture('a')} + ${capture('b')}`,
|
|
321
|
+
* after: template`${capture('b')} + ${capture('a')}`
|
|
322
|
+
* }));
|
|
323
|
+
*
|
|
324
|
+
* const rule2 = rewrite(() => ({
|
|
325
|
+
* before: pattern`${capture('x')} + 1`,
|
|
326
|
+
* after: template`${capture('x')} + 2`
|
|
327
|
+
* }));
|
|
328
|
+
*
|
|
329
|
+
* const combined = rule1.andThen(rule2);
|
|
330
|
+
* // Will first swap operands, then if result matches "x + 1", change to "x + 2"
|
|
331
|
+
* ```
|
|
332
|
+
*/
|
|
333
|
+
andThen(next: RewriteRule): RewriteRule;
|
|
302
334
|
}
|
|
303
335
|
|
|
304
336
|
/**
|
|
305
337
|
* Configuration for a replacement rule.
|
|
306
338
|
*/
|
|
307
339
|
export interface RewriteConfig {
|
|
308
|
-
before:
|
|
309
|
-
after:
|
|
340
|
+
before: Pattern | Pattern[],
|
|
341
|
+
after: Template | ((match: MatchResult) => Promise<J>)
|
|
310
342
|
}
|