1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/src/lib/util/semver.ts
olav 7e3f0329ab
refactor: avoid inlining segments for supported clients (#1640)
* 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
2022-06-02 14:07:46 +02:00

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;
};