Files
lnreader/src/utils/compareVersion.ts
T
nyagami 0cf75fd6f9 Fix: pre-alpha-patch-1 (#905)
* fix: wrong version checker, update lastused

* fix: only show update dialog if newer version

* fix: remove chapter id in chapter item

* fix: date in chapter drawer

* fix: decode uri for local epub

* fix: simpler SetCategoriesModal

* fix: not allow local as default

* fix: no delay on selfhost backup/restore
2024-01-22 23:08:27 +07:00

39 lines
1.0 KiB
TypeScript

export const older = (a: string, b: string): boolean => {
a = a.replace(/[^\d.]/g, '');
b = b.replace(/[^\d.]/g, '');
const arrA = a.split('.').map(value => Number(value));
const arrB = b.split('.').map(value => Number(value));
try {
for (let i = 0; i < Math.min(arrA.length, arrB.length); i++) {
if (arrA[i] < arrB[i]) {
return true;
}
if (arrA[i] > arrB[i]) {
return false;
}
}
} catch (e: any) {
return arrA.length < arrB.length;
}
return false;
};
export const equal = (a: string, b: string): boolean => {
a = a.replace(/[^\d.]/g, '');
b = b.replace(/[^\d.]/g, '');
const arrA = a.split('.').map(value => Number(value));
const arrB = b.split('.').map(value => Number(value));
if (arrA.length !== arrB.length) {
return false;
}
for (let i = 0; i < arrA.length; i++) {
if (arrA[i] !== arrB[i]) {
return false;
}
}
return true;
};
export const newer = (a: string, b: string): boolean =>
!older(a, b) && !equal(a, b);