Sha256: 4fdf81bcea4fa6e7d1691bf02942c04db7df2f33ef3a8f090324b5fc0ee36f4a

Contents?: true

Size: 917 Bytes

Versions: 3

Compression:

Stored size: 917 Bytes

Contents

'use strict'

const util = require('util')

const figgyPudding = require('figgy-pudding')
const fixOwner = require('./fix-owner')
const path = require('path')
const rimraf = util.promisify(require('rimraf'))
const uniqueFilename = require('unique-filename')
const { disposer } = require('./disposer')

const TmpOpts = figgyPudding({
  tmpPrefix: {}
})

module.exports.mkdir = mktmpdir

function 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 = withTmp

function withTmp (cache, opts, cb) {
  if (!cb) {
    cb = opts
    opts = null
  }
  opts = TmpOpts(opts)

  return disposer(mktmpdir(cache, opts), rimraf, cb)
}

module.exports.fix = fixtmpdir

function fixtmpdir (cache) {
  return fixOwner(cache, path.join(cache, 'tmp'))
}

Version data entries

3 entries across 3 versions & 3 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/cacache/lib/util/tmp.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/cacache/lib/util/tmp.js
enju_library-0.3.8 spec/dummy/node_modules/cacache/lib/util/tmp.js