├── .gitignore ├── README.md ├── images └── typescript-popularity.png ├── javascript ├── 01-declarations.d.ts ├── 01-declarations.js ├── 08-index-signatures.d.ts └── 08-index-signatures.js ├── package.json ├── playground-examples ├── any.js ├── any.ts └── tsconfig.json ├── tsconfig.json ├── typescript-react-example ├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt ├── src │ ├── App.css │ ├── App.test.tsx │ ├── App.tsx │ ├── index.css │ ├── index.tsx │ ├── logo.svg │ ├── react-app-env.d.ts │ ├── reportWebVitals.ts │ └── setupTests.ts └── tsconfig.json ├── workshop-1 ├── 01-declarations.ts ├── 02-interfaces.ts ├── 03-unknown.ts ├── 04-never.ts ├── 05-enums.ts ├── 06-types.ts ├── 07-structural-type-system.ts ├── 08-index-signatures.ts ├── README.md └── compiling │ ├── hello.js │ └── hello.ts ├── workshop-2 ├── 01-everyday-types-01.ts ├── 02-everyday-types-02.ts ├── 03-everyday-types-03.ts ├── 04-narrowing.ts ├── 05-interfaces-implement.ts ├── 06-structural-vs-nominal-types.ts ├── 07-json-types-exercise.ts ├── 08-functions-and-overloading.ts └── README.md └── workshop-3 ├── 01-functions-and-overloading-continued.ts ├── 02-classes-and-access-modifier-keywords.ts ├── 03-top-and-bottom-types.ts ├── 04-type-guards-and-narrowing.ts ├── 05-nullish-values.ts ├── 06-generics.ts ├── 07-dict-map-filter-reduce.ts └── 08-generics-scopes-constraints.ts /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | solutions -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/README.md -------------------------------------------------------------------------------- /images/typescript-popularity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/images/typescript-popularity.png -------------------------------------------------------------------------------- /javascript/01-declarations.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/javascript/01-declarations.d.ts -------------------------------------------------------------------------------- /javascript/01-declarations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/javascript/01-declarations.js -------------------------------------------------------------------------------- /javascript/08-index-signatures.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/javascript/08-index-signatures.d.ts -------------------------------------------------------------------------------- /javascript/08-index-signatures.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/javascript/08-index-signatures.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/package.json -------------------------------------------------------------------------------- /playground-examples/any.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/playground-examples/any.js -------------------------------------------------------------------------------- /playground-examples/any.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/playground-examples/any.ts -------------------------------------------------------------------------------- /playground-examples/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/playground-examples/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/tsconfig.json -------------------------------------------------------------------------------- /typescript-react-example/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/.gitignore -------------------------------------------------------------------------------- /typescript-react-example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/README.md -------------------------------------------------------------------------------- /typescript-react-example/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/package-lock.json -------------------------------------------------------------------------------- /typescript-react-example/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/package.json -------------------------------------------------------------------------------- /typescript-react-example/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/public/favicon.ico -------------------------------------------------------------------------------- /typescript-react-example/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/public/index.html -------------------------------------------------------------------------------- /typescript-react-example/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/public/logo192.png -------------------------------------------------------------------------------- /typescript-react-example/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/public/logo512.png -------------------------------------------------------------------------------- /typescript-react-example/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/public/manifest.json -------------------------------------------------------------------------------- /typescript-react-example/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/public/robots.txt -------------------------------------------------------------------------------- /typescript-react-example/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/src/App.css -------------------------------------------------------------------------------- /typescript-react-example/src/App.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/src/App.test.tsx -------------------------------------------------------------------------------- /typescript-react-example/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/src/App.tsx -------------------------------------------------------------------------------- /typescript-react-example/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/src/index.css -------------------------------------------------------------------------------- /typescript-react-example/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/src/index.tsx -------------------------------------------------------------------------------- /typescript-react-example/src/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/src/logo.svg -------------------------------------------------------------------------------- /typescript-react-example/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /typescript-react-example/src/reportWebVitals.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/src/reportWebVitals.ts -------------------------------------------------------------------------------- /typescript-react-example/src/setupTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/src/setupTests.ts -------------------------------------------------------------------------------- /typescript-react-example/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/typescript-react-example/tsconfig.json -------------------------------------------------------------------------------- /workshop-1/01-declarations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/01-declarations.ts -------------------------------------------------------------------------------- /workshop-1/02-interfaces.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/02-interfaces.ts -------------------------------------------------------------------------------- /workshop-1/03-unknown.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/03-unknown.ts -------------------------------------------------------------------------------- /workshop-1/04-never.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/04-never.ts -------------------------------------------------------------------------------- /workshop-1/05-enums.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/05-enums.ts -------------------------------------------------------------------------------- /workshop-1/06-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/06-types.ts -------------------------------------------------------------------------------- /workshop-1/07-structural-type-system.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/07-structural-type-system.ts -------------------------------------------------------------------------------- /workshop-1/08-index-signatures.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/08-index-signatures.ts -------------------------------------------------------------------------------- /workshop-1/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/README.md -------------------------------------------------------------------------------- /workshop-1/compiling/hello.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/compiling/hello.js -------------------------------------------------------------------------------- /workshop-1/compiling/hello.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-1/compiling/hello.ts -------------------------------------------------------------------------------- /workshop-2/01-everyday-types-01.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-2/01-everyday-types-01.ts -------------------------------------------------------------------------------- /workshop-2/02-everyday-types-02.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-2/02-everyday-types-02.ts -------------------------------------------------------------------------------- /workshop-2/03-everyday-types-03.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-2/03-everyday-types-03.ts -------------------------------------------------------------------------------- /workshop-2/04-narrowing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-2/04-narrowing.ts -------------------------------------------------------------------------------- /workshop-2/05-interfaces-implement.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-2/05-interfaces-implement.ts -------------------------------------------------------------------------------- /workshop-2/06-structural-vs-nominal-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-2/06-structural-vs-nominal-types.ts -------------------------------------------------------------------------------- /workshop-2/07-json-types-exercise.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-2/07-json-types-exercise.ts -------------------------------------------------------------------------------- /workshop-2/08-functions-and-overloading.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-2/08-functions-and-overloading.ts -------------------------------------------------------------------------------- /workshop-2/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-2/README.md -------------------------------------------------------------------------------- /workshop-3/01-functions-and-overloading-continued.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-3/01-functions-and-overloading-continued.ts -------------------------------------------------------------------------------- /workshop-3/02-classes-and-access-modifier-keywords.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-3/02-classes-and-access-modifier-keywords.ts -------------------------------------------------------------------------------- /workshop-3/03-top-and-bottom-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-3/03-top-and-bottom-types.ts -------------------------------------------------------------------------------- /workshop-3/04-type-guards-and-narrowing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-3/04-type-guards-and-narrowing.ts -------------------------------------------------------------------------------- /workshop-3/05-nullish-values.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-3/05-nullish-values.ts -------------------------------------------------------------------------------- /workshop-3/06-generics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-3/06-generics.ts -------------------------------------------------------------------------------- /workshop-3/07-dict-map-filter-reduce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-3/07-dict-map-filter-reduce.ts -------------------------------------------------------------------------------- /workshop-3/08-generics-scopes-constraints.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjshuff23/typescript-workshop/HEAD/workshop-3/08-generics-scopes-constraints.ts --------------------------------------------------------------------------------