@@ -6,6 +6,7 @@ import { Fetch, GenericSchema, GenericTable, GenericView } from './types'
6
6
export default class PostgrestQueryBuilder <
7
7
Schema extends GenericSchema ,
8
8
Relation extends GenericTable | GenericView ,
9
+ RelationName = unknown ,
9
10
Relationships = Relation extends { Relationships : infer R } ? R : unknown
10
11
> {
11
12
url : URL
@@ -55,7 +56,7 @@ export default class PostgrestQueryBuilder<
55
56
*/
56
57
select <
57
58
Query extends string = '*' ,
58
- ResultOne = GetResult < Schema , Relation [ 'Row' ] , Relationships , Query >
59
+ ResultOne = GetResult < Schema , Relation [ 'Row' ] , RelationName , Relationships , Query >
59
60
> (
60
61
columns ?: Query ,
61
62
{
@@ -65,7 +66,7 @@ export default class PostgrestQueryBuilder<
65
66
head ?: boolean
66
67
count ?: 'exact' | 'planned' | 'estimated'
67
68
} = { }
68
- ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , ResultOne [ ] , Relationships > {
69
+ ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , ResultOne [ ] , RelationName , Relationships > {
69
70
const method = head ? 'HEAD' : 'GET'
70
71
// Remove whitespaces except when quoted
71
72
let quoted = false
@@ -102,14 +103,14 @@ export default class PostgrestQueryBuilder<
102
103
options ?: {
103
104
count ?: 'exact' | 'planned' | 'estimated'
104
105
}
105
- ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , Relationships >
106
+ ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , RelationName , Relationships >
106
107
insert < Row extends Relation extends { Insert : unknown } ? Relation [ 'Insert' ] : never > (
107
108
values : Row [ ] ,
108
109
options ?: {
109
110
count ?: 'exact' | 'planned' | 'estimated'
110
111
defaultToNull ?: boolean
111
112
}
112
- ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , Relationships >
113
+ ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , RelationName , Relationships >
113
114
/**
114
115
* Perform an INSERT into the table or view.
115
116
*
@@ -145,7 +146,7 @@ export default class PostgrestQueryBuilder<
145
146
count ?: 'exact' | 'planned' | 'estimated'
146
147
defaultToNull ?: boolean
147
148
} = { }
148
- ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , Relationships > {
149
+ ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , RelationName , Relationships > {
149
150
const method = 'POST'
150
151
151
152
const prefersHeaders = [ ]
@@ -187,7 +188,7 @@ export default class PostgrestQueryBuilder<
187
188
ignoreDuplicates ?: boolean
188
189
count ?: 'exact' | 'planned' | 'estimated'
189
190
}
190
- ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , Relationships >
191
+ ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , RelationName , Relationships >
191
192
upsert < Row extends Relation extends { Insert : unknown } ? Relation [ 'Insert' ] : never > (
192
193
values : Row [ ] ,
193
194
options ?: {
@@ -196,7 +197,7 @@ export default class PostgrestQueryBuilder<
196
197
count ?: 'exact' | 'planned' | 'estimated'
197
198
defaultToNull ?: boolean
198
199
}
199
- ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , Relationships >
200
+ ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , RelationName , Relationships >
200
201
/**
201
202
* Perform an UPSERT on the table or view. Depending on the column(s) passed
202
203
* to `onConflict`, `.upsert()` allows you to perform the equivalent of
@@ -248,7 +249,7 @@ export default class PostgrestQueryBuilder<
248
249
count ?: 'exact' | 'planned' | 'estimated'
249
250
defaultToNull ?: boolean
250
251
} = { }
251
- ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , Relationships > {
252
+ ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , RelationName , Relationships > {
252
253
const method = 'POST'
253
254
254
255
const prefersHeaders = [ `resolution=${ ignoreDuplicates ? 'ignore' : 'merge' } -duplicates` ]
@@ -312,7 +313,7 @@ export default class PostgrestQueryBuilder<
312
313
} : {
313
314
count ?: 'exact' | 'planned' | 'estimated'
314
315
} = { }
315
- ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , Relationships > {
316
+ ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , RelationName , Relationships > {
316
317
const method = 'PATCH'
317
318
const prefersHeaders = [ ]
318
319
if ( this . headers [ 'Prefer' ] ) {
@@ -357,7 +358,7 @@ export default class PostgrestQueryBuilder<
357
358
count,
358
359
} : {
359
360
count ?: 'exact' | 'planned' | 'estimated'
360
- } = { } ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , Relationships > {
361
+ } = { } ) : PostgrestFilterBuilder < Schema , Relation [ 'Row' ] , null , RelationName , Relationships > {
361
362
const method = 'DELETE'
362
363
const prefersHeaders = [ ]
363
364
if ( count ) {
0 commit comments