@supabase/postgrest-js 1.0.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/main/PostgrestBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestBuilder.js +17 -3
- package/dist/main/PostgrestBuilder.js.map +1 -1
- package/dist/main/PostgrestClient.d.ts +4 -9
- package/dist/main/PostgrestClient.d.ts.map +1 -1
- package/dist/main/PostgrestClient.js +5 -0
- package/dist/main/PostgrestClient.js.map +1 -1
- package/dist/main/PostgrestFilterBuilder.d.ts +2 -171
- package/dist/main/PostgrestFilterBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestFilterBuilder.js +170 -0
- package/dist/main/PostgrestFilterBuilder.js.map +1 -1
- package/dist/main/PostgrestQueryBuilder.d.ts +8 -8
- package/dist/main/PostgrestQueryBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestQueryBuilder.js.map +1 -1
- package/dist/main/PostgrestTransformBuilder.d.ts +9 -19
- package/dist/main/PostgrestTransformBuilder.d.ts.map +1 -1
- package/dist/main/PostgrestTransformBuilder.js +24 -0
- package/dist/main/PostgrestTransformBuilder.js.map +1 -1
- package/dist/main/select-query-parser.d.ts +31 -21
- package/dist/main/select-query-parser.d.ts.map +1 -1
- package/dist/main/version.d.ts +1 -1
- package/dist/main/version.js +1 -1
- package/dist/module/PostgrestBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestBuilder.js +17 -3
- package/dist/module/PostgrestBuilder.js.map +1 -1
- package/dist/module/PostgrestClient.d.ts +4 -9
- package/dist/module/PostgrestClient.d.ts.map +1 -1
- package/dist/module/PostgrestClient.js +5 -0
- package/dist/module/PostgrestClient.js.map +1 -1
- package/dist/module/PostgrestFilterBuilder.d.ts +2 -171
- package/dist/module/PostgrestFilterBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestFilterBuilder.js +170 -0
- package/dist/module/PostgrestFilterBuilder.js.map +1 -1
- package/dist/module/PostgrestQueryBuilder.d.ts +8 -8
- package/dist/module/PostgrestQueryBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestQueryBuilder.js.map +1 -1
- package/dist/module/PostgrestTransformBuilder.d.ts +9 -19
- package/dist/module/PostgrestTransformBuilder.d.ts.map +1 -1
- package/dist/module/PostgrestTransformBuilder.js +24 -0
- package/dist/module/PostgrestTransformBuilder.js.map +1 -1
- package/dist/module/select-query-parser.d.ts +31 -21
- package/dist/module/select-query-parser.d.ts.map +1 -1
- package/dist/module/version.d.ts +1 -1
- package/dist/module/version.js +1 -1
- package/package.json +8 -4
- package/src/PostgrestBuilder.ts +16 -2
- package/src/PostgrestClient.ts +11 -10
- package/src/PostgrestFilterBuilder.ts +75 -73
- package/src/PostgrestQueryBuilder.ts +11 -11
- package/src/PostgrestTransformBuilder.ts +27 -12
- package/src/select-query-parser.ts +40 -22
- package/src/version.ts +1 -1
|
@@ -5,42 +5,110 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const PostgrestTransformBuilder_1 = __importDefault(require("./PostgrestTransformBuilder"));
|
|
7
7
|
class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
|
|
8
|
+
/**
|
|
9
|
+
* Match only rows where `column` is equal to `value`.
|
|
10
|
+
*
|
|
11
|
+
* To check if the value of `column` is NULL, you should use `.is()` instead.
|
|
12
|
+
*
|
|
13
|
+
* @param column - The column to filter on
|
|
14
|
+
* @param value - The value to filter with
|
|
15
|
+
*/
|
|
8
16
|
eq(column, value) {
|
|
9
17
|
this.url.searchParams.append(column, `eq.${value}`);
|
|
10
18
|
return this;
|
|
11
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Match only rows where `column` is not equal to `value`.
|
|
22
|
+
*
|
|
23
|
+
* @param column - The column to filter on
|
|
24
|
+
* @param value - The value to filter with
|
|
25
|
+
*/
|
|
12
26
|
neq(column, value) {
|
|
13
27
|
this.url.searchParams.append(column, `neq.${value}`);
|
|
14
28
|
return this;
|
|
15
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Match only rows where `column` is greater than `value`.
|
|
32
|
+
*
|
|
33
|
+
* @param column - The column to filter on
|
|
34
|
+
* @param value - The value to filter with
|
|
35
|
+
*/
|
|
16
36
|
gt(column, value) {
|
|
17
37
|
this.url.searchParams.append(column, `gt.${value}`);
|
|
18
38
|
return this;
|
|
19
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Match only rows where `column` is greater than or equal to `value`.
|
|
42
|
+
*
|
|
43
|
+
* @param column - The column to filter on
|
|
44
|
+
* @param value - The value to filter with
|
|
45
|
+
*/
|
|
20
46
|
gte(column, value) {
|
|
21
47
|
this.url.searchParams.append(column, `gte.${value}`);
|
|
22
48
|
return this;
|
|
23
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Match only rows where `column` is less than `value`.
|
|
52
|
+
*
|
|
53
|
+
* @param column - The column to filter on
|
|
54
|
+
* @param value - The value to filter with
|
|
55
|
+
*/
|
|
24
56
|
lt(column, value) {
|
|
25
57
|
this.url.searchParams.append(column, `lt.${value}`);
|
|
26
58
|
return this;
|
|
27
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Match only rows where `column` is less than or equal to `value`.
|
|
62
|
+
*
|
|
63
|
+
* @param column - The column to filter on
|
|
64
|
+
* @param value - The value to filter with
|
|
65
|
+
*/
|
|
28
66
|
lte(column, value) {
|
|
29
67
|
this.url.searchParams.append(column, `lte.${value}`);
|
|
30
68
|
return this;
|
|
31
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Match only rows where `column` matches `pattern` case-sensitively.
|
|
72
|
+
*
|
|
73
|
+
* @param column - The column to filter on
|
|
74
|
+
* @param pattern - The pattern to match with
|
|
75
|
+
*/
|
|
32
76
|
like(column, pattern) {
|
|
33
77
|
this.url.searchParams.append(column, `like.${pattern}`);
|
|
34
78
|
return this;
|
|
35
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Match only rows where `column` matches `pattern` case-insensitively.
|
|
82
|
+
*
|
|
83
|
+
* @param column - The column to filter on
|
|
84
|
+
* @param pattern - The pattern to match with
|
|
85
|
+
*/
|
|
36
86
|
ilike(column, pattern) {
|
|
37
87
|
this.url.searchParams.append(column, `ilike.${pattern}`);
|
|
38
88
|
return this;
|
|
39
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Match only rows where `column` IS `value`.
|
|
92
|
+
*
|
|
93
|
+
* For non-boolean columns, this is only relevant for checking if the value of
|
|
94
|
+
* `column` is NULL by setting `value` to `null`.
|
|
95
|
+
*
|
|
96
|
+
* For boolean columns, you can also set `value` to `true` or `false` and it
|
|
97
|
+
* will behave the same way as `.eq()`.
|
|
98
|
+
*
|
|
99
|
+
* @param column - The column to filter on
|
|
100
|
+
* @param value - The value to filter with
|
|
101
|
+
*/
|
|
40
102
|
is(column, value) {
|
|
41
103
|
this.url.searchParams.append(column, `is.${value}`);
|
|
42
104
|
return this;
|
|
43
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Match only rows where `column` is included in the `values` array.
|
|
108
|
+
*
|
|
109
|
+
* @param column - The column to filter on
|
|
110
|
+
* @param values - The values array to filter with
|
|
111
|
+
*/
|
|
44
112
|
in(column, values) {
|
|
45
113
|
const cleanedValues = values
|
|
46
114
|
.map((s) => {
|
|
@@ -55,6 +123,13 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
|
|
|
55
123
|
this.url.searchParams.append(column, `in.(${cleanedValues})`);
|
|
56
124
|
return this;
|
|
57
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Only relevant for jsonb, array, and range columns. Match only rows where
|
|
128
|
+
* `column` contains every element appearing in `value`.
|
|
129
|
+
*
|
|
130
|
+
* @param column - The jsonb, array, or range column to filter on
|
|
131
|
+
* @param value - The jsonb, array, or range value to filter with
|
|
132
|
+
*/
|
|
58
133
|
contains(column, value) {
|
|
59
134
|
if (typeof value === 'string') {
|
|
60
135
|
// range types can be inclusive '[', ']' or exclusive '(', ')' so just
|
|
@@ -71,6 +146,13 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
|
|
|
71
146
|
}
|
|
72
147
|
return this;
|
|
73
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Only relevant for jsonb, array, and range columns. Match only rows where
|
|
151
|
+
* every element appearing in `column` is contained by `value`.
|
|
152
|
+
*
|
|
153
|
+
* @param column - The jsonb, array, or range column to filter on
|
|
154
|
+
* @param value - The jsonb, array, or range value to filter with
|
|
155
|
+
*/
|
|
74
156
|
containedBy(column, value) {
|
|
75
157
|
if (typeof value === 'string') {
|
|
76
158
|
// range
|
|
@@ -86,26 +168,71 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
|
|
|
86
168
|
}
|
|
87
169
|
return this;
|
|
88
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Only relevant for range columns. Match only rows where every element in
|
|
173
|
+
* `column` is greater than any element in `range`.
|
|
174
|
+
*
|
|
175
|
+
* @param column - The range column to filter on
|
|
176
|
+
* @param range - The range to filter with
|
|
177
|
+
*/
|
|
89
178
|
rangeGt(column, range) {
|
|
90
179
|
this.url.searchParams.append(column, `sr.${range}`);
|
|
91
180
|
return this;
|
|
92
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Only relevant for range columns. Match only rows where every element in
|
|
184
|
+
* `column` is either contained in `range` or greater than any element in
|
|
185
|
+
* `range`.
|
|
186
|
+
*
|
|
187
|
+
* @param column - The range column to filter on
|
|
188
|
+
* @param range - The range to filter with
|
|
189
|
+
*/
|
|
93
190
|
rangeGte(column, range) {
|
|
94
191
|
this.url.searchParams.append(column, `nxl.${range}`);
|
|
95
192
|
return this;
|
|
96
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Only relevant for range columns. Match only rows where every element in
|
|
196
|
+
* `column` is less than any element in `range`.
|
|
197
|
+
*
|
|
198
|
+
* @param column - The range column to filter on
|
|
199
|
+
* @param range - The range to filter with
|
|
200
|
+
*/
|
|
97
201
|
rangeLt(column, range) {
|
|
98
202
|
this.url.searchParams.append(column, `sl.${range}`);
|
|
99
203
|
return this;
|
|
100
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Only relevant for range columns. Match only rows where every element in
|
|
207
|
+
* `column` is either contained in `range` or less than any element in
|
|
208
|
+
* `range`.
|
|
209
|
+
*
|
|
210
|
+
* @param column - The range column to filter on
|
|
211
|
+
* @param range - The range to filter with
|
|
212
|
+
*/
|
|
101
213
|
rangeLte(column, range) {
|
|
102
214
|
this.url.searchParams.append(column, `nxr.${range}`);
|
|
103
215
|
return this;
|
|
104
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Only relevant for range columns. Match only rows where `column` is
|
|
219
|
+
* mutually exclusive to `range` and there can be no element between the two
|
|
220
|
+
* ranges.
|
|
221
|
+
*
|
|
222
|
+
* @param column - The range column to filter on
|
|
223
|
+
* @param range - The range to filter with
|
|
224
|
+
*/
|
|
105
225
|
rangeAdjacent(column, range) {
|
|
106
226
|
this.url.searchParams.append(column, `adj.${range}`);
|
|
107
227
|
return this;
|
|
108
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Only relevant for array and range columns. Match only rows where
|
|
231
|
+
* `column` and `value` have an element in common.
|
|
232
|
+
*
|
|
233
|
+
* @param column - The array or range column to filter on
|
|
234
|
+
* @param value - The array or range value to filter with
|
|
235
|
+
*/
|
|
109
236
|
overlaps(column, value) {
|
|
110
237
|
if (typeof value === 'string') {
|
|
111
238
|
// range
|
|
@@ -117,6 +244,16 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
|
|
|
117
244
|
}
|
|
118
245
|
return this;
|
|
119
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Only relevant for text and tsvector columns. Match only rows where
|
|
249
|
+
* `column` matches the query string in `query`.
|
|
250
|
+
*
|
|
251
|
+
* @param column - The text or tsvector column to filter on
|
|
252
|
+
* @param query - The query text to match with
|
|
253
|
+
* @param options - Named parameters
|
|
254
|
+
* @param options.config - The text search configuration to use
|
|
255
|
+
* @param options.type - Change how the `query` text is interpreted
|
|
256
|
+
*/
|
|
120
257
|
textSearch(column, query, { config, type } = {}) {
|
|
121
258
|
let typePart = '';
|
|
122
259
|
if (type === 'plain') {
|
|
@@ -132,12 +269,32 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
|
|
|
132
269
|
this.url.searchParams.append(column, `${typePart}fts${configPart}.${query}`);
|
|
133
270
|
return this;
|
|
134
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Match only rows where each column in `query` keys is equal to its
|
|
274
|
+
* associated value. Shorthand for multiple `.eq()`s.
|
|
275
|
+
*
|
|
276
|
+
* @param query - The object to filter with, with column names as keys mapped
|
|
277
|
+
* to their filter values
|
|
278
|
+
*/
|
|
135
279
|
match(query) {
|
|
136
280
|
Object.entries(query).forEach(([column, value]) => {
|
|
137
281
|
this.url.searchParams.append(column, `eq.${value}`);
|
|
138
282
|
});
|
|
139
283
|
return this;
|
|
140
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* Match only rows which doesn't satisfy the filter.
|
|
287
|
+
*
|
|
288
|
+
* Unlike most filters, `opearator` and `value` are used as-is and need to
|
|
289
|
+
* follow [PostgREST
|
|
290
|
+
* syntax](https://postgrest.org/en/stable/api.html#operators). You also need
|
|
291
|
+
* to make sure they are properly sanitized.
|
|
292
|
+
*
|
|
293
|
+
* @param column - The column to filter on
|
|
294
|
+
* @param operator - The operator to be negated to filter with, following
|
|
295
|
+
* PostgREST syntax
|
|
296
|
+
* @param value - The value to filter with, following PostgREST syntax
|
|
297
|
+
*/
|
|
141
298
|
not(column, operator, value) {
|
|
142
299
|
this.url.searchParams.append(column, `not.${operator}.${value}`);
|
|
143
300
|
return this;
|
|
@@ -160,6 +317,19 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
|
|
|
160
317
|
this.url.searchParams.append(key, `(${filters})`);
|
|
161
318
|
return this;
|
|
162
319
|
}
|
|
320
|
+
/**
|
|
321
|
+
* Match only rows which satisfy the filter. This is an escape hatch - you
|
|
322
|
+
* should use the specific filter methods wherever possible.
|
|
323
|
+
*
|
|
324
|
+
* Unlike most filters, `opearator` and `value` are used as-is and need to
|
|
325
|
+
* follow [PostgREST
|
|
326
|
+
* syntax](https://postgrest.org/en/stable/api.html#operators). You also need
|
|
327
|
+
* to make sure they are properly sanitized.
|
|
328
|
+
*
|
|
329
|
+
* @param column - The column to filter on
|
|
330
|
+
* @param operator - The operator to filter with, following PostgREST syntax
|
|
331
|
+
* @param value - The value to filter with, following PostgREST syntax
|
|
332
|
+
*/
|
|
163
333
|
filter(column, operator, value) {
|
|
164
334
|
this.url.searchParams.append(column, `${operator}.${value}`);
|
|
165
335
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestFilterBuilder.js","sourceRoot":"","sources":["../../src/PostgrestFilterBuilder.ts"],"names":[],"mappings":";;;;;AAAA,4FAAmE;
|
|
1
|
+
{"version":3,"file":"PostgrestFilterBuilder.js","sourceRoot":"","sources":["../../src/PostgrestFilterBuilder.ts"],"names":[],"mappings":";;;;;AAAA,4FAAmE;AA2BnE,MAAqB,sBAInB,SAAQ,mCAA8C;IAGtD;;;;;;;OAOG;IACH,EAAE,CAAC,MAAc,EAAE,KAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;OAKG;IACH,GAAG,CAAC,MAAc,EAAE,KAAc;QAChC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;OAKG;IACH,EAAE,CAAC,MAAc,EAAE,KAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;OAKG;IACH,GAAG,CAAC,MAAc,EAAE,KAAc;QAChC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;OAKG;IACH,EAAE,CAAC,MAAc,EAAE,KAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;OAKG;IACH,GAAG,CAAC,MAAc,EAAE,KAAc;QAChC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;OAKG;IACH,IAAI,CAAC,MAAc,EAAE,OAAe;QAClC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,OAAO,EAAE,CAAC,CAAA;QACvD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;OAKG;IACH,KAAK,CAAC,MAAc,EAAE,OAAe;QACnC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACb,CAAC;IAOD;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,MAAc,EAAE,KAAqB;QACtC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;OAKG;IACH,EAAE,CAAC,MAAc,EAAE,MAAiB;QAClC,MAAM,aAAa,GAAG,MAAM;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,uCAAuC;YACvC,+DAA+D;YAC/D,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAA;;gBACpE,OAAO,GAAG,CAAC,EAAE,CAAA;QACpB,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,aAAa,GAAG,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC;IAOD;;;;;;OAMG;IACH,QAAQ,CAAC,MAAc,EAAE,KAAmD;QAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,sEAAsE;YACtE,qCAAqC;YACrC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;SACpD;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,QAAQ;YACR,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAChE;aAAM;YACL,OAAO;YACP,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;SACpE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAOD;;;;;;OAMG;IACH,WAAW,CAAC,MAAc,EAAE,KAAmD;QAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,QAAQ;YACR,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;SACpD;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,QAAQ;YACR,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAChE;aAAM;YACL,OAAO;YACP,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;SACpE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;;OAMG;IACH,OAAO,CAAC,MAAc,EAAE,KAAa;QACnC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAc,EAAE,KAAa;QACpC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;;OAMG;IACH,OAAO,CAAC,MAAc,EAAE,KAAa;QACnC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAc,EAAE,KAAa;QACpC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;;;OAOG;IACH,aAAa,CAAC,MAAc,EAAE,KAAa;QACzC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAOD;;;;;;OAMG;IACH,QAAQ,CAAC,MAAc,EAAE,KAAyB;QAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,QAAQ;YACR,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;SACpD;aAAM;YACL,QAAQ;YACR,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAChE;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAYD;;;;;;;;;OASG;IACH,UAAU,CACR,MAAc,EACd,KAAa,EACb,EAAE,MAAM,EAAE,IAAI,KAAmE,EAAE;QAEnF,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,QAAQ,GAAG,IAAI,CAAA;SAChB;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAA;SAChB;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE;YAC/B,QAAQ,GAAG,GAAG,CAAA;SACf;QACD,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAA;QAC5D,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC,CAAA;QAC5E,OAAO,IAAI,CAAA;IACb,CAAC;IAID;;;;;;OAMG;IACH,KAAK,CAAC,KAA8B;QAClC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAA;QACrD,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAQD;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAc;QAClD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAA;QAChE,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,EAAE,CAAC,OAAe,EAAE,EAAE,YAAY,KAAgC,EAAE;QAClE,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACtD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,OAAO,GAAG,CAAC,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAQD;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAc;QACrD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAvaD,yCAuaC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import PostgrestFilterBuilder from './PostgrestFilterBuilder';
|
|
2
2
|
import { GetResult } from './select-query-parser';
|
|
3
|
-
import { Fetch, GenericTable, GenericView } from './types';
|
|
4
|
-
export default class PostgrestQueryBuilder<Relation extends GenericTable | GenericView> {
|
|
3
|
+
import { Fetch, GenericSchema, GenericTable, GenericView } from './types';
|
|
4
|
+
export default class PostgrestQueryBuilder<Schema extends GenericSchema, Relation extends GenericTable | GenericView> {
|
|
5
5
|
url: URL;
|
|
6
6
|
headers: Record<string, string>;
|
|
7
7
|
schema?: string;
|
|
@@ -33,10 +33,10 @@ export default class PostgrestQueryBuilder<Relation extends GenericTable | Gener
|
|
|
33
33
|
* `"estimated"`: Uses exact count for low numbers and planned count for high
|
|
34
34
|
* numbers.
|
|
35
35
|
*/
|
|
36
|
-
select<Query extends string = '*', Result = GetResult<Relation['Row'], Query
|
|
36
|
+
select<Query extends string = '*', Result = GetResult<Schema, Relation['Row'], Query>>(columns?: Query, { head, count, }?: {
|
|
37
37
|
head?: boolean;
|
|
38
38
|
count?: 'exact' | 'planned' | 'estimated';
|
|
39
|
-
}): PostgrestFilterBuilder<Relation['Row'], Result>;
|
|
39
|
+
}): PostgrestFilterBuilder<Schema, Relation['Row'], Result>;
|
|
40
40
|
/**
|
|
41
41
|
* Perform an INSERT into the table or view.
|
|
42
42
|
*
|
|
@@ -63,7 +63,7 @@ export default class PostgrestQueryBuilder<Relation extends GenericTable | Gener
|
|
|
63
63
|
Insert: unknown;
|
|
64
64
|
} ? Relation['Insert'] : never>(values: Row | Row[], { count, }?: {
|
|
65
65
|
count?: 'exact' | 'planned' | 'estimated';
|
|
66
|
-
}): PostgrestFilterBuilder<Relation['Row'], undefined>;
|
|
66
|
+
}): PostgrestFilterBuilder<Schema, Relation['Row'], undefined>;
|
|
67
67
|
/**
|
|
68
68
|
* Perform an UPSERT on the table or view. Depending on the column(s) passed
|
|
69
69
|
* to `onConflict`, `.upsert()` allows you to perform the equivalent of
|
|
@@ -103,7 +103,7 @@ export default class PostgrestQueryBuilder<Relation extends GenericTable | Gener
|
|
|
103
103
|
onConflict?: string;
|
|
104
104
|
ignoreDuplicates?: boolean;
|
|
105
105
|
count?: 'exact' | 'planned' | 'estimated';
|
|
106
|
-
}): PostgrestFilterBuilder<Relation['Row'], undefined>;
|
|
106
|
+
}): PostgrestFilterBuilder<Schema, Relation['Row'], undefined>;
|
|
107
107
|
/**
|
|
108
108
|
* Perform an UPDATE on the table or view.
|
|
109
109
|
*
|
|
@@ -129,7 +129,7 @@ export default class PostgrestQueryBuilder<Relation extends GenericTable | Gener
|
|
|
129
129
|
Update: unknown;
|
|
130
130
|
} ? Relation['Update'] : never>(values: Row, { count, }?: {
|
|
131
131
|
count?: 'exact' | 'planned' | 'estimated';
|
|
132
|
-
}): PostgrestFilterBuilder<Relation['Row'], undefined>;
|
|
132
|
+
}): PostgrestFilterBuilder<Schema, Relation['Row'], undefined>;
|
|
133
133
|
/**
|
|
134
134
|
* Perform a DELETE on the table or view.
|
|
135
135
|
*
|
|
@@ -151,6 +151,6 @@ export default class PostgrestQueryBuilder<Relation extends GenericTable | Gener
|
|
|
151
151
|
*/
|
|
152
152
|
delete({ count, }?: {
|
|
153
153
|
count?: 'exact' | 'planned' | 'estimated';
|
|
154
|
-
}): PostgrestFilterBuilder<Relation['Row'], undefined>;
|
|
154
|
+
}): PostgrestFilterBuilder<Schema, Relation['Row'], undefined>;
|
|
155
155
|
}
|
|
156
156
|
//# sourceMappingURL=PostgrestQueryBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestQueryBuilder.d.ts","sourceRoot":"","sources":["../../src/PostgrestQueryBuilder.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"PostgrestQueryBuilder.d.ts","sourceRoot":"","sources":["../../src/PostgrestQueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestQueryBuilder.js","sourceRoot":"","sources":["../../src/PostgrestQueryBuilder.ts"],"names":[],"mappings":";;;;;AACA,sFAA6D;AAI7D,MAAqB,qBAAqB;
|
|
1
|
+
{"version":3,"file":"PostgrestQueryBuilder.js","sourceRoot":"","sources":["../../src/PostgrestQueryBuilder.ts"],"names":[],"mappings":";;;;;AACA,sFAA6D;AAI7D,MAAqB,qBAAqB;IAUxC,YACE,GAAQ,EACR,EACE,OAAO,GAAG,EAAE,EACZ,MAAM,EACN,KAAK,GAKN;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CACJ,OAAe,EACf,EACE,IAAI,GAAG,KAAK,EACZ,KAAK,MAIH,EAAE;QAEN,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;QACpC,wCAAwC;QACxC,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,MAAM,cAAc,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,GAAG,CAAC;aACpC,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC3B,OAAO,EAAE,CAAA;aACV;YACD,IAAI,CAAC,KAAK,GAAG,EAAE;gBACb,MAAM,GAAG,CAAC,MAAM,CAAA;aACjB;YACD,OAAO,CAAC,CAAA;QACV,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;QACX,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QACnD,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,KAAK,EAAE,CAAA;SAC1C;QAED,OAAO,IAAI,gCAAsB,CAAC;YAChC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,KAAK;SACqB,CAAC,CAAA;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CACJ,MAAmB,EACnB,EACE,KAAK,MAGH,EAAE;QAEN,MAAM,MAAM,GAAG,MAAM,CAAA;QAErB,MAAM,cAAc,GAAG,EAAE,CAAA;QACzB,MAAM,IAAI,GAAG,MAAM,CAAA;QACnB,IAAI,KAAK,EAAE;YACT,cAAc,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;SACtC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC1B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;SAC/C;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEjD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAc,CAAC,CAAA;YACrF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,GAAG,CAAC,CAAA;gBAC1E,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;aAC9D;SACF;QAED,OAAO,IAAI,gCAAsB,CAAC;YAChC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,KAAK;SACwB,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CACJ,MAAmB,EACnB,EACE,UAAU,EACV,gBAAgB,GAAG,KAAK,EACxB,KAAK,MAKH,EAAE;QAEN,MAAM,MAAM,GAAG,MAAM,CAAA;QAErB,MAAM,cAAc,GAAG,CAAC,cAAc,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,CAAA;QAEzF,IAAI,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;QAClF,MAAM,IAAI,GAAG,MAAM,CAAA;QACnB,IAAI,KAAK,EAAE;YACT,cAAc,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;SACtC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC1B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;SAC/C;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEjD,OAAO,IAAI,gCAAsB,CAAC;YAChC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,KAAK;SACwB,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CACJ,MAAW,EACX,EACE,KAAK,MAGH,EAAE;QAEN,MAAM,MAAM,GAAG,OAAO,CAAA;QACtB,MAAM,cAAc,GAAG,EAAE,CAAA;QACzB,MAAM,IAAI,GAAG,MAAM,CAAA;QACnB,IAAI,KAAK,EAAE;YACT,cAAc,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;SACtC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC1B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;SAC/C;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEjD,OAAO,IAAI,gCAAsB,CAAC;YAChC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,KAAK;SACwB,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,EACL,KAAK,MAGH,EAAE;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAA;QACvB,MAAM,cAAc,GAAG,EAAE,CAAA;QACzB,IAAI,KAAK,EAAE;YACT,cAAc,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;SACtC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC1B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;SAC/C;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEjD,OAAO,IAAI,gCAAsB,CAAC;YAChC,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,KAAK;SACwB,CAAC,CAAA;IAC9C,CAAC;CACF;AA1TD,wCA0TC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import PostgrestBuilder from './PostgrestBuilder';
|
|
2
2
|
import { GetResult } from './select-query-parser';
|
|
3
|
-
import { PostgrestMaybeSingleResponse, PostgrestResponse, PostgrestSingleResponse } from './types';
|
|
4
|
-
export default class PostgrestTransformBuilder<Row extends Record<string, unknown>, Result> extends PostgrestBuilder<Result> {
|
|
3
|
+
import { GenericSchema, PostgrestMaybeSingleResponse, PostgrestResponse, PostgrestSingleResponse } from './types';
|
|
4
|
+
export default class PostgrestTransformBuilder<Schema extends GenericSchema, Row extends Record<string, unknown>, Result> extends PostgrestBuilder<Result> {
|
|
5
5
|
/**
|
|
6
6
|
* Perform a SELECT on the query result.
|
|
7
7
|
*
|
|
@@ -11,23 +11,7 @@ export default class PostgrestTransformBuilder<Row extends Record<string, unknow
|
|
|
11
11
|
*
|
|
12
12
|
* @param columns - The columns to retrieve, separated by commas
|
|
13
13
|
*/
|
|
14
|
-
select<Query extends string = '*', NewResult = GetResult<Row, Query
|
|
15
|
-
/**
|
|
16
|
-
* Order the query result by `column`.
|
|
17
|
-
*
|
|
18
|
-
* You can call this method multiple times to order by multiple columns.
|
|
19
|
-
*
|
|
20
|
-
* You can order foreign tables, but it doesn't affect the ordering of the
|
|
21
|
-
* current table.
|
|
22
|
-
*
|
|
23
|
-
* @param column - The column to order by
|
|
24
|
-
* @param options - Named parameters
|
|
25
|
-
* @param options.ascending - If `true`, the result will be in ascending order
|
|
26
|
-
* @param options.nullsFirst - If `true`, `null`s appear first. If `false`,
|
|
27
|
-
* `null`s appear last.
|
|
28
|
-
* @param options.foreignTable - Set this to order a foreign table by foreign
|
|
29
|
-
* columns
|
|
30
|
-
*/
|
|
14
|
+
select<Query extends string = '*', NewResult = GetResult<Schema, Row, Query>>(columns?: Query): PostgrestTransformBuilder<Schema, Row, NewResult>;
|
|
31
15
|
order<ColumnName extends string & keyof Row>(column: ColumnName, options?: {
|
|
32
16
|
ascending?: boolean;
|
|
33
17
|
nullsFirst?: boolean;
|
|
@@ -124,5 +108,11 @@ export default class PostgrestTransformBuilder<Row extends Record<string, unknow
|
|
|
124
108
|
* `data` will still be returned, but the query is not committed.
|
|
125
109
|
*/
|
|
126
110
|
rollback(): this;
|
|
111
|
+
/**
|
|
112
|
+
* Override the type of the returned `data`.
|
|
113
|
+
*
|
|
114
|
+
* @typeParam NewResult - The new result type to override with
|
|
115
|
+
*/
|
|
116
|
+
returns<NewResult>(): PostgrestTransformBuilder<Schema, Row, NewResult>;
|
|
127
117
|
}
|
|
128
118
|
//# sourceMappingURL=PostgrestTransformBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestTransformBuilder.d.ts","sourceRoot":"","sources":["../../src/PostgrestTransformBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"PostgrestTransformBuilder.d.ts","sourceRoot":"","sources":["../../src/PostgrestTransformBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAEhB,MAAM,CAAC,OAAO,OAAO,yBAAyB,CAC5C,MAAM,SAAS,aAAa,EAC5B,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,CACN,SAAQ,gBAAgB,CAAC,MAAM,CAAC;IAChC;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,SAAS,MAAM,GAAG,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAC1E,OAAO,CAAC,EAAE,KAAK,GACd,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC;IAuBpD,KAAK,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM,GAAG,EACzC,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,SAAS,CAAA;KAAE,GAChF,IAAI;IACP,KAAK,CACH,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAC5E,IAAI;IAqCP;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAM5E;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IASvF;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAKtC;;;;;OAKG;IACH,MAAM,IAAI,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAKtD;;;;;OAKG;IACH,WAAW,IAAI,WAAW,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAMhE;;OAEG;IACH,GAAG,IAAI,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAKnD;;OAEG;IACH,OAAO,IAAI,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAKxE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,EACN,OAAe,EACf,OAAe,EACf,QAAgB,EAChB,OAAe,EACf,GAAW,EACX,MAAe,GAChB,GAAE;QACD,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,GAAG,CAAC,EAAE,OAAO,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KACpB,GACF,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GACvD,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAmBhD;;;;OAIG;IACH,QAAQ,IAAI,IAAI;IAShB;;;;OAIG;IACH,OAAO,CAAC,SAAS,KAAK,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC;CAGxE"}
|
|
@@ -36,6 +36,22 @@ class PostgrestTransformBuilder extends PostgrestBuilder_1.default {
|
|
|
36
36
|
this.headers['Prefer'] += 'return=representation';
|
|
37
37
|
return this;
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Order the query result by `column`.
|
|
41
|
+
*
|
|
42
|
+
* You can call this method multiple times to order by multiple columns.
|
|
43
|
+
*
|
|
44
|
+
* You can order foreign tables, but it doesn't affect the ordering of the
|
|
45
|
+
* current table.
|
|
46
|
+
*
|
|
47
|
+
* @param column - The column to order by
|
|
48
|
+
* @param options - Named parameters
|
|
49
|
+
* @param options.ascending - If `true`, the result will be in ascending order
|
|
50
|
+
* @param options.nullsFirst - If `true`, `null`s appear first. If `false`,
|
|
51
|
+
* `null`s appear last.
|
|
52
|
+
* @param options.foreignTable - Set this to order a foreign table by foreign
|
|
53
|
+
* columns
|
|
54
|
+
*/
|
|
39
55
|
order(column, { ascending = true, nullsFirst, foreignTable, } = {}) {
|
|
40
56
|
const key = foreignTable ? `${foreignTable}.order` : 'order';
|
|
41
57
|
const existingOrder = this.url.searchParams.get(key);
|
|
@@ -170,6 +186,14 @@ class PostgrestTransformBuilder extends PostgrestBuilder_1.default {
|
|
|
170
186
|
}
|
|
171
187
|
return this;
|
|
172
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Override the type of the returned `data`.
|
|
191
|
+
*
|
|
192
|
+
* @typeParam NewResult - The new result type to override with
|
|
193
|
+
*/
|
|
194
|
+
returns() {
|
|
195
|
+
return this;
|
|
196
|
+
}
|
|
173
197
|
}
|
|
174
198
|
exports.default = PostgrestTransformBuilder;
|
|
175
199
|
//# sourceMappingURL=PostgrestTransformBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgrestTransformBuilder.js","sourceRoot":"","sources":["../../src/PostgrestTransformBuilder.ts"],"names":[],"mappings":";;;;;AAAA,0EAAiD;
|
|
1
|
+
{"version":3,"file":"PostgrestTransformBuilder.js","sourceRoot":"","sources":["../../src/PostgrestTransformBuilder.ts"],"names":[],"mappings":"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"}
|