@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.
- package/dist/javascript/templating/capture.d.ts +6 -6
- package/dist/javascript/templating/capture.d.ts.map +1 -1
- package/dist/javascript/templating/comparator.d.ts.map +1 -1
- package/dist/javascript/templating/comparator.js +11 -9
- package/dist/javascript/templating/comparator.js.map +1 -1
- package/dist/javascript/templating/types.d.ts +23 -9
- package/dist/javascript/templating/types.d.ts.map +1 -1
- package/dist/javascript/templating/utils.d.ts +3 -4
- package/dist/javascript/templating/utils.d.ts.map +1 -1
- package/dist/javascript/templating/utils.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +2 -2
- package/src/javascript/templating/capture.ts +6 -6
- package/src/javascript/templating/comparator.ts +11 -9
- package/src/javascript/templating/types.ts +24 -9
- package/src/javascript/templating/utils.ts +2 -2
|
@@ -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]:
|
|
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():
|
|
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?:
|
|
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:
|
|
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?:
|
|
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;
|
|
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;
|
|
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
|
-
:
|
|
59
|
+
: new __1.Cursor(p);
|
|
60
60
|
this.targetCursor = cursorAtCapturedNode;
|
|
61
61
|
try {
|
|
62
|
-
// Evaluate constraint with cursor at the captured node
|
|
63
|
-
|
|
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
|
-
:
|
|
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
|
-
|
|
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
|
|
413
|
+
// The targetCursor points to the parent container (always defined in container matching)
|
|
413
414
|
if (captureMarker.constraint) {
|
|
414
|
-
|
|
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:
|
|
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
|
|
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
|
|
68
|
+
* const cls = cursor.firstEnclosing(isClassDeclaration);
|
|
55
69
|
* return cls?.name.simpleName === 'ApiController';
|
|
56
70
|
* }
|
|
57
71
|
* })
|
|
58
72
|
* ```
|
|
59
73
|
*/
|
|
60
|
-
constraint?:
|
|
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?():
|
|
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?():
|
|
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":"AAeA,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,CAAC,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACrC
|
|
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?:
|
|
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?:
|
|
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":"
|
|
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":";;;AAwGA,4CAYC;AApGD,qCAA6B;AAC7B,oCAA4B;AAE5B,qCAAoC;AAYpC;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzD;;;GAGG;AACU,QAAA,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;;;;GAKG;AACH,MAAa,QAAQ;IAGjB,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QAF3B,UAAK,GAAG,IAAI,GAAG,EAAQ,CAAC;IAGhC,CAAC;IAED,GAAG,CAAC,GAAM;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,mCAAmC;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAChB,wCAAwC;QACxC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEvB,aAAa;QACb,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE3B,gCAAgC;QAChC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACJ;AApCD,4BAoCC;AAED;;;;;GAKG;AACU,QAAA,cAAc,GAAG,IAAI,QAAQ,CAAY,GAAG,CAAC,CAAC;AAE3D;;;;;;;;;GASG;AACH,SAAgB,gBAAgB,CAC5B,aAA8C,EAC9C,QAAgB,EAChB,iBAA2B,EAC3B,YAAoC;IAEpC,OAAO;QACH,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnC,QAAQ;QACR,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAa,aAAa;IAItB,YACoB,WAAmB,EACnB,eAAiC,EACjC,
|
|
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-
|
|
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-
|
|
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]:
|
|
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():
|
|
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?:
|
|
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:
|
|
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?:
|
|
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
|
-
:
|
|
53
|
+
: new Cursor(p);
|
|
54
54
|
this.targetCursor = cursorAtCapturedNode;
|
|
55
55
|
try {
|
|
56
|
-
// Evaluate constraint with cursor at the captured node
|
|
57
|
-
|
|
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
|
-
:
|
|
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
|
-
|
|
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
|
|
436
|
+
// The targetCursor points to the parent container (always defined in container matching)
|
|
436
437
|
if (captureMarker.constraint) {
|
|
437
|
-
|
|
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:
|
|
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
|
|
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
|
|
87
|
+
* const cls = cursor.firstEnclosing(isClassDeclaration);
|
|
73
88
|
* return cls?.name.simpleName === 'ApiController';
|
|
74
89
|
* }
|
|
75
90
|
* })
|
|
76
91
|
* ```
|
|
77
92
|
*/
|
|
78
|
-
constraint?:
|
|
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?():
|
|
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?():
|
|
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?:
|
|
130
|
+
public readonly constraint?: ConstraintFunction<any>
|
|
131
131
|
) {
|
|
132
132
|
}
|
|
133
133
|
}
|