Closed
Description
Many JavaScript APIs have methods with trailing optional args and are currently bound in Core as multiple different functions for different argument counts.
However, since ReScript 11, we can have trailing optional args in functions/bindings without needing a ()
at the end anymore. This allows us to create more idiomatic bindings for such cases, corresponding more closely to the original JS API.
I have already created the following PRs for a some such cases:
- Intl types: simplify bindings for constructors / functions with optional arguments #198
- Use optional args for JSON.stringify and JSON.parseExn #201
There are quite a few other bindings left that should be changed in a similar way (e.g., Date.make
).
For some such functions, the trailing undefined
s emitted by the 11.0 compiler for the omitted arguments will be problematic and therefore ReScript 11.1 will be required.
Metadata
Metadata
Assignees
Labels
No labels