| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 | /*** upath http://github.com/anodynos/upath/** A proxy to `path`, replacing `\` with `/` for all results & new methods to normalize & join keeping leading `./` and add, change, default, trim file extensions.* Version 1.2.0 - Compiled on 2019-09-02 23:33:57* Repository git://github.com/anodynos/upath* Copyright(c) 2019 Angelos Pikoulas <agelos.pikoulas@gmail.com>* License MIT*/// Generated by uRequire v0.7.0-beta.33 target: 'lib' template: 'nodejs'var VERSION = '1.2.0'; // injected by urequire-rc-inject-versionvar 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 val instanceof 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) {  var double;  p = p.replace(/\\/g, "/");  double = /\/\//;  while (p.match(double)) {    p = p.replace(double, "/");  }  return p;};for (propName in path) {  propValue = path[propName];  if (isFunction(propValue)) {    upath[propName] = function (propName) {      return function () {        var args, result;        args = 1 <= arguments.length ? slice.call(arguments, 0) : [];        args = args.map(function (p) {          if (isString(p)) {            return toUnix(p);          } else {            return p;          }        });        result = path[propName].apply(path, args);        if (isString(result)) {          return toUnix(result);        } else {          return result;        }      };    }(propName);  } else {    upath[propName] = propValue;  }}upath.sep = "/";extraFunctions = {  toUnix: toUnix,  normalizeSafe: function (p) {    p = toUnix(p);    if (p.startsWith("./")) {      if (p.startsWith("./..") || p === "./") {        return upath.normalize(p);      } else {        return "./" + upath.normalize(p);      }    } else {      return upath.normalize(p);    }  },  normalizeTrim: function (p) {    p = upath.normalizeSafe(p);    if (p.endsWith("/")) {      return p.slice(0, +(p.length - 2) + 1 || 9000000000);    } else {      return p;    }  },  joinSafe: function () {    var p, result;    p = 1 <= arguments.length ? slice.call(arguments, 0) : [];    result = upath.join.apply(null, p);    if (p[0].startsWith("./") && !result.startsWith("./")) {      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);      } 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;  }};
 |