UNPKG

@mentor-apm/react-sortable-tree

Version:

Drag-and-drop sortable component for nested data and hierarchies

75 lines (53 loc) 1.56 kB
"use strict"; require("core-js/modules/es.array.for-each"); require("core-js/modules/web.dom-collections.for-each"); var SemVer = require('../classes/semver'); var Range = require('../classes/range'); var gt = require('../functions/gt'); var minVersion = function minVersion(range, loose) { range = new Range(range, loose); var minver = new SemVer('0.0.0'); if (range.test(minver)) { return minver; } minver = new SemVer('0.0.0-0'); if (range.test(minver)) { return minver; } minver = null; for (var i = 0; i < range.set.length; ++i) { var comparators = range.set[i]; comparators.forEach(function (comparator) { // Clone to avoid manipulating the comparator's semver object. var compver = new SemVer(comparator.semver.version); switch (comparator.operator) { case '>': if (compver.prerelease.length === 0) { compver.patch++; } else { compver.prerelease.push(0); } compver.raw = compver.format(); /* fallthrough */ case '': case '>=': if (!minver || gt(minver, compver)) { minver = compver; } break; case '<': case '<=': /* Ignore maximum versions */ break; /* istanbul ignore next */ default: throw new Error("Unexpected operation: ".concat(comparator.operator)); } }); } if (minver && range.test(minver)) { return minver; } return null; }; module.exports = minVersion;