mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-31 00:16:47 +01:00
7e3f0329ab
* refactor: add semver lib types * refactor: avoid inlining segments for supported clients * refactor: fix FeatureController tests * refactor: use spec version instead of client version * refactor: improve header validation errors
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;
|
|
};
|