2016-06-23 16:31:55 +00:00
|
|
|
"use strict";
|
|
|
|
require("typings-global");
|
|
|
|
var plugins = require("./smartfile.plugins");
|
|
|
|
var SmartfileInterpreter = require("./smartfile.interpreter");
|
|
|
|
/*===============================================================
|
|
|
|
============================ FS ACTIONS =========================
|
|
|
|
===============================================================*/
|
2016-06-23 16:39:02 +00:00
|
|
|
/**
|
|
|
|
* copies a file from A to B on the local disk
|
|
|
|
*/
|
2016-06-23 16:31:55 +00:00
|
|
|
exports.copy = function (fromArg, toArg) {
|
|
|
|
var done = plugins.q.defer();
|
|
|
|
plugins.fs.copy(fromArg, toArg, {}, function () {
|
|
|
|
done.resolve();
|
|
|
|
});
|
|
|
|
return done.promise;
|
|
|
|
};
|
2016-06-23 16:39:02 +00:00
|
|
|
/**
|
|
|
|
* copies a file SYNCHRONOUSLY from A to B on the local disk
|
|
|
|
*/
|
2016-06-23 16:31:55 +00:00
|
|
|
exports.copySync = function (fromArg, toArg) {
|
|
|
|
plugins.fs.copySync(fromArg, toArg);
|
|
|
|
return true;
|
|
|
|
};
|
2016-06-23 16:39:02 +00:00
|
|
|
/**
|
|
|
|
* removes a file or folder from local disk
|
|
|
|
*/
|
2016-06-23 16:31:55 +00:00
|
|
|
exports.remove = function (pathArg) {
|
|
|
|
var done = plugins.q.defer();
|
|
|
|
plugins.fs.remove(pathArg, function () {
|
|
|
|
done.resolve();
|
|
|
|
});
|
|
|
|
return done.promise;
|
|
|
|
};
|
2016-06-23 16:39:02 +00:00
|
|
|
/**
|
|
|
|
* removes a file SYNCHRONOUSLY from local disk
|
|
|
|
*/
|
2016-06-23 16:31:55 +00:00
|
|
|
exports.removeSync = function (pathArg) {
|
|
|
|
plugins.fs.removeSync(pathArg);
|
|
|
|
return true;
|
|
|
|
};
|
|
|
|
/*===============================================================
|
|
|
|
============================ Write/Read =========================
|
|
|
|
===============================================================*/
|
|
|
|
exports.toFS = function (options, cb) {
|
|
|
|
if (cb === void 0) { cb = undefined; }
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param filePathArg
|
|
|
|
* @returns {*}
|
|
|
|
*/
|
|
|
|
exports.toGulpStreamSync = function (filePathArg) {
|
|
|
|
var stream = plugins.gulp.src(filePathArg);
|
|
|
|
return stream;
|
|
|
|
};
|
|
|
|
exports.toGulpDestSync = function (folderPathArg) {
|
|
|
|
return plugins.gulp.dest(folderPathArg);
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param filePathArg
|
|
|
|
* @param fileTypeArg
|
|
|
|
* @returns {any}
|
|
|
|
*/
|
|
|
|
exports.toObjectSync = function (filePathArg, fileTypeArg) {
|
|
|
|
var fileString = plugins.fs.readFileSync(filePathArg, 'utf8');
|
|
|
|
var fileType;
|
|
|
|
fileTypeArg ? fileType = fileTypeArg : fileType = SmartfileInterpreter.filetype(filePathArg);
|
|
|
|
return SmartfileInterpreter.objectFile(fileString, fileType);
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* reads a file content to a String
|
|
|
|
* @param filePath
|
|
|
|
* @returns {string|Buffer|any}
|
|
|
|
*/
|
|
|
|
exports.toStringSync = function (filePath) {
|
|
|
|
var fileString;
|
|
|
|
fileString = plugins.fs.readFileSync(filePath, "utf8");
|
|
|
|
return fileString;
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param filePathArg
|
|
|
|
* @param options
|
|
|
|
* @returns {number}
|
|
|
|
*/
|
|
|
|
exports.toVinylSync = function (filePathArg, options) {
|
|
|
|
if (options === void 0) { options = {}; }
|
|
|
|
return plugins.vinylFile.readSync(filePathArg, options);
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
* lets you reload files hot.
|
|
|
|
* @param path
|
|
|
|
* @returns {any}
|
|
|
|
*/
|
|
|
|
exports.requireReload = function (path) {
|
|
|
|
return plugins.requireReload(path);
|
|
|
|
};
|
2016-06-23 16:39:02 +00:00
|
|
|
/**
|
|
|
|
* lists Folders in a directory on local disk
|
|
|
|
*/
|
|
|
|
exports.listFolders = function (pathArg) {
|
2016-06-23 16:31:55 +00:00
|
|
|
var done = plugins.q.defer();
|
|
|
|
var folderArray = plugins.fs.readdirSync(pathArg).filter(function (file) {
|
|
|
|
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
|
|
|
|
});
|
|
|
|
done.resolve(folderArray);
|
|
|
|
return done.promise;
|
|
|
|
};
|
2016-06-23 16:39:02 +00:00
|
|
|
/**
|
|
|
|
* lists Folders SYNCHRONOUSLY in a directory on local disk
|
|
|
|
*/
|
|
|
|
exports.listFoldersSync = function (pathArg) {
|
|
|
|
return plugins.fs.readdirSync(pathArg).filter(function (file) {
|
|
|
|
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
|
|
|
|
});
|
|
|
|
};
|
2016-06-23 16:31:55 +00:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param filePath
|
|
|
|
* @returns {boolean}
|
|
|
|
*/
|
|
|
|
exports.fileExistsSync = function (filePath) {
|
|
|
|
var fileExistsBool = false;
|
|
|
|
try {
|
|
|
|
plugins.fs.readFileSync(filePath);
|
|
|
|
fileExistsBool = true;
|
|
|
|
}
|
|
|
|
catch (err) {
|
|
|
|
fileExistsBool = false;
|
|
|
|
}
|
|
|
|
return fileExistsBool;
|
|
|
|
};
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @param filePath
|
|
|
|
* @returns {any}
|
|
|
|
*/
|
|
|
|
exports.fileExists = function (filePath) {
|
|
|
|
var done = plugins.q.defer();
|
|
|
|
plugins.fs.access(filePath, plugins.fs.R_OK, function (err) {
|
|
|
|
err ? done.reject() : done.resolve();
|
|
|
|
});
|
|
|
|
return done.promise;
|
|
|
|
};
|
|
|
|
exports.isDirectory = function (pathArg) {
|
|
|
|
return plugins.fs.statSync(pathArg).isDirectory();
|
|
|
|
};
|
|
|
|
exports.isFile = function (pathArg) {
|
|
|
|
return plugins.fs.statSync(pathArg).isFile();
|
|
|
|
};
|
|
|
|
|
2016-06-23 16:39:02 +00:00
|
|
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,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
|