matcher.d.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import { Pattern, MicromatchOptions, PatternRe } from '../../types';
  2. import Settings from '../../settings';
  3. export declare type PatternSegment = StaticPatternSegment | DynamicPatternSegment;
  4. declare type StaticPatternSegment = {
  5. dynamic: false;
  6. pattern: Pattern;
  7. };
  8. declare type DynamicPatternSegment = {
  9. dynamic: true;
  10. pattern: Pattern;
  11. patternRe: PatternRe;
  12. };
  13. export declare type PatternSection = PatternSegment[];
  14. export declare type PatternInfo = {
  15. /**
  16. * Indicates that the pattern has a globstar (more than a single section).
  17. */
  18. complete: boolean;
  19. pattern: Pattern;
  20. segments: PatternSegment[];
  21. sections: PatternSection[];
  22. };
  23. export default abstract class Matcher {
  24. private readonly _patterns;
  25. private readonly _settings;
  26. private readonly _micromatchOptions;
  27. protected readonly _storage: PatternInfo[];
  28. constructor(_patterns: Pattern[], _settings: Settings, _micromatchOptions: MicromatchOptions);
  29. private _fillStorage;
  30. private _getPatternSegments;
  31. private _splitSegmentsIntoSections;
  32. }
  33. export {};