From 4be8473d8e94f003f944748d294870599cc07abe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Bajto=C5=A1?= Date: Tue, 5 Dec 2023 16:00:30 +0100 Subject: [PATCH] fixup! rename to parseOptionalDate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miroslav Bajtoš --- index.js | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index 5e17a605..79bfce1b 100644 --- a/index.js +++ b/index.js @@ -93,10 +93,10 @@ const createMeasurement = async (req, res, client, getCurrentRound) => { measurement.protocol, measurement.participantAddress, measurement.timeout || false, - parseDateStringOrNull(measurement.startAt), + parseOptionalDate(measurement.startAt), measurement.statusCode, - parseDateStringOrNull(measurement.firstByteAt), - parseDateStringOrNull(measurement.endAt), + parseOptionalDate(measurement.firstByteAt), + parseOptionalDate(measurement.endAt), measurement.byteLength, measurement.attestation, inetGroup, @@ -286,7 +286,17 @@ export const createHandler = async ({ } } -const parseDateStringOrNull = (strOrNull) => { - if (strOrNull === undefined || strOrNull === null) return undefined - return new Date(strOrNull) +/** + * Parse a date string field that may be `undefined` or `null`. + * + * - undefined -> undefined + * - null -> undefined + * - "iso-date-string" -> new Date("iso-date-string") + * + * @param {string | null | undefined} str + * @returns {Date | undefined} + */ +const parseOptionalDate = (str) => { + if (str === undefined || str === null) return undefined + return new Date(str) }