From 9a1092199dd6fec3c4ffd3710994573c04573de9 Mon Sep 17 00:00:00 2001 From: Sander Declerck Date: Mon, 24 Nov 2025 15:08:31 +0100 Subject: [PATCH] Move getHeaderValueAsString to separate utils file --- .../src/registryProxy/http-utils.js | 17 +++++++++++++++ .../interceptors/npm/modifyNpmInfo.js | 21 +++---------------- 2 files changed, 20 insertions(+), 18 deletions(-) create mode 100644 packages/safe-chain/src/registryProxy/http-utils.js diff --git a/packages/safe-chain/src/registryProxy/http-utils.js b/packages/safe-chain/src/registryProxy/http-utils.js new file mode 100644 index 0000000..e14a977 --- /dev/null +++ b/packages/safe-chain/src/registryProxy/http-utils.js @@ -0,0 +1,17 @@ +/** + * @param {NodeJS.Dict | undefined} headers + * @param {string} headerName + */ +export function getHeaderValueAsString(headers, headerName) { + if (!headers) { + return undefined; + } + + let header = headers[headerName]; + + if (Array.isArray(header)) { + return header.join(", "); + } + + return header; +} diff --git a/packages/safe-chain/src/registryProxy/interceptors/npm/modifyNpmInfo.js b/packages/safe-chain/src/registryProxy/interceptors/npm/modifyNpmInfo.js index 9080d60..0e7e41d 100644 --- a/packages/safe-chain/src/registryProxy/interceptors/npm/modifyNpmInfo.js +++ b/packages/safe-chain/src/registryProxy/interceptors/npm/modifyNpmInfo.js @@ -1,5 +1,6 @@ import { getMinimumPackageAgeHours } from "../../../config/settings.js"; import { ui } from "../../../environment/userInteraction.js"; +import { getHeaderValueAsString } from "../../http-utils.js"; const state = { hasSuppressedVersions: false, @@ -80,6 +81,8 @@ export function modifyNpmInfoResponse(body, headers) { continue; } + // Timestamps are compared as strings. + // This can be done because they are formatted in ISO8601, which is sortable. if (timestamp > cutOff) { deleteVersionFromJson(bodyJson, version); if (headers) { @@ -173,21 +176,3 @@ function getMostRecentTag(tagList) { export function getHasSuppressedVersions() { return state.hasSuppressedVersions; } - -/** - * @param {NodeJS.Dict | undefined} headers - * @param {string} headerName - */ -function getHeaderValueAsString(headers, headerName) { - if (!headers) { - return undefined; - } - - let header = headers[headerName]; - - if (Array.isArray(header)) { - return header.join(", "); - } - - return header; -}