gitextract_69awz6n2/ ├── .github/ │ └── workflows/ │ ├── renovate-checks.yml │ └── section-repos.yml ├── .gitignore ├── .vscode/ │ └── settings.json ├── README.md ├── package.json ├── renovate.json ├── src/ │ ├── 01-number.problem.ts │ ├── 01-number.solution.ts │ ├── 02-object-param.problem.ts │ ├── 02-object-param.solution.1.ts │ ├── 02-object-param.solution.2.ts │ ├── 02-object-param.solution.3.ts │ ├── 03-optional-properties.problem.ts │ ├── 03-optional-properties.solution.ts │ ├── 04-optional-params.problem.ts │ ├── 04-optional-params.solution.ts │ ├── 05-assigning-types-to-variables.problem.ts │ ├── 05-assigning-types-to-variables.solution.ts │ ├── 06-unions.problem.ts │ ├── 06-unions.solution.ts │ ├── 07-arrays.problem.ts │ ├── 07-arrays.solution.1.ts │ ├── 07-arrays.solution.2.ts │ ├── 08-function-return-type-annotations.problem.ts │ ├── 08-function-return-type-annotations.solution.ts │ ├── 09-promises.problem.ts │ ├── 09-promises.solution.1.ts │ ├── 09-promises.solution.2.ts │ ├── 09-promises.solution.3.ts │ ├── 10-set.problem.ts │ ├── 10-set.solution.ts │ ├── 11-record.problem.ts │ ├── 11-record.solution.1.ts │ ├── 11-record.solution.2.ts │ ├── 11-record.solution.3.ts │ ├── 12-typeof-narrowing.problem.ts │ ├── 12-typeof-narrowing.solution.ts │ ├── 13-catch-blocks.problem.ts │ ├── 13-catch-blocks.solution.1.ts │ ├── 13-catch-blocks.solution.2.ts │ ├── 13-catch-blocks.solution.3.ts │ ├── 14-extends.problem.ts │ ├── 14-extends.solution.ts │ ├── 15-intersection.problem.ts │ ├── 15-intersection.solution.ts │ ├── 16-omit-and-pick.problem.ts │ ├── 16-omit-and-pick.solution.1.ts │ ├── 16-omit-and-pick.solution.2.ts │ ├── 17-function-types.problem.ts │ ├── 17-function-types.solution.1.ts │ ├── 17-function-types.solution.2.ts │ ├── 18-function-types-with-promises.problem.ts │ ├── 18-function-types-with-promises.solution.ts │ └── helpers/ │ └── type-utils.ts ├── tsconfig.json └── vite.config.mts