+++ /dev/null
-import micromatch = require('micromatch');\r
-import { IOptions } from '../../managers/options';\r
-import { FilterFunction } from '@mrmlnc/readdir-enhanced';\r
-import { Pattern } from '../../types/patterns';\r
-export default class EntryFilter {\r
- private readonly options;\r
- private readonly micromatchOptions;\r
- readonly index: Map<string, undefined>;\r
- constructor(options: IOptions, micromatchOptions: micromatch.Options);\r
- /**\r
- * Returns filter for directories.\r
- */\r
- getFilter(positive: Pattern[], negative: Pattern[]): FilterFunction;\r
- /**\r
- * Returns true if entry must be added to result.\r
- */\r
- private filter;\r
- /**\r
- * Return true if the entry already has in the cross reader index.\r
- */\r
- private isDuplicateEntry;\r
- /**\r
- * Create record in the cross reader index.\r
- */\r
- private createIndexRecord;\r
- /**\r
- * Returns true for non-files if the «onlyFiles» option is enabled.\r
- */\r
- private onlyFileFilter;\r
- /**\r
- * Returns true for non-directories if the «onlyDirectories» option is enabled.\r
- */\r
- private onlyDirectoryFilter;\r
- /**\r
- * Return true when `absolute` option is enabled and matched to the negative patterns.\r
- */\r
- private isSkippedByAbsoluteNegativePatterns;\r
- /**\r
- * Return true when entry match to provided patterns.\r
- *\r
- * First, just trying to apply patterns to the path.\r
- * Second, trying to apply patterns to the path with final slash (need to micromatch to support «directory/**» patterns).\r
- */\r
- private isMatchToPatterns;\r
-}\r