39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "removePathPrefix", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return removePathPrefix;
|
|
}
|
|
});
|
|
const _pathhasprefix = require("./path-has-prefix");
|
|
function removePathPrefix(path, prefix) {
|
|
// If the path doesn't start with the prefix we can return it as is. This
|
|
// protects us from situations where the prefix is a substring of the path
|
|
// prefix such as:
|
|
//
|
|
// For prefix: /blog
|
|
//
|
|
// /blog -> true
|
|
// /blog/ -> true
|
|
// /blog/1 -> true
|
|
// /blogging -> false
|
|
// /blogging/ -> false
|
|
// /blogging/1 -> false
|
|
if (!(0, _pathhasprefix.pathHasPrefix)(path, prefix)) {
|
|
return path;
|
|
}
|
|
// Remove the prefix from the path via slicing.
|
|
const withoutPrefix = path.slice(prefix.length);
|
|
// If the path without the prefix starts with a `/` we can return it as is.
|
|
if (withoutPrefix.startsWith("/")) {
|
|
return withoutPrefix;
|
|
}
|
|
// If the path without the prefix doesn't start with a `/` we need to add it
|
|
// back to the path to make sure it's a valid path.
|
|
return "/" + withoutPrefix;
|
|
}
|
|
|
|
//# sourceMappingURL=remove-path-prefix.js.map
|