Files
delete-package-versions/src/input.ts
Trent Jones 3692b9b73d ci testing
2020-02-29 13:39:38 -06:00

48 lines
1.1 KiB
TypeScript

export interface InputParams {
packageVersionIds?: string[]
owner?: string
repo?: string
packageName?: string
numOldVersionsToDelete?: number
token?: string
}
const defaultParams = {
packageVersionIds: [],
owner: '',
repo: '',
packageName: '',
numOldVersionsToDelete: 0,
token: ''
}
export class Input {
packageVersionIds: string[]
owner: string
repo: string
packageName: string
numOldVersionsToDelete: number
token: string
constructor(params?: InputParams) {
const validatedParams: Required<InputParams> = {...defaultParams, ...params}
this.packageVersionIds = validatedParams.packageVersionIds
this.owner = validatedParams.owner
this.repo = validatedParams.repo
this.packageName = validatedParams.packageName
this.numOldVersionsToDelete = validatedParams.numOldVersionsToDelete
this.token = validatedParams.token
}
hasOldestVersionQueryInfo(): boolean {
return !!(
this.owner &&
this.repo &&
this.packageName &&
this.numOldVersionsToDelete != null &&
this.token
)
}
}