(0:00:00)TypeScript Generics Workshop Welcome (0:01:16)Typing Functions with Generics (0:02:01)Replace the unknown Type with a Generic (0:03:55)Restricting Generic Argument Types (0:04:35)Add Constraints to a Generic (0:05:30)Typing Independent Parameters (0:06:00)Use Multiple Generics with a Function (0:07:20)Approaches for Typing Object Parameters (0:07:47)Approaches for Typing Object Parameters: Solution (0:09:38)Generic Functions in Excalidraw (0:11:58)Generics in Classes (0:12:44)Add Types to a Class (0:13:54)Generic Mapper Function (0:14:57)Add Object Property Constraints to a Generic (0:17:12)The Importance of Generics in TypeScript (0:18:40)Add Type Parameters to a Function (0:19:25)Pass Type Arguments to a Function (0:22:16)Defaults in Type Parameters (0:22:48)Specify a Default Value (0:23:33)Infer Types from Type Arguments (0:24:40)Infer from the Type Arguments of a Class (0:26:51)Strongly Type a Reduce Function (0:28:03)Pass Type Arguments to a Reduce Function (0:31:08)Avoid any Types with Generics (0:31:43)Use Generics to Type a Fetch Request (0:35:30)Passing Type Arguments in (0:37:32)Improving Code Maintainability (0:41:09)Generics at Different Levels (0:42:35)Represent Generics at the Lowest Level (0:45:39)Typed Object Keys (0:46:25)Two Approaches for Typing Object Keys (0:50:09)Make a Generic Wrapper for a Function (0:52:00)Constrain a Type Argument to a Function (0:56:48)Understand Literal Inference in Generics (1:00:42)Understand Generic Inference When Using Objects as Arguments (1:04:15)Inferring Literal Types from any Basic Type (1:05:09)Accepting Multiple Literal Types (1:06:06)Infer the Type of an Array Member (1:07:02)Constrain to the Array Member, Not the Array (1:09:15)Generics in a Class Names Creator (1:10:48)Two Approaches to Working with Class Names (1:12:31)Generics in React Query (1:17:32)Generics with Conditional Types (1:18:20)Ensure Runtime Level & Type Level Safety with Conditional Types (1:21:44)Fixing Errors in Generic Functions (1:23:06)Fixing the “Not Assignable“ Error (1:25:36)Generic Function Currying (1:26:44)Fix Type Inference in Curried Functions (1:30:04)Generic Interfaces with Functions (1:32:32)Understanding Generics at Different Levels of Functions (1:37:04)Spotting Useless Generics (1:38:01)Refactoring Functions with Unnecessary Type Arguments (1:39:33)Spotting Missing Generics
Hide player controls
Hide resume playing