@pushrocks/smartpath
Version:
offers smart ways to handle paths
41 lines • 2.97 kB
JavaScript
import * as plugins from './smartpath.plugins.js';
/* ------------------------------------------ *
* ------------ helpers --------------------- *
* ------------------------------------------ */
// checks a file
export const makeAbsolute = (localPathArg, baseArg) => {
let absolutePath;
let alreadyAbsolute = plugins.path.isAbsolute(localPathArg);
if (baseArg && !alreadyAbsolute) {
absolutePath = plugins.path.join(baseArg, localPathArg);
}
else if (!alreadyAbsolute) {
absolutePath = plugins.path.resolve(localPathArg);
}
else {
absolutePath = localPathArg;
}
return absolutePath;
};
/* ------------------------------------------ *
* ------- export functions ----------------- *
* ------------------------------------------ */
export const toAbsolute = (relativeArg, baseArg) => {
if (typeof relativeArg === 'string') {
return makeAbsolute(relativeArg, baseArg);
}
else if (Array.isArray(relativeArg)) {
let relativeArray = relativeArg;
let absoluteArray = [];
for (let key in relativeArray) {
absoluteArray.push(makeAbsolute(relativeArray[key], baseArg));
}
return absoluteArray;
}
else {
console.error('smartpath.absolute() could not make sense of the input. ' +
'Input is neither String nor Array');
return null;
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwYXRoLnRyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0cGF0aC50cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUVsRDs7Z0RBRWdEO0FBRWhELGdCQUFnQjtBQUNoQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxZQUFvQixFQUFFLE9BQWdCLEVBQVUsRUFBRTtJQUM3RSxJQUFJLFlBQW9CLENBQUM7SUFDekIsSUFBSSxlQUFlLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUQsSUFBSSxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUU7UUFDL0IsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztLQUN6RDtTQUFNLElBQUksQ0FBQyxlQUFlLEVBQUU7UUFDM0IsWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQ25EO1NBQU07UUFDTCxZQUFZLEdBQUcsWUFBWSxDQUFDO0tBQzdCO0lBQ0QsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUY7O2dEQUVnRDtBQUNoRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUksQ0FBQyxXQUE4QixFQUFFLE9BQWdCLEVBQXFCLEVBQUU7SUFDakcsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUU7UUFDbkMsT0FBTyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQzNDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ3JDLElBQUksYUFBYSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLGFBQWEsR0FBYSxFQUFFLENBQUM7UUFDakMsS0FBSyxJQUFJLEdBQUcsSUFBSSxhQUFhLEVBQUU7WUFDN0IsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDL0Q7UUFDRCxPQUFPLGFBQWEsQ0FBQztLQUN0QjtTQUFNO1FBQ0wsT0FBTyxDQUFDLEtBQUssQ0FDWCwwREFBMEQ7WUFDeEQsbUNBQW1DLENBQ3RDLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDIn0=