UNPKG

style-to-object

Version:
36 lines (35 loc) 976 B
import parse from "inline-style-parser"; //#region src/index.ts /** * 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' } * ``` */ 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; } //#endregion export { StyleToObject as default }; //# sourceMappingURL=index.mjs.map