@@ -147,6 +147,144 @@ ruleTester.run('no-rest-destructuring', rule, {
147
147
}
148
148
` ,
149
149
} ,
150
+ {
151
+ name : 'useSuspenseQuery is not captured' ,
152
+ code : normalizeIndent `
153
+ import { useSuspenseQuery } from '@tanstack/react-query'
154
+
155
+ function Component() {
156
+ useSuspenseQuery()
157
+ return
158
+ }
159
+ ` ,
160
+ } ,
161
+ {
162
+ name : 'useSuspenseQuery is not destructured' ,
163
+ code : normalizeIndent `
164
+ import { useSuspenseQuery } from '@tanstack/react-query'
165
+
166
+ function Component() {
167
+ const query = useSuspenseQuery()
168
+ return
169
+ }
170
+ ` ,
171
+ } ,
172
+ {
173
+ name : 'useSuspenseQuery is destructured without rest' ,
174
+ code : normalizeIndent `
175
+ import { useSuspenseQuery } from '@tanstack/react-query'
176
+
177
+ function Component() {
178
+ const { data, isLoading, isError } = useSuspenseQuery()
179
+ return
180
+ }
181
+ ` ,
182
+ } ,
183
+ {
184
+ name : 'useSuspenseInfiniteQuery is not captured' ,
185
+ code : normalizeIndent `
186
+ import { useSuspenseInfiniteQuery } from '@tanstack/react-query'
187
+
188
+ function Component() {
189
+ useSuspenseInfiniteQuery()
190
+ return
191
+ }
192
+ ` ,
193
+ } ,
194
+ {
195
+ name : 'useSuspenseInfiniteQuery is not destructured' ,
196
+ code : normalizeIndent `
197
+ import { useSuspenseInfiniteQuery } from '@tanstack/react-query'
198
+
199
+ function Component() {
200
+ const query = useSuspenseInfiniteQuery()
201
+ return
202
+ }
203
+ ` ,
204
+ } ,
205
+ {
206
+ name : 'useSuspenseInfiniteQuery is destructured without rest' ,
207
+ code : normalizeIndent `
208
+ import { useSuspenseInfiniteQuery } from '@tanstack/react-query'
209
+
210
+ function Component() {
211
+ const { data, isLoading, isError } = useSuspenseInfiniteQuery()
212
+ return
213
+ }
214
+ ` ,
215
+ } ,
216
+ {
217
+ name : 'useSuspenseQueries is not captured' ,
218
+ code : normalizeIndent `
219
+ import { useSuspenseQueries } from '@tanstack/react-query'
220
+
221
+ function Component() {
222
+ useSuspenseQueries([])
223
+ return
224
+ }
225
+ ` ,
226
+ } ,
227
+ {
228
+ name : 'useSuspenseQueries is not destructured' ,
229
+ code : normalizeIndent `
230
+ import { useSuspenseQueries } from '@tanstack/react-query'
231
+
232
+ function Component() {
233
+ const queries = useSuspenseQueries([])
234
+ return
235
+ }
236
+ ` ,
237
+ } ,
238
+ {
239
+ name : 'useSuspenseQueries array has no rest destructured element' ,
240
+ code : normalizeIndent `
241
+ import { useSuspenseQueries } from '@tanstack/react-query'
242
+
243
+ function Component() {
244
+ const [query1, { data, isLoading }] = useSuspenseQueries([
245
+ { queryKey: ['key1'], queryFn: () => {} },
246
+ { queryKey: ['key2'], queryFn: () => {} },
247
+ ])
248
+ return
249
+ }
250
+ ` ,
251
+ } ,
252
+ {
253
+ name : 'useSuspenseQuery is destructured with rest but not from tanstack query' ,
254
+ code : normalizeIndent `
255
+ import { useSuspenseQuery } from 'other-package'
256
+
257
+ function Component() {
258
+ const { data, ...rest } = useSuspenseQuery()
259
+ return
260
+ }
261
+ ` ,
262
+ } ,
263
+ {
264
+ name : 'useSuspenseInfiniteQuery is destructured with rest but not from tanstack query' ,
265
+ code : normalizeIndent `
266
+ import { useSuspenseInfiniteQuery } from 'other-package'
267
+
268
+ function Component() {
269
+ const { data, ...rest } = useSuspenseInfiniteQuery()
270
+ return
271
+ }
272
+ ` ,
273
+ } ,
274
+ {
275
+ name : 'useSuspenseQueries array has rest destructured element but not from tanstack query' ,
276
+ code : normalizeIndent `
277
+ import { useSuspenseQueries } from 'other-package'
278
+
279
+ function Component() {
280
+ const [query1, { data, ...rest }] = useSuspenseQueries([
281
+ { queryKey: ['key1'], queryFn: () => {} },
282
+ { queryKey: ['key2'], queryFn: () => {} },
283
+ ])
284
+ return
285
+ }
286
+ ` ,
287
+ } ,
150
288
] ,
151
289
invalid : [
152
290
{
@@ -188,5 +326,44 @@ ruleTester.run('no-rest-destructuring', rule, {
188
326
` ,
189
327
errors : [ { messageId : 'objectRestDestructure' } ] ,
190
328
} ,
329
+ {
330
+ name : 'useSuspenseQuery is destructured with rest' ,
331
+ code : normalizeIndent `
332
+ import { useSuspenseQuery } from '@tanstack/react-query'
333
+
334
+ function Component() {
335
+ const { data, ...rest } = useSuspenseQuery()
336
+ return
337
+ }
338
+ ` ,
339
+ errors : [ { messageId : 'objectRestDestructure' } ] ,
340
+ } ,
341
+ {
342
+ name : 'useSuspenseInfiniteQuery is destructured with rest' ,
343
+ code : normalizeIndent `
344
+ import { useSuspenseInfiniteQuery } from '@tanstack/react-query'
345
+
346
+ function Component() {
347
+ const { data, ...rest } = useSuspenseInfiniteQuery()
348
+ return
349
+ }
350
+ ` ,
351
+ errors : [ { messageId : 'objectRestDestructure' } ] ,
352
+ } ,
353
+ {
354
+ name : 'useSuspenseQueries is destructured with rest' ,
355
+ code : normalizeIndent `
356
+ import { useSuspenseQueries } from '@tanstack/react-query'
357
+
358
+ function Component() {
359
+ const [query1, { data, ...rest }] = useSuspenseQueries([
360
+ { queryKey: ['key1'], queryFn: () => {} },
361
+ { queryKey: ['key2'], queryFn: () => {} },
362
+ ])
363
+ return
364
+ }
365
+ ` ,
366
+ errors : [ { messageId : 'objectRestDestructure' } ] ,
367
+ } ,
191
368
] ,
192
369
} )
0 commit comments