File: //var/dev/shahnamag/back-end/node_modules/bin-version-check/index.js
import semver from 'semver';
import binaryVersion from 'bin-version';
import semverTruncate from 'semver-truncate';
export default async function binaryVersionCheck(binary, semverRange, options) {
if (typeof binary !== 'string' || typeof semverRange !== 'string') {
throw new TypeError('`binary` and `semverRange` arguments required');
}
if (!semver.validRange(semverRange)) {
throw new Error('Invalid version range');
}
const version = await binaryVersion(binary, options);
if (semver.satisfies(semverTruncate(version, 'patch'), semverRange)) {
return;
}
const error = new Error(`${binary} ${version} doesn't satisfy the version requirement of ${semverRange}`);
error.name = 'InvalidBinaryVersion';
throw error;
}