refactor: safely parse emoji shortcodes #20814
Merged
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.
Changes
Define and use a schema for type checking emoji shortcodes
Context
This is required for #20553.
One of the rules of
@total-typescript/ts-reset
changes the return type ofJSON.parse
fromany
tounknown
1. This means that we need to do runtime type checking to verify the data that we are parsing.There are currently a lot of places where we use
JSON.parse
and each and every one of those will need to be type checked before #20553 can be considered complete.Documentation (please check one with an [x])
How I've tested my work (please select one)
I have verified these changes via:
Footnotes
https://github.com/total-typescript/ts-reset#make-jsonparse-return-unknown ↩