You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
12 lines
413 B
12 lines
413 B
// warning: extremely hot code path. |
|
// This has been meticulously optimized for use |
|
// within npm install on large package trees. |
|
// Do not edit without careful benchmarking. |
|
const normalizeCache = Object.create(null) |
|
const { hasOwnProperty } = Object.prototype |
|
module.exports = s => { |
|
if (!hasOwnProperty.call(normalizeCache, s)) { |
|
normalizeCache[s] = s.normalize('NFKD') |
|
} |
|
return normalizeCache[s] |
|
}
|
|
|