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