@@ -5,7 +5,7 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder {
5
5
6
6
/// Convert list filter to query params string
7
7
String _cleanFilterArray (List filter) {
8
- if (filter is List < int > || filter is List < double > || filter is List < num > ) {
8
+ if (filter. every ((element) => element is num ) ) {
9
9
return filter.map ((s) => '$s ' ).join (',' );
10
10
} else {
11
11
return filter.map ((s) => '"$s "' ).join (',' );
@@ -19,16 +19,15 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder {
19
19
/// ```
20
20
PostgrestFilterBuilder not (String column, String operator , dynamic value) {
21
21
if (value is List ) {
22
- if (operator == 'cs' ) {
23
- // `cs` filter requires postgrest array type `{}`
22
+ if (operator == "in" ) {
24
23
appendSearchParams (
25
24
column,
26
- 'not.$operator .{ ${_cleanFilterArray (value )}} ' ,
25
+ 'not.$operator .( ${_cleanFilterArray (value )}) ' ,
27
26
);
28
27
} else {
29
28
appendSearchParams (
30
29
column,
31
- 'not.$operator .( ${_cleanFilterArray (value )}) ' ,
30
+ 'not.$operator .{ ${_cleanFilterArray (value )}} ' ,
32
31
);
33
32
}
34
33
} else {
@@ -55,7 +54,7 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder {
55
54
/// ```
56
55
PostgrestFilterBuilder eq (String column, dynamic value) {
57
56
if (value is List ) {
58
- appendSearchParams (column, 'eq.( ${_cleanFilterArray (value )}) ' );
57
+ appendSearchParams (column, 'eq.{ ${_cleanFilterArray (value )}} ' );
59
58
} else {
60
59
appendSearchParams (column, 'eq.$value ' );
61
60
}
@@ -69,7 +68,7 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder {
69
68
/// ```
70
69
PostgrestFilterBuilder neq (String column, dynamic value) {
71
70
if (value is List ) {
72
- appendSearchParams (column, 'neq.( ${_cleanFilterArray (value )}) ' );
71
+ appendSearchParams (column, 'neq.{ ${_cleanFilterArray (value )}} ' );
73
72
} else {
74
73
appendSearchParams (column, 'neq.$value ' );
75
74
}
@@ -171,7 +170,7 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder {
171
170
appendSearchParams (column, 'cs.$value ' );
172
171
} else if (value is List ) {
173
172
// array
174
- appendSearchParams (column, 'cs.( ${_cleanFilterArray (value )}) ' );
173
+ appendSearchParams (column, 'cs.{ ${_cleanFilterArray (value )}} ' );
175
174
} else {
176
175
// json
177
176
appendSearchParams (column, 'cs.${json .encode (value )}' );
@@ -191,7 +190,7 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder {
191
190
appendSearchParams (column, 'cd.$value ' );
192
191
} else if (value is List ) {
193
192
// array
194
- appendSearchParams (column, 'cd.( ${_cleanFilterArray (value )}) ' );
193
+ appendSearchParams (column, 'cd.{ ${_cleanFilterArray (value )}} ' );
195
194
} else {
196
195
// json
197
196
appendSearchParams (column, 'cd.${json .encode (value )}' );
@@ -261,7 +260,7 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder {
261
260
appendSearchParams (column, 'ov.$value ' );
262
261
} else if (value is List ) {
263
262
// array
264
- appendSearchParams (column, 'ov.( ${_cleanFilterArray (value )}) ' );
263
+ appendSearchParams (column, 'ov.{ ${_cleanFilterArray (value )}} ' );
265
264
}
266
265
return this ;
267
266
}
@@ -301,11 +300,16 @@ class PostgrestFilterBuilder extends PostgrestTransformBuilder {
301
300
/// ```
302
301
PostgrestFilterBuilder filter (String column, String operator , dynamic value) {
303
302
if (value is List ) {
304
- if (operator == 'cs' ) {
305
- // `cs` filter requires postgrest array type `{}`
306
- appendSearchParams (column, '$operator .{${_cleanFilterArray (value )}}' );
303
+ if (operator == "in" ) {
304
+ appendSearchParams (
305
+ column,
306
+ '$operator .(${_cleanFilterArray (value )})' ,
307
+ );
307
308
} else {
308
- appendSearchParams (column, '$operator .(${_cleanFilterArray (value )})' );
309
+ appendSearchParams (
310
+ column,
311
+ '$operator .{${_cleanFilterArray (value )}}' ,
312
+ );
309
313
}
310
314
} else {
311
315
appendSearchParams (column, '$operator .$value ' );
0 commit comments