Compare commits

...

10 Commits

Author SHA1 Message Date
9954ae4ba7 3.0.5 2016-04-14 20:34:02 +02:00
4b1f3d234b now has get.folders() and get.foldersSync function 2016-04-14 20:33:58 +02:00
aed2c92b75 added stable to travis.yml 2016-04-09 22:52:47 +02:00
cb805898c9 3.0.4 2016-04-09 22:51:35 +02:00
c09fe29d99 added memory to object function 2016-04-09 22:51:30 +02:00
a787836e56 added toObject function to memory module 2016-04-07 23:38:24 +02:00
287c2fa99f 3.0.3 2016-04-05 01:00:23 +02:00
111b70aefb updated deps 2016-04-05 01:00:23 +02:00
be91e22447 3.0.2 2016-04-05 00:37:15 +02:00
a337663830 now using carets 2016-04-05 00:37:10 +02:00
9 changed files with 117 additions and 17 deletions

View File

@ -1,6 +1,7 @@
language: node_js language: node_js
node_js: node_js:
- 4.2.4 - 4
- stable
deploy: deploy:
provider: npm provider: npm
email: npm@lossless.digital email: npm@lossless.digital

15
dist/smartfile.get.js vendored
View File

@ -6,5 +6,18 @@ exports.filetype = function (pathArg) {
var fileType = extName.replace(/\.([a-z]*)/, "$1"); //remove . form fileType var fileType = extName.replace(/\.([a-z]*)/, "$1"); //remove . form fileType
return fileType; return fileType;
}; };
exports.foldersSync = function (pathArg) {
return plugins.fs.readdirSync(pathArg).filter(function (file) {
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
});
};
exports.folders = function (pathArg) {
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;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRDQUE0QztBQUM1QyxJQUFPLE9BQU8sV0FBVyxxQkFBcUIsQ0FBQyxDQUFDO0FBRXJDLGdCQUFRLEdBQUcsVUFBUyxPQUFjO0lBQ3pDLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsd0JBQXdCO0lBQzNFLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0ZmlsZS5nZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0ZmlsZS5wbHVnaW5zXCIpO1xuXG5leHBvcnQgbGV0IGZpbGV0eXBlID0gZnVuY3Rpb24ocGF0aEFyZzpzdHJpbmcpOnN0cmluZyB7XG4gICAgbGV0IGV4dE5hbWUgPSBwbHVnaW5zLnBhdGguZXh0bmFtZShwYXRoQXJnKTtcbiAgICBsZXQgZmlsZVR5cGUgPSBleHROYW1lLnJlcGxhY2UoL1xcLihbYS16XSopLyxcIiQxXCIpOyAvL3JlbW92ZSAuIGZvcm0gZmlsZVR5cGVcbiAgICByZXR1cm4gZmlsZVR5cGU7XG59OyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0ZmlsZS5nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRDQUE0QztBQUM1QyxJQUFPLE9BQU8sV0FBVyxxQkFBcUIsQ0FBQyxDQUFDO0FBRXJDLGdCQUFRLEdBQUcsVUFBUyxPQUFjO0lBQ3pDLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsd0JBQXdCO0lBQzNFLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBRVMsbUJBQVcsR0FBRyxVQUFTLE9BQU87SUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFTLElBQUk7UUFDdkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9FLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRVMsZUFBTyxHQUFHLFVBQVMsT0FBYztJQUN4QyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFTLElBQUk7UUFDbEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9FLENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMiLCJmaWxlIjoic21hcnRmaWxlLmdldC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRmaWxlLnBsdWdpbnNcIik7XG5cbmV4cG9ydCBsZXQgZmlsZXR5cGUgPSBmdW5jdGlvbihwYXRoQXJnOnN0cmluZyk6c3RyaW5nIHtcbiAgICBsZXQgZXh0TmFtZSA9IHBsdWdpbnMucGF0aC5leHRuYW1lKHBhdGhBcmcpO1xuICAgIGxldCBmaWxlVHlwZSA9IGV4dE5hbWUucmVwbGFjZSgvXFwuKFthLXpdKikvLFwiJDFcIik7IC8vcmVtb3ZlIC4gZm9ybSBmaWxlVHlwZVxuICAgIHJldHVybiBmaWxlVHlwZTtcbn07XG5cbmV4cG9ydCBsZXQgZm9sZGVyc1N5bmMgPSBmdW5jdGlvbihwYXRoQXJnKXtcbiAgICByZXR1cm4gcGx1Z2lucy5mcy5yZWFkZGlyU3luYyhwYXRoQXJnKS5maWx0ZXIoZnVuY3Rpb24oZmlsZSkge1xuICAgICAgICByZXR1cm4gcGx1Z2lucy5mcy5zdGF0U3luYyhwbHVnaW5zLnBhdGguam9pbihwYXRoQXJnLCBmaWxlKSkuaXNEaXJlY3RvcnkoKTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBsZXQgZm9sZGVycyA9IGZ1bmN0aW9uKHBhdGhBcmc6c3RyaW5nKXtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIGxldCBmb2xkZXJBcnJheSA9IHBsdWdpbnMuZnMucmVhZGRpclN5bmMocGF0aEFyZykuZmlsdGVyKGZ1bmN0aW9uKGZpbGUpIHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbnMuZnMuc3RhdFN5bmMocGx1Z2lucy5wYXRoLmpvaW4ocGF0aEFyZywgZmlsZSkpLmlzRGlyZWN0b3J5KCk7XG4gICAgfSk7XG4gICAgZG9uZS5yZXNvbHZlKGZvbGRlckFycmF5KTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{ {
"name": "smartfile", "name": "smartfile",
"version": "3.0.1", "version": "3.0.5",
"description": "offers smart ways to work with files in nodejs", "description": "offers smart ways to work with files in nodejs",
"main": "dist/index.js", "main": "dist/index.js",
"scripts": { "scripts": {
@ -25,20 +25,20 @@
}, },
"homepage": "https://github.com/pushrocks/smartfile", "homepage": "https://github.com/pushrocks/smartfile",
"dependencies": { "dependencies": {
"beautylog": "4.1.0", "beautylog": "^4.1.2",
"fs-extra": "0.26.7", "fs-extra": "^0.26.7",
"gulp": "^3.9.1", "gulp": "^3.9.1",
"gulp-remote-src": "^0.4.1", "gulp-remote-src": "^0.4.1",
"js-yaml": "3.5.5", "js-yaml": "^3.5.5",
"q": "1.4.1", "q": "^1.4.1",
"request": "^2.69.0", "request": "^2.70.0",
"require-reload": "0.2.2", "require-reload": "0.2.2",
"vinyl": "1.1.1", "vinyl": "^1.1.1",
"vinyl-file": "2.0.0" "vinyl-file": "^2.0.0"
}, },
"devDependencies": { "devDependencies": {
"gulp-function": "^1.2.3", "gulp-function": "^1.3.1",
"npmts": "5.0.1", "npmts": "^5.0.4",
"should": "^8.3.0" "should": "^8.3.0"
} }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -46,6 +46,30 @@ describe("smartfile".yellow,function(){
}); });
}); });
describe(".get",function(){
describe(".filetype()",function(){
it("should get the file type from a string",function(){
smartfile.get.filetype("./somefolder/data.json").should.equal("json");
});
});
describe(".foldersSync()",function(){
it("should get the file type from a string",function(){
smartfile.get.foldersSync("./test/").should.containDeep([ "testfolder"]);
smartfile.get.foldersSync("./test/").should.not.containDeep([ "notExistentFolder"]);
});
});
describe(".folders()",function(){
it("should get the file type from a string",function(done){
smartfile.get.folders("./test/")
.then(function(folderArrayArg){
folderArrayArg.should.containDeep([ "testfolder"]);
folderArrayArg.should.not.containDeep([ "notExistentFolder"]);
done();
});
});
});
});
describe(".local".yellow,function(){ describe(".local".yellow,function(){
describe("toGulpStreamSync() and toGulpDestSync",function(){ describe("toGulpStreamSync() and toGulpDestSync",function(){

View File

@ -5,4 +5,19 @@ export let filetype = function(pathArg:string):string {
let extName = plugins.path.extname(pathArg); let extName = plugins.path.extname(pathArg);
let fileType = extName.replace(/\.([a-z]*)/,"$1"); //remove . form fileType let fileType = extName.replace(/\.([a-z]*)/,"$1"); //remove . form fileType
return fileType; return fileType;
};
export let foldersSync = function(pathArg){
return plugins.fs.readdirSync(pathArg).filter(function(file) {
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
});
};
export let folders = function(pathArg:string){
let done = plugins.q.defer();
let folderArray = plugins.fs.readdirSync(pathArg).filter(function(file) {
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
});
done.resolve(folderArray);
return done.promise;
}; };

View File

@ -1,9 +1,11 @@
/// <reference path="./typings/main.d.ts" /> /// <reference path="./typings/main.d.ts" />
import plugins = require("./smartfile.plugins"); import plugins = require("./smartfile.plugins");
import SmartfileInterpreter = require("./smartfile.interpreter");
let Readable = require("stream").Readable; let Readable = require("stream").Readable;
/** /**
* allows you to create a gulp stream from filestring * allows you to create a gulp stream
* from String, from an Array of Strings, from Vinyl File, from an Array of VinylFiles
* @param fileArg * @param fileArg
* @returns stream.Readable * @returns stream.Readable
* @TODO: make it async; * @TODO: make it async;
@ -37,6 +39,16 @@ export let toGulpStream = function(fileArg:string|string[]|plugins.vinyl|plugins
return stream; return stream;
}; };
/**
* converts file to Object
* @param fileStringArg
* @param fileTypeArg
* @returns {any|any}
*/
export let toObject = function(fileStringArg:string,fileTypeArg:string){
return SmartfileInterpreter(fileStringArg,fileTypeArg);
};
/** /**
* takes a string and converts it to vinyl file * takes a string and converts it to vinyl file
* @param fileArg * @param fileArg
@ -69,6 +81,7 @@ export let toVinylArraySync = function(arrayArg:string[],optionsArg?:{filename?:
return vinylArray; return vinylArray;
}; };
/** /**
* takes a vinylFile object and converts it to String * takes a vinylFile object and converts it to String
*/ */