@@ -120,7 +120,7 @@ type SelectQueryFromTableResult<
120
120
}
121
121
122
122
{
123
- type SelectQueryFromTableResult <
123
+ type SelectQueryFromPersonalTableResult <
124
124
TableName extends keyof Database [ 'personal' ] [ 'Tables' ] ,
125
125
Q extends string
126
126
> = GetResult <
@@ -130,22 +130,38 @@ type SelectQueryFromTableResult<
130
130
Database [ 'personal' ] [ 'Tables' ] [ TableName ] [ 'Relationships' ] ,
131
131
Q
132
132
>
133
-
134
- let result : SelectQueryFromTableResult < 'users' , `data->bar->baz, data->en, data->bar`>
135
- let expected : {
136
- baz : number
137
- en : 'ONE' | 'TWO' | 'THREE'
138
- bar : {
133
+ // Should work with Json object accessor
134
+ {
135
+ let result : SelectQueryFromPersonalTableResult < 'users' , `data->bar->baz, data->en, data->bar`>
136
+ let expected : {
139
137
baz : number
138
+ en : 'ONE' | 'TWO' | 'THREE'
139
+ bar : {
140
+ baz : number
141
+ }
140
142
}
143
+ expectType < TypeEqual < typeof result , typeof expected > > ( true )
141
144
}
142
- expectType < TypeEqual < typeof result , typeof expected > > ( true )
143
-
144
- let result2 : SelectQueryFromTableResult < 'users' , `data->bar->>baz, data->>en, data->>bar`>
145
- let expected2 : {
146
- baz : string
147
- en : 'ONE' | 'TWO' | 'THREE'
148
- bar : string
145
+ // Should work with Json string accessor
146
+ {
147
+ let result : SelectQueryFromPersonalTableResult <
148
+ 'users' ,
149
+ `data->bar->>baz, data->>en, data->>bar`
150
+ >
151
+ let expected : {
152
+ baz : string
153
+ en : 'ONE' | 'TWO' | 'THREE'
154
+ bar : string
155
+ }
156
+ expectType < TypeEqual < typeof result , typeof expected > > ( true )
157
+ }
158
+ // Should fallback to defaults if unknown properties are mentionned
159
+ {
160
+ let result : SelectQueryFromPersonalTableResult < 'users' , `data->bar->>nope, data->neither`>
161
+ let expected : {
162
+ nope : string
163
+ neither : Json
164
+ }
165
+ expectType < TypeEqual < typeof result , typeof expected > > ( true )
149
166
}
150
- expectType < TypeEqual < typeof result2 , typeof expected2 > > ( true )
151
167
}
0 commit comments