UNPKG

bit-bin

Version:

<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b

38 lines (28 loc) 1.1 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isBitIdMatchByWildcards; function _ramda() { const data = _interopRequireDefault(require("ramda")); _ramda = function () { return data; }; return data; } function isBitIdMatchByWildcards(bitId, idsWithWildcard) { if (!Array.isArray(idsWithWildcard)) idsWithWildcard = [idsWithWildcard]; const regexPatterns = idsWithWildcard.map(id => getRegex(id)); const isNameMatchByWildcard = name => { return regexPatterns.some(regex => regex.test(name)); }; return isNameMatchByWildcard(bitId.toStringWithoutVersion()) || isNameMatchByWildcard(bitId.toStringWithoutScopeAndVersion()); } function getRegex(idWithWildcard) { if (!_ramda().default.is(String, idWithWildcard)) { throw new TypeError(`filterComponentsByWildcard expects idWithWildcard to be string, got ${typeof idWithWildcard}`); } const rule = idWithWildcard.replace(/\*/g, '.*'); return new RegExp(`^${rule}$`); }