Type Illusions
A Learning TypeScript > Declaration Files 🍲 entree project.
Salutations! Come one, come all - to the amazing Type Illusionist!
It's no trick, no common shenanigan. These illusions will amaze and astound.
Watch as I make the entire ./show.ts file... disappear!
✨ Poof! ✨
But wait, there's more!
I will also disappear all the type annotations in ./index.ts, leaving behind only JavaScript!
Now, our audience volunteer -that's you!- will have to add those type annotations back to prove the magic did not harm the code's runtime behavior.
Setup
If you haven't yet, set up the github.com/LearningTypeScript/projects repository locally.
shell
shell
Open your editor in this project's directory:
shell
shell
In your terminal, run the TypeScript compiler via the tsc script.
For example, to start the TypeScript compiler in watch mode:
shell
shell
Files
- index.ts: Add back type imports from- "./show"and corresponding type annotations
- show.d.ts: Declare types for the missing show module here based on the remaining code in- index.ts
- index.solution.tsand- show.solution.ts: Solution code
Notes
Note: your terminal should be in the
type-illusionsdirectory, not the root repository's directory.
- Don't use anyor leave any implicitanys.
- Don't change any runtime code behavior. You're just working in the type system.