All files / src/functions add.files.from.folder.ts

100% Statements 15/15
100% Branches 0/0
100% Functions 5/5
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1x 1x   1x   1x 4x   6x 4x 5x     6x 4x 1x     4x   1x  
'use strict';
 
import * as fs from 'fs';
import * as path from 'path';
 
import {each, filter} from 'lodash';
 
const addFilesFromFolder = (files: string[], folder: string): string[] => {
	const subfolderNames: string[] = fs.readdirSync(folder);
 
	const subFiles: string[] = filter(subfolderNames, (name: string) => !fs.lstatSync(path.join(folder, name)).isDirectory());
	each(subFiles, (file: string): void => {
		files.push(path.join(folder, file));
	});
 
	const subFolders: string[] = filter(subfolderNames, (name: string) => fs.lstatSync(path.join(folder, name)).isDirectory());
	each(subFolders, (subFolder: string): void => {
		files = addFilesFromFolder(files, path.join(folder, subFolder));
	});
 
	return files;
};
export default addFilesFromFolder;