2016-03-26 11:12:07 +00:00
|
|
|
"use strict";
|
2016-06-14 03:16:43 +00:00
|
|
|
require("typings-global");
|
2016-09-30 15:08:09 +00:00
|
|
|
const plugins = require("./smartpath.plugins");
|
2016-03-20 17:59:30 +00:00
|
|
|
/* ------------------------------------------ *
|
|
|
|
* ------------ helpers --------------------- *
|
|
|
|
* ------------------------------------------ */
|
2016-09-30 15:08:09 +00:00
|
|
|
// checks a file
|
|
|
|
let makeAbsolute = function (localPathArg, baseArg) {
|
|
|
|
let absolutePath;
|
|
|
|
let alreadyAbsolute = plugins.path.isAbsolute(localPathArg);
|
|
|
|
if (baseArg && !alreadyAbsolute) {
|
2016-03-20 17:59:30 +00:00
|
|
|
absolutePath = plugins.path.join(baseArg, localPathArg);
|
|
|
|
}
|
2016-09-30 15:08:09 +00:00
|
|
|
else if (!alreadyAbsolute) {
|
2016-03-20 17:59:30 +00:00
|
|
|
absolutePath = plugins.path.resolve(localPathArg);
|
|
|
|
}
|
2016-09-30 15:08:09 +00:00
|
|
|
else {
|
|
|
|
absolutePath = localPathArg;
|
|
|
|
}
|
2016-03-20 17:59:30 +00:00
|
|
|
return absolutePath;
|
|
|
|
};
|
|
|
|
/* ------------------------------------------ *
|
|
|
|
* ------- export functions ----------------- *
|
|
|
|
* ------------------------------------------ */
|
|
|
|
exports.toAbsolute = function (relativeArg, baseArg) {
|
2016-09-30 15:08:09 +00:00
|
|
|
if (typeof relativeArg === 'string') {
|
2016-03-20 17:59:30 +00:00
|
|
|
return makeAbsolute(relativeArg, baseArg);
|
|
|
|
}
|
|
|
|
else if (Array.isArray(relativeArg)) {
|
2016-09-30 15:08:09 +00:00
|
|
|
let relativeArray = relativeArg;
|
|
|
|
let absoluteArray = [];
|
|
|
|
for (let key in relativeArray) {
|
2016-03-20 17:59:30 +00:00
|
|
|
absoluteArray.push(makeAbsolute(relativeArray[key], baseArg));
|
|
|
|
}
|
|
|
|
return absoluteArray;
|
|
|
|
}
|
|
|
|
else {
|
2016-09-30 15:08:09 +00:00
|
|
|
plugins.beautylog.error('smartpath.absolute() could not make sense of the input. ' +
|
|
|
|
'Input is neither String nor Array');
|
2016-03-20 17:59:30 +00:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
};
|
2016-09-30 15:08:09 +00:00
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwYXRoLnRyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0cGF0aC50cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBCQUF1QjtBQUN2QiwrQ0FBK0M7QUFFL0M7O2dEQUVnRDtBQUVoRCxpQkFBaUI7QUFDakIsSUFBSSxZQUFZLEdBQUcsVUFBUyxZQUFvQixFQUFFLE9BQWdCO0lBQzlELElBQUksWUFBb0IsQ0FBQTtJQUN4QixJQUFJLGVBQWUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMzRCxFQUFFLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzlCLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDekIsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLFlBQVksR0FBRyxZQUFZLENBQUE7SUFDL0IsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUFZLENBQUE7QUFDdkIsQ0FBQyxDQUFBO0FBRUQ7O2dEQUVnRDtBQUNyQyxRQUFBLFVBQVUsR0FBRyxVQUFTLFdBQThCLEVBQUUsT0FBZ0I7SUFDN0UsRUFBRSxDQUFDLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksYUFBYSxHQUFHLFdBQVcsQ0FBQTtRQUMvQixJQUFJLGFBQWEsR0FBYSxFQUFFLENBQUE7UUFDaEMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQztZQUM1QixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUNoRSxDQUFDO1FBQ0QsTUFBTSxDQUFDLGFBQWEsQ0FBQTtJQUN4QixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQywwREFBMEQ7WUFDOUUsbUNBQW1DLENBQUMsQ0FBQTtRQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFBO0lBQ2hCLENBQUM7QUFDTCxDQUFDLENBQUEifQ==
|