mirror of
https://github.com/nodejs/node.git
synced 2025-05-02 03:31:35 +00:00

This uses libuv's mkdtemp function to provide a way to create a temporary folder, using a prefix as the path. The prefix is appended six random characters. The callback function will receive the name of the folder that was created. Usage example: fs.mkdtemp('/tmp/foo-', function(err, folder) { console.log(folder); // Prints: /tmp/foo-Tedi42 }); The fs.mkdtempSync version is also provided. Usage example: console.log(fs.mkdtemp('/tmp/foo-')); // Prints: tmp/foo-Tedi42 This pull request also includes the relevant documentation changes and tests. PR-URL: https://github.com/nodejs/node/pull/5333 Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
28 lines
763 B
JavaScript
28 lines
763 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const Buffer = require('buffer').Buffer;
|
|
|
|
common.refreshTmpDir();
|
|
|
|
const tmpFolder = fs.mkdtempSync(path.join(common.tmpDir, 'foo.'));
|
|
|
|
assert(path.basename(tmpFolder).length === 'foo.XXXXXX'.length);
|
|
assert(common.fileExists(tmpFolder));
|
|
|
|
const utf8 = fs.mkdtempSync(path.join(common.tmpDir, '\u0222abc.'));
|
|
assert.equal(Buffer.byteLength(path.basename(utf8)),
|
|
Buffer.byteLength('\u0222abc.XXXXXX'));
|
|
assert(common.fileExists(utf8));
|
|
|
|
fs.mkdtemp(
|
|
path.join(common.tmpDir, 'bar.'),
|
|
common.mustCall(function(err, folder) {
|
|
assert.ifError(err);
|
|
assert(common.fileExists(folder));
|
|
})
|
|
);
|