function walkThemeObject()

in src/utils/themes.js [22:40]


function walkThemeObject(parentKey, parentValue, accumulated, colorScheme) {
  if (
    parentValue
    && typeof parentValue === 'object'
    && !(colorScheme && (hasSchemeColor(parentValue, 'light') || hasSchemeColor(parentValue, 'dark')))
  ) {
    Object.entries(parentValue).forEach(([key, value]) => {
      const currentKey = [parentKey, key].join('-');
      walkThemeObject(currentKey, value, accumulated, colorScheme);
    });
  } else {
    let value = parentValue;
    if (hasSchemeColor(parentValue, colorScheme)) value = parentValue[colorScheme];
    // if `value` is still an object, its probably the wrong color for the current color scheme.
    if (typeof value === 'object') return;
    // eslint-disable-next-line no-param-reassign
    accumulated[parentKey] = value;
  }
}