UNPKG

semver-range-intersect

Version:
27 lines 1.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const semver_1 = __importDefault(require("semver")); const multi_range_1 = require("./multi-range"); const utils_1 = require("./utils"); function intersect(...ranges) { const semverRangeList = (() => { try { return ranges.map(rangeStr => new semver_1.default.Range(rangeStr)); } catch (err) { return null; } })(); if (!semverRangeList || !utils_1.isIntersectRanges(semverRangeList)) { return null; } const intersectRange = semverRangeList .map(range => new multi_range_1.MultiRange(range.set)) .reduce((multiRangeA, multiRangeB) => multiRangeA.intersect(multiRangeB), new multi_range_1.MultiRange(null)); return intersectRange.valid ? String(intersectRange) || '*' : null; } exports.intersect = intersect; //# sourceMappingURL=index.js.map