From 2e4d7d772b7eeac01dc8d848506b0e47f823e798 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 21 Oct 2026 00:37:04 +0000 Subject: [PATCH] [Refactor] Extract checksumsByKey helper in theme-polling Co-Authored-By: Claude Opus 4.8 --- .../theme-environment/theme-polling.ts | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/packages/theme/src/cli/utilities/theme-environment/theme-polling.ts b/packages/theme/src/cli/utilities/theme-environment/theme-polling.ts index 03c325abdcc..a9234abd99c 100644 --- a/packages/theme/src/cli/utilities/theme-environment/theme-polling.ts +++ b/packages/theme/src/cli/utilities/theme-environment/theme-polling.ts @@ -108,23 +108,21 @@ export async function pollRemoteJsonChanges( return latestChecksums } +function checksumsByKey(checksums: Checksum[]): Map { + return new Map(checksums.map((checksum) => [checksum.key, checksum])) +} + function getAssetsDeletedFromRemote(latestChecksums: Checksum[], previousChecksums: Checksum[]) { - const latestChecksumsMap = new Map(latestChecksums.map((checksum) => [checksum.key, checksum])) - const assetsDeletedFromRemote = previousChecksums.filter((previousChecksum) => { - return latestChecksumsMap.get(previousChecksum.key) === undefined - }) - return assetsDeletedFromRemote + const latestChecksumsByKey = checksumsByKey(latestChecksums) + return previousChecksums.filter((previousChecksum) => !latestChecksumsByKey.has(previousChecksum.key)) } function getAssetsChangedOnRemote(previousChecksums: Checksum[], latestChecksums: Checksum[]) { - const previousChecksumsMap = new Map(previousChecksums.map((checksum) => [checksum.key, checksum])) - const assetsChangedOnRemote = latestChecksums.filter((latestAsset) => { - const previousAsset = previousChecksumsMap.get(latestAsset.key) - if (!previousAsset || previousAsset.checksum !== latestAsset.checksum) { - return true - } + const previousChecksumsByKey = checksumsByKey(previousChecksums) + return latestChecksums.filter((latestAsset) => { + const previousAsset = previousChecksumsByKey.get(latestAsset.key) + return !previousAsset || previousAsset.checksum !== latestAsset.checksum }) - return assetsChangedOnRemote } async function syncChangedAssets(