You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
non-string input. both packages coerce via String(), so escape(42) returns "42". the snippet throws on non-strings. Would String(str).replace(...) be worth adding? template helpers get fed numbers and undefined a lot.
html-escaper also exports unescape. the snippet only covers escape, so anyone using both directions doesn't have a full replacement. should we add an unescape snippet too, or keep this PR to escape-html and do html-escaper in a follow-up?
on the perf question from james i benchmarked it since it was left open:
input
escape-html
snippet
100 chars, no specials
85 ns
167 ns
short HTML fragment
289 ns
594 ns
dense specials
2.1 µs
7.4 µs
so @43081j was right that the loop is there for perf (the repo has a benchmark/ dir too), but it's ~2x on realistic input, which won't matter outside a hot SSR loop. might be worth one line in the description noting the trade-off so people who picked escape-html for throughput aren't surprised.
this is non-trivial so i do wonder if we are better using a documented replacement, then give the two options (1. readable but slightly slower, 2. fast but not as readable).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
🔗 Linked issue
Closes #945
📚 Description
add replacements