mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-10 21:01:41 +00:00
update
This commit is contained in:
171
node_modules/upath/build/code/upath.js
generated
vendored
Normal file
171
node_modules/upath/build/code/upath.js
generated
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
/**
|
||||
* 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-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 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;
|
||||
}
|
||||
}
|
||||
|
||||
;
|
Reference in New Issue
Block a user