sst / sst.dev

Repo for sst.dev
https://sst.dev
MIT License
3.68k stars 445 forks source link

`useJsonBody()` hook incorrectly claims to return `string | undefined` values in TypeScript #759

Open prabal-rje opened 2 months ago

prabal-rje commented 2 months ago

The useJsonBody() hook for the API client in SST claims to return string | undefined values only, but if the JSON body contains a list of strings, you need to do weird 'type magic' to make it work.

Here's a sample code snippet in TS:

const {
  some_str,
  some_str_list
} = useJsonBody();

Here's TS claiming they must all be string | undefined:

image

Here's how I got around the problem:

const str_list = some_str_list as unknown as string[]

EDIT: I am a JS/TS n00b so I apologize if the bug report is nonsense.