‘use strict’;
const EventEmitter = require(‘events’); const dns = require(‘dns’);
const devtools = require(‘./lib/devtools.js’); const Chrome = require(‘./lib/chrome.js’);
// XXX reset the default that has been changed in // (github.com/nodejs/node/pull/39987) to prefer IPv4. since // implementations alway bind on 127.0.0.1 this solution should be fairly safe // (see #467) if (dns.setDefaultResultOrder) {
dns.setDefaultResultOrder('ipv4first');
}
function CDP(options, callback) {
if (typeof options === 'function') { callback = options; options = undefined; } const notifier = new EventEmitter(); if (typeof callback === 'function') { // allow to register the error callback later process.nextTick(() => { new Chrome(options, notifier); }); return notifier.once('connect', callback); } else { return new Promise((fulfill, reject) => { notifier.once('connect', fulfill); notifier.once('error', reject); new Chrome(options, notifier); }); }
}
module.exports = CDP; module.exports.Protocol = devtools.Protocol; module.exports.List = devtools.List; module.exports.New = devtools.New; module.exports.Activate = devtools.Activate; module.exports.Close = devtools.Close; module.exports.Version = devtools.Version;