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.
14 lines
394 B
JavaScript
14 lines
394 B
JavaScript
// 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.
|
|
module.exports = str => {
|
|
let i = str.length - 1
|
|
let slashesStart = -1
|
|
while (i > -1 && str.charAt(i) === '/') {
|
|
slashesStart = i
|
|
i--
|
|
}
|
|
return slashesStart === -1 ? str : str.slice(0, slashesStart)
|
|
}
|