Sha256: a203ec94e7fe0f5f6c763a400f4d2396bb3f2493a8c7cc900c64079414aed8e4

Contents?: true

Size: 1.42 KB

Versions: 23

Compression:

Stored size: 1.42 KB

Contents

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const matcher_1 = require("./matcher");
class PartialMatcher extends matcher_1.default {
    match(filepath) {
        const parts = filepath.split('/');
        const levels = parts.length;
        const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);
        for (const pattern of patterns) {
            const section = pattern.sections[0];
            /**
             * In this case, the pattern has a globstar and we must read all directories unconditionally,
             * but only if the level has reached the end of the first group.
             *
             * fixtures/{a,b}/**
             *  ^ true/false  ^ always true
            */
            if (!pattern.complete && levels > section.length) {
                return true;
            }
            const match = parts.every((part, index) => {
                const segment = pattern.segments[index];
                if (segment.dynamic && segment.patternRe.test(part)) {
                    return true;
                }
                if (!segment.dynamic && segment.pattern === part) {
                    return true;
                }
                return false;
            });
            if (match) {
                return true;
            }
        }
        return false;
    }
}
exports.default = PartialMatcher;

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
trusty-cms-5.0.7 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-5.0.6 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-5.0.5 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-5.0.4 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-5.0.3 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-5.0.2 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-5.0.1 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.3.5 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-5.0.0 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.3.4 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.3.3 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.3.2 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.3.1 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.3 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.2.3 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.2.2 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.2.1 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.2 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.1.9 node_modules/fast-glob/out/providers/matchers/partial.js
trusty-cms-4.1.8 node_modules/fast-glob/out/providers/matchers/partial.js