UNPKG

node-aurora

Version:

Provides an interface to the Aurora Dreamband.

82 lines (60 loc) 2.96 kB
'use strict'; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _pick = require('lodash/pick'); var _pick2 = _interopRequireDefault(_pick); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } module.exports = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(newProfiles) { var connector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'any'; var profiles, profileList, i, profWriteCmd, profile; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return this.queueCmd('sd-dir-del profiles'); case 2: _context.next = 4; return this.queueCmd('sd-dir-create profiles'); case 4: profiles = []; profileList = []; i = 0; case 7: if (!(i < newProfiles.length)) { _context.next = 19; break; } _context.next = 10; return this.writeFile('profiles/' + newProfiles[i].name, newProfiles[i].content, true, connector); case 10: profWriteCmd = _context.sent; profile = (0, _pick2.default)(newProfiles[i], ['id', 'active', 'content']); profile.name = profWriteCmd.response.file.slice(9); profile.key = i + profile.id + profile.name; //add leading ':' to mark profile as inactive profileList.push('' + (profile.active ? '' : ':') + profile.name + ':' + profile.id); profiles.push(profile); case 16: i++; _context.next = 7; break; case 19: _context.next = 21; return this.writeFile('profiles/_profiles.list', profileList.join('\r\n'), false, connector); case 21: return _context.abrupt('return', profiles); case 22: case 'end': return _context.stop(); } } }, _callee, this); })); return function (_x) { return _ref.apply(this, arguments); }; }();