Debugging complex TypeScript types is painful, because you can't simply put log statements in them and the obscure syntax doesn't help. Introducing Walk That Type: a tool that lets you paste or write any type, then step through it while explaining what happens at each step!
🚧 Warning: this project is still in early development stage. It might include bugs and missing features (see ROADMAP to see what's still coming).
- Fork this repo
- Create a new branch, push your changes, and open a PR.
Feel free to report any issues or feature requests using Github issues.
- Install pnpm
- Run
pnpm install
- Run
pnpm dev
to start the dev server - Run
pnpm test
to run tests (in watch mode)
- Make sure
mapASTToTypeNodes
handles parsing syntax for this feature, if not, add it. This requires adding a newTypeNode
variant. Fill missing cases in functions that useTypeNode
(usepnpm check:types
to find all these places). - Add tests and implement
evalT
for this feature. - Add tests and implement
extendsT
for this feature (if needed). - Add traverse logic in
traverse
function. - In
eval-tree.ts
add new cases incalculateNextStep
andchooseNodeToEval
. - Finally, update
EvalDescription
component.
To add a missing built-in type (e.g. Pick
) you just need to implement it in the global-types.ts
files according to GlobalTypeFn
type.