UNPKG

@benmalka/foxdriver

Version:

Foxdriver is a Node library which provides a high-level API to control Firefox over the Remote Debugging Protocol

39 lines (28 loc) 2.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _launcher = require("./launcher"); var _launcher2 = _interopRequireDefault(_launcher); var _browser = require("./browser"); var _browser2 = _interopRequireDefault(_browser); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class Foxdriver { static async attach(host, port) { if (typeof host !== 'string' || typeof port !== 'number') { throw new Error('attach() requires host and port parameter'); } const browser = new _browser2.default(host, port); const tabs = await browser.connect(); return { browser, tabs }; } static launch(options) { return _launcher2.default.launch(options); } } exports.default = Foxdriver; module.exports = exports["default"]; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9pbmRleC5qcyJdLCJuYW1lcyI6WyJGb3hkcml2ZXIiLCJhdHRhY2giLCJob3N0IiwicG9ydCIsIkVycm9yIiwiYnJvd3NlciIsIkJyb3dzZXIiLCJ0YWJzIiwiY29ubmVjdCIsImxhdW5jaCIsIm9wdGlvbnMiLCJMYXVuY2hlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7QUFDQTs7Ozs7O0FBRWUsTUFBTUEsU0FBTixDQUFnQjtBQUMzQixlQUFhQyxNQUFiLENBQXFCQyxJQUFyQixFQUEyQkMsSUFBM0IsRUFBaUM7QUFDN0IsUUFBSSxPQUFPRCxJQUFQLEtBQWdCLFFBQWhCLElBQTRCLE9BQU9DLElBQVAsS0FBZ0IsUUFBaEQsRUFBMEQ7QUFDdEQsWUFBTSxJQUFJQyxLQUFKLENBQVUsMkNBQVYsQ0FBTjtBQUNIOztBQUVELFVBQU1DLE9BQU8sR0FBRyxJQUFJQyxpQkFBSixDQUFZSixJQUFaLEVBQWtCQyxJQUFsQixDQUFoQjtBQUNBLFVBQU1JLElBQUksR0FBRyxNQUFNRixPQUFPLENBQUNHLE9BQVIsRUFBbkI7QUFDQSxXQUFPO0FBQUVILE1BQUFBLE9BQUY7QUFBV0UsTUFBQUE7QUFBWCxLQUFQO0FBQ0g7O0FBRUQsU0FBT0UsTUFBUCxDQUFlQyxPQUFmLEVBQXdCO0FBQ3BCLFdBQU9DLG1CQUFTRixNQUFULENBQWdCQyxPQUFoQixDQUFQO0FBQ0g7O0FBYjBCOztrQkFBVlYsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMYXVuY2hlciBmcm9tICcuL2xhdW5jaGVyJ1xyXG5pbXBvcnQgQnJvd3NlciBmcm9tICcuL2Jyb3dzZXInXHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGb3hkcml2ZXIge1xyXG4gICAgc3RhdGljIGFzeW5jIGF0dGFjaCAoaG9zdCwgcG9ydCkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgaG9zdCAhPT0gJ3N0cmluZycgfHwgdHlwZW9mIHBvcnQgIT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYXR0YWNoKCkgcmVxdWlyZXMgaG9zdCBhbmQgcG9ydCBwYXJhbWV0ZXInKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgYnJvd3NlciA9IG5ldyBCcm93c2VyKGhvc3QsIHBvcnQpXHJcbiAgICAgICAgY29uc3QgdGFicyA9IGF3YWl0IGJyb3dzZXIuY29ubmVjdCgpXHJcbiAgICAgICAgcmV0dXJuIHsgYnJvd3NlciwgdGFicyB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGxhdW5jaCAob3B0aW9ucykge1xyXG4gICAgICAgIHJldHVybiBMYXVuY2hlci5sYXVuY2gob3B0aW9ucylcclxuICAgIH1cclxufVxyXG4iXX0=