CasperSecurity

Current Path : /usr/share/npm/lib/utils/
Upload File :
Current File : //usr/share/npm/lib/utils/log-shim.js

const NPMLOG = require('npmlog')
const PROCLOG = require('proc-log')

// Sets getter and optionally a setter
// otherwise setting should throw
const accessors = (obj, set) => (k) => ({
  get: () => obj[k],
  set: set ? (v) => (obj[k] = v) : () => {
    throw new Error(`Cant set ${k}`)
  },
})

// Set the value to a bound function on the object
const value = (obj) => (k) => ({
  value: (...args) => obj[k].apply(obj, args),
})

const properties = {
  // npmlog getters/setters
  level: accessors(NPMLOG, true),
  heading: accessors(NPMLOG, true),
  levels: accessors(NPMLOG),
  gauge: accessors(NPMLOG),
  stream: accessors(NPMLOG),
  tracker: accessors(NPMLOG),
  progressEnabled: accessors(NPMLOG),
  // npmlog methods
  useColor: value(NPMLOG),
  enableColor: value(NPMLOG),
  disableColor: value(NPMLOG),
  enableUnicode: value(NPMLOG),
  disableUnicode: value(NPMLOG),
  enableProgress: value(NPMLOG),
  disableProgress: value(NPMLOG),
  clearProgress: value(NPMLOG),
  showProgress: value(NPMLOG),
  newItem: value(NPMLOG),
  newGroup: value(NPMLOG),
  // proclog methods
  notice: value(PROCLOG),
  error: value(PROCLOG),
  warn: value(PROCLOG),
  info: value(PROCLOG),
  verbose: value(PROCLOG),
  http: value(PROCLOG),
  silly: value(PROCLOG),
  pause: value(PROCLOG),
  resume: value(PROCLOG),
}

const descriptors = Object.entries(properties).reduce((acc, [k, v]) => {
  acc[k] = { enumerable: true, ...v(k) }
  return acc
}, {})

// Create an object with the allowed properties rom npm log and all
// the logging methods from proc log
// XXX: this should go away and requires of this should be replaced with proc-log + new display
module.exports = Object.freeze(Object.defineProperties({}, descriptors))
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY