Artwork

Erik Onarheim and Kamran Ayub에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Erik Onarheim and Kamran Ayub 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.
Player FM -팟 캐스트 앱
Player FM 앱으로 오프라인으로 전환하세요!

ArkType is TypeScript's 1:1 Validator | David Blass | Ep 35B

1:09:53
 
공유
 

Manage episode 507094297 series 3642378
Erik Onarheim and Kamran Ayub에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Erik Onarheim and Kamran Ayub 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.

David Blass (@ssalbdivad.dev) teaches the two fools about ArkType and its 1:1 validator type system. If you, like us, thought ArkType was only about validation, think again! David pulls back the curtain on what makes ArkType unique, how he built a type-level parser to provide helpful error messages, and why ArkType can provide soundness guarantees that go beyond even what vanilla TypeScript can offer. *waves hand* These are the array intersections you're looking for.

Chapters

  • (00:00) - Introducing David Blass
  • (02:39) - ArkType vs. Zod
  • (04:28) - ArkType's Differences
  • (06:21) - Defining ArkType Types
  • (10:33) - Matching TypeScript's Syntax
  • (14:24) - Detailed Editor-time Errors
  • (17:14) - Type-level Testing with attest
  • (18:26) - Runtime Error Checking
  • (21:05) - Generating JIT-optimized Code
  • (27:27) - Benchmarking ArkType's Performance
  • (29:41) - Optimizing the Parser for ArkType Types
  • (32:13) - Tips for Optimizing TypeScript Types
  • (38:12) - Type Mapping API
  • (40:20) - Set-based APIs
  • (43:15) - Typing Array and Tuple Intersections
  • (45:57) - ArkType's Internal Type System
  • (49:01) - Serializing Types to JSON
  • (50:09) - Porting Enhancements to TypeScript
  • (51:55) - Compatibility with Standard Schema Spec
  • (57:15) - Introspecting ArkType Types
  • (01:00:10) - Use Cases for ArkType
  • (01:03:34) - What's Next for ArkType?
  • (01:05:59) - Getting Started with ArkType
  • (01:07:56) - Where to Follow David

Resources

Where to Follow David

Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.

Music
Seahorse Dreams by Kubbi (Spotify)

  continue reading

43 에피소드

Artwork
icon공유
 
Manage episode 507094297 series 3642378
Erik Onarheim and Kamran Ayub에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Erik Onarheim and Kamran Ayub 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.

David Blass (@ssalbdivad.dev) teaches the two fools about ArkType and its 1:1 validator type system. If you, like us, thought ArkType was only about validation, think again! David pulls back the curtain on what makes ArkType unique, how he built a type-level parser to provide helpful error messages, and why ArkType can provide soundness guarantees that go beyond even what vanilla TypeScript can offer. *waves hand* These are the array intersections you're looking for.

Chapters

  • (00:00) - Introducing David Blass
  • (02:39) - ArkType vs. Zod
  • (04:28) - ArkType's Differences
  • (06:21) - Defining ArkType Types
  • (10:33) - Matching TypeScript's Syntax
  • (14:24) - Detailed Editor-time Errors
  • (17:14) - Type-level Testing with attest
  • (18:26) - Runtime Error Checking
  • (21:05) - Generating JIT-optimized Code
  • (27:27) - Benchmarking ArkType's Performance
  • (29:41) - Optimizing the Parser for ArkType Types
  • (32:13) - Tips for Optimizing TypeScript Types
  • (38:12) - Type Mapping API
  • (40:20) - Set-based APIs
  • (43:15) - Typing Array and Tuple Intersections
  • (45:57) - ArkType's Internal Type System
  • (49:01) - Serializing Types to JSON
  • (50:09) - Porting Enhancements to TypeScript
  • (51:55) - Compatibility with Standard Schema Spec
  • (57:15) - Introspecting ArkType Types
  • (01:00:10) - Use Cases for ArkType
  • (01:03:34) - What's Next for ArkType?
  • (01:05:59) - Getting Started with ArkType
  • (01:07:56) - Where to Follow David

Resources

Where to Follow David

Sponsored by Excalibur.js
Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.

Music
Seahorse Dreams by Kubbi (Spotify)

  continue reading

43 에피소드

모든 에피소드

×
 
Loading …

플레이어 FM에 오신것을 환영합니다!

플레이어 FM은 웹에서 고품질 팟캐스트를 검색하여 지금 바로 즐길 수 있도록 합니다. 최고의 팟캐스트 앱이며 Android, iPhone 및 웹에서도 작동합니다. 장치 간 구독 동기화를 위해 가입하세요.

 

빠른 참조 가이드

탐색하는 동안 이 프로그램을 들어보세요.
재생