@openrewrite/rewrite 8.67.0-20251110-080920 → 8.67.0-20251110-085350

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.
@@ -1,6 +1,6 @@
1
1
  import { Cursor } from '../..';
2
2
  import { J, Type } from '../../java';
3
- import { Any, Capture, CaptureOptions, TemplateParam, VariadicOptions } from './types';
3
+ import { Any, Capture, CaptureOptions, ConstraintFunction, TemplateParam, VariadicOptions } from './types';
4
4
  /**
5
5
  * Combines multiple constraints with AND logic.
6
6
  * All constraints must return true for the combined constraint to pass.
@@ -48,14 +48,14 @@ export declare class CaptureImpl<T = any> implements Capture<T> {
48
48
  readonly name: string;
49
49
  [CAPTURE_NAME_SYMBOL]: string;
50
50
  [CAPTURE_VARIADIC_SYMBOL]: VariadicOptions | undefined;
51
- [CAPTURE_CONSTRAINT_SYMBOL]: ((node: T) => boolean) | undefined;
51
+ [CAPTURE_CONSTRAINT_SYMBOL]: ConstraintFunction<T> | undefined;
52
52
  [CAPTURE_CAPTURING_SYMBOL]: boolean;
53
53
  [CAPTURE_TYPE_SYMBOL]: string | Type | undefined;
54
54
  constructor(name: string, options?: CaptureOptions<T>, capturing?: boolean);
55
55
  getName(): string;
56
56
  isVariadic(): boolean;
57
57
  getVariadicOptions(): VariadicOptions | undefined;
58
- getConstraint(): ((node: T) => boolean) | undefined;
58
+ getConstraint(): ConstraintFunction<T> | undefined;
59
59
  isCapturing(): boolean;
60
60
  getType(): string | Type | undefined;
61
61
  }
@@ -96,7 +96,7 @@ export declare function capture<T = any>(options: CaptureOptions<T> & {
96
96
  export declare function capture<T = any>(options: {
97
97
  name?: string;
98
98
  variadic: true | VariadicOptions;
99
- constraint?: (nodes: T[]) => boolean;
99
+ constraint?: ConstraintFunction<T[]>;
100
100
  min?: number;
101
101
  max?: number;
102
102
  }): Capture<T[]> & T[];
@@ -155,13 +155,13 @@ export declare namespace capture {
155
155
  * const pat = pattern`sum(${numericArgs})`;
156
156
  */
157
157
  export declare function any<T = any>(options: {
158
- constraint: (node: T) => boolean;
158
+ constraint: ConstraintFunction<T>;
159
159
  } & {
160
160
  variadic?: never;
161
161
  }): Any<T> & T;
162
162
  export declare function any<T = any>(options: {
163
163
  variadic: true | VariadicOptions;
164
- constraint?: (nodes: T[]) => boolean;
164
+ constraint?: ConstraintFunction<T[]>;
165
165
  min?: number;
166
166
  max?: number;
167
167
  }): Any<T[]> & T[];
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/capture.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAC,CAAC,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AACnC,OAAO,EAAC,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,SAAS,CAAC;AAErF;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAEvH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAEtH;AAED;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAE/G;AAGD,eAAO,MAAM,mBAAmB,eAAwB,CAAC;AAEzD,eAAO,MAAM,uBAAuB,eAA4B,CAAC;AAEjE,eAAO,MAAM,yBAAyB,eAA8B,CAAC;AAErE,eAAO,MAAM,wBAAwB,eAA6B,CAAC;AAEnE,eAAO,MAAM,mBAAmB,eAAwB,CAAC;AAEzD,eAAO,MAAM,eAAe,eAAoB,CAAC;AAEjD,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACnD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,uBAAuB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACvD,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAChE,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACpC,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;gBAErC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,OAAc;IA4BhF,OAAO,IAAI,MAAM;IAIjB,UAAU,IAAI,OAAO;IAIrB,kBAAkB,IAAI,eAAe,GAAG,SAAS;IAIjD,aAAa,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,SAAS;IAInD,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS;CAGvC;AAED,qBAAa,iBAAiB,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAC/D,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE,MAAM;IAIxB,OAAO,IAAI,MAAM;CAGpB;AAED;;;;GAIG;AACH,qBAAa,YAAY;aAED,WAAW,EAAE,OAAO;aACpB,YAAY,EAAE,MAAM,EAAE;aACtB,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;gBAFxE,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,MAAM,EAAE,EACtB,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,YAAA;IAG5F;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG;IA8BvD;;OAEG;IACH,gBAAgB,IAAI,OAAO;CAM9B;AAoJD,wBAAgB,OAAO,CAAC,CAAC,GAAG,GAAG,EAC3B,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAClD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAGlB,wBAAgB,OAAO,CAAC,CAAC,GAAG,GAAG,EAC3B,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,GAAG,eAAe,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/H,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAGtB,wBAAgB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;yBAAhD,OAAO;;;AA0BvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,wBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EACvB,OAAO,EAAE;IAAE,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GACrE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAGd,wBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EACvB,OAAO,EAAE;IAAE,QAAQ,EAAE,IAAI,GAAG,eAAe,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAChH,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAGlB,wBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EACvB,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;yBAFE,GAAG;;;AAenB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAG9D;AAED;;;GAGG;AACH,qBAAa,OAAO;aAGY,IAAI,EAAE,MAAM;IAFxC,CAAC,eAAe,CAAC,UAAQ;gBAEG,IAAI,EAAE,MAAM;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,CAAC,gBAAU,CAAC"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,CAAC,EAAC,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAC,EAAE,EAAC,MAAM,UAAU,CAAC;AAC5B,OAAO,EAAC,mCAAmC,EAAC,MAAM,eAAe,CAAC;AAClE,OAAO,EAAC,aAAa,EAAE,mBAAmB,EAAmB,MAAM,SAAS,CAAC;AAE7E;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,mCAAmC;IAE1E,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE;QACtB,aAAa,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAC1F,qBAAqB,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;QACxG,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAClD,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,IAAI,CAAC;KACnE,EACD,mBAAmB,GAAE,OAAc;IAMxB,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAsCzF,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAK9C;;;OAGG;IACY,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IA0CjG,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;IA0CrF,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA2D7F,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA2B5D,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA0B5G;;;OAGG;YACW,cAAc;IAI5B;;;;;;;;;;;OAWG;YACW,aAAa;IAI3B;;;;;;;;;;;OAWG;YACW,sBAAsB;CAoMvC"}
1
+ {"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,CAAC,EAAC,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAC,EAAE,EAAC,MAAM,UAAU,CAAC;AAC5B,OAAO,EAAC,mCAAmC,EAAC,MAAM,eAAe,CAAC;AAClE,OAAO,EAAC,aAAa,EAAE,mBAAmB,EAAmB,MAAM,SAAS,CAAC;AAE7E;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,mCAAmC;IAE1E,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE;QACtB,aAAa,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QAC1F,qBAAqB,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;QACxG,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAClD,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,IAAI,CAAC;KACnE,EACD,mBAAmB,GAAE,OAAc;IAMxB,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAuCzF,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAK9C;;;OAGG;IACY,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IA0CjG,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;IA0CrF,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA2D7F,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA2B5D,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA0B5G;;;OAGG;YACW,cAAc;IAI5B;;;;;;;;;;;OAWG;YACW,aAAa;IAI3B;;;;;;;;;;;OAWG;YACW,sBAAsB;CAqMvC"}
@@ -56,11 +56,12 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
56
56
  const savedTargetCursor = this.targetCursor;
57
57
  const cursorAtCapturedNode = this.targetCursor !== undefined
58
58
  ? new __1.Cursor(p, this.targetCursor)
59
- : undefined;
59
+ : new __1.Cursor(p);
60
60
  this.targetCursor = cursorAtCapturedNode;
61
61
  try {
62
- // Evaluate constraint with cursor at the captured node
63
- if (captureMarker.constraint && !captureMarker.constraint(p, cursorAtCapturedNode)) {
62
+ // Evaluate constraint with cursor at the captured node (always defined)
63
+ // Skip constraint for variadic captures - they're evaluated in matchSequence with the full array
64
+ if (captureMarker.constraint && !captureMarker.variadicOptions && !captureMarker.constraint(p, cursorAtCapturedNode)) {
64
65
  return this.abort(j);
65
66
  }
66
67
  const success = this.matcher.handleCapture(captureMarker, p, undefined);
@@ -105,15 +106,15 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
105
106
  const targetWrapper = isRightPadded ? p : undefined;
106
107
  const targetElement = isRightPadded ? targetWrapper.element : p;
107
108
  // Push targetCursor to position it at the captured element for constraint evaluation
108
- // Only create cursor if targetCursor was initialized (meaning user provided one)
109
109
  const savedTargetCursor = this.targetCursor;
110
110
  const cursorAtCapturedNode = this.targetCursor !== undefined
111
111
  ? (targetWrapper ? new __1.Cursor(targetWrapper, this.targetCursor) : new __1.Cursor(targetElement, this.targetCursor))
112
- : undefined;
112
+ : (targetWrapper ? new __1.Cursor(targetWrapper) : new __1.Cursor(targetElement));
113
113
  this.targetCursor = cursorAtCapturedNode;
114
114
  try {
115
- // Evaluate constraint with cursor at the captured node
116
- if (captureMarker.constraint && !captureMarker.constraint(targetElement, cursorAtCapturedNode)) {
115
+ // Evaluate constraint with cursor at the captured node (always defined)
116
+ // Skip constraint for variadic captures - they're evaluated in matchSequence with the full array
117
+ if (captureMarker.constraint && !captureMarker.variadicOptions && !captureMarker.constraint(targetElement, cursorAtCapturedNode)) {
117
118
  return this.abort(right);
118
119
  }
119
120
  // Handle the capture with the wrapper - use the element for pattern matching
@@ -409,9 +410,10 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
409
410
  }
410
411
  // Evaluate constraint for variadic capture
411
412
  // For variadic captures, constraint receives the entire array of captured elements
412
- // The targetCursor is positioned in the target tree (parent context)
413
+ // The targetCursor points to the parent container (always defined in container matching)
413
414
  if (captureMarker.constraint) {
414
- if (!captureMarker.constraint(capturedElements, this.targetCursor)) {
415
+ const cursor = this.targetCursor || new __1.Cursor(targetElements[0]);
416
+ if (!captureMarker.constraint(capturedElements, cursor)) {
415
417
  continue; // Try next consumption amount
416
418
  }
417
419
  }
@@ -1 +1 @@
1
- {"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,18 @@ export interface VariadicOptions {
16
16
  */
17
17
  max?: number;
18
18
  }
19
+ /**
20
+ * Constraint function for captures.
21
+ * The cursor parameter is always provided with a defined value, but functions can
22
+ * choose to accept it or not (TypeScript allows functions with fewer parameters).
23
+ *
24
+ * For non-variadic captures: use ConstraintFunction<T> where T is the node type
25
+ * For variadic captures: use ConstraintFunction<T[]> where T[] is the array type
26
+ *
27
+ * When used with variadic captures, the cursor points to the nearest common parent
28
+ * of the captured elements.
29
+ */
30
+ export type ConstraintFunction<T> = (node: T, cursor: Cursor) => boolean;
19
31
  /**
20
32
  * Options for the capture function.
21
33
  *
@@ -32,32 +44,34 @@ export interface CaptureOptions<T = any> {
32
44
  variadic?: boolean | VariadicOptions;
33
45
  /**
34
46
  * Optional constraint function that validates whether a captured node should be accepted.
35
- * The function receives:
47
+ * The function always receives:
36
48
  * - node: The captured node (or array of nodes for variadic captures)
37
- * - cursor: Optional cursor providing access to the node's context in the AST
49
+ * - cursor: A cursor at the captured node's position (always defined)
50
+ *
51
+ * Functions can choose to accept just the node parameter if they don't need the cursor.
38
52
  *
39
53
  * @param node The captured node to validate
40
- * @param cursor Optional cursor at the captured node's position
54
+ * @param cursor Cursor at the captured node's position
41
55
  * @returns true if the capture should be accepted, false otherwise
42
56
  *
43
57
  * @example
44
58
  * ```typescript
45
- * // Simple node validation
59
+ * // Simple node validation (cursor parameter ignored)
46
60
  * capture<J.Literal>('size', {
47
61
  * constraint: (node) => typeof node.value === 'number' && node.value > 100
48
62
  * })
49
63
  *
50
- * // Context-aware validation
64
+ * // Context-aware validation (using cursor)
51
65
  * capture<J.MethodInvocation>('method', {
52
66
  * constraint: (node, cursor) => {
53
67
  * if (!node.name.simpleName.startsWith('get')) return false;
54
- * const cls = cursor?.firstEnclosing(isClassDeclaration);
68
+ * const cls = cursor.firstEnclosing(isClassDeclaration);
55
69
  * return cls?.name.simpleName === 'ApiController';
56
70
  * }
57
71
  * })
58
72
  * ```
59
73
  */
60
- constraint?: (node: T, cursor?: Cursor) => boolean;
74
+ constraint?: ConstraintFunction<T>;
61
75
  /**
62
76
  * Type annotation for this capture. When provided, the template engine will generate
63
77
  * a preamble declaring the capture identifier with this type annotation, allowing
@@ -112,7 +126,7 @@ export interface Capture<T = any> {
112
126
  * For variadic captures (T = Expression[]), constraint receives an array of nodes.
113
127
  * The constraint function can optionally receive a cursor for context-aware validation.
114
128
  */
115
- getConstraint?(): ((node: T, cursor?: Cursor) => boolean) | undefined;
129
+ getConstraint?(): ConstraintFunction<T> | undefined;
116
130
  }
117
131
  /**
118
132
  * Non-capturing pattern match specification.
@@ -175,7 +189,7 @@ export interface Any<T = any> {
175
189
  * For regular any (T = Expression), constraint receives a single node.
176
190
  * For variadic any (T = Expression[]), constraint receives an array of nodes.
177
191
  */
178
- getConstraint?(): ((node: T) => boolean) | undefined;
192
+ getConstraint?(): ConstraintFunction<T> | undefined;
179
193
  }
180
194
  /**
181
195
  * Template parameter specification for template-only parameter substitution.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { Cursor } from '../..';
2
1
  import { J } from '../../java';
3
2
  import { Marker, Markers } from '../../markers';
4
- import { VariadicOptions } from './types';
3
+ import { ConstraintFunction, VariadicOptions } from './types';
5
4
  /**
6
5
  * Internal storage value type for pattern match captures.
7
6
  * - J: Scalar captures without wrapper (fallback)
@@ -58,10 +57,10 @@ export declare function generateCacheKey(templateParts: string[] | TemplateStrin
58
57
  export declare class CaptureMarker implements Marker {
59
58
  readonly captureName: string;
60
59
  readonly variadicOptions?: VariadicOptions | undefined;
61
- readonly constraint?: ((node: any, cursor?: Cursor) => boolean) | undefined;
60
+ readonly constraint?: ConstraintFunction<any> | undefined;
62
61
  readonly kind = "org.openrewrite.javascript.CaptureMarker";
63
62
  readonly id: string;
64
- constructor(captureName: string, variadicOptions?: VariadicOptions | undefined, constraint?: ((node: any, cursor?: Cursor) => boolean) | undefined);
63
+ constructor(captureName: string, variadicOptions?: VariadicOptions | undefined, constraint?: ConstraintFunction<any> | undefined);
65
64
  }
66
65
  /**
67
66
  * Utility class for managing placeholder naming and parsing.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,CAAC,EAAC,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAC,MAAM,SAAS,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;AAElF;;GAEG;AACH,eAAO,MAAM,mBAAmB,eAAwB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IAGV,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,KAAK,CAAmB;gBAEZ,OAAO,EAAE,MAAM;IAGnC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAU1B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAiB3B,KAAK,IAAI,IAAI;CAGhB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,qBAA+B,CAAC;AAE3D;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC5B,aAAa,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAC9C,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAOR;AAED;;;GAGG;AACH,qBAAa,aAAc,YAAW,MAAM;aAKpB,WAAW,EAAE,MAAM;aACnB,eAAe,CAAC,EAAE,eAAe;aACjC,UAAU,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC;IANxD,QAAQ,CAAC,IAAI,8CAA8C;IAC3D,QAAQ,CAAC,EAAE,SAAc;gBAGL,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,eAAe,YAAA,EACjC,UAAU,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,YAAA;CAG3D;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,MAAM,CAAC,QAAQ,CAAC,cAAc,aAAa;IAC3C,MAAM,CAAC,QAAQ,CAAC,kBAAkB,oBAAoB;IAEtD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAUlC;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,aAAa,GAAG,SAAS;IAS9E;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAuBzF;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM;IAOnE;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO;IAS7D;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,eAAe,GAAG,SAAS;IASlF;;;;;;;;OAQG;IACH,MAAM,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;CA0CtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/javascript/templating/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/javascript/templating/utils.ts"],"names":[],"mappings":"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"}
package/dist/version.txt CHANGED
@@ -1 +1 @@
1
- 8.67.0-20251110-080920
1
+ 8.67.0-20251110-085350
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.67.0-20251110-080920",
3
+ "version": "8.67.0-20251110-085350",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "homepage": "https://github.com/openrewrite/rewrite",
@@ -24,7 +24,7 @@
24
24
  "postbuild": "chmod +x dist/rpc/server.js && npm link",
25
25
  "typecheck": "tsc --noEmit",
26
26
  "dev": "tsc --watch -p tsconfig.json",
27
- "test": "npm run build && NODE_OPTIONS='--max-old-space-size=4096' jest",
27
+ "test": "npm run typecheck && npm run build && NODE_OPTIONS='--max-old-space-size=4096' jest",
28
28
  "build:fixtures": "tsc --build fixtures/tsconfig.json",
29
29
  "ci:test": "NODE_OPTIONS='--max-old-space-size=4096' jest",
30
30
  "start": "npm run build && node ./dist/rpc/server.js"
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import {Cursor} from '../..';
17
17
  import {J, Type} from '../../java';
18
- import {Any, Capture, CaptureOptions, TemplateParam, VariadicOptions} from './types';
18
+ import {Any, Capture, CaptureOptions, ConstraintFunction, TemplateParam, VariadicOptions} from './types';
19
19
 
20
20
  /**
21
21
  * Combines multiple constraints with AND logic.
@@ -80,7 +80,7 @@ export class CaptureImpl<T = any> implements Capture<T> {
80
80
  public readonly name: string;
81
81
  [CAPTURE_NAME_SYMBOL]: string;
82
82
  [CAPTURE_VARIADIC_SYMBOL]: VariadicOptions | undefined;
83
- [CAPTURE_CONSTRAINT_SYMBOL]: ((node: T) => boolean) | undefined;
83
+ [CAPTURE_CONSTRAINT_SYMBOL]: ConstraintFunction<T> | undefined;
84
84
  [CAPTURE_CAPTURING_SYMBOL]: boolean;
85
85
  [CAPTURE_TYPE_SYMBOL]: string | Type | undefined;
86
86
 
@@ -124,7 +124,7 @@ export class CaptureImpl<T = any> implements Capture<T> {
124
124
  return this[CAPTURE_VARIADIC_SYMBOL];
125
125
  }
126
126
 
127
- getConstraint(): ((node: T) => boolean) | undefined {
127
+ getConstraint(): ConstraintFunction<T> | undefined {
128
128
  return this[CAPTURE_CONSTRAINT_SYMBOL];
129
129
  }
130
130
 
@@ -358,7 +358,7 @@ export function capture<T = any>(
358
358
 
359
359
  // Overload 2: Options object with variadic
360
360
  export function capture<T = any>(
361
- options: { name?: string; variadic: true | VariadicOptions; constraint?: (nodes: T[]) => boolean; min?: number; max?: number }
361
+ options: { name?: string; variadic: true | VariadicOptions; constraint?: ConstraintFunction<T[]>; min?: number; max?: number }
362
362
  ): Capture<T[]> & T[];
363
363
 
364
364
  // Overload 3: Just a string name (simple named capture)
@@ -440,12 +440,12 @@ capture.nextUnnamedId = 1;
440
440
  */
441
441
  // Overload 1: Regular any with constraint (most specific - no variadic property)
442
442
  export function any<T = any>(
443
- options: { constraint: (node: T) => boolean } & { variadic?: never }
443
+ options: { constraint: ConstraintFunction<T> } & { variadic?: never }
444
444
  ): Any<T> & T;
445
445
 
446
446
  // Overload 2: Variadic any with constraint
447
447
  export function any<T = any>(
448
- options: { variadic: true | VariadicOptions; constraint?: (nodes: T[]) => boolean; min?: number; max?: number }
448
+ options: { variadic: true | VariadicOptions; constraint?: ConstraintFunction<T[]>; min?: number; max?: number }
449
449
  ): Any<T[]> & T[];
450
450
 
451
451
  // Overload 3: Catch-all for simple any without special options
@@ -50,11 +50,12 @@ export class PatternMatchingComparator extends JavaScriptSemanticComparatorVisit
50
50
  const savedTargetCursor = this.targetCursor;
51
51
  const cursorAtCapturedNode = this.targetCursor !== undefined
52
52
  ? new Cursor(p, this.targetCursor)
53
- : undefined;
53
+ : new Cursor(p);
54
54
  this.targetCursor = cursorAtCapturedNode;
55
55
  try {
56
- // Evaluate constraint with cursor at the captured node
57
- if (captureMarker.constraint && !captureMarker.constraint(p, cursorAtCapturedNode)) {
56
+ // Evaluate constraint with cursor at the captured node (always defined)
57
+ // Skip constraint for variadic captures - they're evaluated in matchSequence with the full array
58
+ if (captureMarker.constraint && !captureMarker.variadicOptions && !captureMarker.constraint(p, cursorAtCapturedNode)) {
58
59
  return this.abort(j) as R;
59
60
  }
60
61
 
@@ -100,15 +101,15 @@ export class PatternMatchingComparator extends JavaScriptSemanticComparatorVisit
100
101
  const targetElement = isRightPadded ? targetWrapper!.element : p;
101
102
 
102
103
  // Push targetCursor to position it at the captured element for constraint evaluation
103
- // Only create cursor if targetCursor was initialized (meaning user provided one)
104
104
  const savedTargetCursor = this.targetCursor;
105
105
  const cursorAtCapturedNode = this.targetCursor !== undefined
106
106
  ? (targetWrapper ? new Cursor(targetWrapper, this.targetCursor) : new Cursor(targetElement, this.targetCursor))
107
- : undefined;
107
+ : (targetWrapper ? new Cursor(targetWrapper) : new Cursor(targetElement));
108
108
  this.targetCursor = cursorAtCapturedNode;
109
109
  try {
110
- // Evaluate constraint with cursor at the captured node
111
- if (captureMarker.constraint && !captureMarker.constraint(targetElement as J, cursorAtCapturedNode)) {
110
+ // Evaluate constraint with cursor at the captured node (always defined)
111
+ // Skip constraint for variadic captures - they're evaluated in matchSequence with the full array
112
+ if (captureMarker.constraint && !captureMarker.variadicOptions && !captureMarker.constraint(targetElement as J, cursorAtCapturedNode)) {
112
113
  return this.abort(right);
113
114
  }
114
115
 
@@ -432,9 +433,10 @@ export class PatternMatchingComparator extends JavaScriptSemanticComparatorVisit
432
433
 
433
434
  // Evaluate constraint for variadic capture
434
435
  // For variadic captures, constraint receives the entire array of captured elements
435
- // The targetCursor is positioned in the target tree (parent context)
436
+ // The targetCursor points to the parent container (always defined in container matching)
436
437
  if (captureMarker.constraint) {
437
- if (!captureMarker.constraint(capturedElements as any, this.targetCursor)) {
438
+ const cursor = this.targetCursor || new Cursor(targetElements[0]);
439
+ if (!captureMarker.constraint(capturedElements as any, cursor)) {
438
440
  continue; // Try next consumption amount
439
441
  }
440
442
  }
@@ -34,6 +34,19 @@ export interface VariadicOptions {
34
34
  max?: number;
35
35
  }
36
36
 
37
+ /**
38
+ * Constraint function for captures.
39
+ * The cursor parameter is always provided with a defined value, but functions can
40
+ * choose to accept it or not (TypeScript allows functions with fewer parameters).
41
+ *
42
+ * For non-variadic captures: use ConstraintFunction<T> where T is the node type
43
+ * For variadic captures: use ConstraintFunction<T[]> where T[] is the array type
44
+ *
45
+ * When used with variadic captures, the cursor points to the nearest common parent
46
+ * of the captured elements.
47
+ */
48
+ export type ConstraintFunction<T> = (node: T, cursor: Cursor) => boolean;
49
+
37
50
  /**
38
51
  * Options for the capture function.
39
52
  *
@@ -50,32 +63,34 @@ export interface CaptureOptions<T = any> {
50
63
  variadic?: boolean | VariadicOptions;
51
64
  /**
52
65
  * Optional constraint function that validates whether a captured node should be accepted.
53
- * The function receives:
66
+ * The function always receives:
54
67
  * - node: The captured node (or array of nodes for variadic captures)
55
- * - cursor: Optional cursor providing access to the node's context in the AST
68
+ * - cursor: A cursor at the captured node's position (always defined)
69
+ *
70
+ * Functions can choose to accept just the node parameter if they don't need the cursor.
56
71
  *
57
72
  * @param node The captured node to validate
58
- * @param cursor Optional cursor at the captured node's position
73
+ * @param cursor Cursor at the captured node's position
59
74
  * @returns true if the capture should be accepted, false otherwise
60
75
  *
61
76
  * @example
62
77
  * ```typescript
63
- * // Simple node validation
78
+ * // Simple node validation (cursor parameter ignored)
64
79
  * capture<J.Literal>('size', {
65
80
  * constraint: (node) => typeof node.value === 'number' && node.value > 100
66
81
  * })
67
82
  *
68
- * // Context-aware validation
83
+ * // Context-aware validation (using cursor)
69
84
  * capture<J.MethodInvocation>('method', {
70
85
  * constraint: (node, cursor) => {
71
86
  * if (!node.name.simpleName.startsWith('get')) return false;
72
- * const cls = cursor?.firstEnclosing(isClassDeclaration);
87
+ * const cls = cursor.firstEnclosing(isClassDeclaration);
73
88
  * return cls?.name.simpleName === 'ApiController';
74
89
  * }
75
90
  * })
76
91
  * ```
77
92
  */
78
- constraint?: (node: T, cursor?: Cursor) => boolean;
93
+ constraint?: ConstraintFunction<T>;
79
94
  /**
80
95
  * Type annotation for this capture. When provided, the template engine will generate
81
96
  * a preamble declaring the capture identifier with this type annotation, allowing
@@ -134,7 +149,7 @@ export interface Capture<T = any> {
134
149
  * For variadic captures (T = Expression[]), constraint receives an array of nodes.
135
150
  * The constraint function can optionally receive a cursor for context-aware validation.
136
151
  */
137
- getConstraint?(): ((node: T, cursor?: Cursor) => boolean) | undefined;
152
+ getConstraint?(): ConstraintFunction<T> | undefined;
138
153
  }
139
154
 
140
155
  /**
@@ -201,7 +216,7 @@ export interface Any<T = any> {
201
216
  * For regular any (T = Expression), constraint receives a single node.
202
217
  * For variadic any (T = Expression[]), constraint receives an array of nodes.
203
218
  */
204
- getConstraint?(): ((node: T) => boolean) | undefined;
219
+ getConstraint?(): ConstraintFunction<T> | undefined;
205
220
  }
206
221
 
207
222
  /**
@@ -18,7 +18,7 @@ import {J} from '../../java';
18
18
  import {JS} from '../index';
19
19
  import {Marker, Markers} from '../../markers';
20
20
  import {randomId} from '../../uuid';
21
- import {VariadicOptions} from './types';
21
+ import {ConstraintFunction, VariadicOptions} from './types';
22
22
 
23
23
  /**
24
24
  * Internal storage value type for pattern match captures.
@@ -127,7 +127,7 @@ export class CaptureMarker implements Marker {
127
127
  constructor(
128
128
  public readonly captureName: string,
129
129
  public readonly variadicOptions?: VariadicOptions,
130
- public readonly constraint?: (node: any, cursor?: Cursor) => boolean
130
+ public readonly constraint?: ConstraintFunction<any>
131
131
  ) {
132
132
  }
133
133
  }