23 lines
517 B
TypeScript
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
|
|
}
|
|
}
|