News for hackers. Stuff that matters.
Re:Show HN: Kysely, a type-safe SQL query builder for TypeSc... by bzzzt on Wednesday June 21, 2023 @10:57AM (#36419311)
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.

Re:Show HN: Kysely, a type-safe SQL query builder for TypeSc... by johnfn on Wednesday June 21, 2023 @11:27AM (#36419765)
TypeScript allows strongly typed string constants. It's actually not a red flag, it's just idiomatic TypeScript.
Re:Show HN: Kysely, a type-safe SQL query builder for TypeSc... by yashap on Wednesday June 21, 2023 @11:21AM (#36419674)
Yeah, TS has a very flexible/powerful type system. You can have a type like ‘full_name’, that can only be that exact string, or a type like ‘full_name’ | ‘id’ | ‘email’, that can only be those 3 strings, etc. Kysely takes advantage of those sorts of types.
Re:Show HN: Kysely, a type-safe SQL query builder for TypeSc... by thangngoc89 on Wednesday June 21, 2023 @11:26AM (#36419760)
It’s a string but TS is crazily powerful. The generated types would verify it’s the correct string says like table_name and the columns name also matches with table_name.
Re:Show HN: Kysely, a type-safe SQL query builder for TypeSc... by a_humean on Wednesday June 21, 2023 @12:41PM (#36420898)
These are literal string types. Its a feature of at least two languages that I know of:

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.