From 248e3651e341146f6ffa442ef56745b37a617e2b Mon Sep 17 00:00:00 2001 From: Namrata Jha Date: Tue, 14 Dec 2021 12:22:48 +0000 Subject: [PATCH] Check input combinations --- dist/index.js | 16 +++++++++++----- src/input.ts | 18 ++++++++++++++---- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/dist/index.js b/dist/index.js index 13c7f30..c7a1f14 100644 --- a/dist/index.js +++ b/dist/index.js @@ -71,12 +71,13 @@ exports.deleteVersions = deleteVersions; /***/ }), /***/ 8657: -/***/ ((__unused_webpack_module, exports) => { +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Input = void 0; +const rxjs_1 = __nccwpck_require__(5805); const defaultParams = { packageVersionIds: [], owner: '', @@ -100,13 +101,18 @@ class Input { this.ignoreVersions = validatedParams.ignoreVersions; this.deletePreReleaseVersions = validatedParams.deletePreReleaseVersions; this.token = validatedParams.token; - if (this.minVersionsToKeep > 0) { - this.numOldVersionsToDelete = 100 - this.minVersionsToKeep; + if (this.numOldVersionsToDelete > 1 && + (this.minVersionsToKeep >= 0 || this.deletePreReleaseVersions == 'true')) { + rxjs_1.throwError('Invalid input combination'); } - if (this.deletePreReleaseVersions == 'true') { - this.numOldVersionsToDelete = 100 - this.minVersionsToKeep; + if (this.deletePreReleaseVersions === 'true') { + this.minVersionsToKeep = + this.minVersionsToKeep > 0 ? this.minVersionsToKeep : 0; this.ignoreVersions = new RegExp('^(0|[1-9]\\d*)((\\.(0|[1-9]\\d*))*)$'); } + if (this.minVersionsToKeep >= 0) { + this.numOldVersionsToDelete = 0; + } } hasOldestVersionQueryInfo() { return !!(this.owner && diff --git a/src/input.ts b/src/input.ts index 8685fd6..0d8a9c6 100644 --- a/src/input.ts +++ b/src/input.ts @@ -1,3 +1,5 @@ +import {throwError} from 'rxjs' + export interface InputParams { packageVersionIds?: string[] owner?: string @@ -46,14 +48,22 @@ export class Input { this.deletePreReleaseVersions = validatedParams.deletePreReleaseVersions this.token = validatedParams.token - if (this.minVersionsToKeep > 0) { - this.numOldVersionsToDelete = 100 - this.minVersionsToKeep + if ( + this.numOldVersionsToDelete > 1 && + (this.minVersionsToKeep >= 0 || this.deletePreReleaseVersions == 'true') + ) { + throwError('Invalid input combination') } - if (this.deletePreReleaseVersions == 'true') { - this.numOldVersionsToDelete = 100 - this.minVersionsToKeep + if (this.deletePreReleaseVersions === 'true') { + this.minVersionsToKeep = + this.minVersionsToKeep > 0 ? this.minVersionsToKeep : 0 this.ignoreVersions = new RegExp('^(0|[1-9]\\d*)((\\.(0|[1-9]\\d*))*)$') } + + if (this.minVersionsToKeep >= 0) { + this.numOldVersionsToDelete = 0 + } } hasOldestVersionQueryInfo(): boolean {