@@ -232,35 +232,43 @@ export type DeepOmit<T, Filter extends DeepModify<T>> = T extends Builtin
232
232
? T
233
233
: T extends Map < infer KeyType , infer ValueType >
234
234
? Filter extends Map < KeyType , infer FilterValueType >
235
- ? Map < KeyType , DeepOmit < ValueType , FilterValueType > >
235
+ ? // @ts -ignore
236
+ Map < KeyType , DeepOmit < ValueType , FilterValueType > >
236
237
: T
237
238
: T extends ReadonlyMap < infer KeyType , infer ValueType >
238
239
? Filter extends ReadonlyMap < KeyType , infer FilterValueType >
239
- ? ReadonlyMap < KeyType , DeepOmit < ValueType , FilterValueType > >
240
+ ? // @ts -ignore
241
+ ReadonlyMap < KeyType , DeepOmit < ValueType , FilterValueType > >
240
242
: T
241
243
: T extends WeakMap < infer KeyType , infer ValueType >
242
244
? Filter extends WeakMap < KeyType , infer FilterValueType >
243
- ? WeakMap < KeyType , DeepOmit < ValueType , FilterValueType > >
245
+ ? // @ts -ignore
246
+ WeakMap < KeyType , DeepOmit < ValueType , FilterValueType > >
244
247
: T
245
248
: T extends Set < infer ItemType >
246
249
? Filter extends Set < infer FilterItemType >
247
- ? Set < DeepOmit < ItemType , FilterItemType > >
250
+ ? // @ts -ignore
251
+ Set < DeepOmit < ItemType , FilterItemType > >
248
252
: T
249
253
: T extends ReadonlySet < infer ItemType >
250
254
? Filter extends ReadonlySet < infer FilterItemType >
251
- ? ReadonlySet < DeepOmit < ItemType , FilterItemType > >
255
+ ? // @ts -ignore
256
+ ReadonlySet < DeepOmit < ItemType , FilterItemType > >
252
257
: T
253
258
: T extends WeakSet < infer ItemType >
254
259
? Filter extends WeakSet < infer FilterItemType >
255
- ? WeakSet < DeepOmit < ItemType , FilterItemType > >
260
+ ? // @ts -ignore
261
+ WeakSet < DeepOmit < ItemType , FilterItemType > >
256
262
: T
257
263
: T extends Array < infer ItemType >
258
264
? Filter extends Array < infer FilterItemType >
259
- ? Array < DeepOmit < ItemType , FilterItemType > >
265
+ ? // @ts -ignore
266
+ Array < DeepOmit < ItemType , FilterItemType > >
260
267
: T
261
268
: T extends Promise < infer ItemType >
262
269
? Filter extends Promise < infer FilterItemType >
263
- ? Promise < DeepOmit < ItemType , FilterItemType > >
270
+ ? // @ts -ignore
271
+ Promise < DeepOmit < ItemType , FilterItemType > >
264
272
: T
265
273
: Filter extends Record < string , unknown >
266
274
? {
@@ -282,35 +290,43 @@ export type DeepPick<T, Filter extends DeepModify<T>> = T extends Builtin
282
290
? T
283
291
: T extends Map < infer KeyType , infer ValueType >
284
292
? Filter extends Map < KeyType , infer FilterValueType >
285
- ? Map < KeyType , DeepPick < ValueType , FilterValueType > >
293
+ ? // @ts -ignore
294
+ Map < KeyType , DeepPick < ValueType , FilterValueType > >
286
295
: T
287
296
: T extends ReadonlyMap < infer KeyType , infer ValueType >
288
297
? Filter extends ReadonlyMap < KeyType , infer FilterValueType >
289
- ? ReadonlyMap < KeyType , DeepPick < ValueType , FilterValueType > >
298
+ ? // @ts -ignore
299
+ ReadonlyMap < KeyType , DeepPick < ValueType , FilterValueType > >
290
300
: T
291
301
: T extends WeakMap < infer KeyType , infer ValueType >
292
302
? Filter extends WeakMap < KeyType , infer FilterValueType >
293
- ? WeakMap < KeyType , DeepPick < ValueType , FilterValueType > >
303
+ ? // @ts -ignore
304
+ WeakMap < KeyType , DeepPick < ValueType , FilterValueType > >
294
305
: T
295
306
: T extends Set < infer ItemType >
296
307
? Filter extends Set < infer FilterItemType >
297
- ? Set < DeepPick < ItemType , FilterItemType > >
308
+ ? // @ts -ignore
309
+ Set < DeepPick < ItemType , FilterItemType > >
298
310
: T
299
311
: T extends ReadonlySet < infer ItemType >
300
312
? Filter extends ReadonlySet < infer FilterItemType >
301
- ? ReadonlySet < DeepPick < ItemType , FilterItemType > >
313
+ ? // @ts -ignore
314
+ ReadonlySet < DeepPick < ItemType , FilterItemType > >
302
315
: T
303
316
: T extends WeakSet < infer ItemType >
304
317
? Filter extends WeakSet < infer FilterItemType >
305
- ? WeakSet < DeepPick < ItemType , FilterItemType > >
318
+ ? // @ts -ignore
319
+ WeakSet < DeepPick < ItemType , FilterItemType > >
306
320
: T
307
321
: T extends Array < infer ItemType >
308
322
? Filter extends Array < infer FilterItemType >
309
- ? Array < DeepPick < ItemType , FilterItemType > >
323
+ ? // @ts -ignore
324
+ Array < DeepPick < ItemType , FilterItemType > >
310
325
: T
311
326
: T extends Promise < infer ItemType >
312
327
? Filter extends Promise < infer FilterItemType >
313
- ? Promise < DeepPick < ItemType , FilterItemType > >
328
+ ? // @ts -ignore
329
+ Promise < DeepPick < ItemType , FilterItemType > >
314
330
: T
315
331
: Filter extends Record < string , unknown >
316
332
? {
@@ -323,15 +339,17 @@ export type DeepPick<T, Filter extends DeepModify<T>> = T extends Builtin
323
339
: never ;
324
340
325
341
type DeepModify < T > =
326
- | {
327
- [ K in keyof T ] ?: undefined extends { [ K2 in keyof T ] : K2 } [ K ]
328
- ? NonUndefinable < T [ K ] > extends object
329
- ? true | DeepModify < NonUndefinable < T [ K ] > >
330
- : true
331
- : T [ K ] extends object
332
- ? true | DeepModify < T [ K ] >
333
- : true ;
334
- }
342
+ | ( T extends Record < string , unknown >
343
+ ? {
344
+ [ K in keyof T ] ?: undefined extends { [ K2 in keyof T ] : K2 } [ K ]
345
+ ? NonUndefinable < T [ K ] > extends object
346
+ ? true | DeepModify < NonUndefinable < T [ K ] > >
347
+ : true
348
+ : T [ K ] extends object
349
+ ? true | DeepModify < T [ K ] >
350
+ : true ;
351
+ }
352
+ : never )
335
353
| ( T extends Array < infer E > ? Array < DeepModify < E > > : never )
336
354
| ( T extends Promise < infer E > ? Promise < DeepModify < E > > : never )
337
355
| ( T extends Set < infer E > ? Set < DeepModify < E > > : never )
0 commit comments