123
124
export function isValidVersion(_inputVersion: string | INormalizedVersion, _inputDate: ProductDate, _desiredVersion: string | INormalizedVersion): boolean {
126
>
if (typeof _inputVersion === 'string') {
127
>
version = normalizeVersion(parseVersion(_inputVersion));
128
>
} else {
129
version = _inputVersion;
130
}
132
>
let productTs: number | undefined;
133
>
if (_inputDate instanceof Date) {
134
productTs = _inputDate.getTime();
136
productTs = new Date(_inputDate).getTime();
137
}
139
>
let desiredVersion: INormalizedVersion | null;
140
>
if (typeof _desiredVersion === 'string') {
141
desiredVersion = normalizeVersion(parseVersion(_desiredVersion));
143
desiredVersion = _desiredVersion;
144
}
146
>
if (!version || !desiredVersion) {
147
return false;
148
}
150
>
const majorBase = version.majorBase;
151
>
const minorBase = version.minorBase;
152
>
const patchBase = version.patchBase;
153
>
154
>
let desiredMajorBase = desiredVersion.majorBase;
155
>
let desiredMinorBase = desiredVersion.minorBase;
156
>
let desiredPatchBase = desiredVersion.patchBase;
157
>
const desiredNotBefore = desiredVersion.notBefore;
158
>
159
>
let majorMustEqual = desiredVersion.majorMustEqual;
160
>
let minorMustEqual = desiredVersion.minorMustEqual;
161
>
let patchMustEqual = desiredVersion.patchMustEqual;
162
>
163
>
if (desiredVersion.isMinimum) {
164
if (majorBase > desiredMajorBase) {
165
return true;