(db: Kysely<Database>)
| 3 | import { expectType, expectError } from 'tsd' |
| 4 | |
| 5 | async function testFromSingle(db: Kysely<Database>) { |
| 6 | // Single table |
| 7 | const [r1] = await db.selectFrom('person').selectAll().execute() |
| 8 | |
| 9 | expectType<{ |
| 10 | id: number |
| 11 | first_name: string |
| 12 | last_name: string | null |
| 13 | age: number |
| 14 | gender: 'male' | 'female' | 'other' |
| 15 | modified_at: Date |
| 16 | marital_status: 'single' | 'married' | 'divorced' | 'widowed' | null |
| 17 | deleted_at: Date | null |
| 18 | }>(r1) |
| 19 | |
| 20 | // Table with alias |
| 21 | const [r2] = await db.selectFrom('pet as p').select('p.species').execute() |
| 22 | expectType<{ species: 'dog' | 'cat' }>(r2) |
| 23 | |
| 24 | // Subquery |
| 25 | const [r3] = await db |
| 26 | .selectFrom(db.selectFrom('movie').select('movie.stars as strs').as('m')) |
| 27 | .selectAll() |
| 28 | .execute() |
| 29 | expectType<{ strs: number }>(r3) |
| 30 | |
| 31 | // Subquery factory |
| 32 | const [r4] = await db |
| 33 | .selectFrom((eb) => |
| 34 | eb.selectFrom('movie').select('movie.stars as strs').as('m'), |
| 35 | ) |
| 36 | .selectAll('m') |
| 37 | .execute() |
| 38 | expectType<{ strs: number }>(r4) |
| 39 | |
| 40 | // Subquery factory list |
| 41 | const [r4_2] = await db |
| 42 | .selectFrom([ |
| 43 | (eb) => eb.selectFrom('movie').select('movie.stars as strs').as('m'), |
| 44 | (eb) => eb.selectFrom('pet').select('id').as('p'), |
| 45 | ]) |
| 46 | .selectAll(['m', 'p']) |
| 47 | .execute() |
| 48 | expectType<{ strs: number; id: string }>(r4_2) |
| 49 | |
| 50 | // Table with schema |
| 51 | const [r5] = await db |
| 52 | .selectFrom('some_schema.movie') |
| 53 | .select('stars') |
| 54 | .execute() |
| 55 | expectType<{ stars: number }>(r5) |
| 56 | |
| 57 | // Table with schema and alias |
| 58 | const [r6] = await db |
| 59 | .selectFrom('some_schema.movie as m') |
| 60 | .select('m.stars') |
| 61 | .execute() |
| 62 | expectType<{ stars: number }>(r6) |
nothing calls this directly
no test coverage detected
searching dependent graphs…