File tree Expand file tree Collapse file tree 3 files changed +26
-2
lines changed Expand file tree Collapse file tree 3 files changed +26
-2
lines changed Original file line number Diff line number Diff line change 2828 "types" : " dist/index.d.ts" ,
2929 "devDependencies" : {
3030 "@microsoft/api-extractor" : " ^7.13.2" ,
31+ "@phryneas/ts-version" : " ^1.0.2" ,
3132 "@size-limit/preset-small-lib" : " ^4.11.0" ,
3233 "@testing-library/react" : " ^13.3.0" ,
3334 "@testing-library/user-event" : " ^13.1.5" ,
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ import type {
1717 AsyncThunkFulfilledActionCreator ,
1818 AsyncThunkRejectedActionCreator ,
1919} from '@internal/createAsyncThunk'
20+ import type { TSVersion } from '@phryneas/ts-version'
2021
2122const ANY = { } as any
2223const defaultDispatch = ( ( ) => { } ) as ThunkDispatch < { } , any , AnyAction >
@@ -287,8 +288,22 @@ const anyAction = { type: 'foo' } as AnyAction
287288 // in that case, we have to forbid this behaviour or it will make arguments optional everywhere
288289 {
289290 const asyncThunk = createAsyncThunk ( 'test' , ( arg ?: number ) => 0 )
290- expectType < ( arg ?: number ) => any > ( asyncThunk )
291- asyncThunk ( )
291+
292+ // Per https://github.com/reduxjs/redux-toolkit/issues/3758#issuecomment-1742152774 , this is a bug in
293+ // TS 5.1 and 5.2, that is fixed in 5.3. Conditionally run the TS assertion here.
294+ type IsTS51Or52 = TSVersion . Major extends 5
295+ ? TSVersion . Minor extends 1 | 2
296+ ? true
297+ : false
298+ : false
299+
300+ type expectedType = IsTS51Or52 extends true
301+ ? ( arg : number ) => any
302+ : ( arg ?: number ) => any
303+ expectType < expectedType > ( asyncThunk )
304+ // We _should_ be able to call this with no arguments, but we run into that error in 5.1 and 5.2.
305+ // Disabling this for now.
306+ // asyncThunk()
292307 asyncThunk ( 5 )
293308 // @ts -expect-error
294309 asyncThunk ( 'string' )
Original file line number Diff line number Diff line change @@ -6421,6 +6421,13 @@ __metadata:
64216421 languageName: node
64226422 linkType: hard
64236423
6424+ "@phryneas/ts-version@npm:^1.0.2":
6425+ version: 1.0.2
6426+ resolution: "@phryneas/ts-version@npm:1.0.2"
6427+ checksum: d51914a8ea35ff8b686a9379b9e9fe6d5b5feaf2e7511b880d2835015736e33bc82952bbc369918f251d4a755f32f4a9c4a34b0ec4dfdbc3e87a41d26401105c
6428+ languageName: node
6429+ linkType: hard
6430+
64246431"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.3":
64256432 version: 0.5.7
64266433 resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.7"
@@ -6554,6 +6561,7 @@ __metadata:
65546561 resolution: "@reduxjs/toolkit@workspace:packages/toolkit"
65556562 dependencies:
65566563 "@microsoft/api-extractor": ^7.13.2
6564+ "@phryneas/ts-version": ^1.0.2
65576565 "@size-limit/preset-small-lib": ^4.11.0
65586566 "@testing-library/react": ^13.3.0
65596567 "@testing-library/user-event": ^13.1.5
You can’t perform that action at this time.
0 commit comments