| 12345678910111213141516171819202122232425262728293031323334353637 | 'use strict'const BB = require('bluebird')const figgyPudding = require('figgy-pudding')const fixOwner = require('./fix-owner')const path = require('path')const rimraf = BB.promisify(require('rimraf'))const uniqueFilename = require('unique-filename')const TmpOpts = figgyPudding({  tmpPrefix: {}})module.exports.mkdir = mktmpdirfunction mktmpdir (cache, opts) {  opts = TmpOpts(opts)  const tmpTarget = uniqueFilename(path.join(cache, 'tmp'), opts.tmpPrefix)  return fixOwner.mkdirfix(cache, tmpTarget).then(() => {    return tmpTarget  })}module.exports.withTmp = withTmpfunction withTmp (cache, opts, cb) {  if (!cb) {    cb = opts    opts = null  }  opts = TmpOpts(opts)  return BB.using(mktmpdir(cache, opts).disposer(rimraf), cb)}module.exports.fix = fixtmpdirfunction fixtmpdir (cache) {  return fixOwner(cache, path.join(cache, 'tmp'))}
 |