import parse from 'inline-style-parser'; /** * Parses inline style to object. * * @param style - Inline style. * @param iterator - Iterator. * @returns - Style object or null. * * @example Parsing inline style to object: * * ```js * import parse from 'style-to-object'; * parse('line-height: 42;'); // { 'line-height': '42' } * ``` */ export default function StyleToObject(style, iterator) { let styleObject = null; if (!style || typeof style !== 'string') { return styleObject; } const declarations = parse(style); const hasIterator = typeof iterator === 'function'; declarations.forEach((declaration) => { if (declaration.type !== 'declaration') { return; } const { property, value } = declaration; if (hasIterator) { iterator(property, value, declaration); } else if (value) { styleObject = styleObject || {}; styleObject[property] = value; } }); return styleObject; } //# sourceMappingURL=index.js.map