Earlier quoted context omitted.
If you use it with kysely-codegen, it generates the types from your DB schema, guaranteeing they match. And the strings are verified at compile time - you can’t typo a table name, field name, etc., it won’t compile. Plus, from an ergonomics POV, it integrates very well with auto-complete. It’s very typesafe IMO, more so than most libs that interact with the the DB, where you hand-define the schemas and can more easil…
I didn't go deep into the docs, but the 'movie' on the homepage clearly shows string-based field name mappings so I instantly saw that as a red flag... Nice to know it's implemented better though.
Typescript: https://www.typescriptlang.org/docs/handbook/literal-types.h...
Scala: https://docs.scala-lang.org/sips/42.type.html
Typescript goes a step further has has things like template literal types: https://www.typescriptlang.org/docs/handbook/2/template-lite...
They are a little bit more than string mappings, and the mapping you do see is all codegen generated from the DB schema.