| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | module.exports = realpathrealpath.realpath = realpathrealpath.sync = realpathSyncrealpath.realpathSync = realpathSyncrealpath.monkeypatch = monkeypatchrealpath.unmonkeypatch = unmonkeypatchvar fs = require('fs')var origRealpath = fs.realpathvar origRealpathSync = fs.realpathSyncvar version = process.versionvar ok = /^v[0-5]\./.test(version)var old = require('./old.js')function newError (er) {  return er && er.syscall === 'realpath' && (    er.code === 'ELOOP' ||    er.code === 'ENOMEM' ||    er.code === 'ENAMETOOLONG'  )}function realpath (p, cache, cb) {  if (ok) {    return origRealpath(p, cache, cb)  }  if (typeof cache === 'function') {    cb = cache    cache = null  }  origRealpath(p, cache, function (er, result) {    if (newError(er)) {      old.realpath(p, cache, cb)    } else {      cb(er, result)    }  })}function realpathSync (p, cache) {  if (ok) {    return origRealpathSync(p, cache)  }  try {    return origRealpathSync(p, cache)  } catch (er) {    if (newError(er)) {      return old.realpathSync(p, cache)    } else {      throw er    }  }}function monkeypatch () {  fs.realpath = realpath  fs.realpathSync = realpathSync}function unmonkeypatch () {  fs.realpath = origRealpath  fs.realpathSync = origRealpathSync}
 |