Add user-defined numeral parsing #64
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the change
This makes the underlying
Jsontype polymorphic. You can now plug in a typeto use for numbers, and you can then avoid losing precision when handling JSON
with the Number. I am working on a library for infinite precision numbers in
scientific notation, which I can show if there is interest. One could also use decimals.
Existing users remain compatible with this change since
Jsonis stillavailable as a type synonym for
Json Number. You only get new functionalityif you import the new module.
Note that this feature depends on a new JavaScript runtime:
In the new API,
stringifycan fail, which happens for example when you emitinvalid JSON or run the code on an old JavaScript runtime. I have tested
manually that it fails gracefully on Node.js v20. But this test isn't included
in the automated test suite, since I am not sure if the test suite should be
doing feature probing. It would be hard to know whether the feature is
'supposed' to work.
Pinging @thomashoneyman and @garyb as I was told on Discord that they might be
interested.
Checklist: