Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
38f10e0d04 | |||
2e2b8351f8 | |||
8c386ee91c | |||
9828689f31 | |||
8205da5284 |
24
dist/smartfile.fs.d.ts
vendored
24
dist/smartfile.fs.d.ts
vendored
@ -80,9 +80,29 @@ export declare let requireReload: (path: string) => any;
|
|||||||
* lists Folders in a directory on local disk
|
* lists Folders in a directory on local disk
|
||||||
* @returns Promise
|
* @returns Promise
|
||||||
*/
|
*/
|
||||||
export declare let listFolders: (pathArg: string) => any;
|
export declare let listFolders: (pathArg: string, regexFilter?: RegExp) => any;
|
||||||
/**
|
/**
|
||||||
* lists Folders SYNCHRONOUSLY in a directory on local disk
|
* lists Folders SYNCHRONOUSLY in a directory on local disk
|
||||||
* @returns an array with the folder names as strings
|
* @returns an array with the folder names as strings
|
||||||
*/
|
*/
|
||||||
export declare let listFoldersSync: (pathArg: any) => string[];
|
export declare let listFoldersSync: (pathArg: string, regexFilter?: RegExp) => string[];
|
||||||
|
/**
|
||||||
|
* lists Files in a directory on local disk
|
||||||
|
* @returns Promise
|
||||||
|
*/
|
||||||
|
export declare let listFiles: (pathArg: string, regexFilter?: RegExp) => any;
|
||||||
|
/**
|
||||||
|
* lists Files SYNCHRONOUSLY in a directory on local disk
|
||||||
|
* @returns an array with the folder names as strings
|
||||||
|
*/
|
||||||
|
export declare let listFilesSync: (pathArg: string, regexFilter?: RegExp) => string[];
|
||||||
|
/**
|
||||||
|
* lists all items (folders AND files) in a directory on local disk
|
||||||
|
* @returns Promise
|
||||||
|
*/
|
||||||
|
export declare let listAllItems: (pathArg: string, regexFilter?: RegExp) => any;
|
||||||
|
/**
|
||||||
|
* lists all items (folders AND files) SYNCHRONOUSLY in a directory on local disk
|
||||||
|
* @returns an array with the folder names as strings
|
||||||
|
*/
|
||||||
|
export declare let listAllItemsSync: (pathArg: string, regexFilter?: RegExp) => string[];
|
||||||
|
86
dist/smartfile.fs.js
vendored
86
dist/smartfile.fs.js
vendored
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"mode":"default",
|
"mode":"default",
|
||||||
"codecov":true,
|
"codecov":true,
|
||||||
"coverageTreshold":80
|
"coverageTreshold":70
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "smartfile",
|
"name": "smartfile",
|
||||||
"version": "4.0.6",
|
"version": "4.0.8",
|
||||||
"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",
|
||||||
"typings": "dist/index.d.ts",
|
"typings": "dist/index.d.ts",
|
||||||
|
20
test/test.js
20
test/test.js
File diff suppressed because one or more lines are too long
18
test/test.ts
18
test/test.ts
@ -40,6 +40,24 @@ describe("smartfile".yellow,function(){
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
describe(".listFilesSync()",function(){
|
||||||
|
it("should get the file type from a string",function(){
|
||||||
|
smartfile.fs.listFilesSync("./test/").should.containDeep([ "mytest.json"]);
|
||||||
|
smartfile.fs.listFilesSync("./test/").should.not.containDeep([ "notExistentFile"]);
|
||||||
|
smartfile.fs.listFilesSync("./test/",/mytest\.json/).should.containDeep([ "mytest.json"]);
|
||||||
|
smartfile.fs.listFilesSync("./test/",/mytests.json/).should.not.containDeep([ "mytest.json"]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe(".listFiles()",function(){
|
||||||
|
it("should get the file type from a string",function(done){
|
||||||
|
smartfile.fs.listFiles("./test/")
|
||||||
|
.then(function(folderArrayArg){
|
||||||
|
folderArrayArg.should.containDeep([ "mytest.json"]);
|
||||||
|
folderArrayArg.should.not.containDeep([ "notExistentFile"]);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
describe(".copy()".yellow,function(){
|
describe(".copy()".yellow,function(){
|
||||||
it("should copy a directory",function(){
|
it("should copy a directory",function(){
|
||||||
smartfile.fs.copy("./test/testfolder/","./test/temp/")
|
smartfile.fs.copy("./test/testfolder/","./test/temp/")
|
||||||
|
@ -175,11 +175,16 @@ export let requireReload = function(path:string){
|
|||||||
* lists Folders in a directory on local disk
|
* lists Folders in a directory on local disk
|
||||||
* @returns Promise
|
* @returns Promise
|
||||||
*/
|
*/
|
||||||
export let listFolders = function(pathArg:string){
|
export let listFolders = function(pathArg:string,regexFilter?:RegExp){
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
let folderArray = plugins.fs.readdirSync(pathArg).filter(function(file) {
|
let folderArray = plugins.fs.readdirSync(pathArg).filter(function(file) {
|
||||||
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
|
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
|
||||||
});
|
});
|
||||||
|
if(regexFilter){
|
||||||
|
folderArray = folderArray.filter((fileItem) => {
|
||||||
|
return regexFilter.test(fileItem);
|
||||||
|
});
|
||||||
|
}
|
||||||
done.resolve(folderArray);
|
done.resolve(folderArray);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
@ -188,8 +193,83 @@ export let listFolders = function(pathArg:string){
|
|||||||
* lists Folders SYNCHRONOUSLY in a directory on local disk
|
* lists Folders SYNCHRONOUSLY in a directory on local disk
|
||||||
* @returns an array with the folder names as strings
|
* @returns an array with the folder names as strings
|
||||||
*/
|
*/
|
||||||
export let listFoldersSync = function(pathArg):string[]{
|
export let listFoldersSync = function(pathArg:string,regexFilter?:RegExp):string[]{
|
||||||
return plugins.fs.readdirSync(pathArg).filter(function(file) {
|
let folderArray = plugins.fs.readdirSync(pathArg).filter(function(file) {
|
||||||
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
|
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isDirectory();
|
||||||
});
|
});
|
||||||
|
if(regexFilter){
|
||||||
|
folderArray = folderArray.filter((fileItem) => {
|
||||||
|
return regexFilter.test(fileItem);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
return folderArray;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lists Files in a directory on local disk
|
||||||
|
* @returns Promise
|
||||||
|
*/
|
||||||
|
export let listFiles = function(pathArg:string, regexFilter?:RegExp){
|
||||||
|
let done = plugins.q.defer();
|
||||||
|
let fileArray = plugins.fs.readdirSync(pathArg).filter(function(file) {
|
||||||
|
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isFile();
|
||||||
|
});
|
||||||
|
if(regexFilter){
|
||||||
|
fileArray = fileArray.filter((fileItem) => {
|
||||||
|
return regexFilter.test(fileItem);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
done.resolve(fileArray);
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lists Files SYNCHRONOUSLY in a directory on local disk
|
||||||
|
* @returns an array with the folder names as strings
|
||||||
|
*/
|
||||||
|
export let listFilesSync = function(pathArg:string, regexFilter?:RegExp):string[]{
|
||||||
|
let fileArray = plugins.fs.readdirSync(pathArg).filter(function(file) {
|
||||||
|
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isFile();
|
||||||
|
});
|
||||||
|
if(regexFilter){
|
||||||
|
fileArray = fileArray.filter((fileItem) => {
|
||||||
|
return regexFilter.test(fileItem);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
return fileArray;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lists all items (folders AND files) in a directory on local disk
|
||||||
|
* @returns Promise
|
||||||
|
*/
|
||||||
|
export let listAllItems = function(pathArg:string, regexFilter?:RegExp){
|
||||||
|
let done = plugins.q.defer();
|
||||||
|
let allItmesArray = plugins.fs.readdirSync(pathArg);
|
||||||
|
if(regexFilter){
|
||||||
|
allItmesArray = allItmesArray.filter((fileItem) => {
|
||||||
|
return regexFilter.test(fileItem);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
done.resolve(allItmesArray);
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* lists all items (folders AND files) SYNCHRONOUSLY in a directory on local disk
|
||||||
|
* @returns an array with the folder names as strings
|
||||||
|
*/
|
||||||
|
export let listAllItemsSync = function(pathArg:string, regexFilter?:RegExp):string[]{
|
||||||
|
let allItmesArray = plugins.fs.readdirSync(pathArg).filter(function(file) {
|
||||||
|
return plugins.fs.statSync(plugins.path.join(pathArg, file)).isFile();
|
||||||
|
});
|
||||||
|
if(regexFilter){
|
||||||
|
allItmesArray = allItmesArray.filter((fileItem) => {
|
||||||
|
return regexFilter.test(fileItem);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
return allItmesArray;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"globalDependencies": {
|
|
||||||
"colors": "github:DefinitelyTyped/DefinitelyTyped/colors/colors.d.ts",
|
|
||||||
"mocha": "github:Bartvds/tsd-deftools/typings/DefinitelyTyped/mocha/mocha.d.ts",
|
|
||||||
"node": "registry:dt/node",
|
|
||||||
"should": "registry:dt/should"
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user