node-aurora
Version:
Provides an interface to the Aurora Dreamband.
174 lines (130 loc) • 7 kB
JavaScript
;
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
var _getIterator2 = require('babel-runtime/core-js/get-iterator');
var _getIterator3 = _interopRequireDefault(_getIterator2);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _split = require('split');
var _split2 = _interopRequireDefault(_split);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = function () {
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
var _this = this;
var connector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'any';
var profileListReadResp, profilesInList, _ref2, response, profiles, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step;
return _regenerator2.default.wrap(function _callee$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return this.readFile('profiles/_profiles.list', (0, _split2.default)(), connector);
case 2:
profileListReadResp = _context2.sent;
profilesInList = profileListReadResp.output.filter(String).map(function (prof, index) {
var profile = {};
var profParts = prof.trim().split(':');
if (profParts.length == 3) {
profile.active = false;
profile.name = profParts[1];
profile.id = profParts[2];
} else {
profile.active = true;
profile.name = profParts[0];
profile.id = profParts[1];
}
profile.key = index + '_' + profile.id + '_' + profile.name;
return profile;
});
_context2.next = 6;
return this.queueCmd('sd-dir-read profiles 1 *.prof', connector);
case 6:
_ref2 = _context2.sent;
response = _ref2.response;
profiles = [];
_iteratorNormalCompletion = true;
_didIteratorError = false;
_iteratorError = undefined;
_context2.prev = 12;
_loop = /*#__PURE__*/_regenerator2.default.mark(function _loop() {
var profile, readCmdWithResponse, p;
return _regenerator2.default.wrap(function _loop$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
profile = _step.value;
_context.prev = 1;
_context.next = 4;
return _this.readFile('profiles/' + profile.name, false, connector);
case 4:
readCmdWithResponse = _context.sent;
p = { active: false, content: readCmdWithResponse.output, key: '_' + profile.name };
(0, _assign2.default)(p, profile, profilesInList.find(function (prof) {
return prof.name == profile.name;
}));
profiles.push(p);
_context.next = 12;
break;
case 10:
_context.prev = 10;
_context.t0 = _context['catch'](1);
case 12:
case 'end':
return _context.stop();
}
}
}, _loop, _this, [[1, 10]]);
});
_iterator = (0, _getIterator3.default)(response);
case 15:
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
_context2.next = 20;
break;
}
return _context2.delegateYield(_loop(), 't0', 17);
case 17:
_iteratorNormalCompletion = true;
_context2.next = 15;
break;
case 20:
_context2.next = 26;
break;
case 22:
_context2.prev = 22;
_context2.t1 = _context2['catch'](12);
_didIteratorError = true;
_iteratorError = _context2.t1;
case 26:
_context2.prev = 26;
_context2.prev = 27;
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
case 29:
_context2.prev = 29;
if (!_didIteratorError) {
_context2.next = 32;
break;
}
throw _iteratorError;
case 32:
return _context2.finish(29);
case 33:
return _context2.finish(26);
case 34:
return _context2.abrupt('return', profiles.sort(function (a, b) {
return a.key > b.key ? 1 : a.key < b.key ? -1 : 0;
}));
case 35:
case 'end':
return _context2.stop();
}
}
}, _callee, this, [[12, 22, 26, 34], [27,, 29, 33]]);
}));
return function () {
return _ref.apply(this, arguments);
};
}();