/**
* webdriverio
* https://github.com/Camme/webdriverio
*
* A WebDriver module for nodejs. Either use the super easy help commands or use the base
* Webdriver wire protocol commands. Its totally inspired by jellyfishs webdriver, but the
* goal is to make all the webdriver protocol items available, as near the original as possible.
*
* Copyright (c) 2013 Camilo Tapia <camilo.tapia@gmail.com>
* Licensed under the MIT license.
*
* Contributors:
* Dan Jenkins <dan.jenkins@holidayextras.com>
* Christian Bromann <mail@christian-bromann.com>
* Vincent Voyer <vincent@zeroload.net>
*/
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
// istanbul ignore next
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _libWebdriverio = require('./lib/webdriverio');
var _libWebdriverio2 = _interopRequireDefault(_libWebdriverio);
var _libMultibrowser = require('./lib/multibrowser');
var _libMultibrowser2 = _interopRequireDefault(_libMultibrowser);
var _libUtilsErrorHandler = require('./lib/utils/ErrorHandler');
var _libUtilsErrorHandler2 = _interopRequireDefault(_libUtilsErrorHandler);
var _libHelpersGetImplementedCommands = require('./lib/helpers/getImplementedCommands');
var _libHelpersGetImplementedCommands2 = _interopRequireDefault(_libHelpersGetImplementedCommands);
var _packageJson = require('./package.json');
var _packageJson2 = _interopRequireDefault(_packageJson);
var IMPLEMENTED_COMMANDS = (0, _libHelpersGetImplementedCommands2['default'])();
var VERSION = _packageJson2['default'].version;
var remote = function remote(options, modifier) {
if (options === undefined) options = {};
/**
* initialise monad
*/
var wdio = (0, _libWebdriverio2['default'])(options, modifier);
/**
* build prototype: commands
*/
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = Object.keys(IMPLEMENTED_COMMANDS)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var commandName = _step.value;
wdio.lift(commandName, IMPLEMENTED_COMMANDS[commandName]);
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator['return']) {
_iterator['return']();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
var prototype = wdio();
prototype.defer.resolve();
return prototype;
};
var multiremote = function multiremote(options) {
var multibrowser = new _libMultibrowser2['default']();
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = Object.keys(options)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var browserName = _step2.value;
multibrowser.addInstance(browserName, remote(options[browserName], multibrowser.getInstanceModifier()));
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2['return']) {
_iterator2['return']();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
return remote(options, multibrowser.getModifier());
};
exports.remote = remote;
exports.multiremote = multiremote;
exports.VERSION = VERSION;
exports.ErrorHandler = _libUtilsErrorHandler2['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFpQndCLG1CQUFtQjs7OzsrQkFDbEIsb0JBQW9COzs7O29DQUNwQiwwQkFBMEI7Ozs7Z0RBQ2hCLHNDQUFzQzs7OzsyQkFDekQsZ0JBQWdCOzs7O0FBRWhDLElBQU0sb0JBQW9CLEdBQUcsb0RBQXdCLENBQUE7QUFDckQsSUFBTSxPQUFPLEdBQUcseUJBQUksT0FBTyxDQUFBOztBQUUzQixJQUFJLE1BQU0sR0FBRyxTQUFULE1BQU0sQ0FBYSxPQUFPLEVBQU8sUUFBUSxFQUFFO1FBQXhCLE9BQU8sZ0JBQVAsT0FBTyxHQUFHLEVBQUU7Ozs7O0FBSS9CLFFBQUksSUFBSSxHQUFHLGlDQUFZLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQTs7Ozs7Ozs7OztBQUt6Qyw2QkFBd0IsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw4SEFBRTtnQkFBbEQsV0FBVzs7QUFDaEIsZ0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7U0FDNUQ7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRCxRQUFJLFNBQVMsR0FBRyxJQUFJLEVBQUUsQ0FBQTtBQUN0QixhQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO0FBQ3pCLFdBQU8sU0FBUyxDQUFBO0NBQ25CLENBQUE7O0FBRUQsSUFBSSxXQUFXLEdBQUcsU0FBZCxXQUFXLENBQWEsT0FBTyxFQUFFO0FBQ2pDLFFBQUksWUFBWSxHQUFHLGtDQUFrQixDQUFBOzs7Ozs7O0FBRXJDLDhCQUF3QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtSUFBRTtnQkFBckMsV0FBVzs7QUFDaEIsd0JBQVksQ0FBQyxXQUFXLENBQ3BCLFdBQVcsRUFDWCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQ25FLENBQUE7U0FDSjs7Ozs7Ozs7Ozs7Ozs7OztBQUVELFdBQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtDQUNyRCxDQUFBOztRQUVRLE1BQU0sR0FBTixNQUFNO1FBQUUsV0FBVyxHQUFYLFdBQVc7UUFBRSxPQUFPLEdBQVAsT0FBTztRQUFFLFlBQVkiLCJmaWxlIjoiL1VzZXJzL2NocmlzdGlhbmJyb21hbm4vU2l0ZXMvV2VicHJvamVrdGUvd2ViZHJpdmVyanMvREVWL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB3ZWJkcml2ZXJpb1xuICogaHR0cHM6Ly9naXRodWIuY29tL0NhbW1lL3dlYmRyaXZlcmlvXG4gKlxuICogQSBXZWJEcml2ZXIgbW9kdWxlIGZvciBub2RlanMuIEVpdGhlciB1c2UgdGhlIHN1cGVyIGVhc3kgaGVscCBjb21tYW5kcyBvciB1c2UgdGhlIGJhc2VcbiAqIFdlYmRyaXZlciB3aXJlIHByb3RvY29sIGNvbW1hbmRzLiBJdHMgdG90YWxseSBpbnNwaXJlZCBieSBqZWxseWZpc2hzIHdlYmRyaXZlciwgYnV0IHRoZVxuICogZ29hbCBpcyB0byBtYWtlIGFsbCB0aGUgd2ViZHJpdmVyIHByb3RvY29sIGl0ZW1zIGF2YWlsYWJsZSwgYXMgbmVhciB0aGUgb3JpZ2luYWwgYXMgcG9zc2libGUuXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEzIENhbWlsbyBUYXBpYSA8Y2FtaWxvLnRhcGlhQGdtYWlsLmNvbT5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBDb250cmlidXRvcnM6XG4gKiAgICAgRGFuIEplbmtpbnMgPGRhbi5qZW5raW5zQGhvbGlkYXlleHRyYXMuY29tPlxuICogICAgIENocmlzdGlhbiBCcm9tYW5uIDxtYWlsQGNocmlzdGlhbi1icm9tYW5uLmNvbT5cbiAqICAgICBWaW5jZW50IFZveWVyIDx2aW5jZW50QHplcm9sb2FkLm5ldD5cbiAqL1xuXG5pbXBvcnQgV2ViZHJpdmVySU8gZnJvbSAnLi9saWIvd2ViZHJpdmVyaW8nXG5pbXBvcnQgTXVsdGlicm93c2VyIGZyb20gJy4vbGliL211bHRpYnJvd3NlcidcbmltcG9ydCBFcnJvckhhbmRsZXIgZnJvbSAnLi9saWIvdXRpbHMvRXJyb3JIYW5kbGVyJ1xuaW1wb3J0IGdldEltcGxlbWVudGVkQ29tbWFuZHMgZnJvbSAnLi9saWIvaGVscGVycy9nZXRJbXBsZW1lbnRlZENvbW1hbmRzJ1xuaW1wb3J0IHBrZyBmcm9tICcuL3BhY2thZ2UuanNvbidcblxuY29uc3QgSU1QTEVNRU5URURfQ09NTUFORFMgPSBnZXRJbXBsZW1lbnRlZENvbW1hbmRzKClcbmNvbnN0IFZFUlNJT04gPSBwa2cudmVyc2lvblxuXG5sZXQgcmVtb3RlID0gZnVuY3Rpb24gKG9wdGlvbnMgPSB7fSwgbW9kaWZpZXIpIHtcbiAgICAvKipcbiAgICAgKiBpbml0aWFsaXNlIG1vbmFkXG4gICAgICovXG4gICAgbGV0IHdkaW8gPSBXZWJkcml2ZXJJTyhvcHRpb25zLCBtb2RpZmllcilcblxuICAgIC8qKlxuICAgICAqIGJ1aWxkIHByb3RvdHlwZTogY29tbWFuZHNcbiAgICAgKi9cbiAgICBmb3IgKGxldCBjb21tYW5kTmFtZSBvZiBPYmplY3Qua2V5cyhJTVBMRU1FTlRFRF9DT01NQU5EUykpIHtcbiAgICAgICAgd2Rpby5saWZ0KGNvbW1hbmROYW1lLCBJTVBMRU1FTlRFRF9DT01NQU5EU1tjb21tYW5kTmFtZV0pXG4gICAgfVxuXG4gICAgbGV0IHByb3RvdHlwZSA9IHdkaW8oKVxuICAgIHByb3RvdHlwZS5kZWZlci5yZXNvbHZlKClcbiAgICByZXR1cm4gcHJvdG90eXBlXG59XG5cbmxldCBtdWx0aXJlbW90ZSA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgbGV0IG11bHRpYnJvd3NlciA9IG5ldyBNdWx0aWJyb3dzZXIoKVxuXG4gICAgZm9yIChsZXQgYnJvd3Nlck5hbWUgb2YgT2JqZWN0LmtleXMob3B0aW9ucykpIHtcbiAgICAgICAgbXVsdGlicm93c2VyLmFkZEluc3RhbmNlKFxuICAgICAgICAgICAgYnJvd3Nlck5hbWUsXG4gICAgICAgICAgICByZW1vdGUob3B0aW9uc1ticm93c2VyTmFtZV0sIG11bHRpYnJvd3Nlci5nZXRJbnN0YW5jZU1vZGlmaWVyKCkpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVtb3RlKG9wdGlvbnMsIG11bHRpYnJvd3Nlci5nZXRNb2RpZmllcigpKVxufVxuXG5leHBvcnQgeyByZW1vdGUsIG11bHRpcmVtb3RlLCBWRVJTSU9OLCBFcnJvckhhbmRsZXIgfVxuIl19 |