mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-31 00:16:47 +01:00
24 lines
552 B
TypeScript
24 lines
552 B
TypeScript
|
import semver, { SemVer } from 'semver';
|
||
|
|
||
|
export const parseStrictSemVer = (version: string): SemVer | null => {
|
||
|
if (semver.clean(version) !== version) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
return semver.parse(version, { loose: false });
|
||
|
} catch {
|
||
|
return null;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
export const mustParseStrictSemVer = (version: string): SemVer => {
|
||
|
const parsedVersion = parseStrictSemVer(version);
|
||
|
|
||
|
if (!parsedVersion) {
|
||
|
throw new Error('Could not parse SemVer string: ${version}');
|
||
|
}
|
||
|
|
||
|
return parsedVersion;
|
||
|
};
|