import { camelCase } from './camelCase' type Style = string | Partial /** * Converts a CSS Style string * @param {string | Partial} style A string to convert, or object to return * @returns {Partial} a partial CSSStyleDeclaration */ export const parseStyle = (style: Style): Partial | undefined => { switch (typeof style) { case 'string': return style.split(';').filter(r => r) .reduce((map, rule) => { const name = rule.slice(0, rule.indexOf(':')).trim() const value = rule.slice(rule.indexOf(':') + 1).trim() return { ...map, [camelCase(name)]: value, } }, {}) case 'object': return style default: return undefined } }