44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var 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) {
|
|
var styleObject = null;
|
|
if (!style || typeof style !== 'string') {
|
|
return styleObject;
|
|
}
|
|
var declarations = (0, inline_style_parser_1.default)(style);
|
|
var hasIterator = typeof iterator === 'function';
|
|
declarations.forEach(function (declaration) {
|
|
if (declaration.type !== 'declaration') {
|
|
return;
|
|
}
|
|
var property = declaration.property, value = declaration.value;
|
|
if (hasIterator) {
|
|
iterator(property, value, declaration);
|
|
}
|
|
else if (value) {
|
|
styleObject = styleObject || {};
|
|
styleObject[property] = value;
|
|
}
|
|
});
|
|
return styleObject;
|
|
}
|
|
exports.default = StyleToObject;
|
|
//# sourceMappingURL=index.js.map
|