| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.getInclusionReasons = getInclusionReasons; |
| |
| var _semver = require("semver"); |
| |
| var _pretty = require("./pretty"); |
| |
| var _utils = require("./utils"); |
| |
| function getInclusionReasons(item, targetVersions, list) { |
| const minVersions = list[item] || {}; |
| return Object.keys(targetVersions).reduce((result, env) => { |
| const minVersion = (0, _utils.getLowestImplementedVersion)(minVersions, env); |
| const targetVersion = targetVersions[env]; |
| |
| if (!minVersion) { |
| result[env] = (0, _pretty.prettifyVersion)(targetVersion); |
| } else { |
| const minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env); |
| const targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env); |
| |
| if (!targetIsUnreleased && (minIsUnreleased || _semver.lt(targetVersion.toString(), (0, _utils.semverify)(minVersion)))) { |
| result[env] = (0, _pretty.prettifyVersion)(targetVersion); |
| } |
| } |
| |
| return result; |
| }, {}); |
| } |