+++ /dev/null
-/// <reference types="node" />\r
-import micromatch = require('micromatch');\r
-import DeepFilter from './filters/deep';\r
-import EntryFilter from './filters/entry';\r
-import { IOptions } from '../managers/options';\r
-import { ITask } from '../managers/tasks';\r
-import { Options as IReaddirOptions } from '@mrmlnc/readdir-enhanced';\r
-import { Entry, EntryItem } from '../types/entries';\r
-export default abstract class Reader<T> {\r
- readonly options: IOptions;\r
- readonly entryFilter: EntryFilter;\r
- readonly deepFilter: DeepFilter;\r
- private readonly micromatchOptions;\r
- constructor(options: IOptions);\r
- /**\r
- * The main logic of reading the directories that must be implemented by each providers.\r
- */\r
- abstract read(_task: ITask): T;\r
- /**\r
- * Returns root path to scanner.\r
- */\r
- getRootDirectory(task: ITask): string;\r
- /**\r
- * Returns options for reader.\r
- */\r
- getReaderOptions(task: ITask): IReaddirOptions;\r
- /**\r
- * Returns options for micromatch.\r
- */\r
- getMicromatchOptions(): micromatch.Options;\r
- /**\r
- * Returns transformed entry.\r
- */\r
- transform(entry: Entry): EntryItem;\r
- /**\r
- * Returns true if error has ENOENT code.\r
- */\r
- isEnoentCodeError(err: NodeJS.ErrnoException): boolean;\r
-}\r