mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-10 21:01:41 +00:00
update
This commit is contained in:
28
node_modules/path-is-inside/lib/path-is-inside.js
generated
vendored
Normal file
28
node_modules/path-is-inside/lib/path-is-inside.js
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
"use strict";
|
||||
|
||||
var path = require("path");
|
||||
|
||||
module.exports = function (thePath, potentialParent) {
|
||||
// For inside-directory checking, we want to allow trailing slashes, so normalize.
|
||||
thePath = stripTrailingSep(thePath);
|
||||
potentialParent = stripTrailingSep(potentialParent);
|
||||
|
||||
// Node treats only Windows as case-insensitive in its path module; we follow those conventions.
|
||||
if (process.platform === "win32") {
|
||||
thePath = thePath.toLowerCase();
|
||||
potentialParent = potentialParent.toLowerCase();
|
||||
}
|
||||
|
||||
return thePath.lastIndexOf(potentialParent, 0) === 0 &&
|
||||
(
|
||||
thePath[potentialParent.length] === path.sep ||
|
||||
thePath[potentialParent.length] === undefined
|
||||
);
|
||||
};
|
||||
|
||||
function stripTrailingSep(thePath) {
|
||||
if (thePath[thePath.length - 1] === path.sep) {
|
||||
return thePath.slice(0, -1);
|
||||
}
|
||||
return thePath;
|
||||
}
|
Reference in New Issue
Block a user