wecui
Version:
一款基于Vue2.x版本的移动端web组件
54 lines (37 loc) • 1.24 kB
JavaScript
var map = require("map-stream"),
Path = require("path");
module.exports = function (obj) {
"use strict";
function parsePath(path) {
var extname = Path.extname(path);
return {
dirname: Path.dirname(path),
basename: Path.basename(path, extname),
extname: extname
};
}
function rename(file, callback) {
var parsedPath = parsePath(file.relative);
var path;
var type = typeof obj;
if (type === "string" && obj !== "") {
path = obj;
} else if (type === "function") {
var result = obj(parsedPath) || parsedPath;
path = Path.join(result.dirname, result.basename + result.extname);
} else if (type === "object" && obj !== undefined && obj !== null) {
var dirname = 'dirname' in obj ? obj.dirname : parsedPath.dirname,
prefix = obj.prefix || "",
suffix = obj.suffix || "",
basename = 'basename' in obj ? obj.basename : parsedPath.basename,
extname = 'extname' in obj ? obj.extname : parsedPath.extname;
path = Path.join(dirname, prefix + basename + suffix + extname);
} else {
callback(new Error("Unsupported renaming parameter type supplied"), undefined);
return;
}
file.path = Path.join(file.base, path);
callback(null, file);
}
return map(rename);
};