diff options
Diffstat (limited to 'cli/bench/testdata/npm/hono/dist/utils/html.js')
-rw-r--r-- | cli/bench/testdata/npm/hono/dist/utils/html.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/cli/bench/testdata/npm/hono/dist/utils/html.js b/cli/bench/testdata/npm/hono/dist/utils/html.js new file mode 100644 index 000000000..920739092 --- /dev/null +++ b/cli/bench/testdata/npm/hono/dist/utils/html.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.escapeToBuffer = void 0; +// The `escapeToBuffer` implementation is based on code from the MIT licensed `react-dom` package. +// https://github.com/facebook/react/blob/main/packages/react-dom/src/server/escapeTextForBrowser.js +const escapeRe = /[&<>"]/; +const escapeToBuffer = (str, buffer) => { + const match = str.search(escapeRe); + if (match === -1) { + buffer[0] += str; + return; + } + let escape; + let index; + let lastIndex = 0; + for (index = match; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: // " + escape = '"'; + break; + case 38: // & + escape = '&'; + break; + case 60: // < + escape = '<'; + break; + case 62: // > + escape = '>'; + break; + default: + continue; + } + buffer[0] += str.substring(lastIndex, index) + escape; + lastIndex = index + 1; + } + buffer[0] += str.substring(lastIndex, index); +}; +exports.escapeToBuffer = escapeToBuffer; |