pur
Version:
Alias and glob powered multi-threaded shell execution
35 lines (32 loc) • 1.18 kB
JavaScript
;
exports.dealias = dealias;
var _run = require('./run');
function dealias(alias) {
if (/^win/.test(process.platform)) {
return Promise.resolve(alias);
} else {
return new Promise(function (resolve) {
var command = undefined;
if (process.platform === 'linux') {
command = "bash -i -c 'alias -p'";
} else {
command = "bash -l -c 'alias -p'";
}
(0, _run.run)(command).then(function (aliasString) {
var aliases = aliasString.split('\n').map(function (alias) {
return alias.trim();
});
for (var i = 0; i < aliases.length; i++) {
if (aliases[i].length > 0 && aliases[i].indexOf('alias ') === 0) {
var aliasSet = aliases[i].slice(6).split('=');
if (aliasSet[0] === alias) {
resolve(aliasSet[1].slice(1, -1).split(' '));
return;
}
}
}
resolve([alias]);
});
});
}
}