Skip to content
This repository was archived by the owner on Oct 9, 2025. It is now read-only.

Commit 5c36f1d

Browse files
committed
refactor: inline cleanFilterArray
1 parent 5c02d4a commit 5c36f1d

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

src/lib/PostgrestFilterBuilder.ts

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,6 @@ import PostgrestTransformBuilder from './PostgrestTransformBuilder'
44
* Filters
55
*/
66

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-
177
type FilterOperator =
188
| 'eq'
199
| 'neq'
@@ -179,7 +169,15 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
179169
* @param values The values to filter with.
180170
*/
181171
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})`)
183181
return this
184182
}
185183

@@ -197,7 +195,7 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
197195
this.url.searchParams.append(`${column}`, `cs.${value}`)
198196
} else if (Array.isArray(value)) {
199197
// array
200-
this.url.searchParams.append(`${column}`, `cs.{${cleanFilterArray(value)}}`)
198+
this.url.searchParams.append(`${column}`, `cs.{${value.join(',')}}`)
201199
} else {
202200
// json
203201
this.url.searchParams.append(`${column}`, `cs.${JSON.stringify(value)}`)
@@ -218,7 +216,7 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
218216
this.url.searchParams.append(`${column}`, `cd.${value}`)
219217
} else if (Array.isArray(value)) {
220218
// array
221-
this.url.searchParams.append(`${column}`, `cd.{${cleanFilterArray(value)}}`)
219+
this.url.searchParams.append(`${column}`, `cd.{${value.join(',')}}`)
222220
} else {
223221
// json
224222
this.url.searchParams.append(`${column}`, `cd.${JSON.stringify(value)}`)
@@ -299,7 +297,7 @@ export default class PostgrestFilterBuilder<T> extends PostgrestTransformBuilder
299297
this.url.searchParams.append(`${column}`, `ov.${value}`)
300298
} else {
301299
// array
302-
this.url.searchParams.append(`${column}`, `ov.{${cleanFilterArray(value)}}`)
300+
this.url.searchParams.append(`${column}`, `ov.{${value.join(',')}}`)
303301
}
304302
return this
305303
}

0 commit comments

Comments
 (0)