@supabase/postgrest-js 0.37.2 → 1.0.0-next.2
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 +4 -4
- package/dist/main/PostgrestBuilder.d.ts +24 -0
- package/dist/main/PostgrestBuilder.d.ts.map +1 -0
- package/dist/main/{lib/types.js → PostgrestBuilder.js} +36 -26
- package/dist/main/PostgrestBuilder.js.map +1 -0
- package/dist/main/PostgrestClient.d.ts +19 -20
- package/dist/main/PostgrestClient.d.ts.map +1 -1
- package/dist/main/PostgrestClient.js +37 -14
- package/dist/main/PostgrestClient.js.map +1 -1
- package/dist/main/{lib/PostgrestFilterBuilder.d.ts → PostgrestFilterBuilder.d.ts} +47 -90
- package/dist/main/PostgrestFilterBuilder.d.ts.map +1 -0
- package/dist/main/PostgrestFilterBuilder.js +162 -0
- package/dist/main/PostgrestFilterBuilder.js.map +1 -0
- package/dist/main/PostgrestQueryBuilder.d.ts +69 -0
- package/dist/main/PostgrestQueryBuilder.d.ts.map +1 -0
- package/dist/main/{lib/PostgrestQueryBuilder.js → PostgrestQueryBuilder.js} +81 -44
- package/dist/main/PostgrestQueryBuilder.js.map +1 -0
- package/dist/{module/lib → main}/PostgrestTransformBuilder.d.ts +14 -7
- package/dist/main/PostgrestTransformBuilder.d.ts.map +1 -0
- package/dist/main/{lib/PostgrestTransformBuilder.js → PostgrestTransformBuilder.js} +16 -31
- package/dist/main/PostgrestTransformBuilder.js.map +1 -0
- package/dist/main/{lib/constants.d.ts → constants.d.ts} +0 -0
- package/dist/main/constants.d.ts.map +1 -0
- package/dist/main/{lib/constants.js → constants.js} +0 -0
- package/dist/main/constants.js.map +1 -0
- package/dist/main/index.d.ts +6 -5
- package/dist/main/index.d.ts.map +1 -1
- package/dist/main/index.js +11 -9
- package/dist/main/index.js.map +1 -1
- package/dist/main/select-query-parser.d.ts +141 -0
- package/dist/main/select-query-parser.d.ts.map +1 -0
- package/dist/main/select-query-parser.js +4 -0
- package/dist/main/select-query-parser.js.map +1 -0
- package/dist/main/types.d.ts +54 -0
- package/dist/main/types.d.ts.map +1 -0
- package/dist/main/types.js +3 -0
- package/dist/main/types.js.map +1 -0
- package/dist/main/version.d.ts +2 -0
- package/dist/main/version.d.ts.map +1 -0
- package/dist/main/{lib/version.js → version.js} +1 -2
- package/dist/main/version.js.map +1 -0
- package/dist/module/PostgrestBuilder.d.ts +24 -0
- package/dist/module/PostgrestBuilder.d.ts.map +1 -0
- package/dist/module/{lib/types.js → PostgrestBuilder.js} +36 -25
- package/dist/module/PostgrestBuilder.js.map +1 -0
- package/dist/module/PostgrestClient.d.ts +19 -20
- package/dist/module/PostgrestClient.d.ts.map +1 -1
- package/dist/module/PostgrestClient.js +37 -14
- package/dist/module/PostgrestClient.js.map +1 -1
- package/dist/module/{lib/PostgrestFilterBuilder.d.ts → PostgrestFilterBuilder.d.ts} +47 -90
- package/dist/module/PostgrestFilterBuilder.d.ts.map +1 -0
- package/dist/module/PostgrestFilterBuilder.js +156 -0
- package/dist/module/PostgrestFilterBuilder.js.map +1 -0
- package/dist/module/PostgrestQueryBuilder.d.ts +69 -0
- package/dist/module/PostgrestQueryBuilder.d.ts.map +1 -0
- package/dist/module/PostgrestQueryBuilder.js +169 -0
- package/dist/module/PostgrestQueryBuilder.js.map +1 -0
- package/dist/{main/lib → module}/PostgrestTransformBuilder.d.ts +14 -7
- package/dist/module/PostgrestTransformBuilder.d.ts.map +1 -0
- package/dist/module/{lib/PostgrestTransformBuilder.js → PostgrestTransformBuilder.js} +12 -30
- package/dist/module/PostgrestTransformBuilder.js.map +1 -0
- package/dist/module/{lib/constants.d.ts → constants.d.ts} +0 -0
- package/dist/module/constants.d.ts.map +1 -0
- package/dist/module/{lib/constants.js → constants.js} +0 -0
- package/dist/module/constants.js.map +1 -0
- package/dist/module/index.d.ts +6 -5
- package/dist/module/index.d.ts.map +1 -1
- package/dist/module/index.js +5 -5
- package/dist/module/index.js.map +1 -1
- package/dist/module/select-query-parser.d.ts +141 -0
- package/dist/module/select-query-parser.d.ts.map +1 -0
- package/dist/module/select-query-parser.js +3 -0
- package/dist/module/select-query-parser.js.map +1 -0
- package/dist/module/types.d.ts +54 -0
- package/dist/module/types.d.ts.map +1 -0
- package/dist/module/types.js +2 -0
- package/dist/module/types.js.map +1 -0
- package/dist/module/version.d.ts +2 -0
- package/dist/module/version.d.ts.map +1 -0
- package/dist/module/version.js +2 -0
- package/dist/module/version.js.map +1 -0
- package/package.json +19 -20
- package/dist/main/lib/PostgrestFilterBuilder.d.ts.map +0 -1
- package/dist/main/lib/PostgrestFilterBuilder.js +0 -396
- package/dist/main/lib/PostgrestFilterBuilder.js.map +0 -1
- package/dist/main/lib/PostgrestQueryBuilder.d.ts +0 -80
- package/dist/main/lib/PostgrestQueryBuilder.d.ts.map +0 -1
- package/dist/main/lib/PostgrestQueryBuilder.js.map +0 -1
- package/dist/main/lib/PostgrestRpcBuilder.d.ts +0 -20
- package/dist/main/lib/PostgrestRpcBuilder.d.ts.map +0 -1
- package/dist/main/lib/PostgrestRpcBuilder.js +0 -41
- package/dist/main/lib/PostgrestRpcBuilder.js.map +0 -1
- package/dist/main/lib/PostgrestTransformBuilder.d.ts.map +0 -1
- package/dist/main/lib/PostgrestTransformBuilder.js.map +0 -1
- package/dist/main/lib/constants.d.ts.map +0 -1
- package/dist/main/lib/constants.js.map +0 -1
- package/dist/main/lib/types.d.ts +0 -64
- package/dist/main/lib/types.d.ts.map +0 -1
- package/dist/main/lib/types.js.map +0 -1
- package/dist/main/lib/version.d.ts +0 -2
- package/dist/main/lib/version.d.ts.map +0 -1
- package/dist/main/lib/version.js.map +0 -1
- package/dist/module/lib/PostgrestFilterBuilder.d.ts.map +0 -1
- package/dist/module/lib/PostgrestFilterBuilder.js +0 -390
- package/dist/module/lib/PostgrestFilterBuilder.js.map +0 -1
- package/dist/module/lib/PostgrestQueryBuilder.d.ts +0 -80
- package/dist/module/lib/PostgrestQueryBuilder.d.ts.map +0 -1
- package/dist/module/lib/PostgrestQueryBuilder.js +0 -132
- package/dist/module/lib/PostgrestQueryBuilder.js.map +0 -1
- package/dist/module/lib/PostgrestRpcBuilder.d.ts +0 -20
- package/dist/module/lib/PostgrestRpcBuilder.d.ts.map +0 -1
- package/dist/module/lib/PostgrestRpcBuilder.js +0 -35
- package/dist/module/lib/PostgrestRpcBuilder.js.map +0 -1
- package/dist/module/lib/PostgrestTransformBuilder.d.ts.map +0 -1
- package/dist/module/lib/PostgrestTransformBuilder.js.map +0 -1
- package/dist/module/lib/constants.d.ts.map +0 -1
- package/dist/module/lib/constants.js.map +0 -1
- package/dist/module/lib/types.d.ts +0 -64
- package/dist/module/lib/types.d.ts.map +0 -1
- package/dist/module/lib/types.js.map +0 -1
- package/dist/module/lib/version.d.ts +0 -2
- package/dist/module/lib/version.d.ts.map +0 -1
- package/dist/module/lib/version.js +0 -3
- package/dist/module/lib/version.js.map +0 -1
- package/src/PostgrestClient.ts +0 -94
- package/src/index.ts +0 -21
- package/src/lib/PostgrestFilterBuilder.ts +0 -469
- package/src/lib/PostgrestQueryBuilder.ts +0 -230
- package/src/lib/PostgrestRpcBuilder.ts +0 -58
- package/src/lib/PostgrestTransformBuilder.ts +0 -138
- package/src/lib/constants.ts +0 -2
- package/src/lib/types.ts +0 -183
- package/src/lib/version.ts +0 -2
|
@@ -2,8 +2,8 @@ import PostgrestTransformBuilder from './PostgrestTransformBuilder';
|
|
|
2
2
|
/**
|
|
3
3
|
* Filters
|
|
4
4
|
*/
|
|
5
|
-
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<
|
|
5
|
+
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> {
|
|
7
7
|
/**
|
|
8
8
|
* Finds all rows which doesn't satisfy the filter.
|
|
9
9
|
*
|
|
@@ -11,7 +11,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
11
11
|
* @param operator The operator to filter with.
|
|
12
12
|
* @param value The value to filter with.
|
|
13
13
|
*/
|
|
14
|
-
not(column:
|
|
14
|
+
not<ColumnName extends string & keyof Table>(column: ColumnName, operator: FilterOperator, value: Table[ColumnName]): this;
|
|
15
|
+
not(column: string, operator: string, value: unknown): this;
|
|
15
16
|
/**
|
|
16
17
|
* Finds all rows satisfying at least one of the filters.
|
|
17
18
|
*
|
|
@@ -28,7 +29,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
28
29
|
* @param column The column to filter on.
|
|
29
30
|
* @param value The value to filter with.
|
|
30
31
|
*/
|
|
31
|
-
eq(column:
|
|
32
|
+
eq<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
|
|
33
|
+
eq(column: string, value: unknown): this;
|
|
32
34
|
/**
|
|
33
35
|
* Finds all rows whose value on the stated `column` doesn't match the
|
|
34
36
|
* specified `value`.
|
|
@@ -36,7 +38,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
36
38
|
* @param column The column to filter on.
|
|
37
39
|
* @param value The value to filter with.
|
|
38
40
|
*/
|
|
39
|
-
neq(column:
|
|
41
|
+
neq<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
|
|
42
|
+
neq(column: string, value: unknown): this;
|
|
40
43
|
/**
|
|
41
44
|
* Finds all rows whose value on the stated `column` is greater than the
|
|
42
45
|
* specified `value`.
|
|
@@ -44,7 +47,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
44
47
|
* @param column The column to filter on.
|
|
45
48
|
* @param value The value to filter with.
|
|
46
49
|
*/
|
|
47
|
-
gt(column:
|
|
50
|
+
gt<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
|
|
51
|
+
gt(column: string, value: unknown): this;
|
|
48
52
|
/**
|
|
49
53
|
* Finds all rows whose value on the stated `column` is greater than or
|
|
50
54
|
* equal to the specified `value`.
|
|
@@ -52,7 +56,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
52
56
|
* @param column The column to filter on.
|
|
53
57
|
* @param value The value to filter with.
|
|
54
58
|
*/
|
|
55
|
-
gte(column:
|
|
59
|
+
gte<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
|
|
60
|
+
gte(column: string, value: unknown): this;
|
|
56
61
|
/**
|
|
57
62
|
* Finds all rows whose value on the stated `column` is less than the
|
|
58
63
|
* specified `value`.
|
|
@@ -60,7 +65,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
60
65
|
* @param column The column to filter on.
|
|
61
66
|
* @param value The value to filter with.
|
|
62
67
|
*/
|
|
63
|
-
lt(column:
|
|
68
|
+
lt<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
|
|
69
|
+
lt(column: string, value: unknown): this;
|
|
64
70
|
/**
|
|
65
71
|
* Finds all rows whose value on the stated `column` is less than or equal
|
|
66
72
|
* to the specified `value`.
|
|
@@ -68,7 +74,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
68
74
|
* @param column The column to filter on.
|
|
69
75
|
* @param value The value to filter with.
|
|
70
76
|
*/
|
|
71
|
-
lte(column:
|
|
77
|
+
lte<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName]): this;
|
|
78
|
+
lte(column: string, value: unknown): this;
|
|
72
79
|
/**
|
|
73
80
|
* Finds all rows whose value in the stated `column` matches the supplied
|
|
74
81
|
* `pattern` (case sensitive).
|
|
@@ -76,7 +83,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
76
83
|
* @param column The column to filter on.
|
|
77
84
|
* @param pattern The pattern to filter with.
|
|
78
85
|
*/
|
|
79
|
-
like(column:
|
|
86
|
+
like<ColumnName extends string & keyof Table>(column: ColumnName, pattern: string): this;
|
|
87
|
+
like(column: string, pattern: string): this;
|
|
80
88
|
/**
|
|
81
89
|
* Finds all rows whose value in the stated `column` matches the supplied
|
|
82
90
|
* `pattern` (case insensitive).
|
|
@@ -84,7 +92,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
84
92
|
* @param column The column to filter on.
|
|
85
93
|
* @param pattern The pattern to filter with.
|
|
86
94
|
*/
|
|
87
|
-
ilike(column:
|
|
95
|
+
ilike<ColumnName extends string & keyof Table>(column: ColumnName, pattern: string): this;
|
|
96
|
+
ilike(column: string, pattern: string): this;
|
|
88
97
|
/**
|
|
89
98
|
* A check for exact equality (null, true, false), finds all rows whose
|
|
90
99
|
* value on the stated `column` exactly match the specified `value`.
|
|
@@ -92,7 +101,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
92
101
|
* @param column The column to filter on.
|
|
93
102
|
* @param value The value to filter with.
|
|
94
103
|
*/
|
|
95
|
-
is(column:
|
|
104
|
+
is<ColumnName extends string & keyof Table>(column: ColumnName, value: Table[ColumnName] & (boolean | null)): this;
|
|
105
|
+
is(column: string, value: boolean | null): this;
|
|
96
106
|
/**
|
|
97
107
|
* Finds all rows whose value on the stated `column` is found on the
|
|
98
108
|
* specified `values`.
|
|
@@ -100,7 +110,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
100
110
|
* @param column The column to filter on.
|
|
101
111
|
* @param values The values to filter with.
|
|
102
112
|
*/
|
|
103
|
-
in(column:
|
|
113
|
+
in<ColumnName extends string & keyof Table>(column: ColumnName, values: Table[ColumnName][]): this;
|
|
114
|
+
in(column: string, values: unknown[]): this;
|
|
104
115
|
/**
|
|
105
116
|
* Finds all rows whose json, array, or range value on the stated `column`
|
|
106
117
|
* contains the values specified in `value`.
|
|
@@ -108,9 +119,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
108
119
|
* @param column The column to filter on.
|
|
109
120
|
* @param value The value to filter with.
|
|
110
121
|
*/
|
|
111
|
-
contains(column:
|
|
112
|
-
|
|
113
|
-
cs: (column: keyof T, value: string | T[keyof T][] | object) => this;
|
|
122
|
+
contains<ColumnName extends string & keyof Table>(column: ColumnName, value: string | Table[ColumnName][] | Record<string, unknown>): this;
|
|
123
|
+
contains(column: string, value: string | unknown[] | Record<string, unknown>): this;
|
|
114
124
|
/**
|
|
115
125
|
* Finds all rows whose json, array, or range value on the stated `column` is
|
|
116
126
|
* contained by the specified `value`.
|
|
@@ -118,9 +128,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
118
128
|
* @param column The column to filter on.
|
|
119
129
|
* @param value The value to filter with.
|
|
120
130
|
*/
|
|
121
|
-
containedBy(column:
|
|
122
|
-
|
|
123
|
-
cd: (column: keyof T, value: string | T[keyof T][] | object) => this;
|
|
131
|
+
containedBy<ColumnName extends string & keyof Table>(column: ColumnName, value: string | Table[ColumnName][] | Record<string, unknown>): this;
|
|
132
|
+
containedBy(column: string, value: string | unknown[] | Record<string, unknown>): this;
|
|
124
133
|
/**
|
|
125
134
|
* Finds all rows whose range value on the stated `column` is strictly to the
|
|
126
135
|
* left of the specified `range`.
|
|
@@ -128,9 +137,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
128
137
|
* @param column The column to filter on.
|
|
129
138
|
* @param range The range to filter with.
|
|
130
139
|
*/
|
|
131
|
-
rangeLt(column:
|
|
132
|
-
|
|
133
|
-
sl: (column: keyof T, range: string) => this;
|
|
140
|
+
rangeLt<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
|
|
141
|
+
rangeLt(column: string, range: string): this;
|
|
134
142
|
/**
|
|
135
143
|
* Finds all rows whose range value on the stated `column` is strictly to
|
|
136
144
|
* the right of the specified `range`.
|
|
@@ -138,9 +146,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
138
146
|
* @param column The column to filter on.
|
|
139
147
|
* @param range The range to filter with.
|
|
140
148
|
*/
|
|
141
|
-
rangeGt(column:
|
|
142
|
-
|
|
143
|
-
sr: (column: keyof T, range: string) => this;
|
|
149
|
+
rangeGt<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
|
|
150
|
+
rangeGt(column: string, range: string): this;
|
|
144
151
|
/**
|
|
145
152
|
* Finds all rows whose range value on the stated `column` does not extend
|
|
146
153
|
* to the left of the specified `range`.
|
|
@@ -148,9 +155,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
148
155
|
* @param column The column to filter on.
|
|
149
156
|
* @param range The range to filter with.
|
|
150
157
|
*/
|
|
151
|
-
rangeGte(column:
|
|
152
|
-
|
|
153
|
-
nxl: (column: keyof T, range: string) => this;
|
|
158
|
+
rangeGte<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
|
|
159
|
+
rangeGte(column: string, range: string): this;
|
|
154
160
|
/**
|
|
155
161
|
* Finds all rows whose range value on the stated `column` does not extend
|
|
156
162
|
* to the right of the specified `range`.
|
|
@@ -158,9 +164,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
158
164
|
* @param column The column to filter on.
|
|
159
165
|
* @param range The range to filter with.
|
|
160
166
|
*/
|
|
161
|
-
rangeLte(column:
|
|
162
|
-
|
|
163
|
-
nxr: (column: keyof T, range: string) => this;
|
|
167
|
+
rangeLte<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
|
|
168
|
+
rangeLte(column: string, range: string): this;
|
|
164
169
|
/**
|
|
165
170
|
* Finds all rows whose range value on the stated `column` is adjacent to
|
|
166
171
|
* the specified `range`.
|
|
@@ -168,9 +173,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
168
173
|
* @param column The column to filter on.
|
|
169
174
|
* @param range The range to filter with.
|
|
170
175
|
*/
|
|
171
|
-
rangeAdjacent(column:
|
|
172
|
-
|
|
173
|
-
adj: (column: keyof T, range: string) => this;
|
|
176
|
+
rangeAdjacent<ColumnName extends string & keyof Table>(column: ColumnName, range: string): this;
|
|
177
|
+
rangeAdjacent(column: string, range: string): this;
|
|
174
178
|
/**
|
|
175
179
|
* Finds all rows whose array or range value on the stated `column` overlaps
|
|
176
180
|
* (has a value in common) with the specified `value`.
|
|
@@ -178,9 +182,8 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
178
182
|
* @param column The column to filter on.
|
|
179
183
|
* @param value The value to filter with.
|
|
180
184
|
*/
|
|
181
|
-
overlaps(column:
|
|
182
|
-
|
|
183
|
-
ov: (column: keyof T, value: string | T[keyof T][]) => this;
|
|
185
|
+
overlaps<ColumnName extends string & keyof Table>(column: ColumnName, value: string | Table[ColumnName][]): this;
|
|
186
|
+
overlaps(column: string, value: string | unknown[]): this;
|
|
184
187
|
/**
|
|
185
188
|
* Finds all rows whose text or tsvector value on the stated `column` matches
|
|
186
189
|
* the tsquery in `query`.
|
|
@@ -190,61 +193,13 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
190
193
|
* @param config The text search configuration to use.
|
|
191
194
|
* @param type The type of tsquery conversion to use on `query`.
|
|
192
195
|
*/
|
|
193
|
-
textSearch(column:
|
|
196
|
+
textSearch<ColumnName extends string & keyof Table>(column: ColumnName, query: string, options?: {
|
|
194
197
|
config?: string;
|
|
195
|
-
type?: 'plain' | 'phrase' | 'websearch'
|
|
198
|
+
type?: 'plain' | 'phrase' | 'websearch';
|
|
196
199
|
}): this;
|
|
197
|
-
|
|
198
|
-
* Finds all rows whose tsvector value on the stated `column` matches
|
|
199
|
-
* to_tsquery(`query`).
|
|
200
|
-
*
|
|
201
|
-
* @param column The column to filter on.
|
|
202
|
-
* @param query The Postgres tsquery string to filter with.
|
|
203
|
-
* @param config The text search configuration to use.
|
|
204
|
-
*
|
|
205
|
-
* @deprecated Use `textSearch()` instead.
|
|
206
|
-
*/
|
|
207
|
-
fts(column: keyof T, query: string, { config }?: {
|
|
208
|
-
config?: string;
|
|
209
|
-
}): this;
|
|
210
|
-
/**
|
|
211
|
-
* Finds all rows whose tsvector value on the stated `column` matches
|
|
212
|
-
* plainto_tsquery(`query`).
|
|
213
|
-
*
|
|
214
|
-
* @param column The column to filter on.
|
|
215
|
-
* @param query The Postgres tsquery string to filter with.
|
|
216
|
-
* @param config The text search configuration to use.
|
|
217
|
-
*
|
|
218
|
-
* @deprecated Use `textSearch()` with `type: 'plain'` instead.
|
|
219
|
-
*/
|
|
220
|
-
plfts(column: keyof T, query: string, { config }?: {
|
|
221
|
-
config?: string;
|
|
222
|
-
}): this;
|
|
223
|
-
/**
|
|
224
|
-
* Finds all rows whose tsvector value on the stated `column` matches
|
|
225
|
-
* phraseto_tsquery(`query`).
|
|
226
|
-
*
|
|
227
|
-
* @param column The column to filter on.
|
|
228
|
-
* @param query The Postgres tsquery string to filter with.
|
|
229
|
-
* @param config The text search configuration to use.
|
|
230
|
-
*
|
|
231
|
-
* @deprecated Use `textSearch()` with `type: 'phrase'` instead.
|
|
232
|
-
*/
|
|
233
|
-
phfts(column: keyof T, query: string, { config }?: {
|
|
234
|
-
config?: string;
|
|
235
|
-
}): this;
|
|
236
|
-
/**
|
|
237
|
-
* Finds all rows whose tsvector value on the stated `column` matches
|
|
238
|
-
* websearch_to_tsquery(`query`).
|
|
239
|
-
*
|
|
240
|
-
* @param column The column to filter on.
|
|
241
|
-
* @param query The Postgres tsquery string to filter with.
|
|
242
|
-
* @param config The text search configuration to use.
|
|
243
|
-
*
|
|
244
|
-
* @deprecated Use `textSearch()` with `type: 'websearch'` instead.
|
|
245
|
-
*/
|
|
246
|
-
wfts(column: keyof T, query: string, { config }?: {
|
|
200
|
+
textSearch(column: string, query: string, options?: {
|
|
247
201
|
config?: string;
|
|
202
|
+
type?: 'plain' | 'phrase' | 'websearch';
|
|
248
203
|
}): this;
|
|
249
204
|
/**
|
|
250
205
|
* Finds all rows whose `column` satisfies the filter.
|
|
@@ -253,13 +208,15 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
|
|
|
253
208
|
* @param operator The operator to filter with.
|
|
254
209
|
* @param value The value to filter with.
|
|
255
210
|
*/
|
|
256
|
-
filter(column:
|
|
211
|
+
filter<ColumnName extends string & keyof Table>(column: ColumnName, operator: `${'' | 'not.'}${FilterOperator}`, value: unknown): this;
|
|
212
|
+
filter(column: string, operator: string, value: unknown): this;
|
|
257
213
|
/**
|
|
258
214
|
* Finds all rows whose columns match the specified `query` object.
|
|
259
215
|
*
|
|
260
216
|
* @param query The object to filter with, with column names as keys mapped
|
|
261
217
|
* to their filter values.
|
|
262
218
|
*/
|
|
219
|
+
match<ColumnName extends string & keyof Table>(query: Record<ColumnName, Table[ColumnName]>): this;
|
|
263
220
|
match(query: Record<string, unknown>): this;
|
|
264
221
|
}
|
|
265
222
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgrestFilterBuilder.d.ts","sourceRoot":"","sources":["../../src/PostgrestFilterBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const PostgrestTransformBuilder_1 = __importDefault(require("./PostgrestTransformBuilder"));
|
|
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
|
+
eq(column, value) {
|
|
24
|
+
this.url.searchParams.append(column, `eq.${value}`);
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
neq(column, value) {
|
|
28
|
+
this.url.searchParams.append(column, `neq.${value}`);
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
gt(column, value) {
|
|
32
|
+
this.url.searchParams.append(column, `gt.${value}`);
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
gte(column, value) {
|
|
36
|
+
this.url.searchParams.append(column, `gte.${value}`);
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
lt(column, value) {
|
|
40
|
+
this.url.searchParams.append(column, `lt.${value}`);
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
lte(column, value) {
|
|
44
|
+
this.url.searchParams.append(column, `lte.${value}`);
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
like(column, pattern) {
|
|
48
|
+
this.url.searchParams.append(column, `like.${pattern}`);
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
ilike(column, pattern) {
|
|
52
|
+
this.url.searchParams.append(column, `ilike.${pattern}`);
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
is(column, value) {
|
|
56
|
+
this.url.searchParams.append(column, `is.${value}`);
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
in(column, values) {
|
|
60
|
+
const cleanedValues = values
|
|
61
|
+
.map((s) => {
|
|
62
|
+
// handle postgrest reserved characters
|
|
63
|
+
// https://postgrest.org/en/v7.0.0/api.html#reserved-characters
|
|
64
|
+
if (typeof s === 'string' && new RegExp('[,()]').test(s))
|
|
65
|
+
return `"${s}"`;
|
|
66
|
+
else
|
|
67
|
+
return `${s}`;
|
|
68
|
+
})
|
|
69
|
+
.join(',');
|
|
70
|
+
this.url.searchParams.append(column, `in.(${cleanedValues})`);
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
contains(column, value) {
|
|
74
|
+
if (typeof value === 'string') {
|
|
75
|
+
// range types can be inclusive '[', ']' or exclusive '(', ')' so just
|
|
76
|
+
// keep it simple and accept a string
|
|
77
|
+
this.url.searchParams.append(column, `cs.${value}`);
|
|
78
|
+
}
|
|
79
|
+
else if (Array.isArray(value)) {
|
|
80
|
+
// array
|
|
81
|
+
this.url.searchParams.append(column, `cs.{${value.join(',')}}`);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// json
|
|
85
|
+
this.url.searchParams.append(column, `cs.${JSON.stringify(value)}`);
|
|
86
|
+
}
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
containedBy(column, value) {
|
|
90
|
+
if (typeof value === 'string') {
|
|
91
|
+
// range
|
|
92
|
+
this.url.searchParams.append(column, `cd.${value}`);
|
|
93
|
+
}
|
|
94
|
+
else if (Array.isArray(value)) {
|
|
95
|
+
// array
|
|
96
|
+
this.url.searchParams.append(column, `cd.{${value.join(',')}}`);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// json
|
|
100
|
+
this.url.searchParams.append(column, `cd.${JSON.stringify(value)}`);
|
|
101
|
+
}
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
rangeLt(column, range) {
|
|
105
|
+
this.url.searchParams.append(column, `sl.${range}`);
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
rangeGt(column, range) {
|
|
109
|
+
this.url.searchParams.append(column, `sr.${range}`);
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
rangeGte(column, range) {
|
|
113
|
+
this.url.searchParams.append(column, `nxl.${range}`);
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
rangeLte(column, range) {
|
|
117
|
+
this.url.searchParams.append(column, `nxr.${range}`);
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
rangeAdjacent(column, range) {
|
|
121
|
+
this.url.searchParams.append(column, `adj.${range}`);
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
overlaps(column, value) {
|
|
125
|
+
if (typeof value === 'string') {
|
|
126
|
+
// range
|
|
127
|
+
this.url.searchParams.append(column, `ov.${value}`);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// array
|
|
131
|
+
this.url.searchParams.append(column, `ov.{${value.join(',')}}`);
|
|
132
|
+
}
|
|
133
|
+
return this;
|
|
134
|
+
}
|
|
135
|
+
textSearch(column, query, { config, type } = {}) {
|
|
136
|
+
let typePart = '';
|
|
137
|
+
if (type === 'plain') {
|
|
138
|
+
typePart = 'pl';
|
|
139
|
+
}
|
|
140
|
+
else if (type === 'phrase') {
|
|
141
|
+
typePart = 'ph';
|
|
142
|
+
}
|
|
143
|
+
else if (type === 'websearch') {
|
|
144
|
+
typePart = 'w';
|
|
145
|
+
}
|
|
146
|
+
const configPart = config === undefined ? '' : `(${config})`;
|
|
147
|
+
this.url.searchParams.append(column, `${typePart}fts${configPart}.${query}`);
|
|
148
|
+
return this;
|
|
149
|
+
}
|
|
150
|
+
filter(column, operator, value) {
|
|
151
|
+
this.url.searchParams.append(column, `${operator}.${value}`);
|
|
152
|
+
return this;
|
|
153
|
+
}
|
|
154
|
+
match(query) {
|
|
155
|
+
Object.entries(query).forEach(([column, value]) => {
|
|
156
|
+
this.url.searchParams.append(column, `eq.${value}`);
|
|
157
|
+
});
|
|
158
|
+
return this;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
exports.default = PostgrestFilterBuilder;
|
|
162
|
+
//# sourceMappingURL=PostgrestFilterBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgrestFilterBuilder.js","sourceRoot":"","sources":["../../src/PostgrestFilterBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import PostgrestFilterBuilder from './PostgrestFilterBuilder';
|
|
2
|
+
import { GetResult } from './select-query-parser';
|
|
3
|
+
import { Fetch, GenericTable } from './types';
|
|
4
|
+
export default class PostgrestQueryBuilder<Table extends GenericTable> {
|
|
5
|
+
url: URL;
|
|
6
|
+
headers: Record<string, string>;
|
|
7
|
+
schema?: string;
|
|
8
|
+
shouldThrowOnError: boolean;
|
|
9
|
+
signal?: AbortSignal;
|
|
10
|
+
fetch?: Fetch;
|
|
11
|
+
constructor(url: URL, { headers, schema, fetch, shouldThrowOnError, }: {
|
|
12
|
+
headers?: Record<string, string>;
|
|
13
|
+
schema?: string;
|
|
14
|
+
fetch?: Fetch;
|
|
15
|
+
shouldThrowOnError: boolean;
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* Performs vertical filtering with SELECT.
|
|
19
|
+
*
|
|
20
|
+
* @param columns The columns to retrieve, separated by commas.
|
|
21
|
+
* @param head When set to true, select will void data.
|
|
22
|
+
* @param count Count algorithm to use to count rows in a table.
|
|
23
|
+
*/
|
|
24
|
+
select<Query extends string = '*', Result = GetResult<Table['Row'], Query extends '*' ? '*' : Query>>(columns?: Query, { head, count, }?: {
|
|
25
|
+
head?: boolean;
|
|
26
|
+
count?: 'exact' | 'planned' | 'estimated';
|
|
27
|
+
}): PostgrestFilterBuilder<Table['Row'], Result>;
|
|
28
|
+
/**
|
|
29
|
+
* Performs an INSERT into the table.
|
|
30
|
+
*
|
|
31
|
+
* @param values The values to insert.
|
|
32
|
+
* @param count Count algorithm to use to count rows in a table.
|
|
33
|
+
*/
|
|
34
|
+
insert<Row extends Table['Insert']>(values: Row | Row[], { count, }?: {
|
|
35
|
+
count?: 'exact' | 'planned' | 'estimated';
|
|
36
|
+
}): PostgrestFilterBuilder<Table['Row'], undefined>;
|
|
37
|
+
/**
|
|
38
|
+
* Performs an UPSERT into the table.
|
|
39
|
+
*
|
|
40
|
+
* @param values The values to insert.
|
|
41
|
+
* @param count Count algorithm to use to count rows in a table.
|
|
42
|
+
* @param options Named parameters.
|
|
43
|
+
* @param options.onConflict By specifying the `on_conflict` query parameter, you can make UPSERT work on a column(s) that has a UNIQUE constraint.
|
|
44
|
+
* @param options.ignoreDuplicates Specifies if duplicate rows should be ignored and not inserted.
|
|
45
|
+
*/
|
|
46
|
+
upsert<Row extends Table['Insert']>(values: Row | Row[], { onConflict, count, ignoreDuplicates, }?: {
|
|
47
|
+
onConflict?: string;
|
|
48
|
+
count?: 'exact' | 'planned' | 'estimated';
|
|
49
|
+
ignoreDuplicates?: boolean;
|
|
50
|
+
}): PostgrestFilterBuilder<Table['Row'], undefined>;
|
|
51
|
+
/**
|
|
52
|
+
* Performs an UPDATE on the table.
|
|
53
|
+
*
|
|
54
|
+
* @param values The values to update.
|
|
55
|
+
* @param count Count algorithm to use to count rows in a table.
|
|
56
|
+
*/
|
|
57
|
+
update<Row extends Table['Update']>(values: Row, { count, }?: {
|
|
58
|
+
count?: 'exact' | 'planned' | 'estimated';
|
|
59
|
+
}): PostgrestFilterBuilder<Table['Row'], undefined>;
|
|
60
|
+
/**
|
|
61
|
+
* Performs a DELETE on the table.
|
|
62
|
+
*
|
|
63
|
+
* @param count Count algorithm to use to count rows in a table.
|
|
64
|
+
*/
|
|
65
|
+
delete({ count, }?: {
|
|
66
|
+
count?: 'exact' | 'planned' | 'estimated';
|
|
67
|
+
}): PostgrestFilterBuilder<Table['Row'], undefined>;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=PostgrestQueryBuilder.d.ts.map
|
|
@@ -0,0 +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,MAAM,SAAS,CAAA;AAE7C,MAAM,CAAC,OAAO,OAAO,qBAAqB,CAAC,KAAK,SAAS,YAAY;IACnE,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,OAAO,CAAA;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;gBAGX,GAAG,EAAE,GAAG,EACR,EACE,OAAY,EACZ,MAAM,EACN,KAAK,EACL,kBAAkB,GACnB,EAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,KAAK,CAAA;QACb,kBAAkB,EAAE,OAAO,CAAA;KAC5B;IASH;;;;;;OAMG;IACH,MAAM,CACJ,KAAK,SAAS,MAAM,GAAG,GAAG,EAC1B,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,EAEjE,OAAO,CAAC,EAAE,KAAK,EACf,EACE,IAAY,EACZ,KAAK,GACN,GAAE;QACD,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KACrC,GACL,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAgC/C;;;;;OAKG;IACH,MAAM,CAAC,GAAG,SAAS,KAAK,CAAC,QAAQ,CAAC,EAChC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,EACnB,EACE,KAAK,GACN,GAAE;QACD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KACrC,GACL,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAiClD;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,SAAS,KAAK,CAAC,QAAQ,CAAC,EAChC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,EACnB,EACE,UAAU,EACV,KAAK,EACL,gBAAwB,GACzB,GAAE;QACD,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;QACzC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KACtB,GACL,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IA2BlD;;;;;OAKG;IACH,MAAM,CAAC,GAAG,SAAS,KAAK,CAAC,QAAQ,CAAC,EAChC,MAAM,EAAE,GAAG,EACX,EACE,KAAK,GACN,GAAE;QACD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KACrC,GACL,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAwBlD;;;;OAIG;IACH,MAAM,CAAC,EACL,KAAK,GACN,GAAE;QACD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KACrC,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAqBzD"}
|