SemVerUtils
import { SemVerUtils } from '@kairo-js/utils'
セマンティックバージョンのユーティリティクラスです。すべてのメソッドは static で、インスタンス化は不要です。
メソッド
compare
static compare(a: SemVer, b: SemVer): number2 つのバージョンを比較します。
パラメーター
a:
SemVer比較元のバージョン。
b:
SemVer比較先のバージョン。
返り値: number — a < b なら負の値、a > b なら正の値、等しければ 0。
equals
static equals(a: SemVer, b: SemVer): boolean2 つのバージョンが等しいかを判定します。
パラメーター
a:
SemVer比較元のバージョン。
b:
SemVer比較先のバージョン。
返り値: boolean
format
static format(version: SemVer): stringSemVer オブジェクトをバージョン文字列に変換します。
パラメーター
version:
SemVer変換するバージョン。
返り値: string — 例: "1.2.3"、"1.2.3-beta.1"、"1.2.3+build.20231001"。
isPrerelease
static isPrerelease(version: SemVer): booleanバージョンがプレリリースかどうかを返します。SemVer.prerelease フィールドが存在する場合に true を返します。
パラメーター
version:
SemVer検査するバージョン。
返り値: boolean
rcompare
static rcompare(a: SemVer, b: SemVer): numbercompare の逆順で比較します。降順ソートに使用します。
パラメーター
a:
SemVer比較元のバージョン。
b:
SemVer比較先のバージョン。
返り値: number — a > b なら負の値、a < b なら正の値、等しければ 0。
satisfies
static satisfies(version: SemVer, range: string): booleanバージョンが指定したレンジを満たすかどうかを返します。
パラメーター
version:
SemVer検査するバージョン。
range:
stringバージョンレンジ文字列。例:
">=1.0.0"、"^2.3.0"、"*"。
返り値: boolean
使用例
import { SemVerUtils } from '@kairo-js/utils'
const v1 = { major: 1, minor: 2, patch: 3 }
const v2 = { major: 2, minor: 0, patch: 0 }
console.log(SemVerUtils.compare(v1, v2)) // 負の値
console.log(SemVerUtils.equals(v1, v1)) // true
console.log(SemVerUtils.format(v1)) // "1.2.3"
console.log(SemVerUtils.isPrerelease(v1)) // false
console.log(SemVerUtils.satisfies(v1, '>=1.0.0')) // true
const versions = [v2, v1]
versions.sort(SemVerUtils.rcompare) // 降順: [v2, v1]