You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
13 lines
412 B
JavaScript
13 lines
412 B
JavaScript
8 months ago
|
// 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('NFD')
|
||
|
}
|
||
|
return normalizeCache[s]
|
||
|
}
|