UNPKG

@benmalka/foxdriver

Version:

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

65 lines (51 loc) 5.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Logger; var _npmlog = require("npmlog"); var _npmlog2 = _interopRequireDefault(_npmlog); var _package = require("../package.json"); var _package2 = _interopRequireDefault(_package); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * levels that are available from `npmlog` */ const NPM_LEVELS = ['silly', 'verbose', 'debug', 'info', 'http', 'warn', 'error', 'chrome', 'firefox']; _npmlog2.default.addLevel('debug', 1000, { fg: 'blue', bg: 'black' }, 'dbug'); function Logger(component) { const wrappedLogger = {}; const prefix = _package2.default.name + (component ? `:${component}` : ''); /** * allow access to the level of the underlying logger */ Object.defineProperty(wrappedLogger, 'level', { get: () => { return _npmlog2.default.level; }, set: newValue => { _npmlog2.default.level = newValue; }, enumerable: true, configurable: true }); /** * add all the levels from `npmlog`, and map to the underlying logger */ for (let level of NPM_LEVELS) { wrappedLogger[level] = (...args) => { if (!process.env.DEBUG) return; return _npmlog2.default[level](prefix, ...args); }; } if (process.env.NODE_ENV && process.env.NODE_ENV === 'development') { wrappedLogger.level = 'verbose'; } wrappedLogger.levels = NPM_LEVELS; return wrappedLogger; } module.exports = exports["default"]; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9sb2dnZXIuanMiXSwibmFtZXMiOlsiTG9nZ2VyIiwiTlBNX0xFVkVMUyIsIm5wbWxvZyIsImFkZExldmVsIiwiZmciLCJiZyIsImNvbXBvbmVudCIsIndyYXBwZWRMb2dnZXIiLCJwcmVmaXgiLCJwa2ciLCJuYW1lIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXQiLCJsZXZlbCIsInNldCIsIm5ld1ZhbHVlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsImFyZ3MiLCJwcm9jZXNzIiwiZW52IiwiREVCVUciLCJOT0RFX0VOViIsImxldmVscyJdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBU3dCQSxNOztBQVR4Qjs7OztBQUNBOzs7Ozs7QUFFQTs7O0FBR0EsTUFBTUMsVUFBVSxHQUFHLENBQUMsT0FBRCxFQUFVLFNBQVYsRUFBcUIsT0FBckIsRUFBOEIsTUFBOUIsRUFBc0MsTUFBdEMsRUFBOEMsTUFBOUMsRUFBc0QsT0FBdEQsRUFBK0QsUUFBL0QsRUFBeUUsU0FBekUsQ0FBbkI7O0FBQ0FDLGlCQUFPQyxRQUFQLENBQWdCLE9BQWhCLEVBQXlCLElBQXpCLEVBQStCO0FBQUVDLEVBQUFBLEVBQUUsRUFBRSxNQUFOO0FBQWNDLEVBQUFBLEVBQUUsRUFBRTtBQUFsQixDQUEvQixFQUE0RCxNQUE1RDs7QUFFZSxTQUFTTCxNQUFULENBQWlCTSxTQUFqQixFQUE0QjtBQUN2QyxRQUFNQyxhQUFhLEdBQUcsRUFBdEI7QUFDQSxRQUFNQyxNQUFNLEdBQUdDLGtCQUFJQyxJQUFKLElBQVlKLFNBQVMsR0FBSSxJQUFHQSxTQUFVLEVBQWpCLEdBQXFCLEVBQTFDLENBQWY7QUFFQTs7OztBQUdBSyxFQUFBQSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JMLGFBQXRCLEVBQXFDLE9BQXJDLEVBQThDO0FBQzFDTSxJQUFBQSxHQUFHLEVBQUUsTUFBTTtBQUFFLGFBQU9YLGlCQUFPWSxLQUFkO0FBQXFCLEtBRFE7QUFFMUNDLElBQUFBLEdBQUcsRUFBR0MsUUFBRCxJQUFjO0FBQUVkLHVCQUFPWSxLQUFQLEdBQWVFLFFBQWY7QUFBeUIsS0FGSjtBQUcxQ0MsSUFBQUEsVUFBVSxFQUFFLElBSDhCO0FBSTFDQyxJQUFBQSxZQUFZLEVBQUU7QUFKNEIsR0FBOUM7QUFPQTs7OztBQUdBLE9BQUssSUFBSUosS0FBVCxJQUFrQmIsVUFBbEIsRUFBOEI7QUFDMUJNLElBQUFBLGFBQWEsQ0FBQ08sS0FBRCxDQUFiLEdBQXVCLENBQUMsR0FBR0ssSUFBSixLQUFhO0FBQ2hDLFVBQUksQ0FBQ0MsT0FBTyxDQUFDQyxHQUFSLENBQVlDLEtBQWpCLEVBQXdCO0FBQ3hCLGFBQU9wQixpQkFBT1ksS0FBUCxFQUFjTixNQUFkLEVBQXNCLEdBQUdXLElBQXpCLENBQVA7QUFDSCxLQUhEO0FBSUg7O0FBRUQsTUFBSUMsT0FBTyxDQUFDQyxHQUFSLENBQVlFLFFBQVosSUFBd0JILE9BQU8sQ0FBQ0MsR0FBUixDQUFZRSxRQUFaLEtBQXlCLGFBQXJELEVBQW9FO0FBQ2hFaEIsSUFBQUEsYUFBYSxDQUFDTyxLQUFkLEdBQXNCLFNBQXRCO0FBQ0g7O0FBRURQLEVBQUFBLGFBQWEsQ0FBQ2lCLE1BQWQsR0FBdUJ2QixVQUF2QjtBQUNBLFNBQU9NLGFBQVA7QUFDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBucG1sb2cgZnJvbSAnbnBtbG9nJ1xyXG5pbXBvcnQgcGtnIGZyb20gJy4uL3BhY2thZ2UuanNvbidcclxuXHJcbi8qKlxyXG4gKiBsZXZlbHMgdGhhdCBhcmUgYXZhaWxhYmxlIGZyb20gYG5wbWxvZ2BcclxuICovXHJcbmNvbnN0IE5QTV9MRVZFTFMgPSBbJ3NpbGx5JywgJ3ZlcmJvc2UnLCAnZGVidWcnLCAnaW5mbycsICdodHRwJywgJ3dhcm4nLCAnZXJyb3InLCAnY2hyb21lJywgJ2ZpcmVmb3gnXVxyXG5ucG1sb2cuYWRkTGV2ZWwoJ2RlYnVnJywgMTAwMCwgeyBmZzogJ2JsdWUnLCBiZzogJ2JsYWNrJyB9LCAnZGJ1ZycpXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBMb2dnZXIgKGNvbXBvbmVudCkge1xyXG4gICAgY29uc3Qgd3JhcHBlZExvZ2dlciA9IHt9XHJcbiAgICBjb25zdCBwcmVmaXggPSBwa2cubmFtZSArIChjb21wb25lbnQgPyBgOiR7Y29tcG9uZW50fWAgOiAnJylcclxuXHJcbiAgICAvKipcclxuICAgICAqIGFsbG93IGFjY2VzcyB0byB0aGUgbGV2ZWwgb2YgdGhlIHVuZGVybHlpbmcgbG9nZ2VyXHJcbiAgICAgKi9cclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3cmFwcGVkTG9nZ2VyLCAnbGV2ZWwnLCB7XHJcbiAgICAgICAgZ2V0OiAoKSA9PiB7IHJldHVybiBucG1sb2cubGV2ZWwgfSxcclxuICAgICAgICBzZXQ6IChuZXdWYWx1ZSkgPT4geyBucG1sb2cubGV2ZWwgPSBuZXdWYWx1ZSB9LFxyXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgICB9KVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogYWRkIGFsbCB0aGUgbGV2ZWxzIGZyb20gYG5wbWxvZ2AsIGFuZCBtYXAgdG8gdGhlIHVuZGVybHlpbmcgbG9nZ2VyXHJcbiAgICAgKi9cclxuICAgIGZvciAobGV0IGxldmVsIG9mIE5QTV9MRVZFTFMpIHtcclxuICAgICAgICB3cmFwcGVkTG9nZ2VyW2xldmVsXSA9ICguLi5hcmdzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghcHJvY2Vzcy5lbnYuREVCVUcpIHJldHVyblxyXG4gICAgICAgICAgICByZXR1cm4gbnBtbG9nW2xldmVsXShwcmVmaXgsIC4uLmFyZ3MpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xyXG4gICAgICAgIHdyYXBwZWRMb2dnZXIubGV2ZWwgPSAndmVyYm9zZSdcclxuICAgIH1cclxuXHJcbiAgICB3cmFwcGVkTG9nZ2VyLmxldmVscyA9IE5QTV9MRVZFTFNcclxuICAgIHJldHVybiB3cmFwcGVkTG9nZ2VyXHJcbn1cclxuIl19