Skip to content

Commit

Permalink
chore: add test for fallback
Browse files Browse the repository at this point in the history
  • Loading branch information
avallete committed Jan 13, 2025
1 parent daa8705 commit a27eb9e
Showing 1 changed file with 31 additions and 15 deletions.
46 changes: 31 additions & 15 deletions test/select-query-parser/result.test-d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ type SelectQueryFromTableResult<
}

{
type SelectQueryFromTableResult<
type SelectQueryFromPersonalTableResult<
TableName extends keyof Database['personal']['Tables'],
Q extends string
> = GetResult<
Expand All @@ -130,22 +130,38 @@ type SelectQueryFromTableResult<
Database['personal']['Tables'][TableName]['Relationships'],
Q
>

let result: SelectQueryFromTableResult<'users', `data->bar->baz, data->en, data->bar`>
let expected: {
baz: number
en: 'ONE' | 'TWO' | 'THREE'
bar: {
// Should work with Json object accessor
{
let result: SelectQueryFromPersonalTableResult<'users', `data->bar->baz, data->en, data->bar`>
let expected: {
baz: number
en: 'ONE' | 'TWO' | 'THREE'
bar: {
baz: number
}
}
expectType<TypeEqual<typeof result, typeof expected>>(true)
}
expectType<TypeEqual<typeof result, typeof expected>>(true)

let result2: SelectQueryFromTableResult<'users', `data->bar->>baz, data->>en, data->>bar`>
let expected2: {
baz: string
en: 'ONE' | 'TWO' | 'THREE'
bar: string
// Should work with Json string accessor
{
let result: SelectQueryFromPersonalTableResult<
'users',
`data->bar->>baz, data->>en, data->>bar`
>
let expected: {
baz: string
en: 'ONE' | 'TWO' | 'THREE'
bar: string
}
expectType<TypeEqual<typeof result, typeof expected>>(true)
}
// Should fallback to defaults if unknown properties are mentionned
{
let result: SelectQueryFromPersonalTableResult<'users', `data->bar->>nope, data->neither`>
let expected: {
nope: string
neither: Json
}
expectType<TypeEqual<typeof result, typeof expected>>(true)
}
expectType<TypeEqual<typeof result2, typeof expected2>>(true)
}

0 comments on commit a27eb9e

Please sign in to comment.