-
- let modelFilePaths: string[] = []
-
- // For each directory we read it and append model in the modelFilePaths array
- each(directories, function (directory: string, eachCallback: ErrorCallback<Error>) {
- const modelDirectoryPath = join(modelDirectory, directory)
-
- fs.readdir(modelDirectoryPath, function (err, files) {
- if (err) return eachCallback(err)
-
- const filteredFiles = files.filter(file => {
- if (
- file === 'index.js' || file === 'index.ts' ||
- file === 'utils.js' || file === 'utils.ts' ||
- file.endsWith('-interface.js') || file.endsWith('-interface.ts') ||
- file.endsWith('.js.map')
- ) return false
-
- return true
- }).map(file => {
- return join(modelDirectoryPath, file)
+ .then(directories => {
+ const tasks = []
+
+ // For each directory we read it and append model in the modelFilePaths array
+ directories.forEach(directory => {
+ const modelDirectoryPath = join(modelDirectory, directory)
+
+ const promise = readdirPromise(modelDirectoryPath).then(files => {
+ const filteredFiles = files.filter(file => {
+ if (
+ file === 'index.js' || file === 'index.ts' ||
+ file === 'utils.js' || file === 'utils.ts' ||
+ file.endsWith('-interface.js') || file.endsWith('-interface.ts') ||
+ file.endsWith('.js.map')
+ ) return false
+
+ return true
+ }).map(file => join(modelDirectoryPath, file))
+
+ return filteredFiles