@eslint-react/shared 2.7.2 → 2.7.3-next.0
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.d.ts +15 -6
- package/dist/index.js +23 -14
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -187,12 +187,21 @@ declare const RE_HOOK_NAME: RegExp;
|
|
|
187
187
|
//#endregion
|
|
188
188
|
//#region src/define-rule-listener.d.ts
|
|
189
189
|
/**
|
|
190
|
-
* Defines a
|
|
191
|
-
*
|
|
192
|
-
* @param
|
|
193
|
-
* @
|
|
194
|
-
|
|
195
|
-
|
|
190
|
+
* Defines a rule listener by merging multiple visitor objects
|
|
191
|
+
*
|
|
192
|
+
* @param base Base visitor object (target of merge)
|
|
193
|
+
* @param rest Additional visitor objects to merge (one or more)
|
|
194
|
+
* @returns Merged RuleListener object
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* const listener1 = { Identifier: () => console.log(1) };
|
|
199
|
+
* const listener2 = { Identifier: () => console.log(2) };
|
|
200
|
+
* const merged = defineRuleListener(listener1, listener2);
|
|
201
|
+
* // When encountering Identifier nodes, outputs 1 then 2
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
declare function defineRuleListener(base: RuleListener, ...rest: RuleListener[]): RuleListener;
|
|
196
205
|
//#endregion
|
|
197
206
|
//#region src/react-version.d.ts
|
|
198
207
|
declare function getReactVersion(fallback: string): string;
|
package/dist/index.js
CHANGED
|
@@ -136,20 +136,29 @@ const RE_HOOK_NAME = /^use/u;
|
|
|
136
136
|
//#endregion
|
|
137
137
|
//#region src/define-rule-listener.ts
|
|
138
138
|
/**
|
|
139
|
-
* Defines a
|
|
140
|
-
*
|
|
141
|
-
* @param
|
|
142
|
-
* @
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
139
|
+
* Defines a rule listener by merging multiple visitor objects
|
|
140
|
+
*
|
|
141
|
+
* @param base Base visitor object (target of merge)
|
|
142
|
+
* @param rest Additional visitor objects to merge (one or more)
|
|
143
|
+
* @returns Merged RuleListener object
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* const listener1 = { Identifier: () => console.log(1) };
|
|
148
|
+
* const listener2 = { Identifier: () => console.log(2) };
|
|
149
|
+
* const merged = defineRuleListener(listener1, listener2);
|
|
150
|
+
* // When encountering Identifier nodes, outputs 1 then 2
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
function defineRuleListener(base, ...rest) {
|
|
154
|
+
for (const r of rest) for (const key in r) {
|
|
155
|
+
const existing = base[key];
|
|
156
|
+
base[key] = existing ? (...args) => {
|
|
157
|
+
existing(...args);
|
|
158
|
+
r[key]?.(...args);
|
|
159
|
+
} : r[key];
|
|
160
|
+
}
|
|
161
|
+
return base;
|
|
153
162
|
}
|
|
154
163
|
|
|
155
164
|
//#endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eslint-react/shared",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.3-next.0",
|
|
4
4
|
"description": "ESLint React's Shared constants and functions.",
|
|
5
5
|
"homepage": "https://github.com/Rel1cx/eslint-react",
|
|
6
6
|
"bugs": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@typescript-eslint/utils": "^8.53.0",
|
|
34
34
|
"ts-pattern": "^5.9.0",
|
|
35
35
|
"zod": "^3.25.0 || ^4.0.0",
|
|
36
|
-
"@eslint-react/eff": "2.7.
|
|
36
|
+
"@eslint-react/eff": "2.7.3-next.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@tsconfig/node22": "^22.0.5",
|