json-q
Version:
Retrieves values from JSON objects (and JavaScript objects) by css-selector-like query (includes attribute filters and array flattening).
55 lines (45 loc) • 1.07 kB
JavaScript
var mkdir = require('./mkdir')
, path = require('path')
, fs = require('fs')
, exists = fs.exists || path.exists
, existsSync = fs.existsSync || path.existsSync
function createFile (file, callback) {
function makeFile() {
fs.writeFile(file, '', function(err) {
if (err)
callback(err)
else
callback(null);
})
}
exists(file, function(fileExists) {
if (fileExists)
return callback(null);
else {
var dir = path.dirname(file);
exists(dir, function(dirExists) {
if (!dirExists) {
mkdir.mkdirs(dir, function(err) {
if (err)
callback(err)
else
makeFile();
})
} else {
makeFile();
}
})
}
})
}
function createFileSync (file) {
if (existsSync(file))
return;
var dir = path.dirname(file);
if (!existsSync(dir))
mkdir.mkdirsSync(dir);
fs.writeFileSync(file, '');
}
module.exports.createFile = createFile;
module.exports.createFileSync = createFileSync;