UNPKG

style-to-object

Version:
44 lines 1.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = StyleToObject; const inline_style_parser_1 = __importDefault(require("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' } * ``` */ function StyleToObject(style, iterator) { let styleObject = null; if (!style || typeof style !== 'string') { return styleObject; } const declarations = (0, inline_style_parser_1.default)(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