aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/tar/dist/esm/strip-trailing-slashes.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/tar/dist/esm/strip-trailing-slashes.js')
-rw-r--r--node_modules/tar/dist/esm/strip-trailing-slashes.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/node_modules/tar/dist/esm/strip-trailing-slashes.js b/node_modules/tar/dist/esm/strip-trailing-slashes.js
new file mode 100644
index 0000000..ace4218
--- /dev/null
+++ b/node_modules/tar/dist/esm/strip-trailing-slashes.js
@@ -0,0 +1,14 @@
+// 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.
+export const stripTrailingSlashes = (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);
+};
+//# sourceMappingURL=strip-trailing-slashes.js.map \ No newline at end of file