From 2c8a733359b0da732fd47d4fae6e51cb76092067 Mon Sep 17 00:00:00 2001 From: Felix Date: Tue, 20 Feb 2024 19:54:30 +0100 Subject: [PATCH] Nested Arrays in colorPalette are taken into account --- ea-scripts/Invert colors.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ea-scripts/Invert colors.md b/ea-scripts/Invert colors.md index 174ba83..fa41304 100644 --- a/ea-scripts/Invert colors.md +++ b/ea-scripts/Invert colors.md @@ -33,8 +33,20 @@ const invertColor = (color) => { } } -const invertPaletteColors = (palette) => Object.keys(palette).forEach(key => palette[key] = invertColor(palette[key])); -Object.keys(colorPalette).forEach(key => invertPaletteColors(colorPalette[key])); +function invertColorsRecursively(obj) { + if (typeof obj === 'string') { + return invertColor(obj); + } else if (Array.isArray(obj)) { + return obj.map(item => invertColorsRecursively(item)); + } else if (typeof obj === 'object' && obj !== null) { + const result = {}; + Object.keys(obj).forEach(key => result[key] = invertColorsRecursively(obj[key])); + return result; + } else { + return obj; + } +} +colorPalette = invertColorsRecursively(colorPalette); ea.copyViewElementsToEAforEditing(ea.getViewElements()); ea.getElements().forEach(el=>{