@openrewrite/rewrite 8.68.0-20251127-184755 → 8.68.0-20251127-195213
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/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/javascript/cleanup/index.d.ts +1 -1
- package/dist/javascript/cleanup/index.d.ts.map +1 -1
- package/dist/javascript/cleanup/index.js +3 -3
- package/dist/javascript/cleanup/index.js.map +1 -1
- package/dist/javascript/cleanup/use-object-property-shorthand.d.ts +22 -0
- package/dist/javascript/cleanup/use-object-property-shorthand.d.ts.map +1 -0
- package/dist/javascript/cleanup/{simplify-object-binding-properties.js → use-object-property-shorthand.js} +65 -18
- package/dist/javascript/cleanup/use-object-property-shorthand.js.map +1 -0
- package/dist/javascript/type-mapping.d.ts.map +1 -1
- package/dist/javascript/type-mapping.js +8 -2
- package/dist/javascript/type-mapping.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -2
- package/src/javascript/cleanup/index.ts +1 -1
- package/src/javascript/cleanup/use-object-property-shorthand.ts +154 -0
- package/src/javascript/type-mapping.ts +9 -2
- package/dist/javascript/cleanup/simplify-object-binding-properties.d.ts +0 -18
- package/dist/javascript/cleanup/simplify-object-binding-properties.d.ts.map +0 -1
- package/dist/javascript/cleanup/simplify-object-binding-properties.js.map +0 -1
- package/src/javascript/cleanup/simplify-object-binding-properties.ts +0 -96
package/dist/index.js
CHANGED
|
@@ -62,13 +62,13 @@ function activate(registry) {
|
|
|
62
62
|
const { OrderImports } = yield import("./recipe/index.js");
|
|
63
63
|
const { ModernizeOctalEscapeSequences, ModernizeOctalLiterals, RemoveDuplicateObjectKeys } = yield import("./javascript/migrate/es6/index.js");
|
|
64
64
|
const { ExportAssignmentToExportDefault } = yield import("./javascript/migrate/typescript/index.js");
|
|
65
|
-
const {
|
|
65
|
+
const { UseObjectPropertyShorthand } = yield import("./javascript/cleanup/index.js");
|
|
66
66
|
registry.register(ExportAssignmentToExportDefault);
|
|
67
67
|
registry.register(OrderImports);
|
|
68
68
|
registry.register(ModernizeOctalEscapeSequences);
|
|
69
69
|
registry.register(ModernizeOctalLiterals);
|
|
70
70
|
registry.register(RemoveDuplicateObjectKeys);
|
|
71
|
-
registry.register(
|
|
71
|
+
registry.register(UseObjectPropertyShorthand);
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
rpc_1.RpcCodecs.registerCodec(markers_1.MarkersKind.ParseExceptionResult, {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,4BAYC;AAhDD;;;;;;;;;;;;;;GAcG;AACH,+BAA+D;AAC/D,iCAAsD;AACtD,uCAA4D;AAG5D,+CAA6B;AAC7B,8CAA4B;AAC5B,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,2CAAyB;AACzB,gDAA8B;AAC9B,kDAAgC;AAChC,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,wCAAsB;AAEtB,uCAAuC;AACvC,SAAsB,QAAQ,CAAC,QAAwB;;QACnD,MAAM,EAAC,YAAY,EAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,EAAC,6BAA6B,EAAE,sBAAsB,EAAE,yBAAyB,EAAC,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAC7I,MAAM,EAAC,+BAA+B,EAAC,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;QACnG,MAAM,EAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,4BAYC;AAhDD;;;;;;;;;;;;;;GAcG;AACH,+BAA+D;AAC/D,iCAAsD;AACtD,uCAA4D;AAG5D,+CAA6B;AAC7B,8CAA4B;AAC5B,4CAA0B;AAC1B,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,2CAAyB;AACzB,gDAA8B;AAC9B,kDAAgC;AAChC,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,wCAAsB;AAEtB,uCAAuC;AACvC,SAAsB,QAAQ,CAAC,QAAwB;;QACnD,MAAM,EAAC,YAAY,EAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,EAAC,6BAA6B,EAAE,sBAAsB,EAAE,yBAAyB,EAAC,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAC7I,MAAM,EAAC,+BAA+B,EAAC,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;QACnG,MAAM,EAAC,0BAA0B,EAAC,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAEnF,QAAQ,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QACnD,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QACjD,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC7C,QAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;CAAA;AAED,eAAS,CAAC,aAAa,CAAC,qBAAW,CAAC,oBAAoB,EAAE;IAChD,OAAO,CAAC,KAA2B,EAAE,CAAe;;YACtD,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;KAAA;IACK,UAAU,CAAC,MAA4B,EAAE,CAAkB;;YAC7D,MAAM,KAAK,GAAgC,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC;YAC/D,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtD,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC5D,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChD,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;KAAA;CACJ,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { UseObjectPropertyShorthand } from "./use-object-property-shorthand";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/cleanup/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/cleanup/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
var
|
|
20
|
-
Object.defineProperty(exports, "
|
|
18
|
+
exports.UseObjectPropertyShorthand = void 0;
|
|
19
|
+
var use_object_property_shorthand_1 = require("./use-object-property-shorthand");
|
|
20
|
+
Object.defineProperty(exports, "UseObjectPropertyShorthand", { enumerable: true, get: function () { return use_object_property_shorthand_1.UseObjectPropertyShorthand; } });
|
|
21
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/cleanup/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/cleanup/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,iFAA2E;AAAnE,2IAAA,0BAA0B,OAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Recipe } from "../../recipe";
|
|
2
|
+
import { TreeVisitor } from "../../visitor";
|
|
3
|
+
import { ExecutionContext } from "../../execution";
|
|
4
|
+
/**
|
|
5
|
+
* Simplifies object properties where the key and value have the same name,
|
|
6
|
+
* in both destructuring patterns and object literals.
|
|
7
|
+
*
|
|
8
|
+
* Destructuring examples:
|
|
9
|
+
* - `const { x: x } = obj` becomes `const { x } = obj`
|
|
10
|
+
* - `function({ ref: ref, ...props })` becomes `function({ ref, ...props })`
|
|
11
|
+
*
|
|
12
|
+
* Object literal examples:
|
|
13
|
+
* - `{ x: x }` becomes `{ x }`
|
|
14
|
+
* - `{ foo: foo, bar: bar }` becomes `{ foo, bar }`
|
|
15
|
+
*/
|
|
16
|
+
export declare class UseObjectPropertyShorthand extends Recipe {
|
|
17
|
+
name: string;
|
|
18
|
+
displayName: string;
|
|
19
|
+
description: string;
|
|
20
|
+
editor(): Promise<TreeVisitor<any, ExecutionContext>>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=use-object-property-shorthand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-object-property-shorthand.d.ts","sourceRoot":"","sources":["../../../src/javascript/cleanup/use-object-property-shorthand.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAMjD;;;;;;;;;;;GAWG;AACH,qBAAa,0BAA2B,SAAQ,MAAM;IAClD,IAAI,SAAsE;IAC1E,WAAW,SAAmC;IAC9C,WAAW,SAA+L;IAEpM,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAgH9D"}
|
|
@@ -24,55 +24,55 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.
|
|
27
|
+
exports.UseObjectPropertyShorthand = void 0;
|
|
28
28
|
const recipe_1 = require("../../recipe");
|
|
29
29
|
const visitor_1 = require("../visitor");
|
|
30
30
|
const java_1 = require("../../java");
|
|
31
31
|
const tree_1 = require("../tree");
|
|
32
32
|
const immer_1 = require("immer");
|
|
33
33
|
/**
|
|
34
|
-
* Simplifies object
|
|
34
|
+
* Simplifies object properties where the key and value have the same name,
|
|
35
|
+
* in both destructuring patterns and object literals.
|
|
35
36
|
*
|
|
36
|
-
*
|
|
37
|
+
* Destructuring examples:
|
|
38
|
+
* - `const { x: x } = obj` becomes `const { x } = obj`
|
|
39
|
+
* - `function({ ref: ref, ...props })` becomes `function({ ref, ...props })`
|
|
40
|
+
*
|
|
41
|
+
* Object literal examples:
|
|
37
42
|
* - `{ x: x }` becomes `{ x }`
|
|
38
|
-
* - `{ ref: ref, ...props }` becomes `{ ref, ...props }`
|
|
39
43
|
* - `{ foo: foo, bar: bar }` becomes `{ foo, bar }`
|
|
40
44
|
*/
|
|
41
|
-
class
|
|
45
|
+
class UseObjectPropertyShorthand extends recipe_1.Recipe {
|
|
42
46
|
constructor() {
|
|
43
47
|
super(...arguments);
|
|
44
|
-
this.name = "org.openrewrite.javascript.cleanup.
|
|
45
|
-
this.displayName = "
|
|
46
|
-
this.description = "Simplifies object
|
|
48
|
+
this.name = "org.openrewrite.javascript.cleanup.use-object-property-shorthand";
|
|
49
|
+
this.displayName = "Use object property shorthand";
|
|
50
|
+
this.description = "Simplifies object properties where the property name and value/variable name are the same (e.g., `{ x: x }` becomes `{ x }`). Applies to both destructuring patterns and object literals.";
|
|
47
51
|
}
|
|
48
52
|
editor() {
|
|
49
53
|
return __awaiter(this, void 0, void 0, function* () {
|
|
50
54
|
return new class extends visitor_1.JavaScriptVisitor {
|
|
55
|
+
/**
|
|
56
|
+
* Handle object binding patterns (destructuring): const { x: x } = obj
|
|
57
|
+
*/
|
|
51
58
|
visitObjectBindingPattern(pattern, p) {
|
|
52
59
|
const _super = Object.create(null, {
|
|
53
60
|
visitObjectBindingPattern: { get: () => super.visitObjectBindingPattern }
|
|
54
61
|
});
|
|
55
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
// First, recursively visit children
|
|
57
63
|
const visited = yield _super.visitObjectBindingPattern.call(this, pattern, p);
|
|
58
64
|
let hasChanges = false;
|
|
59
|
-
// Simplify any properties where key === value
|
|
60
65
|
const simplifiedBindings = visited.bindings.elements.map(right => {
|
|
61
66
|
var _a, _b;
|
|
62
67
|
const element = right.element;
|
|
63
|
-
// Check if this is a binding element (e.g., { x: x })
|
|
64
68
|
if (element.kind === tree_1.JS.Kind.BindingElement) {
|
|
65
69
|
const binding = element;
|
|
66
|
-
// Check if the property name is an identifier
|
|
67
70
|
if (((_a = binding.propertyName) === null || _a === void 0 ? void 0 : _a.element.kind) === java_1.J.Kind.Identifier) {
|
|
68
71
|
const propName = binding.propertyName.element.simpleName;
|
|
69
|
-
// Check if the binding name is also an identifier with the same name
|
|
70
72
|
if (((_b = binding.name) === null || _b === void 0 ? void 0 : _b.kind) === java_1.J.Kind.Identifier) {
|
|
71
73
|
const bindingName = binding.name.simpleName;
|
|
72
|
-
// If they match, simplify to shorthand syntax
|
|
73
74
|
if (propName === bindingName) {
|
|
74
75
|
hasChanges = true;
|
|
75
|
-
// Remove propertyName and transfer its prefix to the name
|
|
76
76
|
return Object.assign(Object.assign({}, right), { element: Object.assign(Object.assign({}, binding), { propertyName: undefined, name: Object.assign(Object.assign({}, binding.name), { prefix: binding.propertyName.element.prefix }) }) });
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -83,15 +83,62 @@ class SimplifyObjectBindingProperties extends recipe_1.Recipe {
|
|
|
83
83
|
if (!hasChanges) {
|
|
84
84
|
return visited;
|
|
85
85
|
}
|
|
86
|
-
// Return the pattern with simplified bindings
|
|
87
86
|
return (0, immer_1.produce)(visited, draft => {
|
|
88
87
|
draft.bindings.elements = simplifiedBindings;
|
|
89
88
|
});
|
|
90
89
|
});
|
|
91
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Handle object literals: { x: x }
|
|
93
|
+
* Object literals are represented as J.NewClass with a body containing JS.PropertyAssignment statements.
|
|
94
|
+
*/
|
|
95
|
+
visitNewClass(newClass, ctx) {
|
|
96
|
+
const _super = Object.create(null, {
|
|
97
|
+
visitNewClass: { get: () => super.visitNewClass }
|
|
98
|
+
});
|
|
99
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
var _a;
|
|
101
|
+
const visited = yield _super.visitNewClass.call(this, newClass, ctx);
|
|
102
|
+
// Only process object literals (NewClass with body but no class or arguments)
|
|
103
|
+
if (!visited.body || visited.class || (((_a = visited.arguments) === null || _a === void 0 ? void 0 : _a.elements) && visited.arguments.elements.length > 0)) {
|
|
104
|
+
return visited;
|
|
105
|
+
}
|
|
106
|
+
const statements = visited.body.statements;
|
|
107
|
+
if (!statements || statements.length === 0) {
|
|
108
|
+
return visited;
|
|
109
|
+
}
|
|
110
|
+
let hasChanges = false;
|
|
111
|
+
const simplifiedStatements = statements.map(stmt => {
|
|
112
|
+
var _a;
|
|
113
|
+
if (stmt.element.kind === tree_1.JS.Kind.PropertyAssignment) {
|
|
114
|
+
const prop = stmt.element;
|
|
115
|
+
// Check if the property name is an identifier
|
|
116
|
+
if (prop.name.element.kind === java_1.J.Kind.Identifier) {
|
|
117
|
+
const propName = prop.name.element.simpleName;
|
|
118
|
+
// Check if the initializer is also an identifier with the same name
|
|
119
|
+
if (((_a = prop.initializer) === null || _a === void 0 ? void 0 : _a.kind) === java_1.J.Kind.Identifier) {
|
|
120
|
+
const initName = prop.initializer.simpleName;
|
|
121
|
+
if (propName === initName) {
|
|
122
|
+
hasChanges = true;
|
|
123
|
+
// Remove the initializer to use shorthand syntax
|
|
124
|
+
return Object.assign(Object.assign({}, stmt), { element: Object.assign(Object.assign({}, prop), { initializer: undefined }) });
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return stmt;
|
|
130
|
+
});
|
|
131
|
+
if (!hasChanges) {
|
|
132
|
+
return visited;
|
|
133
|
+
}
|
|
134
|
+
return (0, immer_1.produce)(visited, draft => {
|
|
135
|
+
draft.body.statements = simplifiedStatements;
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
}
|
|
92
139
|
};
|
|
93
140
|
});
|
|
94
141
|
}
|
|
95
142
|
}
|
|
96
|
-
exports.
|
|
97
|
-
//# sourceMappingURL=
|
|
143
|
+
exports.UseObjectPropertyShorthand = UseObjectPropertyShorthand;
|
|
144
|
+
//# sourceMappingURL=use-object-property-shorthand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-object-property-shorthand.js","sourceRoot":"","sources":["../../../src/javascript/cleanup/use-object-property-shorthand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-mapping.d.ts","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAS7B,qBAAa,qBAAqB;IAa1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;gBAIpC,OAAO,EAAE,EAAE,CAAC,WAAW;IA4B5C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS;IAoBrC,OAAO,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"type-mapping.d.ts","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAS7B,qBAAa,qBAAqB;IAa1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;gBAIpC,OAAO,EAAE,EAAE,CAAC,WAAW;IA4B5C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS;IAoBrC,OAAO,CAAC,OAAO;IAuNf,OAAO,CAAC,YAAY;IA4BpB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;IAQ5C,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS;IAoKtD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAkDjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CAAC,WAAW;IAanB,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS;IA0TlD;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA6F7B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6HzB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA4CpC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAmCjC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CA8D/B"}
|
|
@@ -112,6 +112,13 @@ class JavaScriptTypeMapping {
|
|
|
112
112
|
if (existing) {
|
|
113
113
|
return existing;
|
|
114
114
|
}
|
|
115
|
+
// TypeScript represents `boolean` as a union of `false | true`, but the union
|
|
116
|
+
// type still has the Boolean flag set. Check this early to return Primitive.Boolean
|
|
117
|
+
// before we process it as a generic union type.
|
|
118
|
+
if (type.flags & typescript_1.default.TypeFlags.Boolean) {
|
|
119
|
+
this.typeCache.set(signature, java_1.Type.Primitive.Boolean);
|
|
120
|
+
return java_1.Type.Primitive.Boolean;
|
|
121
|
+
}
|
|
115
122
|
// Get symbol for later use in type detection
|
|
116
123
|
const symbol = (_b = type.getSymbol) === null || _b === void 0 ? void 0 : _b.call(type);
|
|
117
124
|
// IMPORTANT: Check if this is a type reference to a parameterized type FIRST
|
|
@@ -224,8 +231,7 @@ class JavaScriptTypeMapping {
|
|
|
224
231
|
// so we can just process the resolved type normally (falling through to union handling below).
|
|
225
232
|
// Check for union types (e.g., string | number)
|
|
226
233
|
if (type.flags & typescript_1.default.TypeFlags.Union) {
|
|
227
|
-
|
|
228
|
-
return this.createUnionType(unionType, signature);
|
|
234
|
+
return this.createUnionType(type, signature);
|
|
229
235
|
}
|
|
230
236
|
// Check for intersection types (e.g., A & B)
|
|
231
237
|
if (type.flags & typescript_1.default.TypeFlags.Intersection) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-mapping.js","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-mapping.js","sourceRoot":"","sources":["../../src/javascript/type-mapping.ts"],"names":[],"mappings":"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"}
|
package/dist/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
8.68.0-20251127-
|
|
1
|
+
8.68.0-20251127-195213
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -38,14 +38,14 @@ export async function activate(registry: RecipeRegistry): Promise<void> {
|
|
|
38
38
|
const {OrderImports} = await import("./recipe/index.js");
|
|
39
39
|
const {ModernizeOctalEscapeSequences, ModernizeOctalLiterals, RemoveDuplicateObjectKeys} = await import("./javascript/migrate/es6/index.js");
|
|
40
40
|
const {ExportAssignmentToExportDefault} = await import("./javascript/migrate/typescript/index.js");
|
|
41
|
-
const {
|
|
41
|
+
const {UseObjectPropertyShorthand} = await import("./javascript/cleanup/index.js");
|
|
42
42
|
|
|
43
43
|
registry.register(ExportAssignmentToExportDefault);
|
|
44
44
|
registry.register(OrderImports);
|
|
45
45
|
registry.register(ModernizeOctalEscapeSequences);
|
|
46
46
|
registry.register(ModernizeOctalLiterals);
|
|
47
47
|
registry.register(RemoveDuplicateObjectKeys);
|
|
48
|
-
registry.register(
|
|
48
|
+
registry.register(UseObjectPropertyShorthand);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
RpcCodecs.registerCodec(MarkersKind.ParseExceptionResult, {
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 the original author or authors.
|
|
3
|
+
* <p>
|
|
4
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
* <p>
|
|
8
|
+
* https://docs.moderne.io/licensing/moderne-source-available-license
|
|
9
|
+
* <p>
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import {Recipe} from "../../recipe";
|
|
18
|
+
import {TreeVisitor} from "../../visitor";
|
|
19
|
+
import {ExecutionContext} from "../../execution";
|
|
20
|
+
import {JavaScriptVisitor} from "../visitor";
|
|
21
|
+
import {J} from "../../java";
|
|
22
|
+
import {JS} from "../tree";
|
|
23
|
+
import {produce} from "immer";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Simplifies object properties where the key and value have the same name,
|
|
27
|
+
* in both destructuring patterns and object literals.
|
|
28
|
+
*
|
|
29
|
+
* Destructuring examples:
|
|
30
|
+
* - `const { x: x } = obj` becomes `const { x } = obj`
|
|
31
|
+
* - `function({ ref: ref, ...props })` becomes `function({ ref, ...props })`
|
|
32
|
+
*
|
|
33
|
+
* Object literal examples:
|
|
34
|
+
* - `{ x: x }` becomes `{ x }`
|
|
35
|
+
* - `{ foo: foo, bar: bar }` becomes `{ foo, bar }`
|
|
36
|
+
*/
|
|
37
|
+
export class UseObjectPropertyShorthand extends Recipe {
|
|
38
|
+
name = "org.openrewrite.javascript.cleanup.use-object-property-shorthand";
|
|
39
|
+
displayName = "Use object property shorthand";
|
|
40
|
+
description = "Simplifies object properties where the property name and value/variable name are the same (e.g., `{ x: x }` becomes `{ x }`). Applies to both destructuring patterns and object literals.";
|
|
41
|
+
|
|
42
|
+
async editor(): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
43
|
+
return new class extends JavaScriptVisitor<ExecutionContext> {
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Handle object binding patterns (destructuring): const { x: x } = obj
|
|
47
|
+
*/
|
|
48
|
+
protected async visitObjectBindingPattern(pattern: JS.ObjectBindingPattern, p: ExecutionContext): Promise<J | undefined> {
|
|
49
|
+
const visited = await super.visitObjectBindingPattern(pattern, p) as JS.ObjectBindingPattern;
|
|
50
|
+
|
|
51
|
+
let hasChanges = false;
|
|
52
|
+
|
|
53
|
+
const simplifiedBindings = visited.bindings.elements.map(right => {
|
|
54
|
+
const element = right.element;
|
|
55
|
+
|
|
56
|
+
if (element.kind === JS.Kind.BindingElement) {
|
|
57
|
+
const binding = element as JS.BindingElement;
|
|
58
|
+
|
|
59
|
+
if (binding.propertyName?.element.kind === J.Kind.Identifier) {
|
|
60
|
+
const propName = (binding.propertyName.element as J.Identifier).simpleName;
|
|
61
|
+
|
|
62
|
+
if (binding.name?.kind === J.Kind.Identifier) {
|
|
63
|
+
const bindingName = (binding.name as J.Identifier).simpleName;
|
|
64
|
+
|
|
65
|
+
if (propName === bindingName) {
|
|
66
|
+
hasChanges = true;
|
|
67
|
+
return {
|
|
68
|
+
...right,
|
|
69
|
+
element: {
|
|
70
|
+
...binding,
|
|
71
|
+
propertyName: undefined,
|
|
72
|
+
name: {
|
|
73
|
+
...binding.name,
|
|
74
|
+
prefix: binding.propertyName.element.prefix
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
} as J.RightPadded<JS.BindingElement>;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return right;
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
if (!hasChanges) {
|
|
87
|
+
return visited;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return produce(visited, draft => {
|
|
91
|
+
draft.bindings.elements = simplifiedBindings;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Handle object literals: { x: x }
|
|
97
|
+
* Object literals are represented as J.NewClass with a body containing JS.PropertyAssignment statements.
|
|
98
|
+
*/
|
|
99
|
+
protected async visitNewClass(newClass: J.NewClass, ctx: ExecutionContext): Promise<J | undefined> {
|
|
100
|
+
const visited = await super.visitNewClass(newClass, ctx) as J.NewClass;
|
|
101
|
+
|
|
102
|
+
// Only process object literals (NewClass with body but no class or arguments)
|
|
103
|
+
if (!visited.body || visited.class || (visited.arguments?.elements && visited.arguments.elements.length > 0)) {
|
|
104
|
+
return visited;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const statements = visited.body.statements;
|
|
108
|
+
if (!statements || statements.length === 0) {
|
|
109
|
+
return visited;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
let hasChanges = false;
|
|
113
|
+
|
|
114
|
+
const simplifiedStatements = statements.map(stmt => {
|
|
115
|
+
if (stmt.element.kind === JS.Kind.PropertyAssignment) {
|
|
116
|
+
const prop = stmt.element as JS.PropertyAssignment;
|
|
117
|
+
|
|
118
|
+
// Check if the property name is an identifier
|
|
119
|
+
if (prop.name.element.kind === J.Kind.Identifier) {
|
|
120
|
+
const propName = (prop.name.element as J.Identifier).simpleName;
|
|
121
|
+
|
|
122
|
+
// Check if the initializer is also an identifier with the same name
|
|
123
|
+
if (prop.initializer?.kind === J.Kind.Identifier) {
|
|
124
|
+
const initName = (prop.initializer as J.Identifier).simpleName;
|
|
125
|
+
|
|
126
|
+
if (propName === initName) {
|
|
127
|
+
hasChanges = true;
|
|
128
|
+
// Remove the initializer to use shorthand syntax
|
|
129
|
+
return {
|
|
130
|
+
...stmt,
|
|
131
|
+
element: {
|
|
132
|
+
...prop,
|
|
133
|
+
initializer: undefined
|
|
134
|
+
}
|
|
135
|
+
} as J.RightPadded<JS.PropertyAssignment>;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return stmt;
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
if (!hasChanges) {
|
|
145
|
+
return visited;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return produce(visited, draft => {
|
|
149
|
+
draft.body!.statements = simplifiedStatements;
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
}
|
|
@@ -125,6 +125,14 @@ export class JavaScriptTypeMapping {
|
|
|
125
125
|
return existing;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
// TypeScript represents `boolean` as a union of `false | true`, but the union
|
|
129
|
+
// type still has the Boolean flag set. Check this early to return Primitive.Boolean
|
|
130
|
+
// before we process it as a generic union type.
|
|
131
|
+
if (type.flags & ts.TypeFlags.Boolean) {
|
|
132
|
+
this.typeCache.set(signature, Type.Primitive.Boolean);
|
|
133
|
+
return Type.Primitive.Boolean;
|
|
134
|
+
}
|
|
135
|
+
|
|
128
136
|
// Get symbol for later use in type detection
|
|
129
137
|
const symbol = type.getSymbol?.();
|
|
130
138
|
|
|
@@ -258,8 +266,7 @@ export class JavaScriptTypeMapping {
|
|
|
258
266
|
|
|
259
267
|
// Check for union types (e.g., string | number)
|
|
260
268
|
if (type.flags & ts.TypeFlags.Union) {
|
|
261
|
-
|
|
262
|
-
return this.createUnionType(unionType, signature);
|
|
269
|
+
return this.createUnionType(type as ts.UnionType, signature);
|
|
263
270
|
}
|
|
264
271
|
|
|
265
272
|
// Check for intersection types (e.g., A & B)
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Recipe } from "../../recipe";
|
|
2
|
-
import { TreeVisitor } from "../../visitor";
|
|
3
|
-
import { ExecutionContext } from "../../execution";
|
|
4
|
-
/**
|
|
5
|
-
* Simplifies object binding properties where the key and value have the same name.
|
|
6
|
-
*
|
|
7
|
-
* Examples:
|
|
8
|
-
* - `{ x: x }` becomes `{ x }`
|
|
9
|
-
* - `{ ref: ref, ...props }` becomes `{ ref, ...props }`
|
|
10
|
-
* - `{ foo: foo, bar: bar }` becomes `{ foo, bar }`
|
|
11
|
-
*/
|
|
12
|
-
export declare class SimplifyObjectBindingProperties extends Recipe {
|
|
13
|
-
name: string;
|
|
14
|
-
displayName: string;
|
|
15
|
-
description: string;
|
|
16
|
-
editor(): Promise<TreeVisitor<any, ExecutionContext>>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=simplify-object-binding-properties.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simplify-object-binding-properties.d.ts","sourceRoot":"","sources":["../../../src/javascript/cleanup/simplify-object-binding-properties.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAMjD;;;;;;;GAOG;AACH,qBAAa,+BAAgC,SAAQ,MAAM;IACvD,IAAI,SAA2E;IAC/E,WAAW,SAAwC;IACnD,WAAW,SAAyI;IAE9I,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CA0D9D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simplify-object-binding-properties.js","sourceRoot":"","sources":["../../../src/javascript/cleanup/simplify-object-binding-properties.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;AAEH,yCAAoC;AAGpC,wCAA6C;AAC7C,qCAA6B;AAC7B,kCAA2B;AAC3B,iCAA8B;AAE9B;;;;;;;GAOG;AACH,MAAa,+BAAgC,SAAQ,eAAM;IAA3D;;QACI,SAAI,GAAG,uEAAuE,CAAC;QAC/E,gBAAW,GAAG,oCAAoC,CAAC;QACnD,gBAAW,GAAG,qIAAqI,CAAC;IA4DxJ,CAAC;IA1DS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,2BAAmC;gBACxC,yBAAyB,CAAC,OAAgC,EAAE,CAAmB;;;;;wBAC3F,oCAAoC;wBACpC,MAAM,OAAO,GAAG,MAAM,OAAM,yBAAyB,YAAC,OAAO,EAAE,CAAC,CAA4B,CAAC;wBAE7F,IAAI,UAAU,GAAG,KAAK,CAAC;wBAEvB,8CAA8C;wBAC9C,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;4BAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;4BAE9B,sDAAsD;4BACtD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gCAC1C,MAAM,OAAO,GAAG,OAA4B,CAAC;gCAE7C,8CAA8C;gCAC9C,IAAI,CAAA,MAAA,OAAO,CAAC,YAAY,0CAAE,OAAO,CAAC,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oCAC3D,MAAM,QAAQ,GAAI,OAAO,CAAC,YAAY,CAAC,OAAwB,CAAC,UAAU,CAAC;oCAE3E,qEAAqE;oCACrE,IAAI,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wCAC3C,MAAM,WAAW,GAAI,OAAO,CAAC,IAAqB,CAAC,UAAU,CAAC;wCAE9D,8CAA8C;wCAC9C,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;4CAC3B,UAAU,GAAG,IAAI,CAAC;4CAClB,0DAA0D;4CAC1D,OAAO,gCACA,KAAK,KACR,OAAO,kCACA,OAAO,KACV,YAAY,EAAE,SAAS,EACvB,IAAI,kCACG,OAAO,CAAC,IAAI,KACf,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,SAGlB,CAAC;wCAC1C,CAAC;oCACL,CAAC;gCACL,CAAC;4BACL,CAAC;4BAED,OAAO,KAAK,CAAC;wBACjB,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,UAAU,EAAE,CAAC;4BACd,OAAO,OAAO,CAAC;wBACnB,CAAC;wBAED,8CAA8C;wBAC9C,OAAO,IAAA,eAAO,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE;4BAC5B,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,kBAAkB,CAAC;wBACjD,CAAC,CAAC,CAAC;oBACP,CAAC;iBAAA;aACJ,CAAC;QACN,CAAC;KAAA;CACJ;AA/DD,0EA+DC"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 the original author or authors.
|
|
3
|
-
* <p>
|
|
4
|
-
* Licensed under the Moderne Source Available License (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
* <p>
|
|
8
|
-
* https://docs.moderne.io/licensing/moderne-source-available-license
|
|
9
|
-
* <p>
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import {Recipe} from "../../recipe";
|
|
18
|
-
import {TreeVisitor} from "../../visitor";
|
|
19
|
-
import {ExecutionContext} from "../../execution";
|
|
20
|
-
import {JavaScriptVisitor} from "../visitor";
|
|
21
|
-
import {J} from "../../java";
|
|
22
|
-
import {JS} from "../tree";
|
|
23
|
-
import {produce} from "immer";
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Simplifies object binding properties where the key and value have the same name.
|
|
27
|
-
*
|
|
28
|
-
* Examples:
|
|
29
|
-
* - `{ x: x }` becomes `{ x }`
|
|
30
|
-
* - `{ ref: ref, ...props }` becomes `{ ref, ...props }`
|
|
31
|
-
* - `{ foo: foo, bar: bar }` becomes `{ foo, bar }`
|
|
32
|
-
*/
|
|
33
|
-
export class SimplifyObjectBindingProperties extends Recipe {
|
|
34
|
-
name = "org.openrewrite.javascript.cleanup.simplify-object-binding-properties";
|
|
35
|
-
displayName = "Simplify object binding properties";
|
|
36
|
-
description = "Simplifies object destructuring patterns where the property name and variable name are the same (e.g., `{ x: x }` becomes `{ x }`).";
|
|
37
|
-
|
|
38
|
-
async editor(): Promise<TreeVisitor<any, ExecutionContext>> {
|
|
39
|
-
return new class extends JavaScriptVisitor<ExecutionContext> {
|
|
40
|
-
protected async visitObjectBindingPattern(pattern: JS.ObjectBindingPattern, p: ExecutionContext): Promise<J | undefined> {
|
|
41
|
-
// First, recursively visit children
|
|
42
|
-
const visited = await super.visitObjectBindingPattern(pattern, p) as JS.ObjectBindingPattern;
|
|
43
|
-
|
|
44
|
-
let hasChanges = false;
|
|
45
|
-
|
|
46
|
-
// Simplify any properties where key === value
|
|
47
|
-
const simplifiedBindings = visited.bindings.elements.map(right => {
|
|
48
|
-
const element = right.element;
|
|
49
|
-
|
|
50
|
-
// Check if this is a binding element (e.g., { x: x })
|
|
51
|
-
if (element.kind === JS.Kind.BindingElement) {
|
|
52
|
-
const binding = element as JS.BindingElement;
|
|
53
|
-
|
|
54
|
-
// Check if the property name is an identifier
|
|
55
|
-
if (binding.propertyName?.element.kind === J.Kind.Identifier) {
|
|
56
|
-
const propName = (binding.propertyName.element as J.Identifier).simpleName;
|
|
57
|
-
|
|
58
|
-
// Check if the binding name is also an identifier with the same name
|
|
59
|
-
if (binding.name?.kind === J.Kind.Identifier) {
|
|
60
|
-
const bindingName = (binding.name as J.Identifier).simpleName;
|
|
61
|
-
|
|
62
|
-
// If they match, simplify to shorthand syntax
|
|
63
|
-
if (propName === bindingName) {
|
|
64
|
-
hasChanges = true;
|
|
65
|
-
// Remove propertyName and transfer its prefix to the name
|
|
66
|
-
return {
|
|
67
|
-
...right,
|
|
68
|
-
element: {
|
|
69
|
-
...binding,
|
|
70
|
-
propertyName: undefined,
|
|
71
|
-
name: {
|
|
72
|
-
...binding.name,
|
|
73
|
-
prefix: binding.propertyName.element.prefix
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
} as J.RightPadded<JS.BindingElement>;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return right;
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
if (!hasChanges) {
|
|
86
|
-
return visited;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Return the pattern with simplified bindings
|
|
90
|
-
return produce(visited, draft => {
|
|
91
|
-
draft.bindings.elements = simplifiedBindings;
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
}
|