Files
NapCatQQ/.pnpm-store/v3/files/bc/d6e9a5273406a281e29bb9b9c3064768d0dfb2154d72716a51646fa5ecaf30d5dcb2d88d334544ee81356d7fb9b108ef8a9fa3824d0210f885d64f70350f97
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

42 lines
1.1 KiB
Plaintext

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' }
* ```
*/
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;
}
export { StyleToObject as default };
//# sourceMappingURL=index.mjs.map