diff options
| author | Adam Malczewski <[email protected]> | 2026-06-26 22:03:19 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-26 22:23:39 +0900 |
| commit | 727c98c9dae516a2070eb950410314380a20c974 (patch) | |
| tree | 52aa1022c54f11770be7e4e2a324f0a8b8b8deec /packages/kernel/src/host/version.ts | |
| parent | e59dc11f63b1df51142259bb2c406af8c9c8c2bb (diff) | |
| download | dispatch-727c98c9dae516a2070eb950410314380a20c974.tar.gz dispatch-727c98c9dae516a2070eb950410314380a20c974.zip | |
style: switch from tabs to 2-space indentation
Diffstat (limited to 'packages/kernel/src/host/version.ts')
| -rw-r--r-- | packages/kernel/src/host/version.ts | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/packages/kernel/src/host/version.ts b/packages/kernel/src/host/version.ts index 0d62a3b..eb9ac16 100644 --- a/packages/kernel/src/host/version.ts +++ b/packages/kernel/src/host/version.ts @@ -1,52 +1,52 @@ interface SemVer { - readonly major: number; - readonly minor: number; - readonly patch: number; + readonly major: number; + readonly minor: number; + readonly patch: number; } function parseSemVer(version: string): SemVer { - const match = version.match(/^(\d+)\.(\d+)\.(\d+)$/); - if (!match) throw new Error(`Invalid semver: "${version}"`); - return { - major: Number(match[1]), - minor: Number(match[2]), - patch: Number(match[3]), - }; + const match = version.match(/^(\d+)\.(\d+)\.(\d+)$/); + if (!match) throw new Error(`Invalid semver: "${version}"`); + return { + major: Number(match[1]), + minor: Number(match[2]), + patch: Number(match[3]), + }; } function gte(a: SemVer, b: SemVer): boolean { - if (a.major !== b.major) return a.major > b.major; - if (a.minor !== b.minor) return a.minor > b.minor; - return a.patch >= b.patch; + if (a.major !== b.major) return a.major > b.major; + if (a.minor !== b.minor) return a.minor > b.minor; + return a.patch >= b.patch; } export function isApiVersionCompatible(range: string, kernelVersion: string): boolean { - if (range === "*") return true; - - const kernel = parseSemVer(kernelVersion); - - if (range.startsWith("^")) { - const min = parseSemVer(range.slice(1)); - if (!gte(kernel, min)) return false; - if (min.major === 0) { - return kernel.major === 0 && kernel.minor === min.minor; - } - return kernel.major === min.major; - } - - if (range.startsWith("~")) { - const min = parseSemVer(range.slice(1)); - if (!gte(kernel, min)) return false; - return kernel.major === min.major && kernel.minor === min.minor; - } - - if (range.startsWith(">=")) { - const min = parseSemVer(range.slice(2)); - return gte(kernel, min); - } - - const exact = parseSemVer(range); - return ( - kernel.major === exact.major && kernel.minor === exact.minor && kernel.patch === exact.patch - ); + if (range === "*") return true; + + const kernel = parseSemVer(kernelVersion); + + if (range.startsWith("^")) { + const min = parseSemVer(range.slice(1)); + if (!gte(kernel, min)) return false; + if (min.major === 0) { + return kernel.major === 0 && kernel.minor === min.minor; + } + return kernel.major === min.major; + } + + if (range.startsWith("~")) { + const min = parseSemVer(range.slice(1)); + if (!gte(kernel, min)) return false; + return kernel.major === min.major && kernel.minor === min.minor; + } + + if (range.startsWith(">=")) { + const min = parseSemVer(range.slice(2)); + return gte(kernel, min); + } + + const exact = parseSemVer(range); + return ( + kernel.major === exact.major && kernel.minor === exact.minor && kernel.patch === exact.patch + ); } |
