20 lines
585 B
TypeScript
20 lines
585 B
TypeScript
export class ReleaseValidator {
|
|
constructor(private updateOnlyUnreleased: boolean) {
|
|
}
|
|
|
|
validateReleaseUpdate(releaseResponse: ReleaseStageArguments) {
|
|
if (!this.updateOnlyUnreleased) {
|
|
return
|
|
}
|
|
|
|
if (!releaseResponse.draft && !releaseResponse.prerelease) {
|
|
throw new Error(`Tried to update "${releaseResponse.name ?? "release"}" which is neither a draft or prerelease. (updateOnlyUnreleased is on)`)
|
|
}
|
|
}
|
|
}
|
|
|
|
export type ReleaseStageArguments = {
|
|
draft: boolean
|
|
name: string | null
|
|
prerelease: boolean
|
|
} |