Kysely makes sure you only refer to tables and columns that are visible to the part of the query you're writing. The result type only has the selected columns with correct types and aliases. As an added bonus you get autocompletion for all that stuff.
As shown in the gif above, through the pure magic of modern typescript, Kysely is even able to parse
the alias given to
pet.name and add the
pet_name column to the result row type. Kysely is able to infer
column names, aliases and types from selected subqueries, joined subqueries,
with statements and pretty
much anything you can think of.
All API documentation is written in the typing files and you can simply hover over the module, class or method you're using to see it in your IDE. The same documentation is also hosted here.
If you start using Kysely and can't find something you'd want to use, please open an issue or join our discord server.
Please visit our documentation site kysely.dev to get started. We also have a comprehensive API documentation hosted here but you can access the same documentation in your IDE by hovering over a class/method/property/whatever.
Want to contribute? Check out our contribution guidelines.