mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2026-02-27 04:06:39 +00:00
22 lines
629 B
JavaScript
22 lines
629 B
JavaScript
import { compare } from 'compare-versions';
|
|
import { identity, memoizeWith } from 'ramda';
|
|
|
|
export const compareVersions = (firstVersion, operator, secondVersion) => compare(
|
|
firstVersion,
|
|
secondVersion,
|
|
operator,
|
|
);
|
|
|
|
const versionIsValidSemVer = memoizeWith(identity, (version) => {
|
|
try {
|
|
return compareVersions(version, '=', version);
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
});
|
|
|
|
export const versionToPrintable = (version) => !versionIsValidSemVer(version) ? version : `v${version}`;
|
|
|
|
export const versionToSemVer = (defaultValue = 'latest') =>
|
|
(version) => versionIsValidSemVer(version) ? version : defaultValue;
|