From 99dde61e43140883af1790402401b60db6518dac Mon Sep 17 00:00:00 2001 From: "asamuzaK (Kazz)" Date: Sat, 27 Dec 2025 07:45:37 +0900 Subject: [PATCH] Improve asciiLowercase/asciiUppercase performance See https://github.com/jsdom/jsdom/commit/1cd029efb72314840c46730d72f9684c60635c54 --- lib/utils/strings.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/utils/strings.js b/lib/utils/strings.js index 868c1694..c0227e0e 100644 --- a/lib/utils/strings.js +++ b/lib/utils/strings.js @@ -8,6 +8,9 @@ exports.asciiWhitespaceRe = asciiWhitespaceRe; // https://infra.spec.whatwg.org/#ascii-lowercase exports.asciiLowercase = (s) => { + if (!/[^\x00-\x7f]/.test(s)) { + return s.toLowerCase(); + } const len = s.length; const out = new Array(len); for (let i = 0; i < len; i++) { @@ -20,6 +23,9 @@ exports.asciiLowercase = (s) => { // https://infra.spec.whatwg.org/#ascii-uppercase exports.asciiUppercase = (s) => { + if (!/[^\x00-\x7f]/.test(s)) { + return s.toUpperCase(); + } const len = s.length; const out = new Array(len); for (let i = 0; i < len; i++) {