.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / fast-glob / package / out / providers / reader.d.ts
1 /// <reference types="node" />\r
2 import micromatch = require('micromatch');\r
3 import DeepFilter from './filters/deep';\r
4 import EntryFilter from './filters/entry';\r
5 import { IOptions } from '../managers/options';\r
6 import { ITask } from '../managers/tasks';\r
7 import { Options as IReaddirOptions } from '@mrmlnc/readdir-enhanced';\r
8 import { Entry, EntryItem } from '../types/entries';\r
9 export default abstract class Reader<T> {\r
10     readonly options: IOptions;\r
11     readonly entryFilter: EntryFilter;\r
12     readonly deepFilter: DeepFilter;\r
13     private readonly micromatchOptions;\r
14     constructor(options: IOptions);\r
15     /**\r
16      * The main logic of reading the directories that must be implemented by each providers.\r
17      */\r
18     abstract read(_task: ITask): T;\r
19     /**\r
20      * Returns root path to scanner.\r
21      */\r
22     getRootDirectory(task: ITask): string;\r
23     /**\r
24      * Returns options for reader.\r
25      */\r
26     getReaderOptions(task: ITask): IReaddirOptions;\r
27     /**\r
28      * Returns options for micromatch.\r
29      */\r
30     getMicromatchOptions(): micromatch.Options;\r
31     /**\r
32      * Returns transformed entry.\r
33      */\r
34     transform(entry: Entry): EntryItem;\r
35     /**\r
36      * Returns true if error has ENOENT code.\r
37      */\r
38     isEnoentCodeError(err: NodeJS.ErrnoException): boolean;\r
39 }\r