rwadurian/backend/services/mining-admin-service/src/domain/version-management/value-objects/version-code.vo.ts

23 lines
517 B
TypeScript

export class VersionCode {
private constructor(private readonly _value: number) {}
static create(value: number): VersionCode {
if (!Number.isInteger(value) || value < 1) {
throw new Error('Version code must be a positive integer')
}
return new VersionCode(value)
}
get value(): number {
return this._value
}
isNewerThan(other: VersionCode): boolean {
return this._value > other._value
}
equals(other: VersionCode): boolean {
return this._value === other._value
}
}