You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
817 B
20 lines
817 B
3 years ago
|
import { Task } from '../managers/tasks';
|
||
|
import Settings from '../settings';
|
||
|
import { MicromatchOptions, ReaderOptions } from '../types';
|
||
|
import DeepFilter from './filters/deep';
|
||
|
import EntryFilter from './filters/entry';
|
||
|
import ErrorFilter from './filters/error';
|
||
|
import EntryTransformer from './transformers/entry';
|
||
|
export default abstract class Provider<T> {
|
||
|
protected readonly _settings: Settings;
|
||
|
readonly errorFilter: ErrorFilter;
|
||
|
readonly entryFilter: EntryFilter;
|
||
|
readonly deepFilter: DeepFilter;
|
||
|
readonly entryTransformer: EntryTransformer;
|
||
|
constructor(_settings: Settings);
|
||
|
abstract read(_task: Task): T;
|
||
|
protected _getRootDirectory(task: Task): string;
|
||
|
protected _getReaderOptions(task: Task): ReaderOptions;
|
||
|
protected _getMicromatchOptions(): MicromatchOptions;
|
||
|
}
|