├── .github
└── workflows
│ ├── renovate-checks.yml
│ └── section-repos.yml
├── .gitignore
├── .vscode
└── settings.json
├── LICENSE.md
├── README.md
├── book-content
├── chapters
│ ├── 01-setup-typescript.md
│ ├── 02-ide-superpowers.md
│ ├── 03-typescript-in-the-development-pipeline.md
│ ├── 04-essential-types-and-annotations.md
│ ├── 05-unions-literals-and-narrowing.md
│ ├── 06-objects.md
│ ├── 07-mutability.md
│ ├── 08-classes.md
│ ├── 09-typescript-only-features.md
│ ├── 10-deriving-types.md
│ ├── 11-annotations-and-assertions.md
│ ├── 12-the-weird-parts.md
│ ├── 13-modules-scripts-declaration-files.md
│ ├── 14-configuring-typescript.md
│ ├── 15-designing-your-types.md
│ └── 16-the-utils-folder.md
├── formatter
│ ├── format.ts
│ ├── package.json
│ └── tsconfig.json
├── fragments.md
├── preview-01.md
└── readme.md
├── package.json
├── pnpm-lock.yaml
├── renovate.json
├── src
├── 005-kickstart-your-typescript-setup
│ ├── 001-typescript-vs-javascript.explainer.ts
│ ├── 002-how-typescript-works.explainer.png
│ ├── 002-how-typescript-works.explainer.svg
│ ├── 002-how-typescript-works.explainer.ts
│ ├── 003-tools-needed.explainer.png
│ ├── 003-tools-needed.explainer.ts
│ ├── 004-set-up-node-js-and-vscode.explainer.ts
│ ├── 005-set-up-npm-and-pnpm.explainer.png
│ ├── 005-set-up-npm-and-pnpm.explainer.ts
│ ├── 006-vscode-extension.explainer.ts
│ └── workshop.md
├── 010-typescript-in-the-build-process
│ ├── 010-typescript-in-the-browser.problem
│ │ ├── example.ts
│ │ ├── index.html
│ │ └── readme.md
│ ├── 010-typescript-in-the-browser.solution
│ │ ├── example.js
│ │ └── index.html
│ ├── 011-compile-typescript-to-javascript.problem
│ │ ├── example.ts
│ │ ├── index.html
│ │ └── readme.md
│ ├── 011-compile-typescript-to-javascript.solution
│ │ ├── .gitignore
│ │ ├── example.ts
│ │ ├── index.html
│ │ └── tsconfig.json
│ ├── 012-tsc-watch-mode.problem
│ │ ├── .gitignore
│ │ ├── example.ts
│ │ ├── index.html
│ │ ├── readme.md
│ │ └── tsconfig.json
│ ├── 012-tsc-watch-mode.solution
│ │ ├── .gitignore
│ │ ├── example.ts
│ │ ├── index.html
│ │ └── tsconfig.json
│ ├── 013-compiling-to-a-directory.problem
│ │ ├── .gitignore
│ │ ├── example.ts
│ │ ├── index.html
│ │ ├── readme.md
│ │ └── tsconfig.json
│ ├── 013-compiling-to-a-directory.solution
│ │ ├── .gitignore
│ │ ├── example.ts
│ │ ├── index.html
│ │ └── tsconfig.json
│ ├── 014-setting-up-a-frontend-app-with-vite.problem
│ │ ├── .gitignore
│ │ ├── example.ts
│ │ ├── index.html
│ │ ├── readme.md
│ │ └── tsconfig.json
│ ├── 014-setting-up-a-frontend-app-with-vite.solution
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── public
│ │ │ └── vite.svg
│ │ ├── src
│ │ │ ├── counter.ts
│ │ │ ├── main.ts
│ │ │ ├── style.css
│ │ │ ├── typescript.svg
│ │ │ └── vite-env.d.ts
│ │ └── tsconfig.json
│ ├── 015-typescript-as-a-linter.problem
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── public
│ │ │ └── vite.svg
│ │ ├── readme.md
│ │ ├── src
│ │ │ ├── counter.ts
│ │ │ ├── main.ts
│ │ │ ├── style.css
│ │ │ ├── typescript.svg
│ │ │ └── vite-env.d.ts
│ │ └── tsconfig.json
│ ├── 015-typescript-as-a-linter.solution
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── public
│ │ │ └── vite.svg
│ │ ├── src
│ │ │ ├── counter.ts
│ │ │ ├── main.ts
│ │ │ ├── style.css
│ │ │ ├── typescript.svg
│ │ │ └── vite-env.d.ts
│ │ └── tsconfig.json
│ ├── 016-typescript-on-ci.explainer
│ │ ├── .github
│ │ │ └── workflows
│ │ │ │ └── ci.yml
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── public
│ │ │ └── vite.svg
│ │ ├── readme.md
│ │ ├── src
│ │ │ ├── counter.ts
│ │ │ ├── main.ts
│ │ │ ├── style.css
│ │ │ ├── typescript.svg
│ │ │ └── vite-env.d.ts
│ │ └── tsconfig.json
│ ├── 017-blocking-your-dev-server-with-typescript.explainer.1
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── public
│ │ │ └── vite.svg
│ │ ├── readme.md
│ │ ├── src
│ │ │ ├── counter.ts
│ │ │ ├── main.ts
│ │ │ ├── style.css
│ │ │ ├── typescript.svg
│ │ │ └── vite-env.d.ts
│ │ └── tsconfig.json
│ ├── 017-blocking-your-dev-server-with-typescript.explainer.2
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── public
│ │ │ └── vite.svg
│ │ ├── src
│ │ │ ├── counter.ts
│ │ │ ├── main.ts
│ │ │ ├── style.css
│ │ │ ├── typescript.svg
│ │ │ └── vite-env.d.ts
│ │ ├── tsconfig.json
│ │ └── vite.config.js
│ ├── 017-blocking-your-dev-server-with-typescript.explainer.3
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── public
│ │ │ └── vite.svg
│ │ ├── src
│ │ │ ├── counter.ts
│ │ │ ├── main.ts
│ │ │ ├── style.css
│ │ │ ├── typescript.svg
│ │ │ └── vite-env.d.ts
│ │ └── tsconfig.json
│ └── 019-using-tsx-to-create-quick-scripts.explainer
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── public
│ │ └── vite.svg
│ │ ├── scripts
│ │ └── doSomething.ts
│ │ ├── src
│ │ ├── counter.ts
│ │ ├── main.ts
│ │ ├── style.css
│ │ ├── typescript.svg
│ │ └── vite-env.d.ts
│ │ └── tsconfig.json
├── 015-essential-types-and-annotations
│ ├── 020-basic-types-with-function-parameters.problem.ts
│ ├── 020-basic-types-with-function-parameters.solution.ts
│ ├── 021-annotating-empty-parameters.problem.ts
│ ├── 021-annotating-empty-parameters.solution.ts
│ ├── 022-all-types.problem.ts
│ ├── 022-all-types.solution.1.ts
│ ├── 022-all-types.solution.2.ts
│ ├── 023-optional-function-parameters.problem.ts
│ ├── 023-optional-function-parameters.solution.ts
│ ├── 024-default-parameters.problem.ts
│ ├── 024-default-parameters.solution.ts
│ ├── 025-object-literal-types.problem.ts
│ ├── 025-object-literal-types.solution.ts
│ ├── 026-optional-property-types.problem.ts
│ ├── 026-optional-property-types.solution.ts
│ ├── 027-type-keyword.problem.ts
│ ├── 027-type-keyword.solution.1.ts
│ ├── 027-type-keyword.solution.2.ts
│ ├── 027-type-keyword.solution.3.ts
│ ├── 028-arrays.problem.ts
│ ├── 028-arrays.solution.1.ts
│ ├── 028-arrays.solution.2.ts
│ ├── 029-arrays-of-objects.problem.ts
│ ├── 029-arrays-of-objects.solution.1.ts
│ ├── 029-arrays-of-objects.solution.2.ts
│ ├── 029-arrays-of-objects.solution.3.ts
│ ├── 029-arrays-of-objects.solution.4.ts
│ ├── 030-rest-parameters-of-functions.problem.ts
│ ├── 030-rest-parameters-of-functions.solution.1.ts
│ ├── 030-rest-parameters-of-functions.solution.2.ts
│ ├── 031-tuples.problem.ts
│ ├── 031-tuples.solution.1.ts
│ ├── 031-tuples.solution.2.ts
│ ├── 032-optional-members-of-tuples.problem.ts
│ ├── 032-optional-members-of-tuples.solution.1.ts
│ ├── 032-optional-members-of-tuples.solution.2.ts
│ ├── 032.5-any.problem.ts
│ ├── 032.5-any.solution.ts
│ ├── 033-function-types.problem.ts
│ ├── 033-function-types.solution.ts
│ ├── 034-functions-returning-void.problem.ts
│ ├── 034-functions-returning-void.solution.ts
│ ├── 034.5-void-vs-undefined.problem.ts
│ ├── 034.5-void-vs-undefined.solution.ts
│ ├── 035-pass-types-to-set.problem.ts
│ ├── 035-pass-types-to-set.solution.1.ts
│ ├── 035-pass-types-to-set.solution.2.ts
│ ├── 036-pass-types-to-map.problem.ts
│ ├── 036-pass-types-to-map.solution.1.ts
│ ├── 036-pass-types-to-map.solution.2.ts
│ ├── 036-pass-types-to-map.solution.3.ts
│ ├── 036-pass-types-to-map.solution.4.ts
│ ├── 037-json-parse-cant-receive-type-arguments.problem.ts
│ ├── 037-json-parse-cant-receive-type-arguments.solution.ts
│ ├── 038-type-async-functions.problem.ts
│ ├── 038-type-async-functions.solution.1.ts
│ ├── 038-type-async-functions.solution.2.ts
│ └── workshop.md
├── 016.5-ide-superpowers
│ ├── 039-understand-the-ts-server.explainer.svg
│ ├── 039-understand-the-ts-server.explainer.ts
│ ├── 040-understand-how-to-hover-a-variable-to-see-its-type.explainer.ts
│ ├── 041-hovering-a-function-call.problem.ts
│ ├── 041-hovering-a-function-call.solution.ts
│ ├── 042-adding-tsdoc-comments-for-hovers.problem.ts
│ ├── 042-adding-tsdoc-comments-for-hovers.solution.ts
│ ├── 044-manually-triggering-autocomplete.problem.ts
│ ├── 044-manually-triggering-autocomplete.solution.ts
│ ├── 045-basics-of-errors.explainer.ts
│ ├── 046-go-to-definition.explainer.ts
│ ├── 047-rename-symbol.explainer.ts
│ ├── 048-auto-import.problem.ts
│ ├── 048-auto-import.solution.ts
│ ├── 049-organize-imports.problem.ts
│ ├── 049-organize-imports.solution.ts
│ ├── 050-refactor.problem.ts
│ ├── 050-refactor.solution.ts
│ ├── 051-prettier-format-on-save.explainer.ts
│ ├── 052-resetting-the-typescript-server.explainer.ts
│ ├── dummy-import-2.ts
│ └── dummy-import.ts
├── 018-unions-and-narrowing
│ ├── 053-introduction-to-unions.problem.ts
│ ├── 053-introduction-to-unions.solution.ts
│ ├── 053.5-unions-diagram.explainer.svg
│ ├── 054-literal-types.problem.ts
│ ├── 054-literal-types.solution.1.ts
│ ├── 054-literal-types.solution.2.ts
│ ├── 054.5-literal-type-assignability.explainer.svg
│ ├── 055-combining-unions.problem.ts
│ ├── 055-combining-unions.solution.ts
│ ├── 056-how-big-can-a-union-be.explainer.ts
│ ├── 057-literals-vs-wider-types.explainer.1.svg
│ ├── 057-literals-vs-wider-types.explainer.2.svg
│ ├── 057-literals-vs-wider-types.explainer.ts
│ ├── 058-narrowing-unions-with-typeof.explainer.ts
│ ├── 059-narrowing-with-if-statements.problem.ts
│ ├── 059-narrowing-with-if-statements.solution.1.svg
│ ├── 059-narrowing-with-if-statements.solution.1.ts
│ ├── 059-narrowing-with-if-statements.solution.2.ts
│ ├── 059-narrowing-with-if-statements.solution.3.ts
│ ├── 059-narrowing-with-if-statements.solution.4.ts
│ ├── 059-narrowing-with-if-statements.solution.5.ts
│ ├── 060-narrowing-with-boolean-wont-work.explainer.ts
│ ├── 061-map-has-doesnt-narrow-map-get.problem.ts
│ ├── 061-map-has-doesnt-narrow-map-get.solution.ts
│ ├── 062-throwing-errors-to-narrow.problem.ts
│ ├── 062-throwing-errors-to-narrow.solution.ts
│ ├── 064-narrowing-with-in-statements.problem.ts
│ ├── 064-narrowing-with-in-statements.solution.ts
│ ├── 065-introduction-to-unknown.explainer.svg
│ ├── 065-introduction-to-unknown.explainer.ts
│ ├── 065.5-narrowing-with-instanceof-statements.problem.ts
│ ├── 065.5-narrowing-with-instanceof-statements.solution.ts
│ ├── 066-narrowing-unknown-to-a-value.problem.ts
│ ├── 066-narrowing-unknown-to-a-value.solution.ts
│ ├── 067-introduction-to-never.explainer.svg
│ ├── 067-introduction-to-never.explainer.ts
│ ├── 067.5-never-array.problem.ts
│ ├── 067.5-never-array.solution.ts
│ ├── 068-returning-never-to-narrow.problem.ts
│ ├── 068-returning-never-to-narrow.solution.1.ts
│ ├── 068-returning-never-to-narrow.solution.2.ts
│ ├── 071-narrowing-in-different-scopes.problem.ts
│ ├── 071-narrowing-in-different-scopes.solution.ts
│ ├── 072.5-reusable-type-guards.problem.ts
│ ├── 072.5-reusable-type-guards.solution.ts
│ ├── 074-intro-to-discriminated-unions.problem.ts
│ ├── 074-intro-to-discriminated-unions.solution.ts
│ ├── 075-destructuring-a-discriminated-union.problem.ts
│ ├── 075-destructuring-a-discriminated-union.solution.ts
│ ├── 076-narrowing-a-discriminated-union-with-a-switch-statement.problem.ts
│ ├── 076-narrowing-a-discriminated-union-with-a-switch-statement.solution.ts
│ ├── 077-narrowing-with-switch-true.explainer.ts
│ ├── 078-destructuring-a-discriminated-tuple.problem.ts
│ ├── 078-destructuring-a-discriminated-tuple.solution.ts
│ ├── 079-discriminated-booleans.problem.ts
│ ├── 079-discriminated-booleans.solution.ts
│ ├── 080-adding-defaults-to-discriminated-union.problem.ts
│ ├── 080-adding-defaults-to-discriminated-union.solution.ts
│ ├── 080.5-should-you-provide-function-return-types.explainer.ts
│ └── workshop.md
├── 020-objects
│ ├── 081-extend-object-using-intersections.problem.ts
│ ├── 081-extend-object-using-intersections.solution.ts
│ ├── 082-extend-object-using-interfaces.problem.ts
│ ├── 082-extend-object-using-interfaces.solution.1.ts
│ ├── 082-extend-object-using-interfaces.solution.2.ts
│ ├── 082.5-extending-incompatible-properties.problem.ts
│ ├── 082.5-extending-incompatible-properties.solution.ts
│ ├── 083-compare-between-intersections-and-interfaces.explainer.ts
│ ├── 084-index-signatures.problem.ts
│ ├── 084-index-signatures.solution.1.ts
│ ├── 084-index-signatures.solution.2.ts
│ ├── 084-index-signatures.solution.3.ts
│ ├── 084-index-signatures.solution.4.ts
│ ├── 085-index-signatures-with-defined-keys.problem.ts
│ ├── 085-index-signatures-with-defined-keys.solution.1.ts
│ ├── 085-index-signatures-with-defined-keys.solution.2.ts
│ ├── 086-property-key-type.problem.ts
│ ├── 086-property-key-type.solution.ts
│ ├── 086.5-object-type.explainer.ts
│ ├── 087-record-type-with-union-as-keys.problem.ts
│ ├── 087-record-type-with-union-as-keys.solution.1.ts
│ ├── 087-record-type-with-union-as-keys.solution.2.ts
│ ├── 088-declaration-merging-of-interfaces.problem.ts
│ ├── 088-declaration-merging-of-interfaces.solution.ts
│ ├── 089-pick-type-helper.problem.ts
│ ├── 089-pick-type-helper.solution.1.ts
│ ├── 089-pick-type-helper.solution.2.ts
│ ├── 091-omit-type-helper.problem.ts
│ ├── 091-omit-type-helper.solution.1.ts
│ ├── 091-omit-type-helper.solution.2.ts
│ ├── 092-no-autocomplete-on-omit.explainer.ts
│ ├── 093-omit-cant-distribute.explainer.1.ts
│ ├── 093-omit-cant-distribute.explainer.2.ts
│ ├── 095-partial-type-helper.problem.ts
│ ├── 095-partial-type-helper.solution.ts
│ ├── 096-required-type-helper.explainer.ts
│ ├── 096.5-common-keys-of-unions-of-objects.problem.ts
│ ├── 096.5-common-keys-of-unions-of-objects.solution.ts
│ └── workshop.md
├── 028-mutability
│ ├── 097-let-and-const-inference.problem.ts
│ ├── 097-let-and-const-inference.solution.1.ts
│ ├── 097-let-and-const-inference.solution.2.ts
│ ├── 098-object-property-inference.problem.ts
│ ├── 098-object-property-inference.solution.ts
│ ├── 099-readonly-object-properties.problem.ts
│ ├── 099-readonly-object-properties.solution.ts
│ ├── 100-readonly-type-helper.problem.ts
│ ├── 100-readonly-type-helper.solution.ts
│ ├── 101-intro-to-as-const.problem.ts
│ ├── 101-intro-to-as-const.solution.ts
│ ├── 102-as-const-vs-object-freeze.problem.ts
│ ├── 102-as-const-vs-object-freeze.solution.ts
│ ├── 103-readonly-arrays.problem.ts
│ ├── 103-readonly-arrays.solution.1.ts
│ ├── 103-readonly-arrays.solution.2.ts
│ ├── 104-readonly-arrays-assignability-to-mutable-arrays.explainer.ts
│ ├── 104.5-fixing-unsafe-tuples.problem.ts
│ ├── 104.5-fixing-unsafe-tuples.solution.ts
│ ├── 105-includes-on-readonly-arrays.explainer.ts
│ ├── 106-as-const-to-make-functions-infer-a-tuple.problem.ts
│ ├── 106-as-const-to-make-functions-infer-a-tuple.solution.1.ts
│ ├── 106-as-const-to-make-functions-infer-a-tuple.solution.2.ts
│ ├── 107-as-const-can-make-strings-infer-as-their-literals-in-objects.explainer.ts
│ └── workshop.md
├── 030-classes
│ ├── 108-understand-classes.problem.ts
│ ├── 108-understand-classes.solution.1.ts
│ ├── 108-understand-classes.solution.2.ts
│ ├── 109-class-methods.problem.ts
│ ├── 109-class-methods.solution.1.ts
│ ├── 109-class-methods.solution.2.ts
│ ├── 110-receiving-arguments-to-constructor.problem.ts
│ ├── 110-receiving-arguments-to-constructor.solution.1.ts
│ ├── 110-receiving-arguments-to-constructor.solution.2.ts
│ ├── 111-getters.problem.ts
│ ├── 111-getters.solution.ts
│ ├── 112-public-and-private-properties.problem.ts
│ ├── 112-public-and-private-properties.solution.1.ts
│ ├── 112-public-and-private-properties.solution.2.ts
│ ├── 113-setters.problem.ts
│ ├── 113-setters.solution.ts
│ ├── 114-extending-other-classes.problem.ts
│ ├── 114-extending-other-classes.solution.ts
│ ├── 115-implementing-interfaces-or-types.problem.ts
│ ├── 115-implementing-interfaces-or-types.solution.1.ts
│ ├── 115-implementing-interfaces-or-types.solution.2.ts
│ ├── 116-this-in-functions-and-objects.problem.ts
│ ├── 116-this-in-functions-and-objects.solution.ts
│ └── workshop.md
├── 032-typescript-only-features
│ ├── 116.5-intro.explainer.ts
│ ├── 117-parameter-properties.explainer.ts
│ ├── 118-enums.problem.ts
│ ├── 118-enums.solution.1.ts
│ ├── 118-enums.solution.2.ts
│ ├── 119-string-enums.problem.ts
│ ├── 119-string-enums.solution.ts
│ ├── 120-const-enums.explainer
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── tsconfig.json
│ ├── 121-namespaces.explainer.ts
│ ├── 122-namespaces-can-declaration-merge.explainer.ts
│ ├── 123-interfaces-within-namespaces-can-declaration-merge.explainer.ts
│ ├── 124-prefer-es-features-to-ts-features.explainer
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── tsconfig.json
│ └── workshop.md
├── 040-deriving-types-from-values
│ ├── 124.5-intro.explainer.ts
│ ├── 125-keyof.problem.ts
│ ├── 125-keyof.solution.ts
│ ├── 126-typeof-keyword.problem.ts
│ ├── 126-typeof-keyword.solution.1.ts
│ ├── 126-typeof-keyword.solution.2.ts
│ ├── 128-create-runtime-values-from-types.explainer.ts
│ ├── 129-classes-cross-value-and-type-world.problem.ts
│ ├── 129-classes-cross-value-and-type-world.solution.ts
│ ├── 129.5-enums-cross-value-and-type-world.explainer.ts
│ ├── 130-this-crosses-value-and-type-world.explainer.ts
│ ├── 131-naming-values-and-types-the-same.explainer.1.ts
│ ├── 131-naming-values-and-types-the-same.explainer.2.ts
│ ├── 132-parameters-type-helper.problem.ts
│ ├── 132-parameters-type-helper.solution.ts
│ ├── 133-return-type.problem.ts
│ ├── 133-return-type.solution.ts
│ ├── 134-awaited-type-helper.problem.ts
│ ├── 134-awaited-type-helper.solution.ts
│ ├── 135-indexed-access-types.problem.ts
│ ├── 135-indexed-access-types.solution.ts
│ ├── 136-pass-unions-to-indexed-access-types.problem.ts
│ ├── 136-pass-unions-to-indexed-access-types.solution.ts
│ ├── 137-pass-keyof-into-an-indexed-access-type.problem.ts
│ ├── 137-pass-keyof-into-an-indexed-access-type.solution.1.ts
│ ├── 137-pass-keyof-into-an-indexed-access-type.solution.2.ts
│ ├── 138-create-a-union-from-an-as-const-array.problem.ts
│ ├── 138-create-a-union-from-an-as-const-array.solution.ts
│ └── workshop.md
├── 045-annotations-and-assertions
│ ├── 139-dont-annotate-too-much.problem.ts
│ ├── 139-dont-annotate-too-much.solution.ts
│ ├── 141-as-and-as-any.problem.ts
│ ├── 141-as-and-as-any.solution.1.ts
│ ├── 141-as-and-as-any.solution.2.ts
│ ├── 142-global-typings-use-any.problem.ts
│ ├── 142-global-typings-use-any.solution.1.ts
│ ├── 142-global-typings-use-any.solution.2.ts
│ ├── 143-limits-of-as.explainer.ts
│ ├── 143.5-non-null-assertions.problem.ts
│ ├── 143.5-non-null-assertions.solution.ts
│ ├── 144-ts-ignore.explainer.1.ts
│ ├── 144-ts-ignore.explainer.2.ts
│ ├── 145-ts-expect-error.explainer.ts
│ ├── 145.5-ts-nocheck.explainer.ts
│ ├── 145.8-when-to-assert.explainer.ts
│ ├── 146-satisfies.problem.ts
│ ├── 146-satisfies.solution.svg
│ ├── 146-satisfies.solution.ts
│ ├── 146.5-typeof-keyof-and-satisfies-keyword.problem.ts
│ ├── 146.5-typeof-keyof-and-satisfies-keyword.solution.ts
│ ├── 146.7-satisfies-helps-narrow-literals.explainer.ts
│ ├── 147-satisfies-vs-as-vs-variable-annotations.problem.ts
│ ├── 147-satisfies-vs-as-vs-variable-annotations.solution.svg
│ ├── 147-satisfies-vs-as-vs-variable-annotations.solution.ts
│ ├── 148-satisfies-with-as-const.problem.ts
│ ├── 148-satisfies-with-as-const.solution.ts
│ └── workshop.md
├── 050-the-weird-parts
│ ├── 150-empty-object-type.problem.ts
│ ├── 150-empty-object-type.solution.1.svg
│ ├── 150-empty-object-type.solution.2.svg
│ ├── 150-empty-object-type.solution.ts
│ ├── 151-truly-empty-object.problem.ts
│ ├── 151-truly-empty-object.solution.1.ts
│ ├── 151-truly-empty-object.solution.2.ts
│ ├── 152-excess-properties-warnings.problem.ts
│ ├── 152-excess-properties-warnings.solution.1.ts
│ ├── 152-excess-properties-warnings.solution.2.ts
│ ├── 152-excess-properties-warnings.solution.3.ts
│ ├── 152-excess-properties-warnings.solution.svg
│ ├── 153-excess-properties-warnings-in-functions.problem.ts
│ ├── 153-excess-properties-warnings-in-functions.solution.1.ts
│ ├── 153-excess-properties-warnings-in-functions.solution.2.ts
│ ├── 154-object-keys-and-object-entries.explainer.ts
│ ├── 154.6-iterating-over-objects.problem.ts
│ ├── 154.6-iterating-over-objects.solution.1.ts
│ ├── 154.6-iterating-over-objects.solution.2.ts
│ ├── 154.6-iterating-over-objects.solution.3.ts
│ ├── 154.6-iterating-over-objects.solution.4.ts
│ ├── 154.8-evolving-any.problem.ts
│ ├── 154.8-evolving-any.solution.ts
│ ├── 154.9-evolving-any-arrays.explainer.ts
│ ├── 155-function-parameter-comparisons.problem.ts
│ ├── 155-function-parameter-comparisons.solution.ts
│ ├── 156-unions-of-functions-with-object-params.problem.ts
│ ├── 156-unions-of-functions-with-object-params.solution.ts
│ ├── 157-unions-of-functions.problem.ts
│ ├── 157-unions-of-functions.solution.1.ts
│ ├── 157-unions-of-functions.solution.2.ts
│ ├── 158-unions-of-function-return-types.explainer.ts
│ ├── 158.5-annotating-errors-a-function-throws.problem.ts
│ ├── 158.5-annotating-errors-a-function-throws.solution.ts
│ └── workshop.md
├── 060-modules-scripts-and-declaration-files
│ ├── 159-module-or-script.explainer
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── module-1.ts
│ │ │ ├── module-2.ts
│ │ │ ├── script-1.ts
│ │ │ └── script-2.ts
│ │ └── tsconfig.json
│ ├── 160-module-detection-force.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── script-1.ts
│ │ │ └── script-2.ts
│ │ └── tsconfig.json
│ ├── 160-module-detection-force.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── script-1.ts
│ │ │ └── script-2.ts
│ │ └── tsconfig.json
│ ├── 161-declaration-files.explainer
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── can-export-types.d.ts
│ │ │ ├── cant-use-runtime-code.d.ts
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 162-declaration-files-can-be-modules-or-scripts.explainer
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ ├── treated-as-module.d.ts
│ │ │ └── treated-as-script.d.ts
│ │ └── tsconfig.json
│ ├── 164-declaration-files-can-be-used-to-type-js-files.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── example.js
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 164-declaration-files-can-be-used-to-type-js-files.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── example.d.ts
│ │ │ ├── example.js
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 166-ambient-context-and-declare-const.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 166-ambient-context-and-declare-const.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 167-declare-global.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── other-file.ts
│ │ └── tsconfig.json
│ ├── 167-declare-global.solution.1
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── other-file.ts
│ │ └── tsconfig.json
│ ├── 167-declare-global.solution.2
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── debug.d.ts
│ │ │ ├── index.ts
│ │ │ └── other-file.ts
│ │ └── tsconfig.json
│ └── plan.md
├── 065-types-you-dont-control
│ ├── 172-lib-d-ts.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 172-lib-d-ts.solution.1
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 172-lib-d-ts.solution.2
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 173-lib-dom.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 173-lib-dom.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 174-lib-dom-iterable.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 174-lib-dom-iterable.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 174.5-modifying-window.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 174.5-modifying-window.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── window.d.ts
│ │ └── tsconfig.json
│ ├── 175-definitely-typed.problem
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 175-definitely-typed.solution
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 175.2-types-node.explainer
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 175.5-modifying-process-env.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 175.5-modifying-process-env.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── process.d.ts
│ │ └── tsconfig.json
│ ├── 176-types-that-ship-with-libraries.explainer
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 176.2-declare-module.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 176.2-declare-module.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── my-module-name-does-not-matter.d.ts
│ │ └── tsconfig.json
│ ├── 176.3-wildcard-in-declare-module.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 176.3-wildcard-in-declare-module.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── png.d.ts
│ │ └── tsconfig.json
│ ├── 176.5-skip-lib-check-true.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.d.ts
│ │ └── tsconfig.json
│ ├── 176.5-skip-lib-check-true.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.d.ts
│ │ └── tsconfig.json
│ ├── 176.7-should-you-use-declaration-files-to-store-your-types.explainer
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── types.d.ts
│ │ └── tsconfig.json
│ ├── 177-declare-module-for-overriding-third-party-libraries.explainer
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── zod.d.ts
│ │ └── tsconfig.json
│ └── plan.md
├── 080-configuring-typescript
│ ├── 178-my-recommended-tsconfig-base.explainer
│ │ ├── notes.ts
│ │ ├── package.json
│ │ └── tsconfig.json
│ ├── 178.5-isolated-modules.explainer
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 179-no-unchecked-indexed-access.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 179-no-unchecked-indexed-access.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 179.5-no-emit.problem
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 179.5-no-emit.solution
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 180-module-resolution-bundler-or-nodenext.explainer
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ ├── example.ts
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 181-lib-vs-target.explainer
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 181.2-creating-declaration-files.problem
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 181.2-creating-declaration-files.solution
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 181.4-declaration-maps.problem
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ ├── test.ts
│ │ └── tsconfig.json
│ ├── 181.4-declaration-maps.solution
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ ├── test.ts
│ │ └── tsconfig.json
│ ├── 182-jsx.problem
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.tsx
│ │ └── tsconfig.json
│ ├── 182-jsx.solution.1
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.tsx
│ │ └── tsconfig.json
│ ├── 182-jsx.solution.2
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.tsx
│ │ └── tsconfig.json
│ ├── 183-multiple-tsconfig-json-files.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── client.ts
│ │ │ └── server.ts
│ │ └── tsconfig.json
│ ├── 183-multiple-tsconfig-json-files.solution
│ │ ├── package.json
│ │ └── src
│ │ │ ├── client
│ │ │ ├── index.ts
│ │ │ └── tsconfig.json
│ │ │ └── server
│ │ │ ├── index.ts
│ │ │ └── tsconfig.json
│ ├── 184-globals-are-tied-to-a-single-tsconfig.explainer
│ │ ├── package.json
│ │ └── src
│ │ │ ├── client
│ │ │ ├── index.ts
│ │ │ └── tsconfig.json
│ │ │ └── server
│ │ │ ├── index.ts
│ │ │ ├── server.d.ts
│ │ │ └── tsconfig.json
│ ├── 185-extending-from-other-tsconfig-json-files.problem
│ │ ├── package.json
│ │ └── src
│ │ │ ├── client
│ │ │ ├── index.ts
│ │ │ └── tsconfig.json
│ │ │ └── server
│ │ │ ├── index.ts
│ │ │ └── tsconfig.json
│ ├── 185-extending-from-other-tsconfig-json-files.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── client
│ │ │ │ ├── index.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── server
│ │ │ │ ├── index.ts
│ │ │ │ └── tsconfig.json
│ │ └── tsconfig.base.json
│ ├── 186-project-references.problem
│ │ ├── checklist.md
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── client
│ │ │ │ ├── index.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── server
│ │ │ │ ├── index.ts
│ │ │ │ └── tsconfig.json
│ │ └── tsconfig.base.json
│ ├── 186-project-references.solution.1
│ │ ├── checklist.md
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ ├── client
│ │ │ │ ├── index.ts
│ │ │ │ └── tsconfig.json
│ │ │ └── server
│ │ │ │ ├── index.ts
│ │ │ │ └── tsconfig.json
│ │ ├── tsconfig.base.json
│ │ └── tsconfig.json
│ ├── 186-project-references.solution.2
│ │ ├── checklist.md
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ ├── client
│ │ │ │ └── index.ts
│ │ │ └── server
│ │ │ │ └── index.ts
│ │ ├── tsconfig.base.json
│ │ ├── tsconfig.client.json
│ │ ├── tsconfig.json
│ │ └── tsconfig.server.json
│ ├── 186-project-references.solution.3
│ │ ├── .config
│ │ │ ├── tsconfig.base.json
│ │ │ ├── tsconfig.client.json
│ │ │ └── tsconfig.server.json
│ │ ├── checklist.md
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ ├── client
│ │ │ │ └── index.ts
│ │ │ └── server
│ │ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 190-setting-up-types-for-node.explainer
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ └── plan.md
├── 082-cjs-vs-esm
│ ├── 193-intro.explainer.ts
│ ├── 194-cant-import-esm-into-cjs.problem
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ └── src
│ │ │ ├── esm-module.js
│ │ │ └── index.js
│ ├── 194-cant-import-esm-into-cjs.solution
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ └── src
│ │ │ ├── esm-module.mjs
│ │ │ └── index.js
│ ├── 195-can-import-cjs-into-esm.explainer
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ └── src
│ │ │ ├── cjs-module.cjs
│ │ │ └── index.mjs
│ ├── 196-mts-files.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── esm-module.ts
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 196-mts-files.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── esm-module.mts
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 196.5-browsers-cant-use-cjs.explainer.1
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ ├── example.ts
│ │ │ └── run.ts
│ │ └── tsconfig.json
│ ├── 196.5-browsers-cant-use-cjs.explainer.2
│ │ ├── .gitignore
│ │ ├── index.html
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ ├── example.mts
│ │ │ └── run.mts
│ │ └── tsconfig.json
│ ├── 197-verbatim-module-syntax.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ └── cjs-module.ts
│ │ └── tsconfig.json
│ ├── 197-verbatim-module-syntax.solution
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ └── cjs-module.ts
│ │ └── tsconfig.json
│ ├── 198-treat-ts-files-as-esm.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── esm-module.ts
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 198-treat-ts-files-as-esm.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── esm-module.ts
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 200-import-syntax-for-cts.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── other-module.ts
│ │ └── tsconfig.json
│ ├── 200-import-syntax-for-cts.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── other-module.ts
│ │ └── tsconfig.json
│ ├── 201-module-nodenext-emits-the-right-extensions.explainer
│ │ ├── package.json
│ │ ├── pnpm-lock.yaml
│ │ ├── src
│ │ │ ├── cjs-module.cts
│ │ │ ├── esm-module.mts
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── 202.5-import-type.problem
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── esm-module.ts
│ │ │ └── module-containing-types.ts
│ │ └── tsconfig.json
│ ├── 202.5-import-type.solution
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── esm-module.ts
│ │ │ └── module-containing-types.ts
│ │ └── tsconfig.json
│ ├── 202.6-should-i-use-cjs-or-esm.explainer.ts
│ └── 202.7-applications-vs-libraries.explainer.ts
├── 083-designing-your-types
│ ├── 203-domain-modelling-in-typescript.explainer.ts
│ ├── 204-intro-to-generic-types.problem.ts
│ ├── 204-intro-to-generic-types.solution.ts
│ ├── 205-multiple-type-parameters.problem.ts
│ ├── 205-multiple-type-parameters.solution.ts
│ ├── 206-result-type.explainer.ts
│ ├── 207-default-type-parameters.problem.ts
│ ├── 207-default-type-parameters.solution.ts
│ ├── 208-type-parameter-constraints.problem.ts
│ ├── 208-type-parameter-constraints.solution.ts
│ ├── 209-tighter-version-of-omit.problem.ts
│ ├── 209-tighter-version-of-omit.solution.ts
│ ├── 210-template-literal-types.problem.ts
│ ├── 210-template-literal-types.solution.ts
│ ├── 211-passing-unions-to-template-literal-types.problem.ts
│ ├── 211-passing-unions-to-template-literal-types.solution.ts
│ ├── 212-mapped-types.problem.ts
│ ├── 212-mapped-types.solution.ts
│ ├── 213-as-in-mapped-types.problem.ts
│ ├── 213-as-in-mapped-types.solution.ts
│ └── workshop.md
├── 085-the-utils-folder
│ ├── 214-intro-to-the-utils-folder.explainer.ts
│ ├── 215-generic-functions-without-inference.problem.ts
│ ├── 215-generic-functions-without-inference.solution.ts
│ ├── 216-type-parameter-defaults-in-generic-functions.problem.ts
│ ├── 216-type-parameter-defaults-in-generic-functions.solution.ts
│ ├── 217-generic-functions-with-inference.problem.ts
│ ├── 217-generic-functions-with-inference.solution.ts
│ ├── 218-type-parameter-constraints-with-generic-functions.problem.ts
│ ├── 218-type-parameter-constraints-with-generic-functions.solution.ts
│ ├── 219-combining-generic-types-with-generic-functions.problem.ts
│ ├── 219-combining-generic-types-with-generic-functions.solution.ts
│ ├── 220-multiple-type-arguments-in-generic-functions.problem.ts
│ ├── 220-multiple-type-arguments-in-generic-functions.solution.ts
│ ├── 221-type-predicates.problem.ts
│ ├── 221-type-predicates.solution.ts
│ ├── 222-assertion-functions.problem.ts
│ ├── 222-assertion-functions.solution.ts
│ ├── 223-function-overloads.problem.ts
│ ├── 223-function-overloads.solution.ts
│ └── workshop.md
├── 090-the-style-guide
│ ├── 224-hungarian-notation.problem.ts
│ ├── 224-hungarian-notation.solution.ts
│ ├── 225-where-to-put-your-types.problem.ts
│ ├── 225-where-to-put-your-types.solution.ts
│ ├── 226-colocation-of-types.problem.ts
│ ├── 226-colocation-of-types.solution.ts
│ ├── 227-setting-up-eslint.explainer.ts
│ ├── 228-explicit-any-rule-or-not.problem.ts
│ ├── 228-explicit-any-rule-or-not.solution.ts
│ ├── 229-explicit-return-types-or-not.problem.ts
│ ├── 229-explicit-return-types-or-not.solution.ts
│ ├── 230-any-vs-ts-ignore-vs-ts-expect-error.problem.ts
│ ├── 230-any-vs-ts-ignore-vs-ts-expect-error.solution.ts
│ ├── 231-dont-declare-type-and-value-with-the-same-name.problem.ts
│ ├── 231-dont-declare-type-and-value-with-the-same-name.solution.ts
│ ├── 232-types-vs-interfaces.problem.ts
│ ├── 232-types-vs-interfaces.solution.ts
│ ├── 233-dont-use-uppercase-function-object-string-boolean-as-types.problem.ts
│ ├── 233-dont-use-uppercase-function-object-string-boolean-as-types.solution.ts
│ ├── 234-dont-make-your-types-globally-available-types.problem.ts
│ ├── 234-dont-make-your-types-globally-available-types.solution.ts
│ ├── 235-how-strict-should-you-configure-ts.problem.ts
│ ├── 235-how-strict-should-you-configure-ts.solution.ts
│ ├── 236-dont-unnecessarily-widen-types.problem.ts
│ ├── 236-dont-unnecessarily-widen-types.solution.ts
│ └── plan.md
└── 095-migrating-from-javascript
│ ├── 237-strict-file-by-file-vs-ramp-up-strictness.problem.ts
│ ├── 237-strict-file-by-file-vs-ramp-up-strictness.solution.ts
│ ├── 238-dependencies-first.problem.ts
│ ├── 238-dependencies-first.solution.ts
│ ├── 239-typing-third-party-modules.problem.ts
│ ├── 239-typing-third-party-modules.solution.ts
│ ├── 240-madge.problem.ts
│ ├── 240-madge.solution.ts
│ ├── 241-understanding-the-structure-of-ts-errors.problem.ts
│ ├── 241-understanding-the-structure-of-ts-errors.solution.ts
│ ├── 242-experiments-with-jsdoc.problem.ts
│ ├── 242-experiments-with-jsdoc.solution.ts
│ ├── 243-jsdoc-cannot-pass-types-to-functions.problem.ts
│ ├── 243-jsdoc-cannot-pass-types-to-functions.solution.ts
│ └── plan.md
├── tsconfig.json
├── vite.config.mts
└── workshop.md
/.github/workflows/renovate-checks.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/.github/workflows/renovate-checks.yml
--------------------------------------------------------------------------------
/.github/workflows/section-repos.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/.github/workflows/section-repos.yml
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/.gitignore
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/.vscode/settings.json
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/LICENSE.md
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/README.md
--------------------------------------------------------------------------------
/book-content/chapters/01-setup-typescript.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/01-setup-typescript.md
--------------------------------------------------------------------------------
/book-content/chapters/02-ide-superpowers.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/02-ide-superpowers.md
--------------------------------------------------------------------------------
/book-content/chapters/03-typescript-in-the-development-pipeline.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/03-typescript-in-the-development-pipeline.md
--------------------------------------------------------------------------------
/book-content/chapters/04-essential-types-and-annotations.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/04-essential-types-and-annotations.md
--------------------------------------------------------------------------------
/book-content/chapters/05-unions-literals-and-narrowing.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/05-unions-literals-and-narrowing.md
--------------------------------------------------------------------------------
/book-content/chapters/06-objects.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/06-objects.md
--------------------------------------------------------------------------------
/book-content/chapters/07-mutability.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/07-mutability.md
--------------------------------------------------------------------------------
/book-content/chapters/08-classes.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/08-classes.md
--------------------------------------------------------------------------------
/book-content/chapters/09-typescript-only-features.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/09-typescript-only-features.md
--------------------------------------------------------------------------------
/book-content/chapters/10-deriving-types.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/10-deriving-types.md
--------------------------------------------------------------------------------
/book-content/chapters/11-annotations-and-assertions.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/11-annotations-and-assertions.md
--------------------------------------------------------------------------------
/book-content/chapters/12-the-weird-parts.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/12-the-weird-parts.md
--------------------------------------------------------------------------------
/book-content/chapters/13-modules-scripts-declaration-files.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/13-modules-scripts-declaration-files.md
--------------------------------------------------------------------------------
/book-content/chapters/14-configuring-typescript.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/14-configuring-typescript.md
--------------------------------------------------------------------------------
/book-content/chapters/15-designing-your-types.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/15-designing-your-types.md
--------------------------------------------------------------------------------
/book-content/chapters/16-the-utils-folder.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/chapters/16-the-utils-folder.md
--------------------------------------------------------------------------------
/book-content/formatter/format.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/formatter/format.ts
--------------------------------------------------------------------------------
/book-content/formatter/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "module"
3 | }
4 |
--------------------------------------------------------------------------------
/book-content/formatter/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/formatter/tsconfig.json
--------------------------------------------------------------------------------
/book-content/fragments.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/fragments.md
--------------------------------------------------------------------------------
/book-content/preview-01.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/preview-01.md
--------------------------------------------------------------------------------
/book-content/readme.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/book-content/readme.md
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/package.json
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/pnpm-lock.yaml
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/renovate.json
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/001-typescript-vs-javascript.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/005-kickstart-your-typescript-setup/001-typescript-vs-javascript.explainer.ts
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/002-how-typescript-works.explainer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/005-kickstart-your-typescript-setup/002-how-typescript-works.explainer.png
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/002-how-typescript-works.explainer.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/005-kickstart-your-typescript-setup/002-how-typescript-works.explainer.svg
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/002-how-typescript-works.explainer.ts:
--------------------------------------------------------------------------------
1 | // Explain diagram
2 |
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/003-tools-needed.explainer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/005-kickstart-your-typescript-setup/003-tools-needed.explainer.png
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/003-tools-needed.explainer.ts:
--------------------------------------------------------------------------------
1 | // Explain diagram
2 |
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/004-set-up-node-js-and-vscode.explainer.ts:
--------------------------------------------------------------------------------
1 | // Explain in video
2 |
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/005-set-up-npm-and-pnpm.explainer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/005-kickstart-your-typescript-setup/005-set-up-npm-and-pnpm.explainer.png
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/005-set-up-npm-and-pnpm.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/005-kickstart-your-typescript-setup/005-set-up-npm-and-pnpm.explainer.ts
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/006-vscode-extension.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/005-kickstart-your-typescript-setup/006-vscode-extension.explainer.ts
--------------------------------------------------------------------------------
/src/005-kickstart-your-typescript-setup/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/005-kickstart-your-typescript-setup/workshop.md
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/011-compile-typescript-to-javascript.solution/.gitignore:
--------------------------------------------------------------------------------
1 | *.js
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/012-tsc-watch-mode.problem/.gitignore:
--------------------------------------------------------------------------------
1 | *.js
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/012-tsc-watch-mode.problem/example.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/012-tsc-watch-mode.problem/example.ts
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/012-tsc-watch-mode.problem/index.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/012-tsc-watch-mode.problem/index.html
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/012-tsc-watch-mode.problem/readme.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/012-tsc-watch-mode.problem/readme.md
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/012-tsc-watch-mode.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/012-tsc-watch-mode.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/012-tsc-watch-mode.solution/.gitignore:
--------------------------------------------------------------------------------
1 | *.js
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/012-tsc-watch-mode.solution/example.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/012-tsc-watch-mode.solution/example.ts
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/012-tsc-watch-mode.solution/index.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/012-tsc-watch-mode.solution/index.html
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/012-tsc-watch-mode.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/012-tsc-watch-mode.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/013-compiling-to-a-directory.problem/.gitignore:
--------------------------------------------------------------------------------
1 | *.js
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/013-compiling-to-a-directory.solution/.gitignore:
--------------------------------------------------------------------------------
1 | dist
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/014-setting-up-a-frontend-app-with-vite.problem/.gitignore:
--------------------------------------------------------------------------------
1 | dist
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/014-setting-up-a-frontend-app-with-vite.solution/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/015-typescript-as-a-linter.problem/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/015-typescript-as-a-linter.problem/.gitignore
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/015-typescript-as-a-linter.problem/index.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/015-typescript-as-a-linter.problem/index.html
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/015-typescript-as-a-linter.problem/readme.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/015-typescript-as-a-linter.problem/readme.md
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/015-typescript-as-a-linter.problem/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/015-typescript-as-a-linter.solution/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/.gitignore
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/index.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/index.html
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/package.json
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/readme.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/readme.md
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/src/counter.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/src/counter.ts
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/src/main.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/src/main.ts
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/src/style.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/src/style.css
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/010-typescript-in-the-build-process/016-typescript-on-ci.explainer/tsconfig.json
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/017-blocking-your-dev-server-with-typescript.explainer.1/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/017-blocking-your-dev-server-with-typescript.explainer.2/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/017-blocking-your-dev-server-with-typescript.explainer.3/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/010-typescript-in-the-build-process/019-using-tsx-to-create-quick-scripts.explainer/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/021-annotating-empty-parameters.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/021-annotating-empty-parameters.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/021-annotating-empty-parameters.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/021-annotating-empty-parameters.solution.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/022-all-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/022-all-types.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/022-all-types.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/022-all-types.solution.1.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/022-all-types.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/022-all-types.solution.2.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/023-optional-function-parameters.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/023-optional-function-parameters.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/023-optional-function-parameters.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/023-optional-function-parameters.solution.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/024-default-parameters.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/024-default-parameters.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/024-default-parameters.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/024-default-parameters.solution.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/025-object-literal-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/025-object-literal-types.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/025-object-literal-types.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/025-object-literal-types.solution.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/026-optional-property-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/026-optional-property-types.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/026-optional-property-types.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/026-optional-property-types.solution.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/027-type-keyword.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/027-type-keyword.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/027-type-keyword.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/027-type-keyword.solution.1.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/027-type-keyword.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/027-type-keyword.solution.2.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/027-type-keyword.solution.3.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/027-type-keyword.solution.3.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/028-arrays.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/028-arrays.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/028-arrays.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/028-arrays.solution.1.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/028-arrays.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/028-arrays.solution.2.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/029-arrays-of-objects.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/029-arrays-of-objects.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/029-arrays-of-objects.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/029-arrays-of-objects.solution.1.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/029-arrays-of-objects.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/029-arrays-of-objects.solution.2.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/029-arrays-of-objects.solution.3.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/029-arrays-of-objects.solution.3.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/029-arrays-of-objects.solution.4.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/029-arrays-of-objects.solution.4.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/030-rest-parameters-of-functions.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/030-rest-parameters-of-functions.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/031-tuples.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/031-tuples.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/031-tuples.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/031-tuples.solution.1.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/031-tuples.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/031-tuples.solution.2.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/032-optional-members-of-tuples.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/032-optional-members-of-tuples.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/032-optional-members-of-tuples.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/032-optional-members-of-tuples.solution.1.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/032-optional-members-of-tuples.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/032-optional-members-of-tuples.solution.2.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/032.5-any.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/032.5-any.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/032.5-any.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/032.5-any.solution.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/033-function-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/033-function-types.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/033-function-types.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/033-function-types.solution.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/034-functions-returning-void.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/034-functions-returning-void.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/034-functions-returning-void.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/034-functions-returning-void.solution.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/034.5-void-vs-undefined.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/034.5-void-vs-undefined.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/034.5-void-vs-undefined.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/034.5-void-vs-undefined.solution.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/035-pass-types-to-set.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/035-pass-types-to-set.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/035-pass-types-to-set.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/035-pass-types-to-set.solution.1.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/035-pass-types-to-set.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/035-pass-types-to-set.solution.2.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/036-pass-types-to-map.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/036-pass-types-to-map.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/036-pass-types-to-map.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/036-pass-types-to-map.solution.1.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/036-pass-types-to-map.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/036-pass-types-to-map.solution.2.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/036-pass-types-to-map.solution.3.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/036-pass-types-to-map.solution.3.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/036-pass-types-to-map.solution.4.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/036-pass-types-to-map.solution.4.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/038-type-async-functions.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/038-type-async-functions.problem.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/038-type-async-functions.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/038-type-async-functions.solution.1.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/038-type-async-functions.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/038-type-async-functions.solution.2.ts
--------------------------------------------------------------------------------
/src/015-essential-types-and-annotations/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/015-essential-types-and-annotations/workshop.md
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/039-understand-the-ts-server.explainer.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/039-understand-the-ts-server.explainer.svg
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/039-understand-the-ts-server.explainer.ts:
--------------------------------------------------------------------------------
1 | // Explain Diagram
2 |
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/041-hovering-a-function-call.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/041-hovering-a-function-call.problem.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/041-hovering-a-function-call.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/041-hovering-a-function-call.solution.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/042-adding-tsdoc-comments-for-hovers.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/042-adding-tsdoc-comments-for-hovers.problem.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/042-adding-tsdoc-comments-for-hovers.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/042-adding-tsdoc-comments-for-hovers.solution.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/044-manually-triggering-autocomplete.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/044-manually-triggering-autocomplete.problem.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/044-manually-triggering-autocomplete.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/044-manually-triggering-autocomplete.solution.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/045-basics-of-errors.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/045-basics-of-errors.explainer.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/046-go-to-definition.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/046-go-to-definition.explainer.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/047-rename-symbol.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/047-rename-symbol.explainer.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/048-auto-import.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/048-auto-import.problem.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/048-auto-import.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/048-auto-import.solution.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/049-organize-imports.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/049-organize-imports.problem.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/049-organize-imports.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/049-organize-imports.solution.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/050-refactor.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/050-refactor.problem.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/050-refactor.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/050-refactor.solution.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/051-prettier-format-on-save.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/051-prettier-format-on-save.explainer.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/052-resetting-the-typescript-server.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/052-resetting-the-typescript-server.explainer.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/dummy-import-2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/dummy-import-2.ts
--------------------------------------------------------------------------------
/src/016.5-ide-superpowers/dummy-import.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/016.5-ide-superpowers/dummy-import.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/053-introduction-to-unions.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/053-introduction-to-unions.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/053-introduction-to-unions.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/053-introduction-to-unions.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/053.5-unions-diagram.explainer.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/053.5-unions-diagram.explainer.svg
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/054-literal-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/054-literal-types.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/054-literal-types.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/054-literal-types.solution.1.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/054-literal-types.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/054-literal-types.solution.2.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/054.5-literal-type-assignability.explainer.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/054.5-literal-type-assignability.explainer.svg
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/055-combining-unions.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/055-combining-unions.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/055-combining-unions.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/055-combining-unions.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/056-how-big-can-a-union-be.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/056-how-big-can-a-union-be.explainer.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/057-literals-vs-wider-types.explainer.1.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/057-literals-vs-wider-types.explainer.1.svg
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/057-literals-vs-wider-types.explainer.2.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/057-literals-vs-wider-types.explainer.2.svg
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/057-literals-vs-wider-types.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/057-literals-vs-wider-types.explainer.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/058-narrowing-unions-with-typeof.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/058-narrowing-unions-with-typeof.explainer.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/059-narrowing-with-if-statements.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/059-narrowing-with-if-statements.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.1.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.1.svg
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.1.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.2.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.3.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.3.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.4.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.4.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.5.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/059-narrowing-with-if-statements.solution.5.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/060-narrowing-with-boolean-wont-work.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/060-narrowing-with-boolean-wont-work.explainer.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/061-map-has-doesnt-narrow-map-get.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/061-map-has-doesnt-narrow-map-get.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/061-map-has-doesnt-narrow-map-get.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/061-map-has-doesnt-narrow-map-get.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/062-throwing-errors-to-narrow.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/062-throwing-errors-to-narrow.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/062-throwing-errors-to-narrow.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/062-throwing-errors-to-narrow.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/064-narrowing-with-in-statements.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/064-narrowing-with-in-statements.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/064-narrowing-with-in-statements.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/064-narrowing-with-in-statements.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/065-introduction-to-unknown.explainer.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/065-introduction-to-unknown.explainer.svg
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/065-introduction-to-unknown.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/065-introduction-to-unknown.explainer.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/065.5-narrowing-with-instanceof-statements.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/065.5-narrowing-with-instanceof-statements.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/065.5-narrowing-with-instanceof-statements.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/065.5-narrowing-with-instanceof-statements.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/066-narrowing-unknown-to-a-value.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/066-narrowing-unknown-to-a-value.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/066-narrowing-unknown-to-a-value.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/066-narrowing-unknown-to-a-value.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/067-introduction-to-never.explainer.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/067-introduction-to-never.explainer.svg
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/067-introduction-to-never.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/067-introduction-to-never.explainer.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/067.5-never-array.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/067.5-never-array.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/067.5-never-array.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/067.5-never-array.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/068-returning-never-to-narrow.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/068-returning-never-to-narrow.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/068-returning-never-to-narrow.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/068-returning-never-to-narrow.solution.1.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/068-returning-never-to-narrow.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/068-returning-never-to-narrow.solution.2.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/071-narrowing-in-different-scopes.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/071-narrowing-in-different-scopes.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/071-narrowing-in-different-scopes.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/071-narrowing-in-different-scopes.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/072.5-reusable-type-guards.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/072.5-reusable-type-guards.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/072.5-reusable-type-guards.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/072.5-reusable-type-guards.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/074-intro-to-discriminated-unions.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/074-intro-to-discriminated-unions.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/074-intro-to-discriminated-unions.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/074-intro-to-discriminated-unions.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/075-destructuring-a-discriminated-union.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/075-destructuring-a-discriminated-union.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/075-destructuring-a-discriminated-union.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/075-destructuring-a-discriminated-union.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/077-narrowing-with-switch-true.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/077-narrowing-with-switch-true.explainer.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/078-destructuring-a-discriminated-tuple.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/078-destructuring-a-discriminated-tuple.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/078-destructuring-a-discriminated-tuple.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/078-destructuring-a-discriminated-tuple.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/079-discriminated-booleans.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/079-discriminated-booleans.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/079-discriminated-booleans.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/079-discriminated-booleans.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/080-adding-defaults-to-discriminated-union.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/080-adding-defaults-to-discriminated-union.problem.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/080-adding-defaults-to-discriminated-union.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/080-adding-defaults-to-discriminated-union.solution.ts
--------------------------------------------------------------------------------
/src/018-unions-and-narrowing/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/018-unions-and-narrowing/workshop.md
--------------------------------------------------------------------------------
/src/020-objects/081-extend-object-using-intersections.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/081-extend-object-using-intersections.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/081-extend-object-using-intersections.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/081-extend-object-using-intersections.solution.ts
--------------------------------------------------------------------------------
/src/020-objects/082-extend-object-using-interfaces.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/082-extend-object-using-interfaces.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/082-extend-object-using-interfaces.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/082-extend-object-using-interfaces.solution.1.ts
--------------------------------------------------------------------------------
/src/020-objects/082-extend-object-using-interfaces.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/082-extend-object-using-interfaces.solution.2.ts
--------------------------------------------------------------------------------
/src/020-objects/082.5-extending-incompatible-properties.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/082.5-extending-incompatible-properties.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/082.5-extending-incompatible-properties.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/082.5-extending-incompatible-properties.solution.ts
--------------------------------------------------------------------------------
/src/020-objects/083-compare-between-intersections-and-interfaces.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/083-compare-between-intersections-and-interfaces.explainer.ts
--------------------------------------------------------------------------------
/src/020-objects/084-index-signatures.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/084-index-signatures.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/084-index-signatures.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/084-index-signatures.solution.1.ts
--------------------------------------------------------------------------------
/src/020-objects/084-index-signatures.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/084-index-signatures.solution.2.ts
--------------------------------------------------------------------------------
/src/020-objects/084-index-signatures.solution.3.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/084-index-signatures.solution.3.ts
--------------------------------------------------------------------------------
/src/020-objects/084-index-signatures.solution.4.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/084-index-signatures.solution.4.ts
--------------------------------------------------------------------------------
/src/020-objects/085-index-signatures-with-defined-keys.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/085-index-signatures-with-defined-keys.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/085-index-signatures-with-defined-keys.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/085-index-signatures-with-defined-keys.solution.1.ts
--------------------------------------------------------------------------------
/src/020-objects/085-index-signatures-with-defined-keys.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/085-index-signatures-with-defined-keys.solution.2.ts
--------------------------------------------------------------------------------
/src/020-objects/086-property-key-type.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/086-property-key-type.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/086-property-key-type.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/086-property-key-type.solution.ts
--------------------------------------------------------------------------------
/src/020-objects/086.5-object-type.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/086.5-object-type.explainer.ts
--------------------------------------------------------------------------------
/src/020-objects/087-record-type-with-union-as-keys.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/087-record-type-with-union-as-keys.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/087-record-type-with-union-as-keys.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/087-record-type-with-union-as-keys.solution.1.ts
--------------------------------------------------------------------------------
/src/020-objects/087-record-type-with-union-as-keys.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/087-record-type-with-union-as-keys.solution.2.ts
--------------------------------------------------------------------------------
/src/020-objects/088-declaration-merging-of-interfaces.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/088-declaration-merging-of-interfaces.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/088-declaration-merging-of-interfaces.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/088-declaration-merging-of-interfaces.solution.ts
--------------------------------------------------------------------------------
/src/020-objects/089-pick-type-helper.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/089-pick-type-helper.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/089-pick-type-helper.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/089-pick-type-helper.solution.1.ts
--------------------------------------------------------------------------------
/src/020-objects/089-pick-type-helper.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/089-pick-type-helper.solution.2.ts
--------------------------------------------------------------------------------
/src/020-objects/091-omit-type-helper.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/091-omit-type-helper.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/091-omit-type-helper.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/091-omit-type-helper.solution.1.ts
--------------------------------------------------------------------------------
/src/020-objects/091-omit-type-helper.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/091-omit-type-helper.solution.2.ts
--------------------------------------------------------------------------------
/src/020-objects/092-no-autocomplete-on-omit.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/092-no-autocomplete-on-omit.explainer.ts
--------------------------------------------------------------------------------
/src/020-objects/093-omit-cant-distribute.explainer.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/093-omit-cant-distribute.explainer.1.ts
--------------------------------------------------------------------------------
/src/020-objects/093-omit-cant-distribute.explainer.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/093-omit-cant-distribute.explainer.2.ts
--------------------------------------------------------------------------------
/src/020-objects/095-partial-type-helper.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/095-partial-type-helper.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/095-partial-type-helper.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/095-partial-type-helper.solution.ts
--------------------------------------------------------------------------------
/src/020-objects/096-required-type-helper.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/096-required-type-helper.explainer.ts
--------------------------------------------------------------------------------
/src/020-objects/096.5-common-keys-of-unions-of-objects.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/096.5-common-keys-of-unions-of-objects.problem.ts
--------------------------------------------------------------------------------
/src/020-objects/096.5-common-keys-of-unions-of-objects.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/096.5-common-keys-of-unions-of-objects.solution.ts
--------------------------------------------------------------------------------
/src/020-objects/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/020-objects/workshop.md
--------------------------------------------------------------------------------
/src/028-mutability/097-let-and-const-inference.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/097-let-and-const-inference.problem.ts
--------------------------------------------------------------------------------
/src/028-mutability/097-let-and-const-inference.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/097-let-and-const-inference.solution.1.ts
--------------------------------------------------------------------------------
/src/028-mutability/097-let-and-const-inference.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/097-let-and-const-inference.solution.2.ts
--------------------------------------------------------------------------------
/src/028-mutability/098-object-property-inference.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/098-object-property-inference.problem.ts
--------------------------------------------------------------------------------
/src/028-mutability/098-object-property-inference.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/098-object-property-inference.solution.ts
--------------------------------------------------------------------------------
/src/028-mutability/099-readonly-object-properties.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/099-readonly-object-properties.problem.ts
--------------------------------------------------------------------------------
/src/028-mutability/099-readonly-object-properties.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/099-readonly-object-properties.solution.ts
--------------------------------------------------------------------------------
/src/028-mutability/100-readonly-type-helper.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/100-readonly-type-helper.problem.ts
--------------------------------------------------------------------------------
/src/028-mutability/100-readonly-type-helper.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/100-readonly-type-helper.solution.ts
--------------------------------------------------------------------------------
/src/028-mutability/101-intro-to-as-const.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/101-intro-to-as-const.problem.ts
--------------------------------------------------------------------------------
/src/028-mutability/101-intro-to-as-const.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/101-intro-to-as-const.solution.ts
--------------------------------------------------------------------------------
/src/028-mutability/102-as-const-vs-object-freeze.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/102-as-const-vs-object-freeze.problem.ts
--------------------------------------------------------------------------------
/src/028-mutability/102-as-const-vs-object-freeze.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/102-as-const-vs-object-freeze.solution.ts
--------------------------------------------------------------------------------
/src/028-mutability/103-readonly-arrays.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/103-readonly-arrays.problem.ts
--------------------------------------------------------------------------------
/src/028-mutability/103-readonly-arrays.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/103-readonly-arrays.solution.1.ts
--------------------------------------------------------------------------------
/src/028-mutability/103-readonly-arrays.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/103-readonly-arrays.solution.2.ts
--------------------------------------------------------------------------------
/src/028-mutability/104-readonly-arrays-assignability-to-mutable-arrays.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/104-readonly-arrays-assignability-to-mutable-arrays.explainer.ts
--------------------------------------------------------------------------------
/src/028-mutability/104.5-fixing-unsafe-tuples.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/104.5-fixing-unsafe-tuples.problem.ts
--------------------------------------------------------------------------------
/src/028-mutability/104.5-fixing-unsafe-tuples.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/104.5-fixing-unsafe-tuples.solution.ts
--------------------------------------------------------------------------------
/src/028-mutability/105-includes-on-readonly-arrays.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/105-includes-on-readonly-arrays.explainer.ts
--------------------------------------------------------------------------------
/src/028-mutability/106-as-const-to-make-functions-infer-a-tuple.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/106-as-const-to-make-functions-infer-a-tuple.problem.ts
--------------------------------------------------------------------------------
/src/028-mutability/106-as-const-to-make-functions-infer-a-tuple.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/106-as-const-to-make-functions-infer-a-tuple.solution.1.ts
--------------------------------------------------------------------------------
/src/028-mutability/106-as-const-to-make-functions-infer-a-tuple.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/106-as-const-to-make-functions-infer-a-tuple.solution.2.ts
--------------------------------------------------------------------------------
/src/028-mutability/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/028-mutability/workshop.md
--------------------------------------------------------------------------------
/src/030-classes/108-understand-classes.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/108-understand-classes.problem.ts
--------------------------------------------------------------------------------
/src/030-classes/108-understand-classes.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/108-understand-classes.solution.1.ts
--------------------------------------------------------------------------------
/src/030-classes/108-understand-classes.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/108-understand-classes.solution.2.ts
--------------------------------------------------------------------------------
/src/030-classes/109-class-methods.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/109-class-methods.problem.ts
--------------------------------------------------------------------------------
/src/030-classes/109-class-methods.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/109-class-methods.solution.1.ts
--------------------------------------------------------------------------------
/src/030-classes/109-class-methods.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/109-class-methods.solution.2.ts
--------------------------------------------------------------------------------
/src/030-classes/110-receiving-arguments-to-constructor.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/110-receiving-arguments-to-constructor.problem.ts
--------------------------------------------------------------------------------
/src/030-classes/110-receiving-arguments-to-constructor.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/110-receiving-arguments-to-constructor.solution.1.ts
--------------------------------------------------------------------------------
/src/030-classes/110-receiving-arguments-to-constructor.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/110-receiving-arguments-to-constructor.solution.2.ts
--------------------------------------------------------------------------------
/src/030-classes/111-getters.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/111-getters.problem.ts
--------------------------------------------------------------------------------
/src/030-classes/111-getters.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/111-getters.solution.ts
--------------------------------------------------------------------------------
/src/030-classes/112-public-and-private-properties.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/112-public-and-private-properties.problem.ts
--------------------------------------------------------------------------------
/src/030-classes/112-public-and-private-properties.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/112-public-and-private-properties.solution.1.ts
--------------------------------------------------------------------------------
/src/030-classes/112-public-and-private-properties.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/112-public-and-private-properties.solution.2.ts
--------------------------------------------------------------------------------
/src/030-classes/113-setters.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/113-setters.problem.ts
--------------------------------------------------------------------------------
/src/030-classes/113-setters.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/113-setters.solution.ts
--------------------------------------------------------------------------------
/src/030-classes/114-extending-other-classes.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/114-extending-other-classes.problem.ts
--------------------------------------------------------------------------------
/src/030-classes/114-extending-other-classes.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/114-extending-other-classes.solution.ts
--------------------------------------------------------------------------------
/src/030-classes/115-implementing-interfaces-or-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/115-implementing-interfaces-or-types.problem.ts
--------------------------------------------------------------------------------
/src/030-classes/115-implementing-interfaces-or-types.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/115-implementing-interfaces-or-types.solution.1.ts
--------------------------------------------------------------------------------
/src/030-classes/115-implementing-interfaces-or-types.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/115-implementing-interfaces-or-types.solution.2.ts
--------------------------------------------------------------------------------
/src/030-classes/116-this-in-functions-and-objects.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/116-this-in-functions-and-objects.problem.ts
--------------------------------------------------------------------------------
/src/030-classes/116-this-in-functions-and-objects.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/116-this-in-functions-and-objects.solution.ts
--------------------------------------------------------------------------------
/src/030-classes/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/030-classes/workshop.md
--------------------------------------------------------------------------------
/src/032-typescript-only-features/116.5-intro.explainer.ts:
--------------------------------------------------------------------------------
1 | // Introduce TS-only features
2 |
--------------------------------------------------------------------------------
/src/032-typescript-only-features/117-parameter-properties.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/117-parameter-properties.explainer.ts
--------------------------------------------------------------------------------
/src/032-typescript-only-features/118-enums.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/118-enums.problem.ts
--------------------------------------------------------------------------------
/src/032-typescript-only-features/118-enums.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/118-enums.solution.1.ts
--------------------------------------------------------------------------------
/src/032-typescript-only-features/118-enums.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/118-enums.solution.2.ts
--------------------------------------------------------------------------------
/src/032-typescript-only-features/119-string-enums.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/119-string-enums.problem.ts
--------------------------------------------------------------------------------
/src/032-typescript-only-features/119-string-enums.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/119-string-enums.solution.ts
--------------------------------------------------------------------------------
/src/032-typescript-only-features/120-const-enums.explainer/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/120-const-enums.explainer/index.ts
--------------------------------------------------------------------------------
/src/032-typescript-only-features/120-const-enums.explainer/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/120-const-enums.explainer/package.json
--------------------------------------------------------------------------------
/src/032-typescript-only-features/120-const-enums.explainer/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/120-const-enums.explainer/tsconfig.json
--------------------------------------------------------------------------------
/src/032-typescript-only-features/121-namespaces.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/121-namespaces.explainer.ts
--------------------------------------------------------------------------------
/src/032-typescript-only-features/122-namespaces-can-declaration-merge.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/122-namespaces-can-declaration-merge.explainer.ts
--------------------------------------------------------------------------------
/src/032-typescript-only-features/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/032-typescript-only-features/workshop.md
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/124.5-intro.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/124.5-intro.explainer.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/125-keyof.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/125-keyof.problem.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/125-keyof.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/125-keyof.solution.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/126-typeof-keyword.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/126-typeof-keyword.problem.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/126-typeof-keyword.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/126-typeof-keyword.solution.1.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/126-typeof-keyword.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/126-typeof-keyword.solution.2.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/128-create-runtime-values-from-types.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/128-create-runtime-values-from-types.explainer.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/129-classes-cross-value-and-type-world.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/129-classes-cross-value-and-type-world.problem.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/129-classes-cross-value-and-type-world.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/129-classes-cross-value-and-type-world.solution.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/130-this-crosses-value-and-type-world.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/130-this-crosses-value-and-type-world.explainer.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/132-parameters-type-helper.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/132-parameters-type-helper.problem.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/132-parameters-type-helper.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/132-parameters-type-helper.solution.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/133-return-type.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/133-return-type.problem.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/133-return-type.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/133-return-type.solution.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/134-awaited-type-helper.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/134-awaited-type-helper.problem.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/134-awaited-type-helper.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/134-awaited-type-helper.solution.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/135-indexed-access-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/135-indexed-access-types.problem.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/135-indexed-access-types.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/135-indexed-access-types.solution.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/136-pass-unions-to-indexed-access-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/136-pass-unions-to-indexed-access-types.problem.ts
--------------------------------------------------------------------------------
/src/040-deriving-types-from-values/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/040-deriving-types-from-values/workshop.md
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/139-dont-annotate-too-much.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/139-dont-annotate-too-much.problem.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/139-dont-annotate-too-much.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/139-dont-annotate-too-much.solution.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/141-as-and-as-any.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/141-as-and-as-any.problem.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/141-as-and-as-any.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/141-as-and-as-any.solution.1.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/141-as-and-as-any.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/141-as-and-as-any.solution.2.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/142-global-typings-use-any.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/142-global-typings-use-any.problem.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/142-global-typings-use-any.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/142-global-typings-use-any.solution.1.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/142-global-typings-use-any.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/142-global-typings-use-any.solution.2.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/143-limits-of-as.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/143-limits-of-as.explainer.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/143.5-non-null-assertions.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/143.5-non-null-assertions.problem.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/143.5-non-null-assertions.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/143.5-non-null-assertions.solution.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/144-ts-ignore.explainer.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/144-ts-ignore.explainer.1.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/144-ts-ignore.explainer.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/144-ts-ignore.explainer.2.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/145-ts-expect-error.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/145-ts-expect-error.explainer.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/145.5-ts-nocheck.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/145.5-ts-nocheck.explainer.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/145.8-when-to-assert.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/145.8-when-to-assert.explainer.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/146-satisfies.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/146-satisfies.problem.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/146-satisfies.solution.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/146-satisfies.solution.svg
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/146-satisfies.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/146-satisfies.solution.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/146.7-satisfies-helps-narrow-literals.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/146.7-satisfies-helps-narrow-literals.explainer.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/148-satisfies-with-as-const.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/148-satisfies-with-as-const.problem.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/148-satisfies-with-as-const.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/148-satisfies-with-as-const.solution.ts
--------------------------------------------------------------------------------
/src/045-annotations-and-assertions/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/045-annotations-and-assertions/workshop.md
--------------------------------------------------------------------------------
/src/050-the-weird-parts/150-empty-object-type.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/150-empty-object-type.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/150-empty-object-type.solution.1.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/150-empty-object-type.solution.1.svg
--------------------------------------------------------------------------------
/src/050-the-weird-parts/150-empty-object-type.solution.2.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/150-empty-object-type.solution.2.svg
--------------------------------------------------------------------------------
/src/050-the-weird-parts/150-empty-object-type.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/150-empty-object-type.solution.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/151-truly-empty-object.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/151-truly-empty-object.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/151-truly-empty-object.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/151-truly-empty-object.solution.1.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/151-truly-empty-object.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/151-truly-empty-object.solution.2.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/152-excess-properties-warnings.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/152-excess-properties-warnings.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/152-excess-properties-warnings.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/152-excess-properties-warnings.solution.1.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/152-excess-properties-warnings.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/152-excess-properties-warnings.solution.2.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/152-excess-properties-warnings.solution.3.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/152-excess-properties-warnings.solution.3.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/152-excess-properties-warnings.solution.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/152-excess-properties-warnings.solution.svg
--------------------------------------------------------------------------------
/src/050-the-weird-parts/153-excess-properties-warnings-in-functions.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/153-excess-properties-warnings-in-functions.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/153-excess-properties-warnings-in-functions.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/153-excess-properties-warnings-in-functions.solution.1.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/153-excess-properties-warnings-in-functions.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/153-excess-properties-warnings-in-functions.solution.2.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/154-object-keys-and-object-entries.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/154-object-keys-and-object-entries.explainer.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/154.6-iterating-over-objects.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/154.6-iterating-over-objects.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/154.6-iterating-over-objects.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/154.6-iterating-over-objects.solution.1.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/154.6-iterating-over-objects.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/154.6-iterating-over-objects.solution.2.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/154.6-iterating-over-objects.solution.3.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/154.6-iterating-over-objects.solution.3.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/154.6-iterating-over-objects.solution.4.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/154.6-iterating-over-objects.solution.4.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/154.8-evolving-any.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/154.8-evolving-any.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/154.8-evolving-any.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/154.8-evolving-any.solution.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/154.9-evolving-any-arrays.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/154.9-evolving-any-arrays.explainer.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/155-function-parameter-comparisons.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/155-function-parameter-comparisons.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/155-function-parameter-comparisons.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/155-function-parameter-comparisons.solution.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/156-unions-of-functions-with-object-params.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/156-unions-of-functions-with-object-params.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/156-unions-of-functions-with-object-params.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/156-unions-of-functions-with-object-params.solution.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/157-unions-of-functions.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/157-unions-of-functions.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/157-unions-of-functions.solution.1.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/157-unions-of-functions.solution.1.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/157-unions-of-functions.solution.2.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/157-unions-of-functions.solution.2.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/158-unions-of-function-return-types.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/158-unions-of-function-return-types.explainer.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/158.5-annotating-errors-a-function-throws.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/158.5-annotating-errors-a-function-throws.problem.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/158.5-annotating-errors-a-function-throws.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/158.5-annotating-errors-a-function-throws.solution.ts
--------------------------------------------------------------------------------
/src/050-the-weird-parts/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/050-the-weird-parts/workshop.md
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/159-module-or-script.explainer/src/module-2.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
3 | myModuleFunc();
4 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/159-module-or-script.explainer/src/script-1.ts:
--------------------------------------------------------------------------------
1 | const myFunc = () => {
2 | console.log("Hello!");
3 | };
4 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/159-module-or-script.explainer/src/script-2.ts:
--------------------------------------------------------------------------------
1 | // I can use it without importing it!
2 | myFunc();
3 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/160-module-detection-force.problem/src/script-1.ts:
--------------------------------------------------------------------------------
1 | const myFunc = () => {
2 | console.log("Hello!");
3 | };
4 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/160-module-detection-force.problem/src/script-2.ts:
--------------------------------------------------------------------------------
1 | // I can use it without importing it!
2 |
3 | // @ts-expect-error
4 | myFunc();
5 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/160-module-detection-force.solution/src/script-2.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | myFunc();
3 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/161-declaration-files.explainer/src/cant-use-runtime-code.d.ts:
--------------------------------------------------------------------------------
1 | export const myFunc = () => {};
2 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/162-declaration-files-can-be-modules-or-scripts.explainer/src/treated-as-script.d.ts:
--------------------------------------------------------------------------------
1 | type GloballyAvailable = string;
2 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/164-declaration-files-can-be-used-to-type-js-files.problem/src/example.js:
--------------------------------------------------------------------------------
1 | export const myFunc = () => {
2 | return "Hello World!";
3 | };
4 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/164-declaration-files-can-be-used-to-type-js-files.solution/src/example.js:
--------------------------------------------------------------------------------
1 | export const myFunc = () => {
2 | return "Hello World!";
3 | };
4 |
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/167-declare-global.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/060-modules-scripts-and-declaration-files/167-declare-global.problem/package.json
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/167-declare-global.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/060-modules-scripts-and-declaration-files/167-declare-global.problem/src/index.ts
--------------------------------------------------------------------------------
/src/060-modules-scripts-and-declaration-files/plan.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/060-modules-scripts-and-declaration-files/plan.md
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/172-lib-d-ts.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/172-lib-d-ts.problem/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/172-lib-d-ts.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/172-lib-d-ts.problem/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/172-lib-d-ts.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/172-lib-d-ts.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/172-lib-d-ts.solution.1/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/172-lib-d-ts.solution.1/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/172-lib-d-ts.solution.1/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/172-lib-d-ts.solution.1/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/172-lib-d-ts.solution.1/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/172-lib-d-ts.solution.1/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/172-lib-d-ts.solution.2/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/172-lib-d-ts.solution.2/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/172-lib-d-ts.solution.2/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/172-lib-d-ts.solution.2/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/172-lib-d-ts.solution.2/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/172-lib-d-ts.solution.2/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/173-lib-dom.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/173-lib-dom.problem/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/173-lib-dom.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/173-lib-dom.problem/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/173-lib-dom.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/173-lib-dom.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/173-lib-dom.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/173-lib-dom.solution/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/173-lib-dom.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/173-lib-dom.solution/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/173-lib-dom.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/173-lib-dom.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174-lib-dom-iterable.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174-lib-dom-iterable.problem/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174-lib-dom-iterable.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174-lib-dom-iterable.problem/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174-lib-dom-iterable.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174-lib-dom-iterable.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174-lib-dom-iterable.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174-lib-dom-iterable.solution/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174-lib-dom-iterable.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174-lib-dom-iterable.solution/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174-lib-dom-iterable.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174-lib-dom-iterable.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174.5-modifying-window.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174.5-modifying-window.problem/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174.5-modifying-window.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174.5-modifying-window.problem/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174.5-modifying-window.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174.5-modifying-window.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174.5-modifying-window.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174.5-modifying-window.solution/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174.5-modifying-window.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174.5-modifying-window.solution/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174.5-modifying-window.solution/src/window.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174.5-modifying-window.solution/src/window.d.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/174.5-modifying-window.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/174.5-modifying-window.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175-definitely-typed.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175-definitely-typed.problem/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175-definitely-typed.problem/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175-definitely-typed.problem/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175-definitely-typed.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175-definitely-typed.problem/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175-definitely-typed.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175-definitely-typed.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175-definitely-typed.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175-definitely-typed.solution/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175-definitely-typed.solution/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175-definitely-typed.solution/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175-definitely-typed.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175-definitely-typed.solution/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175-definitely-typed.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175-definitely-typed.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.2-types-node.explainer/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175.2-types-node.explainer/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.2-types-node.explainer/src/index.ts:
--------------------------------------------------------------------------------
1 | // Typed by @types/node!
2 | process;
3 |
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.2-types-node.explainer/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175.2-types-node.explainer/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.5-modifying-process-env.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175.5-modifying-process-env.problem/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.5-modifying-process-env.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175.5-modifying-process-env.problem/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.5-modifying-process-env.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175.5-modifying-process-env.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.5-modifying-process-env.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175.5-modifying-process-env.solution/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.5-modifying-process-env.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175.5-modifying-process-env.solution/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.5-modifying-process-env.solution/src/process.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175.5-modifying-process-env.solution/src/process.d.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/175.5-modifying-process-env.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/175.5-modifying-process-env.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176-types-that-ship-with-libraries.explainer/src/index.ts:
--------------------------------------------------------------------------------
1 | import { z } from "zod";
2 |
3 | const user = z.object({
4 | name: z.string(),
5 | });
6 |
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.2-declare-module.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.2-declare-module.problem/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.2-declare-module.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.2-declare-module.problem/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.2-declare-module.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.2-declare-module.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.2-declare-module.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.2-declare-module.solution/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.2-declare-module.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.2-declare-module.solution/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.2-declare-module.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.2-declare-module.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.problem/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.problem/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.solution/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.solution/src/index.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.solution/src/png.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.3-wildcard-in-declare-module.solution/src/png.d.ts
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.5-skip-lib-check-true.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.5-skip-lib-check-true.problem/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.5-skip-lib-check-true.problem/src/index.d.ts:
--------------------------------------------------------------------------------
1 | export const myFunc = () => {};
2 |
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.5-skip-lib-check-true.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.5-skip-lib-check-true.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.5-skip-lib-check-true.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.5-skip-lib-check-true.solution/package.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.5-skip-lib-check-true.solution/src/index.d.ts:
--------------------------------------------------------------------------------
1 | export const myFunc = () => {};
2 |
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.5-skip-lib-check-true.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/176.5-skip-lib-check-true.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/176.7-should-you-use-declaration-files-to-store-your-types.explainer/src/types.d.ts:
--------------------------------------------------------------------------------
1 | export type Example = string;
2 |
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/177-declare-module-for-overriding-third-party-libraries.explainer/src/zod.d.ts:
--------------------------------------------------------------------------------
1 | declare module "zod" {
2 | const z: any;
3 | }
4 |
--------------------------------------------------------------------------------
/src/065-types-you-dont-control/plan.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/065-types-you-dont-control/plan.md
--------------------------------------------------------------------------------
/src/080-configuring-typescript/178-my-recommended-tsconfig-base.explainer/notes.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/178-my-recommended-tsconfig-base.explainer/notes.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/178.5-isolated-modules.explainer/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/178.5-isolated-modules.explainer/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/178.5-isolated-modules.explainer/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/178.5-isolated-modules.explainer/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/178.5-isolated-modules.explainer/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/178.5-isolated-modules.explainer/src/index.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/178.5-isolated-modules.explainer/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/178.5-isolated-modules.explainer/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179-no-unchecked-indexed-access.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179-no-unchecked-indexed-access.problem/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179-no-unchecked-indexed-access.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179-no-unchecked-indexed-access.problem/src/index.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179-no-unchecked-indexed-access.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179-no-unchecked-indexed-access.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179-no-unchecked-indexed-access.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179-no-unchecked-indexed-access.solution/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179-no-unchecked-indexed-access.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179-no-unchecked-indexed-access.solution/src/index.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179-no-unchecked-indexed-access.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179-no-unchecked-indexed-access.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179.5-no-emit.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179.5-no-emit.problem/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179.5-no-emit.problem/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179.5-no-emit.problem/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179.5-no-emit.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179.5-no-emit.problem/src/index.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179.5-no-emit.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179.5-no-emit.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179.5-no-emit.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179.5-no-emit.solution/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179.5-no-emit.solution/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179.5-no-emit.solution/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179.5-no-emit.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179.5-no-emit.solution/src/index.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/179.5-no-emit.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/179.5-no-emit.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/180-module-resolution-bundler-or-nodenext.explainer/src/example.ts:
--------------------------------------------------------------------------------
1 | export const example = () => {
2 | return "hello!";
3 | };
4 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181-lib-vs-target.explainer/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181-lib-vs-target.explainer/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181-lib-vs-target.explainer/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181-lib-vs-target.explainer/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181-lib-vs-target.explainer/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181-lib-vs-target.explainer/src/index.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181-lib-vs-target.explainer/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181-lib-vs-target.explainer/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.2-creating-declaration-files.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.2-creating-declaration-files.problem/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.2-creating-declaration-files.problem/src/index.ts:
--------------------------------------------------------------------------------
1 | export const myFunc = (input: string) => {};
2 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.2-creating-declaration-files.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.2-creating-declaration-files.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.2-creating-declaration-files.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.2-creating-declaration-files.solution/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.2-creating-declaration-files.solution/src/index.ts:
--------------------------------------------------------------------------------
1 | export const myFunc = (input: string) => {};
2 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.4-declaration-maps.problem/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.problem/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.4-declaration-maps.problem/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.problem/src/index.ts:
--------------------------------------------------------------------------------
1 | export const myFunc = (input: string) => {};
2 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.problem/test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.4-declaration-maps.problem/test.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.4-declaration-maps.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.4-declaration-maps.solution/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.solution/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.4-declaration-maps.solution/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.solution/src/index.ts:
--------------------------------------------------------------------------------
1 | export const myFunc = (input: string) => {};
2 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.solution/test.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.4-declaration-maps.solution/test.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/181.4-declaration-maps.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/181.4-declaration-maps.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/182-jsx.problem/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.problem/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/182-jsx.problem/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.problem/src/index.tsx:
--------------------------------------------------------------------------------
1 | const MyComponent = () => {
2 | return
;
3 | };
4 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/182-jsx.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.solution.1/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/182-jsx.solution.1/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.solution.1/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/182-jsx.solution.1/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.solution.1/src/index.tsx:
--------------------------------------------------------------------------------
1 | const MyComponent = () => {
2 | return ;
3 | };
4 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.solution.1/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/182-jsx.solution.1/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.solution.2/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/182-jsx.solution.2/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.solution.2/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/182-jsx.solution.2/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.solution.2/src/index.tsx:
--------------------------------------------------------------------------------
1 | const MyComponent = () => {
2 | return ;
3 | };
4 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/182-jsx.solution.2/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/182-jsx.solution.2/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/183-multiple-tsconfig-json-files.problem/src/server.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | document;
3 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/183-multiple-tsconfig-json-files.solution/src/server/index.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | document;
3 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/184-globals-are-tied-to-a-single-tsconfig.explainer/src/server/index.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | document;
3 |
4 | console.log(ONLY_AVAILABLE_ON_SERVER);
5 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/184-globals-are-tied-to-a-single-tsconfig.explainer/src/server/server.d.ts:
--------------------------------------------------------------------------------
1 | declare const ONLY_AVAILABLE_ON_SERVER: string;
2 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/185-extending-from-other-tsconfig-json-files.problem/src/server/index.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | document;
3 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/185-extending-from-other-tsconfig-json-files.solution/src/client/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.json"
3 | }
4 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/185-extending-from-other-tsconfig-json-files.solution/src/server/index.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | document;
3 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.problem/checklist.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.problem/checklist.md
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.problem/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.problem/src/client/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.problem/src/client/index.ts
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.problem/src/server/index.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | document;
3 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.problem/tsconfig.base.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.problem/tsconfig.base.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.1/checklist.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.1/checklist.md
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.1/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.1/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.1/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.1/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.1/src/server/index.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | document;
3 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.1/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.1/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.2/checklist.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.2/checklist.md
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.2/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.2/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.2/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.2/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.2/src/server/index.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | document;
3 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.2/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.2/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.3/checklist.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.3/checklist.md
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.3/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.3/package.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.3/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.3/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.3/src/server/index.ts:
--------------------------------------------------------------------------------
1 | // @ts-expect-error
2 | document;
3 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/186-project-references.solution.3/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/186-project-references.solution.3/tsconfig.json
--------------------------------------------------------------------------------
/src/080-configuring-typescript/190-setting-up-types-for-node.explainer/src/index.ts:
--------------------------------------------------------------------------------
1 | console.log("Hello!");
2 |
--------------------------------------------------------------------------------
/src/080-configuring-typescript/plan.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/080-configuring-typescript/plan.md
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/193-intro.explainer.ts:
--------------------------------------------------------------------------------
1 | // Explain the differences between CJS and ESM
2 |
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.problem/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.problem/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.problem/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.problem/src/esm-module.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.problem/src/esm-module.js
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.problem/src/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.problem/src/index.js
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.solution/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.solution/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.solution/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.solution/src/esm-module.mjs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.solution/src/esm-module.mjs
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.solution/src/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/194-cant-import-esm-into-cjs.solution/src/index.js
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/195-can-import-cjs-into-esm.explainer/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/195-can-import-cjs-into-esm.explainer/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/195-can-import-cjs-into-esm.explainer/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/195-can-import-cjs-into-esm.explainer/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/195-can-import-cjs-into-esm.explainer/src/cjs-module.cjs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/195-can-import-cjs-into-esm.explainer/src/cjs-module.cjs
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/195-can-import-cjs-into-esm.explainer/src/index.mjs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/195-can-import-cjs-into-esm.explainer/src/index.mjs
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196-mts-files.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196-mts-files.problem/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196-mts-files.problem/src/esm-module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196-mts-files.problem/src/esm-module.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196-mts-files.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196-mts-files.problem/src/index.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196-mts-files.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196-mts-files.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196-mts-files.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196-mts-files.solution/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196-mts-files.solution/src/esm-module.mts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196-mts-files.solution/src/esm-module.mts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196-mts-files.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196-mts-files.solution/src/index.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196-mts-files.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196-mts-files.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/.gitignore:
--------------------------------------------------------------------------------
1 | dist
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/index.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/index.html
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/src/example.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/src/example.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/src/run.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/src/run.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.1/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/.gitignore:
--------------------------------------------------------------------------------
1 | dist
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/index.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/index.html
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/src/example.mts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/src/example.mts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/src/run.mts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/src/run.mts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/196.5-browsers-cant-use-cjs.explainer.2/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/197-verbatim-module-syntax.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/197-verbatim-module-syntax.problem/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/197-verbatim-module-syntax.problem/src/cjs-module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/197-verbatim-module-syntax.problem/src/cjs-module.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/197-verbatim-module-syntax.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/197-verbatim-module-syntax.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/197-verbatim-module-syntax.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/197-verbatim-module-syntax.solution/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/197-verbatim-module-syntax.solution/pnpm-lock.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/197-verbatim-module-syntax.solution/pnpm-lock.yaml
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/197-verbatim-module-syntax.solution/src/cjs-module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/197-verbatim-module-syntax.solution/src/cjs-module.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/197-verbatim-module-syntax.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/197-verbatim-module-syntax.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.problem/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.problem/src/esm-module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.problem/src/esm-module.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.problem/src/index.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.solution/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.solution/src/esm-module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.solution/src/esm-module.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.solution/src/index.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/198-treat-ts-files-as-esm.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/200-import-syntax-for-cts.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/200-import-syntax-for-cts.problem/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/200-import-syntax-for-cts.problem/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/200-import-syntax-for-cts.problem/src/index.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/200-import-syntax-for-cts.problem/src/other-module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/200-import-syntax-for-cts.problem/src/other-module.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/200-import-syntax-for-cts.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/200-import-syntax-for-cts.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/200-import-syntax-for-cts.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/200-import-syntax-for-cts.solution/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/200-import-syntax-for-cts.solution/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/200-import-syntax-for-cts.solution/src/index.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/200-import-syntax-for-cts.solution/src/other-module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/200-import-syntax-for-cts.solution/src/other-module.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/200-import-syntax-for-cts.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/200-import-syntax-for-cts.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.5-import-type.problem/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/202.5-import-type.problem/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.5-import-type.problem/src/esm-module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/202.5-import-type.problem/src/esm-module.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.5-import-type.problem/src/module-containing-types.ts:
--------------------------------------------------------------------------------
1 | export type Example = string;
2 |
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.5-import-type.problem/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/202.5-import-type.problem/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.5-import-type.solution/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/202.5-import-type.solution/package.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.5-import-type.solution/src/esm-module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/202.5-import-type.solution/src/esm-module.ts
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.5-import-type.solution/src/module-containing-types.ts:
--------------------------------------------------------------------------------
1 | export type Example = string;
2 |
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.5-import-type.solution/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/202.5-import-type.solution/tsconfig.json
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.6-should-i-use-cjs-or-esm.explainer.ts:
--------------------------------------------------------------------------------
1 | // Should you use CJS or ESM?
2 |
--------------------------------------------------------------------------------
/src/082-cjs-vs-esm/202.7-applications-vs-libraries.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/082-cjs-vs-esm/202.7-applications-vs-libraries.explainer.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/203-domain-modelling-in-typescript.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/203-domain-modelling-in-typescript.explainer.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/204-intro-to-generic-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/204-intro-to-generic-types.problem.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/204-intro-to-generic-types.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/204-intro-to-generic-types.solution.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/205-multiple-type-parameters.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/205-multiple-type-parameters.problem.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/205-multiple-type-parameters.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/205-multiple-type-parameters.solution.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/206-result-type.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/206-result-type.explainer.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/207-default-type-parameters.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/207-default-type-parameters.problem.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/207-default-type-parameters.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/207-default-type-parameters.solution.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/208-type-parameter-constraints.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/208-type-parameter-constraints.problem.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/208-type-parameter-constraints.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/208-type-parameter-constraints.solution.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/209-tighter-version-of-omit.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/209-tighter-version-of-omit.problem.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/209-tighter-version-of-omit.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/209-tighter-version-of-omit.solution.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/210-template-literal-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/210-template-literal-types.problem.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/210-template-literal-types.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/210-template-literal-types.solution.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/212-mapped-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/212-mapped-types.problem.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/212-mapped-types.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/212-mapped-types.solution.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/213-as-in-mapped-types.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/213-as-in-mapped-types.problem.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/213-as-in-mapped-types.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/213-as-in-mapped-types.solution.ts
--------------------------------------------------------------------------------
/src/083-designing-your-types/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/083-designing-your-types/workshop.md
--------------------------------------------------------------------------------
/src/085-the-utils-folder/214-intro-to-the-utils-folder.explainer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/214-intro-to-the-utils-folder.explainer.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/215-generic-functions-without-inference.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/215-generic-functions-without-inference.problem.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/215-generic-functions-without-inference.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/215-generic-functions-without-inference.solution.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/217-generic-functions-with-inference.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/217-generic-functions-with-inference.problem.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/217-generic-functions-with-inference.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/217-generic-functions-with-inference.solution.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/221-type-predicates.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/221-type-predicates.problem.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/221-type-predicates.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/221-type-predicates.solution.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/222-assertion-functions.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/222-assertion-functions.problem.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/222-assertion-functions.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/222-assertion-functions.solution.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/223-function-overloads.problem.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/223-function-overloads.problem.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/223-function-overloads.solution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/223-function-overloads.solution.ts
--------------------------------------------------------------------------------
/src/085-the-utils-folder/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/085-the-utils-folder/workshop.md
--------------------------------------------------------------------------------
/src/090-the-style-guide/224-hungarian-notation.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/224-hungarian-notation.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/225-where-to-put-your-types.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/225-where-to-put-your-types.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/226-colocation-of-types.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/226-colocation-of-types.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/227-setting-up-eslint.explainer.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/228-explicit-any-rule-or-not.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/228-explicit-any-rule-or-not.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/229-explicit-return-types-or-not.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/229-explicit-return-types-or-not.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/230-any-vs-ts-ignore-vs-ts-expect-error.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/230-any-vs-ts-ignore-vs-ts-expect-error.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/231-dont-declare-type-and-value-with-the-same-name.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/231-dont-declare-type-and-value-with-the-same-name.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/232-types-vs-interfaces.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/232-types-vs-interfaces.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/233-dont-use-uppercase-function-object-string-boolean-as-types.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/233-dont-use-uppercase-function-object-string-boolean-as-types.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/234-dont-make-your-types-globally-available-types.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/234-dont-make-your-types-globally-available-types.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/235-how-strict-should-you-configure-ts.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/235-how-strict-should-you-configure-ts.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/236-dont-unnecessarily-widen-types.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/236-dont-unnecessarily-widen-types.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/090-the-style-guide/plan.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/090-the-style-guide/plan.md
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/237-strict-file-by-file-vs-ramp-up-strictness.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/237-strict-file-by-file-vs-ramp-up-strictness.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/238-dependencies-first.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/238-dependencies-first.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/239-typing-third-party-modules.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/239-typing-third-party-modules.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/240-madge.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/240-madge.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/241-understanding-the-structure-of-ts-errors.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/241-understanding-the-structure-of-ts-errors.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/242-experiments-with-jsdoc.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/242-experiments-with-jsdoc.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/243-jsdoc-cannot-pass-types-to-functions.problem.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/243-jsdoc-cannot-pass-types-to-functions.solution.ts:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/095-migrating-from-javascript/plan.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/src/095-migrating-from-javascript/plan.md
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/tsconfig.json
--------------------------------------------------------------------------------
/vite.config.mts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/vite.config.mts
--------------------------------------------------------------------------------
/workshop.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/volodymyrhryhorchuk2/total-typescript/HEAD/workshop.md
--------------------------------------------------------------------------------