Skip to main content

The Typer

A Learning TypeScript > Objects 🍲 entree project.

Hmmph.

Last of your kind. A wandering soul -- not lost, but never found. Your keen instincts for type safety and sound type systems are a dim light in the dark and dismal world around you. You are The Typer.

An old friend of yours recently gave you a map purporting to include a rare and desirable treasure. The map is missing TypeScript type annotations, but otherwise seems acceptable.

Can you fill out type annotations to make the map more usable?

Setup​

If you haven't yet, set up the github.com/LearningTypeScript/projects repository locally.

shell
git clone https://github.com/LearningTypeScript/projects learning-typescript-projects
cd learning-typescript-projects
npm i
shell
git clone https://github.com/LearningTypeScript/projects learning-typescript-projects
cd learning-typescript-projects
npm i

Open your editor in this project's directory:

shell
code projects/objects/the-typer
shell
code projects/objects/the-typer

In your terminal, run the TypeScript compiler via the tsc script. For example, to start the TypeScript compiler in watch mode:

shell
npm run tsc -- --watch
shell
npm run tsc -- --watch

Specification​

In ./index.ts, add TypeScript type annotations to get TypeScript to compile without type errors.

Notes​

Note: your terminal should be in the the-typer directory, not the root repository's directory.

  • Don't use any or leave any implicit anys.
  • Don't use any arrays or functions, as they haven't been covered in Learning TypeScript yet.
  • Don't change any runtime code -- it's fine as-is.