-function getModelFiles (modelDirectory: string) {
- return readdirPromise(modelDirectory)
- .then(files => {
- const directories: string[] = files.filter(function (directory) {
- // Find directories
- if (
- directory.endsWith('.js.map') ||
- directory === 'index.js' || directory === 'index.ts' ||
- directory === 'utils.js' || directory === 'utils.ts'
- ) return false
-
- return true
- })
-
- return directories
- })
- .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
- })
-
- tasks.push(promise)
- })
-
- return Promise.all(tasks)
- })
- .then((filteredFiles: string[][]) => {
- return flattenDepth<string>(filteredFiles, 1)
- })