smartpath/dist/smartpath.transform.js

41 lines
4.6 KiB
JavaScript

"use strict";
require("typings-global");
var plugins = require("./smartpath.plugins");
/* ------------------------------------------ *
* ------------ helpers --------------------- *
* ------------------------------------------ */
var makeAbsolute = function (localPathArg, baseArg) {
var absolutePath;
if (baseArg) {
absolutePath = plugins.path.join(baseArg, localPathArg);
}
else {
absolutePath = plugins.path.resolve(localPathArg);
}
return absolutePath;
};
/* ------------------------------------------ *
* ------- export functions ----------------- *
* ------------------------------------------ */
exports.toAbsolute = function (relativeArg, baseArg) {
if (typeof relativeArg === "string") {
return makeAbsolute(relativeArg, baseArg);
}
else if (Array.isArray(relativeArg)) {
var relativeArray = relativeArg;
var absoluteArray = [];
for (var key in relativeArray) {
absoluteArray.push(makeAbsolute(relativeArray[key], baseArg));
}
;
return absoluteArray;
}
else {
plugins.beautylog.error("smartpath.absolute() could not make sense of the input. " +
"Input is neither String nor Array");
return false;
}
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0cGF0aC50cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxxQkFBcUIsQ0FBQyxDQUFBO0FBRS9DOztnREFFZ0Q7QUFDaEQsSUFBSSxZQUFZLEdBQUcsVUFBUyxZQUFtQixFQUFFLE9BQWU7SUFDNUQsSUFBSSxZQUFtQixDQUFDO0lBQ3hCLEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUM7UUFDUixZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNILFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRjs7Z0RBRWdEO0FBQ3JDLGtCQUFVLEdBQUcsVUFBUyxXQUFlLEVBQUUsT0FBZTtJQUM3RCxFQUFFLENBQUEsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDbEMsSUFBSSxhQUFhLEdBQUcsV0FBVyxDQUFBO1FBQy9CLElBQUksYUFBYSxHQUFZLEVBQUUsQ0FBQztRQUNoQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQSxDQUFDO1lBQzNCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFBQSxDQUFDO1FBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQywwREFBMEQ7WUFDOUUsbUNBQW1DLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJmaWxlIjoic21hcnRwYXRoLnRyYW5zZm9ybS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vc21hcnRwYXRoLnBsdWdpbnNcIjtcclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXHJcbiAqIC0tLS0tLS0tLS0tLSBoZWxwZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5sZXQgbWFrZUFic29sdXRlID0gZnVuY3Rpb24obG9jYWxQYXRoQXJnOnN0cmluZywgYmFzZUFyZz86c3RyaW5nKTpzdHJpbmcge1xyXG4gICAgbGV0IGFic29sdXRlUGF0aDpzdHJpbmc7XHJcbiAgICBpZihiYXNlQXJnKXtcclxuICAgICAgICBhYnNvbHV0ZVBhdGggPSBwbHVnaW5zLnBhdGguam9pbihiYXNlQXJnLGxvY2FsUGF0aEFyZyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgICBhYnNvbHV0ZVBhdGggPSBwbHVnaW5zLnBhdGgucmVzb2x2ZShsb2NhbFBhdGhBcmcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFic29sdXRlUGF0aDtcclxufTtcclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXHJcbiAqIC0tLS0tLS0gZXhwb3J0IGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLSAqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5leHBvcnQgbGV0IHRvQWJzb2x1dGUgPSBmdW5jdGlvbihyZWxhdGl2ZUFyZzphbnksIGJhc2VBcmc/OnN0cmluZyk6YW55IHtcclxuICAgIGlmKHR5cGVvZiByZWxhdGl2ZUFyZyA9PT0gXCJzdHJpbmdcIil7XHJcbiAgICAgICAgcmV0dXJuIG1ha2VBYnNvbHV0ZShyZWxhdGl2ZUFyZyxiYXNlQXJnKTtcclxuICAgIH0gZWxzZSBpZihBcnJheS5pc0FycmF5KHJlbGF0aXZlQXJnKSl7XHJcbiAgICAgICAgbGV0IHJlbGF0aXZlQXJyYXkgPSByZWxhdGl2ZUFyZ1xyXG4gICAgICAgIGxldCBhYnNvbHV0ZUFycmF5OnN0cmluZ1tdID0gW107XHJcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJlbGF0aXZlQXJyYXkpe1xyXG4gICAgICAgICAgICBhYnNvbHV0ZUFycmF5LnB1c2gobWFrZUFic29sdXRlKHJlbGF0aXZlQXJyYXlba2V5XSxiYXNlQXJnKSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gYWJzb2x1dGVBcnJheTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuZXJyb3IoXCJzbWFydHBhdGguYWJzb2x1dGUoKSBjb3VsZCBub3QgbWFrZSBzZW5zZSBvZiB0aGUgaW5wdXQuIFwiICtcclxuICAgICAgICAgICAgXCJJbnB1dCBpcyBuZWl0aGVyIFN0cmluZyBub3IgQXJyYXlcIik7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG59OyJdfQ==