From 94d9674ee877557c490f64111cad5d7b72b352b5 Mon Sep 17 00:00:00 2001 From: Stephane MEYER Date: Fri, 13 Sep 2024 13:03:40 +0200 Subject: [PATCH] Changes asked in code review --- @vates/parse-duration/index.js | 13 ++++++------- @vates/parse-duration/package.json | 3 ++- @vates/parse-duration/parse-duration.test.mjs | 7 ++++--- CHANGELOG.unreleased.md | 1 - 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/@vates/parse-duration/index.js b/@vates/parse-duration/index.js index 19b19e72e4e..4d534d93aa6 100644 --- a/@vates/parse-duration/index.js +++ b/@vates/parse-duration/index.js @@ -6,12 +6,11 @@ exports.parseDuration = value => { if (typeof value === 'number') { return value } - if (typeof value !== 'string' || value === '') { - throw new TypeError(`not a valid duration: ${value}`) + if (typeof value === 'string' && value !== '') { + const duration = ms(value) + if (duration !== undefined) { + return duration + } } - const duration = ms(value) - if (duration === undefined) { - throw new TypeError(`not a valid duration: ${value}`) - } - return duration + throw new TypeError(`not a valid duration: ${value}`) } diff --git a/@vates/parse-duration/package.json b/@vates/parse-duration/package.json index ebe0062a769..cb14c2f5ca8 100644 --- a/@vates/parse-duration/package.json +++ b/@vates/parse-duration/package.json @@ -27,6 +27,7 @@ "ms": "^2.1.2" }, "scripts": { - "postversion": "npm publish --access public" + "postversion": "npm publish --access public", + "test": "node--test" } } diff --git a/@vates/parse-duration/parse-duration.test.mjs b/@vates/parse-duration/parse-duration.test.mjs index 716b9bb8f76..78194de28e1 100644 --- a/@vates/parse-duration/parse-duration.test.mjs +++ b/@vates/parse-duration/parse-duration.test.mjs @@ -15,8 +15,9 @@ describe('parseDuration()', () => { assert.strictEqual(parseDuration(input), expected) }) - it('should throw an error for an undefined duration', () => { - const input = undefined - assert.throws(() => parseDuration(input), { message: 'not a valid duration: undefined' }) + it('should throw an error for an invalid duration', () => { + ;[undefined, '', 'invalid duration'].forEach(input => { + assert.throws(() => parseDuration(input), { message: `not a valid duration: ${input}` }) + }) }) }) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index d806600e578..28f167ebf88 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -40,7 +40,6 @@ -- @vates/parse-duration minor - @xen-orchestra/lite minor - @xen-orchestra/web minor - @xen-orchestra/web-core minor