/** * upath http://github.com/anodynos/upath/ * * A proxy to `path`, replacing `\` with `/` for all results (supports UNC paths) & new methods to normalize & join keeping leading `./` and add, change, default, trim file extensions. * Version 2.0.1 - Compiled on 2020-11-07 16:59:47 * Repository git://github.com/anodynos/upath * Copyright(c) 2020 Angelos Pikoulas * License MIT */ // Generated by uRequire v0.7.0-beta.33 target: 'lib' template: 'nodejs' var VERSION = '2.0.1'; // injected by urequire-rc-inject-version var extraFn, extraFunctions, isFunction, isString, isValidExt, name, path, propName, propValue, toUnix, upath, slice = [].slice, indexOf = [].indexOf || function (item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }, hasProp = {}.hasOwnProperty; path = require("path"); isFunction = function (val) { return typeof val === "function"; }; isString = function (val) { return typeof val === "string" || !!val && typeof val === "object" && Object.prototype.toString.call(val) === "[object String]"; }; upath = exports; upath.VERSION = typeof VERSION !== "undefined" && VERSION !== null ? VERSION : "NO-VERSION"; toUnix = function (p) { p = p.replace(/\\/g, "/"); p = p.replace(/(? 0) { p0 = toUnix(p[0]); if (p0.startsWith("./") && !result.startsWith("./") && !result.startsWith("..")) { result = "./" + result; } else if (p0.startsWith("//") && !result.startsWith("//")) { if (p0.startsWith("//./")) { result = "//." + result; } else { result = "/" + result; } } } return result; }, addExt: function (file, ext) { if (!ext) { return file; } else { if (ext[0] !== ".") { ext = "." + ext; } return file + (file.endsWith(ext) ? "" : ext); } }, trimExt: function (filename, ignoreExts, maxSize) { var oldExt; if (maxSize == null) { maxSize = 7; } oldExt = upath.extname(filename); if (isValidExt(oldExt, ignoreExts, maxSize)) { return filename.slice(0, +(filename.length - oldExt.length - 1) + 1 || 9000000000); } else { return filename; } }, removeExt: function (filename, ext) { if (!ext) { return filename; } else { ext = ext[0] === "." ? ext : "." + ext; if (upath.extname(filename) === ext) { return upath.trimExt(filename, [], ext.length); } else { return filename; } } }, changeExt: function (filename, ext, ignoreExts, maxSize) { if (maxSize == null) { maxSize = 7; } return upath.trimExt(filename, ignoreExts, maxSize) + (!ext ? "" : ext[0] === "." ? ext : "." + ext); }, defaultExt: function (filename, ext, ignoreExts, maxSize) { var oldExt; if (maxSize == null) { maxSize = 7; } oldExt = upath.extname(filename); if (isValidExt(oldExt, ignoreExts, maxSize)) { return filename; } else { return upath.addExt(filename, ext); } } }; isValidExt = function (ext, ignoreExts, maxSize) { if (ignoreExts == null) { ignoreExts = []; } return ext && ext.length <= maxSize && indexOf.call(ignoreExts.map(function (e) { return (e && e[0] !== "." ? "." : "") + e; }), ext) < 0; }; for (name in extraFunctions) { if (!hasProp.call(extraFunctions, name)) continue; extraFn = extraFunctions[name]; if (upath[name] !== void 0) { throw new Error("path." + name + " already exists."); } else { upath[name] = extraFn; } } ;