Mastering TypeScript: From Fundamentals to Type-Level Programming & Functional Effect-TS
Master TypeScript from the ground up to advanced type-level metaprogramming and functional architecture powered by Effect-TS. Modeled after the world-class TotalTypeScript curriculum by Matt Pocock.
(COMING SOON) Moving from object-oriented patterns to functional programming, leveraging pure algebraic data types and the immensely powerful Effect-TS ecosystem.
When you pass a Union type into a conditional type, TypeScript doesn’t evaluate the union as a whole. It evaluates every single member of the union separately, and combines the results. Learn how this powerful (and sometimes confusing) mechanism powers TypeScript’s standard library.
Conditional types are the if-else statements of Type Space. Learn how to use the ’extends ? :’ syntax to compute dynamic types based on assignability logic, replace complex function overloads, and construct nested else-if type chains.
Take your Mapped Types to the absolute limit. Learn how to compute entirely new string names for keys on the fly using Template Literal Types, and discover how to completely filter out properties by returning never during key mapping.
The foundational guide to mastering TypeScript. Learn how the type inference engine works, master type narrowing with typeof, instanceof, in, and custom type predicates (is), build type-safe discriminated unions, and use as const assertions.
An in-depth guide to Mapped Type Modifiers in TypeScript. Learn how to preserve, add (+), or strip (-) property modifiers like readonly and ?. We explore how these mapping modifiers power TypeScript’s built-in Partial, Required, and Readonly utility types.
An in-depth guide to Mapped Types in TypeScript. Learn how to use the [K in Union] syntax to iterate over literal unions, transform existing object properties using keyof and Indexed Access, and build strict state validation maps that perfectly mirror domain models.
An in-depth guide to ReturnType<T> and Parameters<T>. Learn how to reverse-engineer third-party library functions, the requirement of typeof, tuple indexing to extract specific arguments, and the underlying infer keyword mechanics powering these utilities.
An in-depth guide to the Extract and Exclude utility types. Understand the fundamental difference between Object manipulation (Pick/Omit) and Union manipulation (Extract/Exclude), extracting by object signature in discriminated unions, and their underlying distributive conditional type mechanics.
An in-depth look at the Record<K, V> utility type. Learn how to type arbitrary string dictionaries, enforce exhaustive key mapping using Unions, and combine Record with other utilities to model complex domain configurations.
An in-depth guide to Pick and Omit utility types in TypeScript. Learn under-the-hood mapped type implementations (Pick via mapped types, Omit via Exclude), key constraints differences, building public API DTOs, and the selection decision matrix.