mirror of
https://github.com/Raghu-Ch/nodeRestAPI.git
synced 2026-02-12 13:33:02 -05:00
initial commit
This commit is contained in:
59
node_modules/vinyl-fs/lib/dest/writeContents/index.js
generated
vendored
Normal file
59
node_modules/vinyl-fs/lib/dest/writeContents/index.js
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs');
|
||||
var writeDir = require('./writeDir');
|
||||
var writeStream = require('./writeStream');
|
||||
var writeBuffer = require('./writeBuffer');
|
||||
|
||||
function writeContents(writePath, file, cb) {
|
||||
var written = function(err) {
|
||||
var done = function(err) {
|
||||
cb(err, file);
|
||||
};
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
if (!file.stat || typeof file.stat.mode !== 'number') {
|
||||
return done();
|
||||
}
|
||||
|
||||
fs.stat(writePath, function(err, st) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
// octal 7777 = decimal 4095
|
||||
var currentMode = (st.mode & 4095);
|
||||
if (currentMode === file.stat.mode) {
|
||||
return done();
|
||||
}
|
||||
fs.chmod(writePath, file.stat.mode, done);
|
||||
});
|
||||
};
|
||||
|
||||
// if directory then mkdirp it
|
||||
if (file.isDirectory()) {
|
||||
writeDir(writePath, file, written);
|
||||
return;
|
||||
}
|
||||
|
||||
// stream it to disk yo
|
||||
if (file.isStream()) {
|
||||
writeStream(writePath, file, written);
|
||||
return;
|
||||
}
|
||||
|
||||
// write it like normal
|
||||
if (file.isBuffer()) {
|
||||
writeBuffer(writePath, file, written);
|
||||
return;
|
||||
}
|
||||
|
||||
// if no contents then do nothing
|
||||
if (file.isNull()) {
|
||||
cb(null, file);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = writeContents;
|
||||
Reference in New Issue
Block a user