aboutsummaryrefslogtreecommitdiff
path: root/node_modules/unique-temp-dir/index.js
blob: bd4111b076fa54ef1750909ef98bfec5d4388154 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
'use strict';
var osTmpdir = require('os-tmpdir');
var uid2 = require('uid2');
var mkdirp = require('mkdirp');
var path = require('path');

module.exports = function (options) {
	options = options || {};
	var uniqueDir = path.join(osTmpdir(), uid2(options.length || 20));
	if (options.create) {
		mkdirp.sync(uniqueDir);
	}
	if (options.thunk) {
		return thunk(uniqueDir);
	}
	return uniqueDir;
};

function thunk(uniquedir) {
	return function () {
		var args = Array.prototype.slice.call(arguments);
		args.unshift(uniquedir);
		return path.join.apply(path, args);
	};
}