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.
Enclosed is my code to support JSON UTF-16 surrogate pairs.
Please review and suggest any appropriate improvements.
Credit goes to Jason Miller & Hans Hübner of yason, where I got the elegant and simple translation logic to convert UTF-16 to code points.
While I have also added writer as well (the original code would still work but may output non-Ascii characters - this is still possible with the output-literal-unicode option).
I am sure many JSON libraries (notably cl-json hankhero/cl-json#11) continue to suffer from this bug/missing feature, though this feature seems to be used mainly for representing emojis today!
PS: My tests are current embedded as comments within the source file, one day, I assume they can move into properly structured unit tests. It might be a good idea to share certain test samples across all JSON libraries too?