| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", { value: true });
 
- const utils = require("../../utils");
 
- class Matcher {
 
-     constructor(_patterns, _settings, _micromatchOptions) {
 
-         this._patterns = _patterns;
 
-         this._settings = _settings;
 
-         this._micromatchOptions = _micromatchOptions;
 
-         this._storage = [];
 
-         this._fillStorage();
 
-     }
 
-     _fillStorage() {
 
-         /**
 
-          * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level).
 
-          * So, before expand patterns with brace expansion into separated patterns.
 
-          */
 
-         const patterns = utils.pattern.expandPatternsWithBraceExpansion(this._patterns);
 
-         for (const pattern of patterns) {
 
-             const segments = this._getPatternSegments(pattern);
 
-             const sections = this._splitSegmentsIntoSections(segments);
 
-             this._storage.push({
 
-                 complete: sections.length <= 1,
 
-                 pattern,
 
-                 segments,
 
-                 sections
 
-             });
 
-         }
 
-     }
 
-     _getPatternSegments(pattern) {
 
-         const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions);
 
-         return parts.map((part) => {
 
-             const dynamic = utils.pattern.isDynamicPattern(part, this._settings);
 
-             if (!dynamic) {
 
-                 return {
 
-                     dynamic: false,
 
-                     pattern: part
 
-                 };
 
-             }
 
-             return {
 
-                 dynamic: true,
 
-                 pattern: part,
 
-                 patternRe: utils.pattern.makeRe(part, this._micromatchOptions)
 
-             };
 
-         });
 
-     }
 
-     _splitSegmentsIntoSections(segments) {
 
-         return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern));
 
-     }
 
- }
 
- exports.default = Matcher;
 
 
  |