HEX
Server: Apache/2.4.41
System: Linux mainweb 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: nationalmedicaregrp (1119)
PHP: 8.3.7
Disabled: exec,passthru,shell_exec,system,popen,proc_open,pcntl_exec
Upload Files
File: /home/ubuntu/.nvm/versions/node/v14.15.1/lib/node_modules/npm/lib/utils/otplease.js
'use strict'

const BB = require('bluebird')

const optCheck = require('figgy-pudding')({
  prompt: {default: 'This operation requires a one-time password.\nEnter OTP:'},
  otp: {}
})
const readUserInfo = require('./read-user-info.js')

module.exports = otplease
function otplease (opts, fn) {
  opts = opts.concat ? opts : optCheck(opts)
  return BB.try(() => {
    return fn(opts)
  }).catch(err => {
    if (err.code !== 'EOTP' && !(err.code === 'E401' && /one-time pass/.test(err.body))) {
      throw err
    } else if (!process.stdin.isTTY || !process.stdout.isTTY) {
      throw err
    } else {
      return readUserInfo.otp(
        optCheck(opts).prompt
      ).then(otp => fn(opts.concat({otp})))
    }
  })
}