elysiajs / eden

Fully type-safe Elysia client
MIT License
157 stars 37 forks source link

Feature request: custom query param serializer #127

Open mnpenner opened 3 weeks ago

mnpenner commented 3 weeks ago

undefined is getting serialized to the string "undefined" instead of omitted from the query params, I believe because of this line:

https://github.com/elysiajs/eden/blob/8a0f7b6194ea336b18a1c80d9a7dd6d2b1afbba2/src/treaty2/index.ts#L188C38-L188C56

> encodeURIComponent(undefined)
'undefined'

I would like to omit such params.

I tried using the fetcher option but the URL has already been built by that point. onRequest also doesn't give me access to the query params it seems.

An option like serializeQuery(query: Record<string,any>): string or similar that lets me provide a custom implementation would be great.

blossomoftheend commented 2 weeks ago

We just encountered the same issue in our code and were surprised about undefined being serialized into "undefined", would be pretty cool to have a custom param serializer, like in axios for example

sorousharzani commented 2 weeks ago

I also encountered this issue. IMO undefined and null params should be sanitized from the request as Axios does it.