UNPKG

beaker-plugin-dat

Version:

Dat-protocol plugin for the Beaker browser

32 lines (28 loc) 859 B
const log = require('loglevel') const datProtocol = require('./protocols/dat') const datAPI = require('./apis/dat') const datInternalAPI = require('./apis/dat-internal') // exported api // = module.exports = { configure (opts) { if (opts.logLevel) log.setLevel(opts.logLevel) }, webAPIs: [datInternalAPI, datAPI], protocols: [datProtocol] } // internal // = // plug the logger to prepend [DAT] support spread args var originalFactory = log.methodFactory log.methodFactory = function (methodName, logLevel, loggerName) { var rawMethod = originalFactory(methodName, logLevel, loggerName) return (...message) => rawMethod(message.map(stringifyIfNeeded).join(' ')) } function stringifyIfNeeded (obj) { if (obj && typeof obj == 'object') return JSON.stringify(obj) return obj } log.setLevel(process.env.beaker_log_level || 'warn')