Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
17 lines
935 B
Plaintext
17 lines
935 B
Plaintext
import type { ColumnType } from 'kysely';
|
|
import type { InferInsertModel, InferSelectModel, MapColumnName, Table } from "../table.js";
|
|
import type { Simplify } from "../utils.js";
|
|
export type Kyselify<T extends Table> = Simplify<{
|
|
[Key in keyof T['_']['columns'] & string as MapColumnName<Key, T['_']['columns'][Key], true>]: ColumnType<InferSelectModel<T, {
|
|
dbColumnNames: true;
|
|
}>[MapColumnName<Key, T['_']['columns'][Key], true>], MapColumnName<Key, T['_']['columns'][Key], true> extends keyof InferInsertModel<T, {
|
|
dbColumnNames: true;
|
|
}> ? InferInsertModel<T, {
|
|
dbColumnNames: true;
|
|
}>[MapColumnName<Key, T['_']['columns'][Key], true>] : never, MapColumnName<Key, T['_']['columns'][Key], true> extends keyof InferInsertModel<T, {
|
|
dbColumnNames: true;
|
|
}> ? InferInsertModel<T, {
|
|
dbColumnNames: true;
|
|
}>[MapColumnName<Key, T['_']['columns'][Key], true>] : never>;
|
|
}>;
|