@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.
@@ -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 function maybeAutoFormat<J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2>;
7
- export declare function autoFormat<J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2>;
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,wBAAsB,eAAe,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAK/H;AAED,wBAAsB,UAAU,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAE1G;AAED,qBAAa,iBAAiB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,EAAE,IAAI,YAAA;IAI9B,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAmBtF;AAED,qBAAa,0BAA0B,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAGvD,OAAO,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,EAAE,IAAI,YAAA;IAIrB,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAO7E,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAMlE;AAED,qBAAa,aAAa,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,KAAK;IAAe,OAAO,CAAC,SAAS,CAAC;gBAAtC,KAAK,EAAE,WAAW,EAAU,SAAS,CAAC,EAAE,IAAI,YAAA;IAIjD,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAO7E,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO/C,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAOzD,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQ1E,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQvE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA8C3D,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAStD,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUrF,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;cAWlF,sBAAsB,CAAC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAqB7F,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA4B9D,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAShD,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAwBzE,8BAA8B,CAAC,yBAAyB,EAAE,EAAE,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQrH,sBAAsB,CAAC,UAAU,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAsBrF,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAmBlF,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAkB/D,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQ9D,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAkBnD,oBAAoB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAYvF,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQlE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAsBxD,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAc3F,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;YAStE,qBAAqB;YAgBrB,4BAA4B;YAS5B,6BAA6B;YAM7B,WAAW;YAiBX,oBAAoB;IAqBlC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAKrC,OAAO,CAAC,MAAM,CAAC,WAAW;IAc1B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAItC,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAGlC;AAED,qBAAa,wBAAwB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA0B,OAAO,CAAC,SAAS,CAAC;gBAAjD,KAAK,EAAE,sBAAsB,EAAU,SAAS,CAAC,EAAE,IAAI,YAAA;IAIrE,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAO7E,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO/C,yBAAyB,CAAC,aAAa,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;cAkBvG,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;cAkBvF,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;cAiBxD,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;cAiBvF,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;cASlD,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5E,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,oBAAoB;CAe/B;AAGD,qBAAa,2BAA2B,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,EAAE,IAAI,YAAA;IAIrB,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAO7E,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO/C,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO1D,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAyDlF,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAqCjF,yBAAyB,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAUtG,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAWjE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAW/D,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAOzD,oBAAoB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAUvF,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO5D,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAU5E,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAuBlF,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAazE,OAAO,CAAC,WAAW;CAKtB;AAED,qBAAa,iBAAiB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAmB,OAAO,CAAC,SAAS,CAAC;gBAA1C,KAAK,EAAE,eAAe,EAAU,SAAS,CAAC,EAAE,IAAI,YAAA;IAI9D,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA0B5E,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAuCxF,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;cAuC7D,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;cASlD,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAMlF,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,MAAM,CAAC,aAAa;IAIb,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAMlE;AAED,qBAAa,qBAAqB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAGlD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAAuB,OAAO,CAAC,SAAS,CAAC;IAFzF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAET,mBAAmB,EAAE,mBAAmB,EAAU,SAAS,CAAC,EAAE,IAAI,YAAA;cAU/E,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA8DzD,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOtE,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAYtI,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,aAAa;IAIN,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAMlE"}
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
- function maybeAutoFormat(before, after, p, stopAfter, parent) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- if (before !== after) {
40
- return autoFormat(after, p, stopAfter, parent);
41
- }
42
- return after;
43
- });
44
- }
45
- function autoFormat(j, p, stopAfter, parent) {
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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"}
@@ -7,6 +7,7 @@ export * from "./markers";
7
7
  export * from "./preconditions";
8
8
  export * from "./templating/index";
9
9
  export * from "./method-matcher";
10
+ export * from "./format";
10
11
  export * from "./add-import";
11
12
  export * from "./remove-import";
12
13
  import "./print";
@@ -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;AAEjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,OAAO,SAAS,CAAC;AACjB,OAAO,OAAO,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"}
@@ -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;AAEjC,+CAA6B;AAC7B,kDAAgC;AAEhC,mBAAiB;AACjB,iBAAe"}
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,EACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,QAAQ,EACR,eAAe,EACf,QAAQ,EACX,MAAM,YAAY,CAAC"}
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,qCAEmB;AADf,kGAAA,OAAO,OAAA;AAGX,gCAAgC;AAChC,uCAIoB;AAHhB,oGAAA,QAAQ,OAAA;AACR,2GAAA,eAAe,OAAA;AACf,oGAAA,QAAQ,OAAA"}
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 implements Pick<Map<string, J>, "get"> {
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,WAAY,YAAW,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;IAEvD,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
+ {"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":"AAiBA,OAAO,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AA8BnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,OAAO,CACnB,SAAS,EAAE,MAAM,aAAa,GAC/B,WAAW,CASb"}
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
- const result = yield this.after.apply(cursor, node, match);
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":";;;;;;;;;;;AAmFA,0BAWC;AAzED;;GAEG;AACH,MAAM,eAAe;IACjB,YACqB,MAAiB,EACjB,KAAe;QADf,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAAU;IAEpC,CAAC;IAEK,KAAK,CAAC,MAAc,EAAE,IAAO;;YAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC3D,IAAI,MAAM,EAAE,CAAC;wBACT,OAAO,MAAM,CAAC;oBAClB,CAAC;gBACL,CAAC;YACL,CAAC;YAED,wCAAwC;YACxC,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,SAAgB,OAAO,CACnB,SAA8B;IAE9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,mDAAmD;IACnD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7G,CAAC"}
1
+ {"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../../src/javascript/templating/rewrite.ts"],"names":[],"mappings":";;;;;;;;;;;;AAgHA,0BAWC;AAtGD;;GAEG;AACH,MAAM,eAAe;IACjB,YACqB,MAAiB,EACjB,KAAsD;QADtD,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAAiD;IAE3E,CAAC;IAEK,KAAK,CAAC,MAAc,EAAE,IAAO;;YAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,MAAqB,CAAC;oBAE1B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;wBACnC,mDAAmD;wBACnD,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACJ,iCAAiC;wBACjC,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBACzD,CAAC;oBAED,IAAI,MAAM,EAAE,CAAC;wBACT,OAAO,MAAM,CAAC;oBAClB,CAAC;gBACL,CAAC;YACL,CAAC;YAED,wCAAwC;YACxC,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;IAED,OAAO,CAAC,IAAiB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC,KAAM,SAAQ,eAAe;YACrC;gBACI,+DAA+D;gBAC/D,0BAA0B;gBAC1B,KAAK,CAAC,EAAE,EAAE,GAAS,EAAE,gDAAC,OAAA,SAAyB,CAAA,GAAA,CAAC,CAAC;YACrD,CAAC;YAEK,KAAK,CAAC,MAAc,EAAE,IAAO;;oBAC/B,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBAC3D,OAAO,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,WAAW,CAAC;oBACvC,CAAC;oBACD,OAAO,SAAS,CAAC;gBACrB,CAAC;aAAA;SACJ,CAAC,EAAE,CAAC;IACT,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,SAAgB,OAAO,CACnB,SAA8B;IAE9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,mDAAmD;IACnD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7G,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACI,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,GAAqB,EAAe,EAAE;IAC7E,OAAO,IAAI,CAAC,KAAM,SAAQ,eAAe;QACrC;YACI,+DAA+D;YAC/D,0BAA0B;YAC1B,KAAK,CAAC,EAAE,EAAE,GAAS,EAAE,gDAAC,OAAA,SAAyB,CAAA,GAAA,CAAC,CAAC;QACrD,CAAC;QAEK,KAAK,CAAC,MAAc,EAAE,IAAO;;gBAC/B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAI,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAEzD,yDAAyD;gBACzD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAChD,CAAC;SAAA;KACJ,CAAC,EAAE,CAAC;AACT,CAAC,CAAA;AAhBY,QAAA,UAAU,cAgBtB"}
@@ -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: any;
271
- after: any;
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":"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"}
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-20251104-185626
1
+ 8.67.0-20251105-083346
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.67.0-20251104-185626",
3
+ "version": "8.67.0-20251105-083346",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "homepage": "https://github.com/openrewrite/rewrite",
@@ -28,16 +28,15 @@ import {
28
28
  } from "./style";
29
29
  import {produceAsync} from "../visitor";
30
30
 
31
- export async function maybeAutoFormat<J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2> {
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 function autoFormat<J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor): Promise<J2> {
39
- return await new AutoformatVisitor(stopAfter).visit(j, p, parent) as J2;
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) {
@@ -22,6 +22,7 @@ export * from "./markers";
22
22
  export * from "./preconditions";
23
23
  export * from "./templating/index";
24
24
  export * from "./method-matcher";
25
+ export * from "./format";
25
26
 
26
27
  export * from "./add-import";
27
28
  export * from "./remove-import";
@@ -49,7 +49,8 @@ export {
49
49
 
50
50
  // Export rewrite functionality
51
51
  export {
52
- rewrite
52
+ rewrite,
53
+ fromRecipe
53
54
  } from './rewrite';
54
55
 
55
56
  // Export template functionality
@@ -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 implements Pick<Map<string, J>, "get"> {
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
- const result = await this.after.apply(cursor, node, match);
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: any; // Pattern | Pattern[], but we'll import Pattern in rewrite.ts
309
- after: any; // Template, but we'll import Template in rewrite.ts
340
+ before: Pattern | Pattern[],
341
+ after: Template | ((match: MatchResult) => Promise<J>)
310
342
  }