/
lostSun
/
project-client-server-apps
Обзор
Документация
Войти
/
lostSun
/
project-client-server-apps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/enhanced-resolve/lib/getPaths.js
45 строк
1 KB
1lostsun
initial commit
05 май 2025, 11:35
05 май 2025, 11:35
fe8f535
Код
Авторство
О чём код?
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; /** * @param {string} path path * @returns {{paths: string[], segments: string[]}}} paths and segments */ module.exports = function getPaths(path) { if (path === "/") return { paths: ["/"], segments: [""] }; const parts = path.split(/(.*?[\\/]+)/); const paths = [path]; const segments = [parts[parts.length - 1]]; let part = parts[parts.length - 1]; path = path.substring(0, path.length - part.length - 1); for (let i = parts.length - 2; i > 2; i -= 2) { paths.push(path); part = parts[i]; path = path.substring(0, path.length - part.length) || "/"; segments.push(part.slice(0, -1)); } part = parts[1]; segments.push(part); paths.push(part); return { paths: paths, segments: segments }; }; /** * @param {string} path path * @returns {string|null} basename or null */ module.exports.basename = function basename(path) { const i = path.lastIndexOf("/"), j = path.lastIndexOf("\\"); const p = i < 0 ? j : j < 0 ? i : i < j ? j : i; if (p < 0) return null; const s = path.slice(p + 1); return s; };