getJSX for gradients
by Vladymyr Shevchuk
Babel + JSX
const config = {
a: [['030f2c', '081c4d'], ['1d3570', '1843ad'], ['3154aa', '4068cf']],
b: [['0f3b3e', '092628'], ['0c494d', '0d696e'], ['137378', '198e94']] ,
};
const getJSX = config => Object.keys(config).reduce((accum, gradient) => {
const JSX = config[gradient].map(([start, end], index) => {
return (
<linearGradient key={gradient.id} id={`gradient-${gradient}-${index}`} x2="0%" y2="100%">
<stop offset="0" stopColor={`#${start}`} />
<stop offset="1" stopColor={`#${end}`} />
</linearGradient>
);
});
return [...accum, ...JSX];
}, []);
console.error('result', getJSX(config));