improve memory.toFs(Sync)
This commit is contained in:
		| @@ -3,6 +3,54 @@ import "typings-global"; | ||||
| import plugins = require("./smartfile.plugins"); | ||||
| import SmartfileInterpreter = require("./smartfile.interpreter"); | ||||
|  | ||||
| /*=============================================================== | ||||
| ============================ Checks ============================= | ||||
| ===============================================================*/ | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @param filePath | ||||
|  * @returns {boolean} | ||||
|  */ | ||||
| export let fileExistsSync = function(filePath):boolean { | ||||
|     let fileExistsBool:boolean = false; | ||||
|     try { | ||||
|         plugins.fs.readFileSync(filePath); | ||||
|         fileExistsBool = true | ||||
|     } | ||||
|     catch(err){ | ||||
|         fileExistsBool = false; | ||||
|     } | ||||
|     return fileExistsBool; | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @param filePath | ||||
|  * @returns {any} | ||||
|  */ | ||||
| export let fileExists = function(filePath){ | ||||
|     let done = plugins.q.defer(); | ||||
|     plugins.fs.access(filePath, plugins.fs.R_OK, function (err) { | ||||
|         err ? done.reject() : done.resolve(); | ||||
|     }); | ||||
|     return done.promise; | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Checks if given path points to an existing directory | ||||
|  */ | ||||
| export let isDirectory = function(pathArg):boolean{ | ||||
|     return plugins.fs.statSync(pathArg).isDirectory(); | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * Checks if a given path points to an existing file | ||||
|  */ | ||||
| export let isFile = function(pathArg):boolean{ | ||||
|     return plugins.fs.statSync(pathArg).isFile(); | ||||
| }; | ||||
|  | ||||
| /*=============================================================== | ||||
| ============================ FS ACTIONS ========================= | ||||
| ===============================================================*/ | ||||
| @@ -50,11 +98,6 @@ export let removeSync = function(pathArg:string):boolean{ | ||||
| ============================ Write/Read ========================= | ||||
| ===============================================================*/ | ||||
|  | ||||
|  | ||||
| export let toFS = function(options:{from:string,toPath:string}, cb=undefined){ | ||||
|      | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @param filePathArg | ||||
| @@ -132,41 +175,3 @@ export let listFoldersSync = function(pathArg){ | ||||
|         return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory(); | ||||
|     }); | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @param filePath | ||||
|  * @returns {boolean} | ||||
|  */ | ||||
| export let fileExistsSync = function(filePath):boolean { | ||||
|     let fileExistsBool:boolean = false; | ||||
|     try { | ||||
|         plugins.fs.readFileSync(filePath); | ||||
|         fileExistsBool = true | ||||
|     } | ||||
|     catch(err){ | ||||
|         fileExistsBool = false; | ||||
|     } | ||||
|     return fileExistsBool; | ||||
| }; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @param filePath | ||||
|  * @returns {any} | ||||
|  */ | ||||
| export let fileExists = function(filePath){ | ||||
|     let done = plugins.q.defer(); | ||||
|     plugins.fs.access(filePath, plugins.fs.R_OK, function (err) { | ||||
|         err ? done.reject() : done.resolve(); | ||||
|     }); | ||||
|     return done.promise; | ||||
| }; | ||||
|  | ||||
| export let isDirectory = function(pathArg):boolean{ | ||||
|     return plugins.fs.statSync(pathArg).isDirectory(); | ||||
| }; | ||||
|  | ||||
| export let isFile = function(pathArg):boolean{ | ||||
|     return plugins.fs.statSync(pathArg).isFile(); | ||||
| }; | ||||
| @@ -2,6 +2,7 @@ import "typings-global"; | ||||
|  | ||||
| import plugins = require("./smartfile.plugins"); | ||||
| import SmartfileInterpreter = require("./smartfile.interpreter"); | ||||
| import vinyl = require("vinyl"); | ||||
| let Readable = require("stream").Readable; | ||||
| /** | ||||
|  * allows you to create a gulp stream | ||||
| @@ -96,33 +97,31 @@ export let toStringSync = function(fileArg:plugins.vinyl){ | ||||
|  * @param fileNameArg | ||||
|  * @param fileBaseArg | ||||
|  */ | ||||
| export let toFs = function(fileArg,optionsArg:{fileName:string,filePath:string}){ | ||||
| export let toFs = function(fileContentArg:string|vinyl,filePathArg){ | ||||
|     let done = plugins.q.defer(); | ||||
|  | ||||
|     //function checks to abort if needed | ||||
|     if (!fileArg || !optionsArg || !(typeof optionsArg.fileName === "string")) | ||||
|         throw new Error("expected a valid arguments"); | ||||
|     if (!(typeof optionsArg.filePath === "string")) optionsArg.filePath = "/"; | ||||
|     if (!fileContentArg || !filePathArg) throw new Error("expected valid arguments"); | ||||
|  | ||||
|     let filePath:string = plugins.path.join(optionsArg.filePath,optionsArg.fileName); | ||||
|     // prepare actual write action | ||||
|     let fileString:string; | ||||
|     if (fileArg instanceof plugins.vinyl){ | ||||
|         fileString = toStringSync(fileArg); | ||||
|     } else if (typeof fileArg === "string") { | ||||
|         fileString = fileArg; | ||||
|     let filePath:string = filePathArg; | ||||
|     if (fileContentArg instanceof plugins.vinyl){ | ||||
|         fileString = toStringSync(fileContentArg); | ||||
|     } else if (typeof fileContentArg === "string") { | ||||
|         fileString = fileContentArg; | ||||
|     } | ||||
|     plugins.fs.writeFile(filePath,fileString,"utf8",done.resolve); | ||||
|     return done.promise; | ||||
| }; | ||||
|  | ||||
| export let toFsSync = function(fileArg,optionsArg:{fileName:string,filePath:string}){ | ||||
| export let toFsSync = function(fileArg,filePathArg:string){ | ||||
|     //function checks to abort if needed | ||||
|     if (!fileArg || !optionsArg || !(typeof optionsArg.fileName === "string")) | ||||
|         throw new Error("expected a valid arguments"); | ||||
|     if (!(typeof optionsArg.filePath === "string")) optionsArg.filePath = "/"; | ||||
|     if (!fileArg || !filePathArg) throw new Error("expected a valid arguments"); | ||||
|  | ||||
|     let filePath = plugins.path.join(optionsArg.filePath,optionsArg.fileName); | ||||
|     // prepare actual write action | ||||
|     let fileString:string; | ||||
|     let filePath:string = filePathArg; | ||||
|  | ||||
|     if (fileArg instanceof plugins.vinyl){ | ||||
|         fileString = toStringSync(fileArg); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user