From c253b9d27aa526d314c90a543ce8223a847de235 Mon Sep 17 00:00:00 2001 From: Namrata Jha Date: Tue, 14 Dec 2021 12:34:03 +0000 Subject: [PATCH] Check input combinations --- dist/index.js | 29 +++++++++++++++++------------ src/delete.ts | 4 ++++ src/input.ts | 38 +++++++++++++++++++++----------------- 3 files changed, 42 insertions(+), 29 deletions(-) diff --git a/dist/index.js b/dist/index.js index c7a1f14..c3567ce 100644 --- a/dist/index.js +++ b/dist/index.js @@ -59,6 +59,9 @@ function deleteVersions(input) { if (!input.token) { return rxjs_1.throwError('No token found'); } + if (!input.checkInput()) { + return rxjs_1.throwError('Invalid input combination'); + } if (input.numOldVersionsToDelete <= 0) { console.log('Number of old versions to delete input is 0 or less, no versions will be deleted'); return rxjs_1.of(true); @@ -71,13 +74,12 @@ exports.deleteVersions = deleteVersions; /***/ }), /***/ 8657: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Input = void 0; -const rxjs_1 = __nccwpck_require__(5805); const defaultParams = { packageVersionIds: [], owner: '', @@ -101,9 +103,19 @@ class Input { this.ignoreVersions = validatedParams.ignoreVersions; this.deletePreReleaseVersions = validatedParams.deletePreReleaseVersions; this.token = validatedParams.token; + } + hasOldestVersionQueryInfo() { + return !!(this.owner && + this.repo && + this.packageName && + this.numOldVersionsToDelete > 0 && + this.minVersionsToKeep >= 0 && + this.token); + } + checkInput() { if (this.numOldVersionsToDelete > 1 && - (this.minVersionsToKeep >= 0 || this.deletePreReleaseVersions == 'true')) { - rxjs_1.throwError('Invalid input combination'); + (this.minVersionsToKeep >= 0 || this.deletePreReleaseVersions === 'true')) { + return false; } if (this.deletePreReleaseVersions === 'true') { this.minVersionsToKeep = @@ -113,14 +125,7 @@ class Input { if (this.minVersionsToKeep >= 0) { this.numOldVersionsToDelete = 0; } - } - hasOldestVersionQueryInfo() { - return !!(this.owner && - this.repo && - this.packageName && - this.numOldVersionsToDelete > 0 && - this.minVersionsToKeep >= 0 && - this.token); + return true; } } exports.Input = Input; diff --git a/src/delete.ts b/src/delete.ts index 0b9faa7..595ce1d 100644 --- a/src/delete.ts +++ b/src/delete.ts @@ -49,6 +49,10 @@ export function deleteVersions(input: Input): Observable { return throwError('No token found') } + if (!input.checkInput()) { + return throwError('Invalid input combination') + } + if (input.numOldVersionsToDelete <= 0) { console.log( 'Number of old versions to delete input is 0 or less, no versions will be deleted' diff --git a/src/input.ts b/src/input.ts index 0d8a9c6..c016c66 100644 --- a/src/input.ts +++ b/src/input.ts @@ -47,23 +47,6 @@ export class Input { this.ignoreVersions = validatedParams.ignoreVersions this.deletePreReleaseVersions = validatedParams.deletePreReleaseVersions this.token = validatedParams.token - - if ( - this.numOldVersionsToDelete > 1 && - (this.minVersionsToKeep >= 0 || this.deletePreReleaseVersions == 'true') - ) { - throwError('Invalid input combination') - } - - 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 { @@ -76,4 +59,25 @@ export class Input { this.token ) } + + checkInput(): boolean { + if ( + this.numOldVersionsToDelete > 1 && + (this.minVersionsToKeep >= 0 || this.deletePreReleaseVersions === 'true') + ) { + return false + } + + 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 + } + + return true + } }