You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
RangeError: Maximum call stack size exceeded #59821
RangeError: Maximum call stack size exceeded
at typeToTypeNodeWorker (typescript/lib/tsc.js:44218:42)
at typeToTypeNodeHelper (/typescript/lib/tsc.js:44214:32)
at typeToTypeNodeWorker (ypescript/lib/tsc.js:44438:42)
at typeToTypeNodeHelper (typescript/lib/tsc.js:44214:32)
at mapToTypeNodes (typescript/lib/tsc.js:44974:40)
at typeToTypeNodeWorker (typescript/lib/tsc.js:44355:45)
at typeToTypeNodeHelper (typescript/lib/tsc.js:44214:32)
at mapToTypeNodes (typescript/lib/tsc.js:44974:40)
at typeToTypeNodeWorker (typescript/lib/tsc.js:44355:45)
at typeToTypeNodeHelper (typescript/lib/tsc.js:44214:32)
🙂 Expected behavior
Should be without errors.
Additional information about the issue
In main branch of the repo problem is not happening.
it started happening in support-multiple-caches branch (1 commit ahead) mostly after code from createActions file was added and used.
Mateusz Burzyński (@Andarist) tried, but seems that almost all repo code is needed. Btw fixed it already by removing cycled typing, in the next commit.
Interesting that in prev commit cycles also existed but issue did not happen and everything worked, but after adding changes in that commit tsc started crashing.
FYI Overall repo is the best example of very black TS magic thats required for proper typing in some cases.
And also would be great that we don't need as in switch/case for generic literals:
// src/reducer.tsswitch(action.type){caseactions.updateQueryStateAndEntities.type: {const{
queryKey,
queryCacheKey,state: queryState,
entityChagnes,}=actionasReturnType<typeofactions.updateQueryStateAndEntities>// this line should be just `} = action`
Activity
Andarist commentedon Sep 1, 2024
"Probably caused by this code" is not exactly a repro case. Can you slim down ur repo to the required bits that lead to this bug?
gentlee commentedon Sep 2, 2024
Mateusz Burzyński (@Andarist) tried, but seems that almost all repo code is needed. Btw fixed it already by removing cycled typing, in the next commit.
Interesting that in prev commit cycles also existed but issue did not happen and everything worked, but after adding changes in that commit
tscstarted crashing.gentlee commentedon Sep 2, 2024
FYI Overall repo is the best example of very black TS magic thats required for proper typing in some cases.
And also would be great that we don't need
asin switch/case for generic literals:Andarist commentedon Sep 3, 2024
This crashes when trying to serialize the type of this
createCacheReducerhere:https://github.com/gentlee/react-redux-cache/blob/ae4159b12ab02110874ffda5383ea8605b5601e7/src/types.ts#L46
FWIW, it errors because it can't find applicable signatures for this instantiation expression and it tries to report this error:
That leads to serializing this type in the first place.
Andarist commentedon Sep 3, 2024
I started with a repro like this: TS playground but I managed to reduce it even further (TS playground):