UNPKG

kysely

Version:

Type safe SQL query builder

8 lines (7 loc) 600 B
import type { MergeQueryBuilder } from '../query-builder/merge-query-builder.js'; import type { MergeResult } from '../query-builder/merge-result.js'; import type { ShallowRecord } from '../util/type-utils.js'; import type { ExtractTableAlias, SimpleTableReference } from './table-parser.js'; export type MergeInto<DB, TE extends SimpleTableReference<DB>> = [TE] extends [ keyof DB ] ? MergeQueryBuilder<DB, ExtractTableAlias<DB, TE>, MergeResult> : [TE] extends [`${infer T} as ${infer A}`] ? T extends keyof DB ? MergeQueryBuilder<DB & ShallowRecord<A, DB[T]>, A, MergeResult> : never : never;