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

No comments:

Post a Comment

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,...