@@ -4,16 +4,6 @@ import PostgrestTransformBuilder from './PostgrestTransformBuilder'
4
4
* Filters
5
5
*/
6
6
7
- const cleanFilterArray = < T > ( filter : T [ keyof T ] [ ] ) =>
8
- filter
9
- . map ( ( s ) => {
10
- // handle postgrest reserved characters
11
- // https://postgrest.org/en/v7.0.0/api.html#reserved-characters
12
- if ( typeof s === 'string' && new RegExp ( '[,()]' ) . test ( s ) ) return `"${ s } "`
13
- else return `${ s } `
14
- } )
15
- . join ( ',' )
16
-
17
7
type FilterOperator =
18
8
| 'eq'
19
9
| 'neq'
@@ -179,7 +169,15 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
179
169
* @param values The values to filter with.
180
170
*/
181
171
in ( column : keyof T , values : T [ keyof T ] [ ] ) : this {
182
- this . url . searchParams . append ( `${ column } ` , `in.(${ cleanFilterArray ( values ) } )` )
172
+ const cleanedValues = values
173
+ . map ( ( s ) => {
174
+ // handle postgrest reserved characters
175
+ // https://postgrest.org/en/v7.0.0/api.html#reserved-characters
176
+ if ( typeof s === 'string' && new RegExp ( '[,()]' ) . test ( s ) ) return `"${ s } "`
177
+ else return `${ s } `
178
+ } )
179
+ . join ( ',' )
180
+ this . url . searchParams . append ( `${ column } ` , `in.(${ cleanedValues } )` )
183
181
return this
184
182
}
185
183
@@ -197,7 +195,7 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
197
195
this . url . searchParams . append ( `${ column } ` , `cs.${ value } ` )
198
196
} else if ( Array . isArray ( value ) ) {
199
197
// array
200
- this . url . searchParams . append ( `${ column } ` , `cs.{${ cleanFilterArray ( value ) } }` )
198
+ this . url . searchParams . append ( `${ column } ` , `cs.{${ value . join ( ',' ) } }` )
201
199
} else {
202
200
// json
203
201
this . url . searchParams . append ( `${ column } ` , `cs.${ JSON . stringify ( value ) } ` )
@@ -218,7 +216,7 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
218
216
this . url . searchParams . append ( `${ column } ` , `cd.${ value } ` )
219
217
} else if ( Array . isArray ( value ) ) {
220
218
// array
221
- this . url . searchParams . append ( `${ column } ` , `cd.{${ cleanFilterArray ( value ) } }` )
219
+ this . url . searchParams . append ( `${ column } ` , `cd.{${ value . join ( ',' ) } }` )
222
220
} else {
223
221
// json
224
222
this . url . searchParams . append ( `${ column } ` , `cd.${ JSON . stringify ( value ) } ` )
@@ -299,7 +297,7 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
299
297
this . url . searchParams . append ( `${ column } ` , `ov.${ value } ` )
300
298
} else {
301
299
// array
302
- this . url . searchParams . append ( `${ column } ` , `ov.{${ cleanFilterArray ( value ) } }` )
300
+ this . url . searchParams . append ( `${ column } ` , `ov.{${ value . join ( ',' ) } }` )
303
301
}
304
302
return this
305
303
}
0 commit comments