arch-unit-ts
Version:
31 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PackageMatchers = void 0;
const DescribedPredicate_1 = require("../../base/DescribedPredicate");
const Formatters_1 = require("./Formatters");
const PackageMatcher_1 = require("./PackageMatcher");
class PackageMatchers extends DescribedPredicate_1.DescribedPredicate {
packageMatchers = new Set();
constructor(packageIdentifiers) {
const packageIdentifierJoinedByComma = Formatters_1.Formatters.joinSingleQuoted(...packageIdentifiers);
super(`matches any of [${packageIdentifierJoinedByComma}]`);
packageIdentifiers.forEach(packageIdentifier => {
this.packageMatchers.add(PackageMatcher_1.PackageMatcher.of(packageIdentifier));
});
}
static of(...packageIdentifiers) {
return PackageMatchers.ofSet(new Set(packageIdentifiers));
}
static ofSet(packageIdentifiers) {
return new PackageMatchers(packageIdentifiers);
}
test(aPackage) {
let matches = false;
this.packageMatchers.forEach(matcher => {
matches = matches || matcher.exactMatches(aPackage);
});
return matches;
}
}
exports.PackageMatchers = PackageMatchers;
//# sourceMappingURL=PackageMatchers.js.map