Artwork

Innhold levert av Erik Onarheim and Kamran Ayub. Alt podcastinnhold, inkludert episoder, grafikk og podcastbeskrivelser, lastes opp og leveres direkte av Erik Onarheim and Kamran Ayub eller deres podcastplattformpartner. Hvis du tror at noen bruker det opphavsrettsbeskyttede verket ditt uten din tillatelse, kan du følge prosessen skissert her https://no.player.fm/legal.
Player FM - Podcast-app
Gå frakoblet med Player FM -appen!

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

1:09:53
 
Del
 

Manage episode 507094297 series 3642378
Innhold levert av Erik Onarheim and Kamran Ayub. Alt podcastinnhold, inkludert episoder, grafikk og podcastbeskrivelser, lastes opp og leveres direkte av Erik Onarheim and Kamran Ayub eller deres podcastplattformpartner. Hvis du tror at noen bruker det opphavsrettsbeskyttede verket ditt uten din tillatelse, kan du følge prosessen skissert her https://no.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

54 episoder

Artwork
iconDel
 
Manage episode 507094297 series 3642378
Innhold levert av Erik Onarheim and Kamran Ayub. Alt podcastinnhold, inkludert episoder, grafikk og podcastbeskrivelser, lastes opp og leveres direkte av Erik Onarheim and Kamran Ayub eller deres podcastplattformpartner. Hvis du tror at noen bruker det opphavsrettsbeskyttede verket ditt uten din tillatelse, kan du følge prosessen skissert her https://no.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

54 episoder

ทุกตอน

×
 
Loading …

Velkommen til Player FM!

Player FM scanner netter for høykvalitets podcaster som du kan nyte nå. Det er den beste podcastappen og fungerer på Android, iPhone og internett. Registrer deg for å synkronisere abonnement på flere enheter.

 

Hurtigreferanseguide

Copyright 2025 | Personvern | Vilkår for bruk | | opphavsrett
Lytt til dette showet mens du utforsker
Spill