Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
9954ae4ba7 | |||
4b1f3d234b | |||
aed2c92b75 | |||
cb805898c9 | |||
c09fe29d99 | |||
a787836e56 | |||
287c2fa99f | |||
111b70aefb | |||
be91e22447 | |||
a337663830 |
@ -1,6 +1,7 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- 4.2.4
|
||||
- 4
|
||||
- stable
|
||||
deploy:
|
||||
provider: npm
|
||||
email: npm@lossless.digital
|
||||
|
15
dist/smartfile.get.js
vendored
15
dist/smartfile.get.js
vendored
@ -6,5 +6,18 @@ exports.filetype = function (pathArg) {
|
||||
var fileType = extName.replace(/\.([a-z]*)/, "$1"); //remove . form 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=
|
||||
|
15
dist/smartfile.memory.js
vendored
15
dist/smartfile.memory.js
vendored
File diff suppressed because one or more lines are too long
20
package.json
20
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "smartfile",
|
||||
"version": "3.0.1",
|
||||
"version": "3.0.5",
|
||||
"description": "offers smart ways to work with files in nodejs",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
@ -25,20 +25,20 @@
|
||||
},
|
||||
"homepage": "https://github.com/pushrocks/smartfile",
|
||||
"dependencies": {
|
||||
"beautylog": "4.1.0",
|
||||
"fs-extra": "0.26.7",
|
||||
"beautylog": "^4.1.2",
|
||||
"fs-extra": "^0.26.7",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-remote-src": "^0.4.1",
|
||||
"js-yaml": "3.5.5",
|
||||
"q": "1.4.1",
|
||||
"request": "^2.69.0",
|
||||
"js-yaml": "^3.5.5",
|
||||
"q": "^1.4.1",
|
||||
"request": "^2.70.0",
|
||||
"require-reload": "0.2.2",
|
||||
"vinyl": "1.1.1",
|
||||
"vinyl-file": "2.0.0"
|
||||
"vinyl": "^1.1.1",
|
||||
"vinyl-file": "^2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"gulp-function": "^1.2.3",
|
||||
"npmts": "5.0.1",
|
||||
"gulp-function": "^1.3.1",
|
||||
"npmts": "^5.0.4",
|
||||
"should": "^8.3.0"
|
||||
}
|
||||
}
|
||||
|
25
test/test.js
25
test/test.js
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
24
test/test.ts
24
test/test.ts
@ -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("toGulpStreamSync() and toGulpDestSync",function(){
|
||||
|
@ -5,4 +5,19 @@ export let filetype = function(pathArg:string):string {
|
||||
let extName = plugins.path.extname(pathArg);
|
||||
let fileType = extName.replace(/\.([a-z]*)/,"$1"); //remove . form 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;
|
||||
};
|
@ -1,9 +1,11 @@
|
||||
/// <reference path="./typings/main.d.ts" />
|
||||
|
||||
import plugins = require("./smartfile.plugins");
|
||||
import SmartfileInterpreter = require("./smartfile.interpreter");
|
||||
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
|
||||
* @returns stream.Readable
|
||||
* @TODO: make it async;
|
||||
@ -37,6 +39,16 @@ export let toGulpStream = function(fileArg:string|string[]|plugins.vinyl|plugins
|
||||
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
|
||||
* @param fileArg
|
||||
@ -69,6 +81,7 @@ export let toVinylArraySync = function(arrayArg:string[],optionsArg?:{filename?:
|
||||
return vinylArray;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* takes a vinylFile object and converts it to String
|
||||
*/
|
||||
|
Reference in New Issue
Block a user