get-files.ts 436 B

12345678910111213
  1. import * as walkdir from 'walkdir';
  2. export async function getFiles (directoryPath: string, { filter = null }: {filter?: ((file: string) => boolean) | null} = {}) {
  3. const files: string[] = [];
  4. const walker = walkdir(directoryPath, {
  5. no_recurse: true
  6. });
  7. walker.on('file', (file) => {
  8. if (!filter || filter(file)) { files.push(file); }
  9. });
  10. await new Promise((resolve) => walker.on('end', resolve));
  11. return files;
  12. }