From bd9ce0716f4218d908828baca2b5435ac0f45964 Mon Sep 17 00:00:00 2001 From: pinglu85 Date: Fri, 24 Jan 2025 00:03:55 +0100 Subject: [PATCH] refactor: improve code style and readability --- src/utils/loadSprites.js | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/utils/loadSprites.js b/src/utils/loadSprites.js index d0a44b3..6ff513d 100644 --- a/src/utils/loadSprites.js +++ b/src/utils/loadSprites.js @@ -1,22 +1,24 @@ -const sprites = importAll(require.context('../assets', false, /\.png$/)); +const spriteNameToSrc = importAllSprites( + require.context("../assets", false, /\.png$/), +); function loadStartNodeSprites(numOfSprites) { return Array.from(new Array(numOfSprites), (_, i) => { - const sprite = sprites[`start-node-${i}`]; - return loadSprite(sprite); + const src = spriteNameToSrc[`start-node-${i}`]; + return loadSprite(src); }); } function loadTargetNodeSprites(...options) { return options.map((option) => { - const sprite = sprites[`target-node-${option}`]; - return loadSprite(sprite); + const src = spriteNameToSrc[`target-node-${option}`]; + return loadSprite(src); }); } function loadWeightSprite() { - const sprite = sprites.weight; - return loadSprite(sprite); + const src = spriteNameToSrc.weight; + return loadSprite(src); } function loadSprite(src) { @@ -26,13 +28,14 @@ function loadSprite(src) { } // Import all images from a directory using webpack -function importAll(r) { - let sprites = {}; - r.keys().forEach((item) => { - const key = item.replace(/\.\/(.+)\.png/, '$1'); - sprites[key] = r(item); - }); - return sprites; +function importAllSprites(requireContext) { + const spriteNameToSrc = {}; + + for (const key of requireContext.keys()) { + const spriteName = key.replace(/\.\/(.+)\.png/, "$1"); + spriteNameToSrc[spriteName] = requireContext(key); + } + return spriteNameToSrc; } export { loadStartNodeSprites, loadTargetNodeSprites, loadWeightSprite };