UNPKG

intern

Version:

Intern. A next-generation code testing stack for JavaScript.

71 lines 2.54 kB
(function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizePathEnding = exports.normalize = exports.join = exports.getPathSep = exports.dirname = void 0; function dirname(path) { var sep = getPathSep(path); var parts = normalize(path).split('/'); parts.pop(); if (parts.length === 1 && parts[0] === '') { return sep; } return parts.join(sep); } exports.dirname = dirname; function getPathSep() { var paths = []; for (var _i = 0; _i < arguments.length; _i++) { paths[_i] = arguments[_i]; } return paths.some(function (path) { return /\\/.test(path); }) ? '\\' : '/'; } exports.getPathSep = getPathSep; function join() { var paths = []; for (var _i = 0; _i < arguments.length; _i++) { paths[_i] = arguments[_i]; } var sep = getPathSep.apply(void 0, paths); var normalPaths = paths.map(normalize); var basePathParts = normalPaths[0].split('/'); if (basePathParts.length > 1 && basePathParts[basePathParts.length - 1] === '') { basePathParts.pop(); } for (var _a = 0, _b = normalPaths.slice(1); _a < _b.length; _a++) { var path = _b[_a]; for (var _c = 0, _d = path.split('/'); _c < _d.length; _c++) { var part = _d[_c]; if (part === '..') { basePathParts.pop(); } else if (part !== '.') { basePathParts.push(part); } } } return basePathParts.join(sep); } exports.join = join; function normalize(path) { return path.replace(/\\/g, '/'); } exports.normalize = normalize; function normalizePathEnding(path, pathSep) { if (pathSep === void 0) { pathSep = '/'; } if (path && path.length > 0 && path[path.length - 1] !== pathSep) { return "" + path + pathSep; } return path; } exports.normalizePathEnding = normalizePathEnding; }); //# sourceMappingURL=path.js.map