supabase / postgrest-js

Isomorphic JavaScript client for PostgREST.
https://supabase.com
MIT License
965 stars 129 forks source link

`value` type for `.contains()` is not specific enough #435

Open laeo opened 1 year ago

laeo commented 1 year ago

I have a uuid[] field, and i have to filter data using contains method.

VSCode shows the .contains() accept a string | Record<string, unknown> | unknown[] as second param, but it will errors when i pass a string value,

{
  code: "22P02",
  details: 'Array value must start with "{" or dimension information.',
  hint: null,
  message: 'malformed array literal: "06591b00-2d5f-4af1-8203-2324323c5ff2"'
}

If i pass an string[], everything looks good.

Maybe the generated type schema wrong? Or the JS lib not correctly handle them.

soedirgo commented 1 year ago

Thanks! We could definitely be more specific here - string is valid for range types, Record<string, unknown> is for json/jsonb, and unknown[] is for array types.