appium-ios-simulator
Version:
iOS Simulator interface for Appium.
120 lines (90 loc) • 4.97 kB
JavaScript
;
var _regeneratorRuntime = require('babel-runtime/regenerator')['default'];
var _getIterator = require('babel-runtime/core-js/get-iterator')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _nodeSimctl = require('node-simctl');
var _logger = require('../logger');
var _logger2 = _interopRequireDefault(_logger);
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var extensions = {};
function getAllUdids() {
var devices;
return _regeneratorRuntime.async(function getAllUdids$(context$1$0) {
while (1) switch (context$1$0.prev = context$1$0.next) {
case 0:
context$1$0.next = 2;
return _regeneratorRuntime.awrap((0, _nodeSimctl.getDevices)());
case 2:
devices = context$1$0.sent;
return context$1$0.abrupt('return', _lodash2['default'].chain(devices).values().flatten().pluck('udid').value());
case 4:
case 'end':
return context$1$0.stop();
}
}, null, this);
}
extensions.isolateSim = function callee$0$0() {
var udids, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, udid;
return _regeneratorRuntime.async(function callee$0$0$(context$1$0) {
while (1) switch (context$1$0.prev = context$1$0.next) {
case 0:
_logger2['default'].debug("Isolating the requested simulator by deleting all others");
context$1$0.next = 3;
return _regeneratorRuntime.awrap(getAllUdids());
case 3:
udids = context$1$0.sent;
_iteratorNormalCompletion = true;
_didIteratorError = false;
_iteratorError = undefined;
context$1$0.prev = 7;
_iterator = _getIterator(_lodash2['default'].without(udids, this.udid));
case 9:
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
context$1$0.next = 16;
break;
}
udid = _step.value;
context$1$0.next = 13;
return _regeneratorRuntime.awrap((0, _nodeSimctl.deleteDevice)(udid));
case 13:
_iteratorNormalCompletion = true;
context$1$0.next = 9;
break;
case 16:
context$1$0.next = 22;
break;
case 18:
context$1$0.prev = 18;
context$1$0.t0 = context$1$0['catch'](7);
_didIteratorError = true;
_iteratorError = context$1$0.t0;
case 22:
context$1$0.prev = 22;
context$1$0.prev = 23;
if (!_iteratorNormalCompletion && _iterator['return']) {
_iterator['return']();
}
case 25:
context$1$0.prev = 25;
if (!_didIteratorError) {
context$1$0.next = 28;
break;
}
throw _iteratorError;
case 28:
return context$1$0.finish(25);
case 29:
return context$1$0.finish(22);
case 30:
case 'end':
return context$1$0.stop();
}
}, null, this, [[7, 18, 22, 30], [23,, 25, 29]]);
};
exports.extensions = extensions;
exports.getAllUdids = getAllUdids;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9leHRlbnNpb25zL2lzb2xhdGUtc2ltLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OzswQkFBeUMsYUFBYTs7c0JBQ3RDLFdBQVc7Ozs7c0JBQ2IsUUFBUTs7OztBQUd0QixJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7O0FBRXBCLFNBQWUsV0FBVztNQUNwQixPQUFPOzs7Ozt5Q0FBUyw2QkFBWTs7O0FBQTVCLGVBQU87NENBRUosb0JBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUNwQixNQUFNLEVBQUUsQ0FDUixPQUFPLEVBQUUsQ0FDVCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQ2YsS0FBSyxFQUFFOzs7Ozs7O0NBQ1Q7O0FBRUQsVUFBVSxDQUFDLFVBQVUsR0FBRztNQUVsQixLQUFLLGtGQUVBLElBQUk7Ozs7O0FBSGIsNEJBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7O3lDQUNwRCxXQUFXLEVBQUU7OztBQUEzQixhQUFLOzs7OztpQ0FFUSxvQkFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7Ozs7Ozs7O0FBQW5DLFlBQUk7O3lDQUNMLDhCQUFhLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUUzQixDQUFDOztRQUdPLFVBQVUsR0FBVixVQUFVO1FBQUUsV0FBVyxHQUFYLFdBQVciLCJmaWxlIjoibGliL2V4dGVuc2lvbnMvaXNvbGF0ZS1zaW0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXREZXZpY2VzLCBkZWxldGVEZXZpY2UgfSBmcm9tICdub2RlLXNpbWN0bCc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5cbmxldCBleHRlbnNpb25zID0ge307XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEFsbFVkaWRzICgpIHtcbiAgbGV0IGRldmljZXMgPSBhd2FpdCBnZXREZXZpY2VzKCk7XG5cbiAgcmV0dXJuIF8uY2hhaW4oZGV2aWNlcylcbiAgICAudmFsdWVzKClcbiAgICAuZmxhdHRlbigpXG4gICAgLnBsdWNrKCd1ZGlkJylcbiAgLnZhbHVlKCk7XG59XG5cbmV4dGVuc2lvbnMuaXNvbGF0ZVNpbSA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgbG9nLmRlYnVnKFwiSXNvbGF0aW5nIHRoZSByZXF1ZXN0ZWQgc2ltdWxhdG9yIGJ5IGRlbGV0aW5nIGFsbCBvdGhlcnNcIik7XG4gIGxldCB1ZGlkcyA9IGF3YWl0IGdldEFsbFVkaWRzKCk7XG5cbiAgZm9yIChsZXQgdWRpZCBvZiBfLndpdGhvdXQodWRpZHMsIHRoaXMudWRpZCkpIHtcbiAgICBhd2FpdCBkZWxldGVEZXZpY2UodWRpZCk7XG4gIH1cbn07XG5cblxuZXhwb3J0IHsgZXh0ZW5zaW9ucywgZ2V0QWxsVWRpZHMgfTtcbiJdfQ==