TypeScript.fm - The Friendly Show for TypeScript Developers

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


Listen Later

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

    • ArkType.io
    • ArkType Discord
    • ArkType GitHub
    • @ark/attest testing library

    Where to Follow David

    • David on BlueSky
    • ArkType on BlueSky

    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)

    ...more
    View all episodesView all episodes
    Download on the App Store

    TypeScript.fm - The Friendly Show for TypeScript DevelopersBy Kamran Ayub and Erik Onarheim

    • 4.8
    • 4.8
    • 4.8
    • 4.8
    • 4.8

    4.8

    5 ratings


    More shows like TypeScript.fm - The Friendly Show for TypeScript Developers

    View all
    Freakonomics Radio by Freakonomics Radio + Stitcher

    Freakonomics Radio

    32,006 Listeners

    Hanselminutes with Scott Hanselman by Scott Hanselman

    Hanselminutes with Scott Hanselman

    383 Listeners

    The Changelog: Software Development, Open Source by Changelog Media

    The Changelog: Software Development, Open Source

    289 Listeners

    Software Engineering Daily by Software Engineering Daily

    Software Engineering Daily

    626 Listeners

    Soft Skills Engineering by Jamison Dance and Dave Smith

    Soft Skills Engineering

    289 Listeners

    Cortex by Relay

    Cortex

    1,282 Listeners

    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

    Syntax - Tasty Web Development Treats

    988 Listeners

    REWORK by 37signals

    REWORK

    210 Listeners

    .NET Rocks! by Carl Franklin and Richard Campbell

    .NET Rocks!

    244 Listeners

    The Stack Overflow Podcast by The Stack Overflow Podcast

    The Stack Overflow Podcast

    64 Listeners

    Dwarkesh Podcast by Dwarkesh Patel

    Dwarkesh Podcast

    511 Listeners

    PodRocket by LogRocket

    PodRocket

    60 Listeners

    The Ezra Klein Show by New York Times Opinion

    The Ezra Klein Show

    15,938 Listeners

    Oxide and Friends by Oxide Computer Company

    Oxide and Friends

    62 Listeners

    The Pragmatic Engineer by Gergely Orosz

    The Pragmatic Engineer

    64 Listeners