Tuesday, July 26, 2022
Show HN: TypeScript query builder with full type inference https://ift.tt/AK4nVPh
Show HN: TypeScript query builder with full type inference Hey HN! Colin here - a TypeScripter, open sourcer, and engineer at EdgeDB. As the creator of Zod and tRPC, I'm interested in designing tools/APIs that use type inference and generics to make life easier for devs. This query builder represents another step in that direction. We set out to build an EdgeQL query builder that can express queries of arbitrary complexity (EdgeQL has feature parity with SQL, roughly) and infer the static type of the query result. We introspect the database and generate a schema-aware client that represent any query, including ones that use built-in functions, operators, string/array/tuple indexing, aggregations, conditionals, type casting, subqueries, computed properties, etc—things most ORMs can’t represent. This post mostly discusses the API design, which I think will be interesting regardless of familiarity with EdgeQL. I’d love to see some of these ideas bleed into future generations of TypeScript ORMs/query builders too. Best way to try it is to clone the sandbox repo and follow the instructions in the README[0]. Or jump into the docs[1]. [0] https://ift.tt/9PECIoR [1] https://ift.tt/y5JNXwr https://ift.tt/oG01TUH July 26, 2022 at 04:24PM
Subscribe to:
Post Comments (Atom)
Show HN: val – An arbitrary precision calculator language https://ift.tt/1JxjPhf
Show HN: val – An arbitrary precision calculator language Wrote this to learn more about the `chumsky` parser combinator library, rustyline,...
-
Show HN: High school robotics code/CAD/design binder release Hello HN! My name is Patrick, and I am a junior at my High School’s FRC robotic...
-
Show HN: D&D meets Siri – Interactive voice adventure Hey HN! I've been building tooling for voice-driven apps over the past few mon...
-
Show HN: I Made an AI Social Media Manager to Automate Content Creation Hey HN, I am a Solopreneur, and I love building apps to automate bor...
No comments:
Post a Comment