@supabase/postgrest-js 1.0.0-rc.4 → 1.0.0-rc.6

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.
Files changed (59) hide show
  1. package/dist/main/PostgrestBuilder.d.ts.map +1 -1
  2. package/dist/main/PostgrestBuilder.js +22 -23
  3. package/dist/main/PostgrestBuilder.js.map +1 -1
  4. package/dist/main/PostgrestClient.d.ts +37 -12
  5. package/dist/main/PostgrestClient.d.ts.map +1 -1
  6. package/dist/main/PostgrestClient.js +34 -8
  7. package/dist/main/PostgrestClient.js.map +1 -1
  8. package/dist/main/PostgrestFilterBuilder.d.ts +151 -132
  9. package/dist/main/PostgrestFilterBuilder.d.ts.map +1 -1
  10. package/dist/main/PostgrestFilterBuilder.js +30 -23
  11. package/dist/main/PostgrestFilterBuilder.js.map +1 -1
  12. package/dist/main/PostgrestQueryBuilder.d.ts +120 -29
  13. package/dist/main/PostgrestQueryBuilder.d.ts.map +1 -1
  14. package/dist/main/PostgrestQueryBuilder.js +103 -10
  15. package/dist/main/PostgrestQueryBuilder.js.map +1 -1
  16. package/dist/main/PostgrestTransformBuilder.d.ts +70 -36
  17. package/dist/main/PostgrestTransformBuilder.d.ts.map +1 -1
  18. package/dist/main/PostgrestTransformBuilder.js +53 -27
  19. package/dist/main/PostgrestTransformBuilder.js.map +1 -1
  20. package/dist/main/select-query-parser.d.ts +6 -6
  21. package/dist/main/select-query-parser.d.ts.map +1 -1
  22. package/dist/main/types.d.ts +17 -7
  23. package/dist/main/types.d.ts.map +1 -1
  24. package/dist/main/version.d.ts +1 -1
  25. package/dist/main/version.js +1 -1
  26. package/dist/module/PostgrestBuilder.d.ts.map +1 -1
  27. package/dist/module/PostgrestBuilder.js +22 -23
  28. package/dist/module/PostgrestBuilder.js.map +1 -1
  29. package/dist/module/PostgrestClient.d.ts +37 -12
  30. package/dist/module/PostgrestClient.d.ts.map +1 -1
  31. package/dist/module/PostgrestClient.js +34 -8
  32. package/dist/module/PostgrestClient.js.map +1 -1
  33. package/dist/module/PostgrestFilterBuilder.d.ts +151 -132
  34. package/dist/module/PostgrestFilterBuilder.d.ts.map +1 -1
  35. package/dist/module/PostgrestFilterBuilder.js +30 -23
  36. package/dist/module/PostgrestFilterBuilder.js.map +1 -1
  37. package/dist/module/PostgrestQueryBuilder.d.ts +120 -29
  38. package/dist/module/PostgrestQueryBuilder.d.ts.map +1 -1
  39. package/dist/module/PostgrestQueryBuilder.js +103 -10
  40. package/dist/module/PostgrestQueryBuilder.js.map +1 -1
  41. package/dist/module/PostgrestTransformBuilder.d.ts +70 -36
  42. package/dist/module/PostgrestTransformBuilder.d.ts.map +1 -1
  43. package/dist/module/PostgrestTransformBuilder.js +53 -27
  44. package/dist/module/PostgrestTransformBuilder.js.map +1 -1
  45. package/dist/module/select-query-parser.d.ts +6 -6
  46. package/dist/module/select-query-parser.d.ts.map +1 -1
  47. package/dist/module/types.d.ts +17 -7
  48. package/dist/module/types.d.ts.map +1 -1
  49. package/dist/module/version.d.ts +1 -1
  50. package/dist/module/version.js +1 -1
  51. package/package.json +5 -5
  52. package/src/PostgrestBuilder.ts +17 -18
  53. package/src/PostgrestClient.ts +41 -14
  54. package/src/PostgrestFilterBuilder.ts +182 -164
  55. package/src/PostgrestQueryBuilder.ts +115 -30
  56. package/src/PostgrestTransformBuilder.ts +72 -39
  57. package/src/select-query-parser.ts +9 -9
  58. package/src/types.ts +20 -7
  59. package/src/version.ts +1 -1
@@ -1,199 +1,180 @@
1
1
  import PostgrestTransformBuilder from './PostgrestTransformBuilder';
2
- /**
3
- * Filters
4
- */
5
2
  declare type FilterOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'like' | 'ilike' | 'is' | 'in' | 'cs' | 'cd' | 'sl' | 'sr' | 'nxl' | 'nxr' | 'adj' | 'ov' | 'fts' | 'plfts' | 'phfts' | 'wfts';
6
- export default class PostgrestFilterBuilder<Table extends Record<string, unknown>, Result> extends PostgrestTransformBuilder<Table, Result> {
3
+ export default class PostgrestFilterBuilder<Row extends Record<string, unknown>, Result> extends PostgrestTransformBuilder<Row, Result> {
7
4
  /**
8
- * Finds all rows which doesn't satisfy the filter.
5
+ * Match only rows where `column` is equal to `value`.
9
6
  *
10
- * @param column The column to filter on.
11
- * @param operator The operator to filter with.
12
- * @param value The value to filter with.
13
- */
14
- not<ColumnName extends string & keyof Table>(column: ColumnName, operator: FilterOperator, value: Table[ColumnName]): this;
15
- not(column: string, operator: string, value: unknown): this;
16
- /**
17
- * Finds all rows satisfying at least one of the filters.
18
- *
19
- * @param filters The filters to use, separated by commas.
20
- * @param foreignTable The foreign table to use (if `column` is a foreign column).
21
- */
22
- or(filters: string, { foreignTable }?: {
23
- foreignTable?: string;
24
- }): this;
25
- /**
26
- * Finds all rows whose value on the stated `column` exactly matches the
27
- * specified `value`.
7
+ * To check if the value of `column` is NULL, you should use `.is()` instead.
28
8
  *
29
- * @param column The column to filter on.
30
- * @param value The value to filter with.
9
+ * @param column - The column to filter on
10
+ * @param value - The value to filter with
31
11
  */
32
- eq<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
12
+ eq<ColumnName extends string & keyof Row>(column: ColumnName, value: Row[ColumnName]): this;
33
13
  eq(column: string, value: unknown): this;
34
14
  /**
35
- * Finds all rows whose value on the stated `column` doesn't match the
36
- * specified `value`.
15
+ * Match only rows where `column` is not equal to `value`.
37
16
  *
38
- * @param column The column to filter on.
39
- * @param value The value to filter with.
17
+ * @param column - The column to filter on
18
+ * @param value - The value to filter with
40
19
  */
41
- neq<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
20
+ neq<ColumnName extends string & keyof Row>(column: ColumnName, value: Row[ColumnName]): this;
42
21
  neq(column: string, value: unknown): this;
43
22
  /**
44
- * Finds all rows whose value on the stated `column` is greater than the
45
- * specified `value`.
23
+ * Match only rows where `column` is greater than `value`.
46
24
  *
47
- * @param column The column to filter on.
48
- * @param value The value to filter with.
25
+ * @param column - The column to filter on
26
+ * @param value - The value to filter with
49
27
  */
50
- gt<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
28
+ gt<ColumnName extends string & keyof Row>(column: ColumnName, value: Row[ColumnName]): this;
51
29
  gt(column: string, value: unknown): this;
52
30
  /**
53
- * Finds all rows whose value on the stated `column` is greater than or
54
- * equal to the specified `value`.
31
+ * Match only rows where `column` is greater than or equal to `value`.
55
32
  *
56
- * @param column The column to filter on.
57
- * @param value The value to filter with.
33
+ * @param column - The column to filter on
34
+ * @param value - The value to filter with
58
35
  */
59
- gte<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
36
+ gte<ColumnName extends string & keyof Row>(column: ColumnName, value: Row[ColumnName]): this;
60
37
  gte(column: string, value: unknown): this;
61
38
  /**
62
- * Finds all rows whose value on the stated `column` is less than the
63
- * specified `value`.
39
+ * Match only rows where `column` is less than `value`.
64
40
  *
65
- * @param column The column to filter on.
66
- * @param value The value to filter with.
41
+ * @param column - The column to filter on
42
+ * @param value - The value to filter with
67
43
  */
68
- lt<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
44
+ lt<ColumnName extends string & keyof Row>(column: ColumnName, value: Row[ColumnName]): this;
69
45
  lt(column: string, value: unknown): this;
70
46
  /**
71
- * Finds all rows whose value on the stated `column` is less than or equal
72
- * to the specified `value`.
47
+ * Match only rows where `column` is less than or equal to `value`.
73
48
  *
74
- * @param column The column to filter on.
75
- * @param value The value to filter with.
49
+ * @param column - The column to filter on
50
+ * @param value - The value to filter with
76
51
  */
77
- lte<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
52
+ lte<ColumnName extends string & keyof Row>(column: ColumnName, value: Row[ColumnName]): this;
78
53
  lte(column: string, value: unknown): this;
79
54
  /**
80
- * Finds all rows whose value in the stated `column` matches the supplied
81
- * `pattern` (case sensitive).
55
+ * Match only rows where `column` matches `pattern` case-sensitively.
82
56
  *
83
- * @param column The column to filter on.
84
- * @param pattern The pattern to filter with.
57
+ * @param column - The column to filter on
58
+ * @param pattern - The pattern to match with
85
59
  */
86
- like<ColumnName extends string & keyof Table>(column: ColumnName, pattern: string): this;
60
+ like<ColumnName extends string & keyof Row>(column: ColumnName, pattern: string): this;
87
61
  like(column: string, pattern: string): this;
88
62
  /**
89
- * Finds all rows whose value in the stated `column` matches the supplied
90
- * `pattern` (case insensitive).
63
+ * Match only rows where `column` matches `pattern` case-insensitively.
91
64
  *
92
- * @param column The column to filter on.
93
- * @param pattern The pattern to filter with.
65
+ * @param column - The column to filter on
66
+ * @param pattern - The pattern to match with
94
67
  */
95
- ilike<ColumnName extends string & keyof Table>(column: ColumnName, pattern: string): this;
68
+ ilike<ColumnName extends string & keyof Row>(column: ColumnName, pattern: string): this;
96
69
  ilike(column: string, pattern: string): this;
97
70
  /**
98
- * A check for exact equality (null, true, false), finds all rows whose
99
- * value on the stated `column` exactly match the specified `value`.
71
+ * Match only rows where `column` IS `value`.
100
72
  *
101
- * @param column The column to filter on.
102
- * @param value The value to filter with.
73
+ * For non-boolean columns, this is only relevant for checking if the value of
74
+ * `column` is NULL by setting `value` to `null`.
75
+ *
76
+ * For boolean columns, you can also set `value` to `true` or `false` and it
77
+ * will behave the same way as `.eq()`.
78
+ *
79
+ * @param column - The column to filter on
80
+ * @param value - The value to filter with
103
81
  */
104
- is<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName] & (boolean | null)): this;
82
+ is<ColumnName extends string & keyof Row>(column: ColumnName, value: Row[ColumnName] & (boolean | null)): this;
105
83
  is(column: string, value: boolean | null): this;
106
84
  /**
107
- * Finds all rows whose value on the stated `column` is found on the
108
- * specified `values`.
85
+ * Match only rows where `column` is included in the `values` array.
109
86
  *
110
- * @param column The column to filter on.
111
- * @param values The values to filter with.
87
+ * @param column - The column to filter on
88
+ * @param values - The values array to filter with
112
89
  */
113
- in<ColumnName extends string & keyof Table>(column: ColumnName, values: Table[ColumnName][]): this;
90
+ in<ColumnName extends string & keyof Row>(column: ColumnName, values: Row[ColumnName][]): this;
114
91
  in(column: string, values: unknown[]): this;
115
92
  /**
116
- * Finds all rows whose json, array, or range value on the stated `column`
117
- * contains the values specified in `value`.
93
+ * Only relevant for jsonb, array, and range columns. Match only rows where
94
+ * `column` contains every element appearing in `value`.
118
95
  *
119
- * @param column The column to filter on.
120
- * @param value The value to filter with.
96
+ * @param column - The jsonb, array, or range column to filter on
97
+ * @param value - The jsonb, array, or range value to filter with
121
98
  */
122
- contains<ColumnName extends string & keyof Table>(column: ColumnName, value: string | Table[ColumnName][] | Record<string, unknown>): this;
99
+ contains<ColumnName extends string & keyof Row>(column: ColumnName, value: string | Row[ColumnName][] | Record<string, unknown>): this;
123
100
  contains(column: string, value: string | unknown[] | Record<string, unknown>): this;
124
101
  /**
125
- * Finds all rows whose json, array, or range value on the stated `column` is
126
- * contained by the specified `value`.
102
+ * Only relevant for jsonb, array, and range columns. Match only rows where
103
+ * every element appearing in `column` is contained by `value`.
127
104
  *
128
- * @param column The column to filter on.
129
- * @param value The value to filter with.
105
+ * @param column - The jsonb, array, or range column to filter on
106
+ * @param value - The jsonb, array, or range value to filter with
130
107
  */
131
- containedBy<ColumnName extends string & keyof Table>(column: ColumnName, value: string | Table[ColumnName][] | Record<string, unknown>): this;
108
+ containedBy<ColumnName extends string & keyof Row>(column: ColumnName, value: string | Row[ColumnName][] | Record<string, unknown>): this;
132
109
  containedBy(column: string, value: string | unknown[] | Record<string, unknown>): this;
133
110
  /**
134
- * Finds all rows whose range value on the stated `column` is strictly to the
135
- * left of the specified `range`.
111
+ * Only relevant for range columns. Match only rows where every element in
112
+ * `column` is greater than any element in `range`.
136
113
  *
137
- * @param column The column to filter on.
138
- * @param range The range to filter with.
114
+ * @param column - The range column to filter on
115
+ * @param range - The range to filter with
139
116
  */
140
- rangeLt<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
141
- rangeLt(column: string, range: string): this;
117
+ rangeGt<ColumnName extends string & keyof Row>(column: ColumnName, range: string): this;
118
+ rangeGt(column: string, range: string): this;
142
119
  /**
143
- * Finds all rows whose range value on the stated `column` is strictly to
144
- * the right of the specified `range`.
120
+ * Only relevant for range columns. Match only rows where every element in
121
+ * `column` is either contained in `range` or greater than any element in
122
+ * `range`.
145
123
  *
146
- * @param column The column to filter on.
147
- * @param range The range to filter with.
124
+ * @param column - The range column to filter on
125
+ * @param range - The range to filter with
148
126
  */
149
- rangeGt<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
150
- rangeGt(column: string, range: string): this;
127
+ rangeGte<ColumnName extends string & keyof Row>(column: ColumnName, range: string): this;
128
+ rangeGte(column: string, range: string): this;
151
129
  /**
152
- * Finds all rows whose range value on the stated `column` does not extend
153
- * to the left of the specified `range`.
130
+ * Only relevant for range columns. Match only rows where every element in
131
+ * `column` is less than any element in `range`.
154
132
  *
155
- * @param column The column to filter on.
156
- * @param range The range to filter with.
133
+ * @param column - The range column to filter on
134
+ * @param range - The range to filter with
157
135
  */
158
- rangeGte<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
159
- rangeGte(column: string, range: string): this;
136
+ rangeLt<ColumnName extends string & keyof Row>(column: ColumnName, range: string): this;
137
+ rangeLt(column: string, range: string): this;
160
138
  /**
161
- * Finds all rows whose range value on the stated `column` does not extend
162
- * to the right of the specified `range`.
139
+ * Only relevant for range columns. Match only rows where every element in
140
+ * `column` is either contained in `range` or less than any element in
141
+ * `range`.
163
142
  *
164
- * @param column The column to filter on.
165
- * @param range The range to filter with.
143
+ * @param column - The range column to filter on
144
+ * @param range - The range to filter with
166
145
  */
167
- rangeLte<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
146
+ rangeLte<ColumnName extends string & keyof Row>(column: ColumnName, range: string): this;
168
147
  rangeLte(column: string, range: string): this;
169
148
  /**
170
- * Finds all rows whose range value on the stated `column` is adjacent to
171
- * the specified `range`.
149
+ * Only relevant for range columns. Match only rows where `column` is
150
+ * mutually exclusive to `range` and there can be no element between the two
151
+ * ranges.
172
152
  *
173
- * @param column The column to filter on.
174
- * @param range The range to filter with.
153
+ * @param column - The range column to filter on
154
+ * @param range - The range to filter with
175
155
  */
176
- rangeAdjacent<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
156
+ rangeAdjacent<ColumnName extends string & keyof Row>(column: ColumnName, range: string): this;
177
157
  rangeAdjacent(column: string, range: string): this;
178
158
  /**
179
- * Finds all rows whose array or range value on the stated `column` overlaps
180
- * (has a value in common) with the specified `value`.
159
+ * Only relevant for array and range columns. Match only rows where
160
+ * `column` and `value` have an element in common.
181
161
  *
182
- * @param column The column to filter on.
183
- * @param value The value to filter with.
162
+ * @param column - The array or range column to filter on
163
+ * @param value - The array or range value to filter with
184
164
  */
185
- overlaps<ColumnName extends string & keyof Table>(column: ColumnName, value: string | Table[ColumnName][]): this;
165
+ overlaps<ColumnName extends string & keyof Row>(column: ColumnName, value: string | Row[ColumnName][]): this;
186
166
  overlaps(column: string, value: string | unknown[]): this;
187
167
  /**
188
- * Finds all rows whose text or tsvector value on the stated `column` matches
189
- * the tsquery in `query`.
168
+ * Only relevant for text and tsvector columns. Match only rows where
169
+ * `column` matches the query string in `query`.
190
170
  *
191
- * @param column The column to filter on.
192
- * @param query The Postgres tsquery string to filter with.
193
- * @param config The text search configuration to use.
194
- * @param type The type of tsquery conversion to use on `query`.
171
+ * @param column - The text or tsvector column to filter on
172
+ * @param query - The query text to match with
173
+ * @param options - Named parameters
174
+ * @param options.config - The text search configuration to use
175
+ * @param options.type - Change how the `query` text is interpreted
195
176
  */
196
- textSearch<ColumnName extends string & keyof Table>(column: ColumnName, query: string, options?: {
177
+ textSearch<ColumnName extends string & keyof Row>(column: ColumnName, query: string, options?: {
197
178
  config?: string;
198
179
  type?: 'plain' | 'phrase' | 'websearch';
199
180
  }): this;
@@ -202,22 +183,60 @@ export default class PostgrestFilterBuilder<Table extends Record<string, unknown
202
183
  type?: 'plain' | 'phrase' | 'websearch';
203
184
  }): this;
204
185
  /**
205
- * Finds all rows whose `column` satisfies the filter.
186
+ * Match only rows where each column in `query` keys is equal to its
187
+ * associated value. Shorthand for multiple `.eq()`s.
206
188
  *
207
- * @param column The column to filter on.
208
- * @param operator The operator to filter with.
209
- * @param value The value to filter with.
189
+ * @param query - The object to filter with, with column names as keys mapped
190
+ * to their filter values
210
191
  */
211
- filter<ColumnName extends string & keyof Table>(column: ColumnName, operator: `${'' | 'not.'}${FilterOperator}`, value: unknown): this;
212
- filter(column: string, operator: string, value: unknown): this;
192
+ match<ColumnName extends string & keyof Row>(query: Record<ColumnName, Row[ColumnName]>): this;
193
+ match(query: Record<string, unknown>): this;
213
194
  /**
214
- * Finds all rows whose columns match the specified `query` object.
195
+ * Match only rows which doesn't satisfy the filter.
196
+ *
197
+ * Unlike most filters, `opearator` and `value` are used as-is and need to
198
+ * follow [PostgREST
199
+ * syntax](https://postgrest.org/en/stable/api.html#operators). You also need
200
+ * to make sure they are properly sanitized.
215
201
  *
216
- * @param query The object to filter with, with column names as keys mapped
217
- * to their filter values.
202
+ * @param column - The column to filter on
203
+ * @param operator - The operator to be negated to filter with, following
204
+ * PostgREST syntax
205
+ * @param value - The value to filter with, following PostgREST syntax
218
206
  */
219
- match<ColumnName extends string & keyof Table>(query: Record<ColumnName, Table[ColumnName]>): this;
220
- match(query: Record<string, unknown>): this;
207
+ not<ColumnName extends string & keyof Row>(column: ColumnName, operator: FilterOperator, value: Row[ColumnName]): this;
208
+ not(column: string, operator: string, value: unknown): this;
209
+ /**
210
+ * Match only rows which satisfy at least one of the filters.
211
+ *
212
+ * Unlike most filters, `filters` is used as-is and needs to follow [PostgREST
213
+ * syntax](https://postgrest.org/en/stable/api.html#operators). You also need
214
+ * to make sure it's properly sanitized.
215
+ *
216
+ * It's currently not possible to do an `.or()` filter across multiple tables.
217
+ *
218
+ * @param filters - The filters to use, following PostgREST syntax
219
+ * @param foreignTable - Set this to filter on foreign tables instead of the
220
+ * current table
221
+ */
222
+ or(filters: string, { foreignTable }?: {
223
+ foreignTable?: string;
224
+ }): this;
225
+ /**
226
+ * Match only rows which satisfy the filter. This is an escape hatch - you
227
+ * should use the specific filter methods wherever possible.
228
+ *
229
+ * Unlike most filters, `opearator` and `value` are used as-is and need to
230
+ * follow [PostgREST
231
+ * syntax](https://postgrest.org/en/stable/api.html#operators). You also need
232
+ * to make sure they are properly sanitized.
233
+ *
234
+ * @param column - The column to filter on
235
+ * @param operator - The operator to filter with, following PostgREST syntax
236
+ * @param value - The value to filter with, following PostgREST syntax
237
+ */
238
+ filter<ColumnName extends string & keyof Row>(column: ColumnName, operator: `${'' | 'not.'}${FilterOperator}`, value: unknown): this;
239
+ filter(column: string, operator: string, value: unknown): this;
221
240
  }
222
241
  export {};
223
242
  //# sourceMappingURL=PostgrestFilterBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgrestFilterBuilder.d.ts","sourceRoot":"","sources":["../../src/PostgrestFilterBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgrestFilterBuilder.d.ts","sourceRoot":"","sources":["../../src/PostgrestFilterBuilder.ts"],"names":[],"mappings":"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"}
@@ -5,21 +5,6 @@ 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
- not(column, operator, value) {
9
- this.url.searchParams.append(column, `not.${operator}.${value}`);
10
- return this;
11
- }
12
- /**
13
- * Finds all rows satisfying at least one of the filters.
14
- *
15
- * @param filters The filters to use, separated by commas.
16
- * @param foreignTable The foreign table to use (if `column` is a foreign column).
17
- */
18
- or(filters, { foreignTable } = {}) {
19
- const key = foreignTable ? `${foreignTable}.or` : 'or';
20
- this.url.searchParams.append(key, `(${filters})`);
21
- return this;
22
- }
23
8
  eq(column, value) {
24
9
  this.url.searchParams.append(column, `eq.${value}`);
25
10
  return this;
@@ -101,10 +86,6 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
101
86
  }
102
87
  return this;
103
88
  }
104
- rangeLt(column, range) {
105
- this.url.searchParams.append(column, `sl.${range}`);
106
- return this;
107
- }
108
89
  rangeGt(column, range) {
109
90
  this.url.searchParams.append(column, `sr.${range}`);
110
91
  return this;
@@ -113,6 +94,10 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
113
94
  this.url.searchParams.append(column, `nxl.${range}`);
114
95
  return this;
115
96
  }
97
+ rangeLt(column, range) {
98
+ this.url.searchParams.append(column, `sl.${range}`);
99
+ return this;
100
+ }
116
101
  rangeLte(column, range) {
117
102
  this.url.searchParams.append(column, `nxr.${range}`);
118
103
  return this;
@@ -147,16 +132,38 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default {
147
132
  this.url.searchParams.append(column, `${typePart}fts${configPart}.${query}`);
148
133
  return this;
149
134
  }
150
- filter(column, operator, value) {
151
- this.url.searchParams.append(column, `${operator}.${value}`);
152
- return this;
153
- }
154
135
  match(query) {
155
136
  Object.entries(query).forEach(([column, value]) => {
156
137
  this.url.searchParams.append(column, `eq.${value}`);
157
138
  });
158
139
  return this;
159
140
  }
141
+ not(column, operator, value) {
142
+ this.url.searchParams.append(column, `not.${operator}.${value}`);
143
+ return this;
144
+ }
145
+ /**
146
+ * Match only rows which satisfy at least one of the filters.
147
+ *
148
+ * Unlike most filters, `filters` is used as-is and needs to follow [PostgREST
149
+ * syntax](https://postgrest.org/en/stable/api.html#operators). You also need
150
+ * to make sure it's properly sanitized.
151
+ *
152
+ * It's currently not possible to do an `.or()` filter across multiple tables.
153
+ *
154
+ * @param filters - The filters to use, following PostgREST syntax
155
+ * @param foreignTable - Set this to filter on foreign tables instead of the
156
+ * current table
157
+ */
158
+ or(filters, { foreignTable } = {}) {
159
+ const key = foreignTable ? `${foreignTable}.or` : 'or';
160
+ this.url.searchParams.append(key, `(${filters})`);
161
+ return this;
162
+ }
163
+ filter(column, operator, value) {
164
+ this.url.searchParams.append(column, `${operator}.${value}`);
165
+ return this;
166
+ }
160
167
  }
161
168
  exports.default = PostgrestFilterBuilder;
162
169
  //# sourceMappingURL=PostgrestFilterBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgrestFilterBuilder.js","sourceRoot":"","sources":["../../src/PostgrestFilterBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgrestFilterBuilder.js","sourceRoot":"","sources":["../../src/PostgrestFilterBuilder.ts"],"names":[],"mappings":"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"}