-
Урок 1.
00:01:09
Type Transformations Workshop Welcome: Explainer
-
Урок 2.
00:00:40
Get the Return Type of a Function
-
Урок 3.
00:01:31
Use a Utility Type to Extract a Function’s Return Type
-
Урок 4.
00:02:02
Typeof Keyword, and Type Level
-
Урок 5.
00:00:25
Extract Function Parameters Into A Type
-
Урок 6.
00:00:46
Use a Utility Type to Extract Function Parameters
-
Урок 7.
00:00:38
Extract The Awaited Result of a Promise
-
Урок 8.
00:00:59
Use Utility Types To Extract a Promise's Result
-
Урок 9.
00:00:34
Create a Union Type From an Object’s Keys
-
Урок 10.
00:01:31
Create Unions from Objects Using Two Operators
-
Урок 11.
00:00:23
Understand The Terminology Around Unions
-
Урок 12.
00:01:41
Union Terminology Examples
-
Урок 13.
00:00:46
Extracting Members of a Discriminated Union
-
Урок 14.
00:01:42
Extract From A Union Using a Utility Type
-
Урок 15.
00:00:20
Excluding Parts of a Discriminated Union
-
Урок 16.
00:00:32
Use a Utility Type to Remove a Single Member of a Union
-
Урок 17.
00:02:47
The Power of Union Types in TypeScript: Explainer
-
Урок 18.
00:00:40
Extract Object Properties into Individual Types
-
Урок 19.
00:01:06
Use Indexed Access Types to Extract Object Properties
-
Урок 20.
00:00:25
Extract the Discriminator from a Discriminated Union
-
Урок 21.
00:00:57
Simple Syntax Used to Access Parts of a Discriminated Union
-
Урок 22.
00:01:02
Resolve an Object’s Values as Literal Types
-
Урок 23.
00:02:23
The Annotation Used to Infer an Object's Values as Literal Types
-
Урок 24.
00:00:53
Create a Union From an Object's Values
-
Урок 25.
00:01:12
Extract Specific Members From A Union with Indexed Access
-
Урок 26.
00:00:27
Get All of an Object’s Values
-
Урок 27.
00:00:56
Use Two Operators With Indexed Access to Get All of an Object's Values
-
Урок 28.
00:00:29
Create Unions out of Array Values
-
Урок 29.
00:01:24
Methods Used to Create Unions out of Array Values
-
Урок 30.
00:00:43
Only Allow Specified String Patterns
-
Урок 31.
00:01:09
Template Literal with Strings
-
Урок 32.
00:01:01
Extract Union Strings Matching a Pattern
-
Урок 33.
00:01:02
Extracting String Pattern Matches with Template Literals
-
Урок 34.
00:00:36
Create a Union of Strings with All Possible Permutations of Two Unions
-
Урок 35.
00:01:08
Passing Unions Into Template Literals
-
Урок 36.
00:00:45
Splitting A String into a Tuple
-
Урок 37.
00:01:01
Using S From ts-toolbelt to Split a String Into a Tuple
-
Урок 38.
00:00:35
Create an Object Whose Keys Are Derived From a Union
-
Урок 39.
00:00:58
Use a Utility Type to Create An Object From A Union
-
Урок 40.
00:00:33
Transform String Literals To Uppercase
-
Урок 41.
00:01:12
Manipulate String Literals Using Type Helpers
-
Урок 42.
00:01:55
Template Literals in Mattermost: Explainer
-
Урок 43.
00:00:42
Introducing Type Helpers
-
Урок 44.
00:02:46
Create Functions that Return Types
-
Урок 45.
00:00:23
Creating a Maybe Type Helper
-
Урок 46.
00:01:17
The Unconstrained Maybe Type Helper
-
Урок 47.
00:01:06
Ensure Type Safety in a Type Helper
-
Урок 48.
00:03:01
Use Constraints to Limit Type Parameters
-
Урок 49.
00:00:27
Create a Reusable Type Helper
-
Урок 50.
00:00:36
Add Support for Multiple Types in a Type Helper
-
Урок 51.
00:00:43
Optional Type Parameters in Type Helpers
-
Урок 52.
00:01:53
Set a Default Type Value in a Type Helper
-
Урок 53.
00:00:59
Functions as Constraints for Type Helpers
-
Урок 54.
00:02:42
Support Function Type Constraints with Variable Arguments
-
Урок 55.
00:00:43
Constraining Types for Anything but null or undefined
-
Урок 56.
00:03:35
Exclude null and undefined from the Maybe Type
-
Урок 57.
00:00:33
Constraining Type Helpers to Non-Empty Arrays
-
Урок 58.
00:01:58
Enforce a Minimum Array Length in a Type Helper
-
Урок 59.
00:04:59
Explainer: Type Helpers in Redux
-
Урок 60.
00:00:39
Add Conditional Logic to a Type Helper
-
Урок 61.
00:02:27
Compare and Return Values with Extends and the Ternary Operator
-
Урок 62.
00:01:00
Refine Conditional Logic in a Type Helper
-
Урок 63.
00:02:22
Prevent Unwanted Type Scenarios from Happening
-
Урок 64.
00:01:45
How TypeScript Added Conditional Types: Explainer
-
Урок 65.
00:01:09
Introducing infer for Conditional Logic
-
Урок 66.
00:02:43
Infer Elements Inside a Conditional with Infer
-
Урок 67.
00:01:00
Extract Type Arguments to Another Type Helper
-
Урок 68.
00:02:36
Use infer with Generics to Extract Types from Arguments
-
Урок 69.
00:00:31
Extract Parts of a String with a Template Literal
-
Урок 70.
00:01:27
Pattern Matching on Template Literals with Infer
-
Урок 71.
00:02:51
Template Literal Types Were Nearly Regexes: Explainer
-
Урок 72.
00:00:52
Extract the Result of an Async Function
-
Урок 73.
00:01:23
Optionally Infer the Return Type of a Function
-
Урок 74.
00:00:52
Extract the Result From Several Possible Function Shapes
-
Урок 75.
00:01:17
Two Methods for Extracting the Result of Multiple Possible Functions
-
Урок 76.
00:00:56
Distributivity in Conditional Types
-
Урок 77.
00:03:03
Using Generic Context to Avoid Distributive Conditional Types
-
Урок 78.
00:00:40
Map Over a Union to Create an Object
-
Урок 79.
00:02:03
Use Mapped Types to Create an Object from a Union
-
Урок 80.
00:00:36
Mapped Types with Objects
-
Урок 81.
00:02:25
Map Over the Keys of an Object
-
Урок 82.
00:00:54
Transforming Object Keys in Mapped Types
-
Урок 83.
00:02:10
Remapping Object Keys in a Mapped Type
-
Урок 84.
00:01:45
How Excalidraw uses Mapped Types to Save Lines of Code: Explainer
-
Урок 85.
00:00:53
Conditionally Extract Properties from Object
-
Урок 86.
00:03:15
Selective Remapping with Conditional Types and Template Literals
-
Урок 87.
00:00:49
Map a Discriminated Union to an Object
-
Урок 88.
00:03:29
Two Techniques for Mapping a Discriminated Union to an Object
-
Урок 89.
00:00:52
Map an Object to a Union of Tuples
-
Урок 90.
00:02:05
Create a Union of Tuples by Reindexing a Mapped Type
-
Урок 91.
00:00:27
Transform an Object into a Union of Template Literals
-
Урок 92.
00:01:57
Map an Object to a Union of Template Literals
-
Урок 93.
00:00:33
Transform a Discriminated Union into a Union
-
Урок 94.
00:02:15
Iteratively Map and Remap to Transform Types
-
Урок 95.
00:01:01
Transform Path Parameters from Strings to Objects
-
Урок 96.
00:03:32
Extract from String with Mapped Types, Template Literals, and infer.
-
Урок 97.
00:00:36
Transform an Object into a Discriminated Union
-
Урок 98.
00:02:40
Create a Discriminated Union through Intermediary Transformations
-
Урок 99.
00:01:06
Transform a Discriminated Union with Unique Values to an Object
-
Урок 100.
00:02:14
Create an Object using Mapped Types, Conditional Types, and TypeScript Keywords
-
Урок 101.
00:01:02
Construct a Deep Partial of an Object
-
Урок 102.
00:05:17
Use Recursion and Mapped Types to Create a Type Helper
-
Урок 103.
00:01:17
TypeScript Generics Workshop Welcome
-
Урок 104.
00:00:46
Typing Functions with Generics
-
Урок 105.
00:01:54
Replace the unknown Type with a Generic
-
Урок 106.
00:00:40
Restricting Generic Argument Types
-
Урок 107.
00:00:56
Add Constraints to a Generic
-
Урок 108.
00:00:31
Typing Independent Parameters
-
Урок 109.
00:01:20
Use Multiple Generics with a Function
-
Урок 110.
00:00:28
Approaches for Typing Object Parameters
-
Урок 111.
00:01:51
Approaches for Typing Object Parameters: Solution
-
Урок 112.
00:02:20
Generic Functions in Excalidraw
-
Урок 113.
00:00:47
Generics in Classes
-
Урок 114.
00:01:11
Add Types to a Class
-
Урок 115.
00:01:04
Generic Mapper Function
-
Урок 116.
00:02:15
Add Object Property Constraints to a Generic
-
Урок 117.
00:01:29
The Importance of Generics in TypeScript
-
Урок 118.
00:00:45
Add Type Parameters to a Function
-
Урок 119.
00:02:51
Pass Type Arguments to a Function
-
Урок 120.
00:00:33
Defaults in Type Parameters
-
Урок 121.
00:00:45
Specify a Default Value
-
Урок 122.
00:01:08
Infer Types from Type Arguments
-
Урок 123.
00:02:12
Infer from the Type Arguments of a Class
-
Урок 124.
00:01:12
Strongly Type a Reduce Function
-
Урок 125.
00:03:06
Pass Type Arguments to a Reduce Function
-
Урок 126.
00:00:36
Avoid any Types with Generics
-
Урок 127.
00:03:47
Use Generics to Type a Fetch Request
-
Урок 128.
00:02:03
Passing Type Arguments in cal.com
-
Урок 129.
00:03:38
Improving Code Maintainability
-
Урок 130.
00:01:26
Generics at Different Levels
-
Урок 131.
00:03:04
Represent Generics at the Lowest Level
-
Урок 132.
00:00:47
Typed Object Keys
-
Урок 133.
00:03:45
Two Approaches for Typing Object Keys
-
Урок 134.
00:01:51
Make a Generic Wrapper for a Function
-
Урок 135.
00:04:49
Constrain a Type Argument to a Function
-
Урок 136.
00:03:54
Understand Literal Inference in Generics
-
Урок 137.
00:03:33
Understand Generic Inference When Using Objects as Arguments
-
Урок 138.
00:00:55
Inferring Literal Types from any Basic Type
-
Урок 139.
00:00:57
Accepting Multiple Literal Types
-
Урок 140.
00:00:57
Infer the Type of an Array Member
-
Урок 141.
00:02:14
Constrain to the Array Member, Not the Array
-
Урок 142.
00:01:33
Generics in a Class Names Creator
-
Урок 143.
00:01:44
Two Approaches to Working with Class Names
-
Урок 144.
00:04:50
Generics in React Query
-
Урок 145.
00:01:00
Generics with Conditional Types
-
Урок 146.
00:03:25
Ensure Runtime Level & Type Level Safety with Conditional Types
-
Урок 147.
00:01:22
Fixing Errors in Generic Functions
-
Урок 148.
00:02:30
Fixing the "Not Assignable" Error
-
Урок 149.
00:01:08
Generic Function Currying
-
Урок 150.
00:03:21
Fix Type Inference in Curried Functions
-
Урок 151.
00:02:28
Generic Interfaces with Functions
-
Урок 152.
00:04:32
Understanding Generics at Different Levels of Functions
-
Урок 153.
00:00:58
Spotting Useless Generics
-
Урок 154.
00:01:32
Refactoring Functions with Unnecessary Type Arguments
-
Урок 155.
00:01:32
Spotting Missing Generics
-
Урок 156.
00:02:53
Improving Type Inference with Additional Generics
-
Урок 157.
00:03:33
How tRPC Handles Inheritable Generics
-
Урок 158.
00:01:37
Refactoring Generics for a Cleaner API
-
Урок 159.
00:02:11
Create a Factory Function to Apply Type Arguments to All Child Functions
-
Урок 160.
00:01:53
The Partial Inference Problem
-
Урок 161.
00:03:57
A Workaround for The Lack of Partial Inference
-
Урок 162.
00:00:42
What is a Function Overload?
-
Урок 163.
00:01:08
Understanding Function Overloads
-
Урок 164.
00:00:32
Function Overloads vs. Conditional Types
-
Урок 165.
00:03:29
Match Return Types with Function Overloads
-
Урок 166.
00:01:18
Debugging Overloaded Functions
-
Урок 167.
00:03:53
Specifying Types for an Overloaded Function
-
Урок 168.
00:00:46
Function Overloads vs. Union Types
-
Урок 169.
00:02:03
When to Use Overloads and Unions
-
Урок 170.
00:00:43
Generics in Function Overloads
-
Урок 171.
00:02:50
Typing Different Function Use Cases
-
Урок 172.
00:01:00
Solving an Inference Mystery
-
Урок 173.
00:06:10
The Inference Mystery Solved
-
Урок 174.
00:01:17
Use Function Overloads to Infer Initial Data
-
Урок 175.
00:02:11
Split Functions Into Two Different Call Signatures
-
Урок 176.
00:01:48
The "Instantiated with Subtype" Error
-
Урок 177.
00:03:52
Handling Default Arguments with Function Overloads
-
Урок 178.
00:01:17
Make An Infinite Scroll Function Generic with Correct Type Inference
-
Урок 179.
00:05:03
Introduce a Type Parameter to Ensure Type Consistency
-
Урок 180.
00:01:34
Create a Function with a Dynamic Number of Arguments
-
Урок 181.
00:03:44
Use a Tuple to Represent a Dynamic Number of Arguments
-
Урок 182.
00:01:10
Create a Pick Function
-
Урок 183.
00:07:54
Extracting Object Properties with Reduce and Generics
-
Урок 184.
00:02:02
Create a Form Validation Library
-
Урок 185.
00:06:34
Add Strong Typing and Proper Error Handling to a Form Validator
-
Урок 186.
00:01:20
Improve a Fetch Function to Handle Missing Type Arguments
-
Урок 187.
00:01:55
Modify a Generic Type Default for Improved Error Messages
-
Урок 188.
00:02:22
Typing a Function Composition with Overloads and Generics
-
Урок 189.
00:05:53
Using Overloads and Generics to Type Function Composition
-
Урок 190.
00:02:32
Build an Internationalization Library
-
Урок 191.
00:07:46
Extract Types from Strings for an Internationalization Library
-
Урок 192.
00:01:14
Advanced Workshop Welcome
-
Урок 193.
00:03:23
What is a Branded Type?
-
Урок 194.
00:01:39
Form Validation with Branded Types
-
Урок 195.
00:01:38
Assigning Branded Types to Values
-
Урок 196.
00:00:43
Using Branded Types as Entity Id’s
-
Урок 197.
00:02:54
Add Branded Types to Functions and Models
-
Урок 198.
00:01:10
Creating Reusable Validity Checks with Branded Types and Type Helpers
-
Урок 199.
00:01:52
Combine Type Helpers with Branded Types
-
Урок 200.
00:01:54
Creating Validation Boundaries with Branded Types
-
Урок 201.
00:03:45
Using Branded Types to Validate Code Logic
-
Урок 202.
00:01:14
Using Index Signatures with Branded Types
-
Урок 203.
00:02:20
Indexing an Object with Branded Types
-
Урок 204.
00:01:02
TypeScript's Global Scope
-
Урок 205.
00:04:37
Add a Function to the Global Scope
-
Урок 206.
00:01:03
Add Functionality to Existing Global Interfaces
-
Урок 207.
00:04:43
Use Declaration Merging to Add Functionality to the Global Window
-
Урок 208.
00:01:03
Add Types to Properties of Global Namespaced Interfaces
-
Урок 209.
00:03:26
Typing process.env in the NodeJS Namespace
-
Урок 210.
00:02:00
Colocating Types for Global Interfaces
-
Урок 211.
00:02:56
Solving the Colocation Problem with Globals
-
Урок 212.
00:00:49
Filtering with Type Predicates
-
Урок 213.
00:02:56
Use a Type Predicate to Filter Types
-
Урок 214.
00:01:13
Checking Types with Assertion Functions
-
Урок 215.
00:02:46
Ensure Valid Types with an Assertion Function
-
Урок 216.
00:00:48
Avoiding TypeScript's Most Confusing Error
-
Урок 217.
00:00:37
Declare Assertion Functions Properly to Avoid Confusing Errors
-
Урок 218.
00:01:45
Combining Type Predicates with Generics
-
Урок 219.
00:02:35
Filtering with Type Predicates and Generics
-
Урок 220.
00:00:50
Combining Brands and Type Predicates
-
Урок 221.
00:00:44
Checking for Validity with Brands and Type Predicates
-
Урок 222.
00:00:24
Combining Brands with Assertion Functions
-
Урок 223.
00:01:05
Validate Types with Brands and Assertions
-
Урок 224.
00:01:02
Classes as Types and Values
-
Урок 225.
00:00:54
Using Classes in TypeScript
-
Урок 226.
00:02:13
Dive into Classes with Type Predicates
-
Урок 227.
00:02:41
Simplifying TypeScript with Type Predicates
-
Урок 228.
00:01:25
Assertion Functions and Classes
-
Урок 229.
00:01:27
Leverage Assertion Functions for Better Inference in Classes
-
Урок 230.
00:07:44
Class Implementation Following the Builder Pattern
-
Урок 231.
00:04:08
TRPC's Creator on the Builder Pattern
-
Урок 232.
00:01:09
Create a Type Safe Map with the Builder Pattern
-
Урок 233.
00:02:19
Getters and Setters in the Builder Pattern
-
Урок 234.
00:00:41
Debugging the Builder Pattern
-
Урок 235.
00:02:41
Default Generics in the Builder Pattern
-
Урок 236.
00:03:40
Building Chainable Middleware with the Builder Pattern
-
Урок 237.
00:06:37
The Power of Generics and the Builder Pattern
-
Урок 238.
00:03:18
Subclassing in Zod
-
Урок 239.
00:05:24
Where Do External Types Come From?
-
Урок 240.
00:00:59
Extract Types to Extend an External Library
-
Урок 241.
00:02:00
Retrieve Function Parameters from an External Library
-
Урок 242.
00:03:26
Navigating Lodash's Type Definitions
-
Урок 243.
00:01:21
Finding Proper Type Arguments and Generics with Lodash
-
Урок 244.
00:05:15
Passing Type Arguments with Lodash
-
Урок 245.
00:09:06
Navigating Express's Type Definitions
-
Урок 246.
00:01:18
Add Query Params to an Express Request
-
Урок 247.
00:03:44
Make an Express Request Function Generic
-
Урок 248.
00:02:45
Browsing Zod's Types
-
Урок 249.
00:01:39
Create a Runtime and Type Safe Function with Generics and Zod
-
Урок 250.
00:04:38
Infer Runtime Arguments from a Zod Schema
-
Урок 251.
00:01:38
Override External Library Types
-
Урок 252.
00:03:50
Create a Declarations File to Override Types
-
Урок 253.
00:01:31
Identity Functions as an Alternative to the `as const`
-
Урок 254.
00:02:05
Using const type parameters For Better Inference
-
Урок 255.
00:00:47
Add Constraints to an Identity Function
-
Урок 256.
00:02:51
Constraining and Narrowing an Identity Function
-
Урок 257.
00:01:38
Specifying Where Inference Should Not Happen
-
Урок 258.
00:02:17
Fix Inference Issues with F.NoInfer
-
Урок 259.
00:01:10
Find the Generic Flow of an Identity Function
-
Урок 260.
00:02:39
Avoid Duplicate Code in an Identity Function with Generics
-
Урок 261.
00:01:19
Reverse Mapped Types
-
Урок 262.
00:02:17
Inference Inception in an Identity Function
-
Урок 263.
00:00:59
Merge Dynamic Objects with Global Objects
-
Урок 264.
00:02:19
Add Objects to the Global Scope Dynamically
-
Урок 265.
00:01:19
Narrowing with an Array
-
Урок 266.
00:08:30
Narrowing with Arrays and Generics
-
Урок 267.
00:01:59
Create a Type-Safe Request Handler with Zod and Express
-
Урок 268.
00:07:45
Type-Safe Request Handlers with Zod and Express
-
Урок 269.
00:03:55
Building a Dynamic Reducer
-
Урок 270.
00:11:26
Dynamic Reducer with Generic Types
-
Урок 271.
00:01:06
Custom JSX Elements
-
Урок 272.
00:04:01
Adding Custom Elements to JSX.IntrinsicElements
-
Урок 273.
00:52:27
Tejas Kumar Discusses How to Build Bulletproof Apps with TypeScript
-
Урок 274.
00:43:02
Adopting TypeScript at Netflix with Shaundai Person
-
Урок 275.
00:54:35
Mark Erikson on Avoiding Breaking Changes and Improving Maintainability with TypeScript
-
Урок 276.
00:42:01
The TypeScript Culture at Formidable with Kadi Kraman
-
Урок 277.
01:01:20
Colin McDonnell Talks About The Design Choices Behind Zod
-
Урок 278.
00:56:41
TypeScript's History and Growth with Daniel Rosenwasser
-
Урок 279.
00:43:52
Priscila Oliveira on Sentry's TypeScript Migration
-
Урок 280.
00:48:45
Gabriel Vergnaud on Type and Value Level Mapping in TypeScript
-
Урок 281.
00:49:57
Building Familiarity with TypeScript's Syntax and Functionality with Orta Therox
-
Урок 282.
00:40:46
A Look at tRPC with its Creator Alex "KATT" Johansson
-
Урок 283.
00:52:39
Exploring Generics in React Query with Tanner Linsley
-
Урок 284.
00:01:18
Type-Checking React Props With Discriminated Unions
-
Урок 285.
00:01:45
Using Discriminated Unions to Create Flexible Component Props in React
-
Урок 286.
00:00:48
Destructuring Discriminated Unions in React Props
-
Урок 287.
00:02:24
Destructuring vs Accessing Discriminated Union Props
-
Урок 288.
00:00:49
Adding a Prop Required Across Discriminated Union Variants
-
Урок 289.
00:02:28
Resolving Discriminated Union Types with an Intersection
-
Урок 290.
00:01:19
Differentiating Props With a Boolean Discriminator
-
Урок 291.
00:02:16
Discriminated Unions for Conditional Props in TypeScript
-
Урок 292.
00:02:17
Using the Record Type to Represent an Empty Object
-
Урок 293.
00:01:23
Conditionally Require Props With Discriminated Unions
-
Урок 294.
00:02:38
Allow Optional Props Using A Discriminated Union Branch With Undefined Types
-
Урок 295.
00:01:05
Finding a Better Type Definition For A Mapped Component
-
Урок 296.
00:04:17
What's The Difference Between React.ReactNode and React.FC?
-
Урок 297.
00:01:21
Syncing Types without Manual Updates
-
Урок 298.
00:02:32
The `keyof typeof` Pattern
-
Урок 299.
00:01:43
The Partial Autocompletion Quirk
-
Урок 300.
00:02:19
Solving Partial Autocompletion
-
Урок 301.
00:01:25
Extracting Keys and Values from a Type
-
Урок 302.
00:05:15
Using `as const` and Indexed Access Types to Extract Keys and Values from a Type
-
Урок 303.
00:01:18
Ensuring Correct Inference for Prop Types
-
Урок 304.
00:03:37
Comparing `as const`, `as`, and `satisfies`
-
Урок 305.
00:00:54
Inference from a Single Source of Truth
-
Урок 306.
00:03:29
Understanding and Implementing Dynamic Props Mapping in React
-
Урок 307.
00:01:17
DRY out Code with Generic Type Helpers
-
Урок 308.
00:03:36
Implement a Generic Type Helper
-
Урок 309.
00:01:27
Refactoring to a Type Helper
-
Урок 310.
00:04:30
Creating an "All or Nothing" Type Helper for React props
-
Урок 311.
00:01:04
Constraining a Type Helper to Accept Specific Values
-
Урок 312.
00:03:30
Add Generic Constraints to Type Helpers
-
Урок 313.
00:01:50
Adding Type Arguments to a Hook
-
Урок 314.
00:02:56
Adding Type Arguments to a Function
-
Урок 315.
00:01:19
Wrapping a Generic Function Inside of Another
-
Урок 316.
00:04:18
Type Inference with Generic Functions in TypeScript
-
Урок 317.
00:01:46
Applying Generics to Components
-
Урок 318.
00:03:55
Add a Generic Type Argument to a Props Interface
-
Урок 319.
00:00:50
Generics in Class Components
-
Урок 320.
00:01:18
Converting a Class Component to be Generic
-
Урок 321.
00:01:49
Passing Type Arguments To Components
-
Урок 322.
00:02:18
Use the Angle Brackets Syntax to Pass a type to a Component
-
Урок 323.
00:01:17
Generic Inference through Multiple Type Helpers
-
Урок 324.
00:04:49
Adding Generic Type Arguments to Type Helpers
-
Урок 325.
00:02:36
Build a useMutation hook
-
Урок 326.
00:08:06
Refactoring a Generic Hook for Best Inference
-
Урок 327.
00:01:59
Generics vs Discriminated Unions
-
Урок 328.
00:02:12
Refactoring from Generics to a Discriminated Union
-
Урок 329.
00:00:40
Fixing Type Inference in a Custom React Hook
-
Урок 330.
00:02:12
Use 'as const' to Infer a Tuple return type
-
Урок 331.
00:01:56
Strongly Typing React Context
-
Урок 332.
00:04:18
Using Type Arguments to Create A Strongly Typed Context
-
Урок 333.
00:01:54
Using TypeScript to Manage Complex State
-
Урок 334.
00:01:21
Handling Complex State Management with TypeScript Unions
-
Урок 335.
00:01:17
Using Discriminated Unions in useState
-
Урок 336.
00:01:59
Handling Different State Values with Discriminated Unions
-
Урок 337.
00:01:23
Discriminated Tuples in Custom Hooks
-
Урок 338.
00:02:17
Improved Type Safety with Discriminated Tuples in TypeScript
-
Урок 339.
00:01:14
Use Function Overloads for Better Type Inference
-
Урок 340.
00:05:32
Overloading Functions in TypeScript
-
Урок 341.
00:00:59
Mimicking useState Behavior with Function Overloads
-
Урок 342.
00:03:47
Wrapping useState Functionality with Function Overloads
-
Урок 343.
00:01:29
Currying Hooks
-
Урок 344.
00:03:41
Inferring Type Arguments in Curried Hooks
-
Урок 345.
00:01:23
Exploring the React Namespace
-
Урок 346.
00:03:46
Understanding the React Namespace
-
Урок 347.
00:01:31
JSX.Element, React.ReactElement, and React.ReactNode
-
Урок 348.
00:06:06
Understanding React's JSX Types
-
Урок 349.
00:01:45
Strongly Typing Children in React
-
Урок 350.
00:03:08
Strongly Typing Children in React Doesn't Work
-
Урок 351.
00:01:04
Exploring JSX.IntrinsicElements
-
Урок 352.
00:02:55
Understand the Structure of React's JSX.IntrinsicElements
-
Урок 353.
00:02:35
Understanding React's ElementType and ComponentType
-
Урок 354.
00:00:31
Appending to React's Global Namespace
-
Урок 355.
00:01:04
Declaration Merging and the Global Namespace
-
Урок 356.
00:00:53
Modify Existing Interfaces in the Global React Namespace
-
Урок 357.
00:00:53
Extend the Global React namespace with Declaration Merging in TypeScript
-
Урок 358.
00:00:45
Add a New Global Element in TypeScript
-
Урок 359.
00:02:18
Extend JSX.IntrinsicElements with Declaration Merging
-
Урок 360.
00:01:17
Exploring HTML Attribute and Element Types
-
Урок 361.
00:04:40
Navigating HTMLAttribute types
-
Урок 362.
00:00:37
Add Attributes to All Elements with Declaration Merging
-
Урок 363.
00:02:28
Updating the Global Namespace for an Additional Attribute
-
Урок 364.
00:01:30
Strongly Typed Lazy Loading
-
Урок 365.
00:05:07
Strongly Typing Lazy Loaded Components with Generics
-
Урок 366.
00:01:40
Render Props
-
Урок 367.
00:02:38
Typing the Children Prop for Render Props
-
Урок 368.
00:01:37
Records of Components with the Same Props
-
Урок 369.
00:03:34
Infer Shared Props for Multiple Components
-
Урок 370.
00:06:43
The Problem With forwardRef
-
Урок 371.
00:01:03
Fixing forwardRef Locally
-
Урок 372.
00:01:58
Override forwardRef's Behavior Locally
-
Урок 373.
00:01:39
Typing Higher Order Components
-
Урок 374.
00:04:45
Implementing a Generic Higher Order Component
-
Урок 375.
00:01:34
Using Higher Order Components with Generic Components
-
Урок 376.
00:04:51
Add Generic Component Support to a Higher Order Component
-
Урок 377.
00:02:29
The `as` Prop in React
-
Урок 378.
00:07:06
Approaching the `as` Prop with IIMTs and Generics
-
Урок 379.
00:01:27
The `as` Prop with Custom Components
-
Урок 380.
00:03:17
Type Helpers for React Components
-
Урок 381.
00:01:31
The `as` Prop with Defaults
-
Урок 382.
00:05:25
Two Approaches to Defaults for the `as` Prop
-
Урок 383.
00:01:45
The `as` Prop with `forwardRef`
-
Урок 384.
00:07:38
Distributive Omit with the `as` Prop
-
Урок 385.
00:02:50
React Hook Form's Types
-
Урок 386.
00:05:43
Understanding useForm Type Declarations in React Hook Form
-
Урок 387.
00:01:28
Wrapping the useForm Hook from React Hook Form
-
Урок 388.
00:04:55
Creating a Generic Wrapper for useForm
-
Урок 389.
00:01:58
React-Select's Generics
-
Урок 390.
00:06:07
Capture and Extend React Select's Type Definitions
-
Урок 391.
00:03:05
Understanding React Query's Overloads
-
Урок 392.
00:08:01
Targeting Overloads with useQuery
-
Урок 393.
00:01:26
Wrapping useQuery
-
Урок 394.
00:05:43
Handling Type Arguments in a Custom Query Hook
Поправлены. Перезалиты все видео этого воркшопа, все ок должно быть
export type StringType = Pick["String"];
I know it turns out to be verbose, but I decided to use Pick in particular.
Could you please update it?
Thank you.
>включаешь покока(ор)
>настраиваешься, готовишься
>2 урок: "a function called my fuck"
>вырубаешь
для начала не помешало бы закончить школу и съехать жить отдельно от мамки
чтобы РАБотать?
пошел становиться полезным
Can @admin update the course?:)
Не могли бы вы обновить его, добавив новый семинар Advanced React with TypeScript?
https://www.totaltypescript.com/workshops/advanced-react-with-typescript
https://www.ardanlabs.com/training/rust/#main-courses-list
Thank you very much