UNPKG

@bytedance/mona-shared

Version:

mona shared utils

37 lines 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._transformWebStyle = void 0; const RPX_VALUE_REG_WITH_NUM = /-?\d*\.?\d+rpx/g; const RPX_VALUE_REG = /rpx$/; const ROOT_FONT_SIZE_PX = 100; const rpxToRem = (origin) => { if (RPX_VALUE_REG.test(origin)) { const num = Number(origin.replace(RPX_VALUE_REG, '')); if (!Number.isNaN(num)) { return `${num / ROOT_FONT_SIZE_PX / 2}rem`; } } return origin; }; const transformRpxToRem = (origin) => { return origin.replace(RPX_VALUE_REG_WITH_NUM, function (value) { return rpxToRem(value); }); }; const _transformWebStyle = (style) => { if (!style || typeof style !== 'object') { return style; } const result = {}; Object.keys(style).forEach(styleKey => { if (typeof style[styleKey] === 'string') { result[styleKey] = transformRpxToRem(style[styleKey]); } else { result[styleKey] = style[styleKey]; } }); return result; }; exports._transformWebStyle = _transformWebStyle; //# sourceMappingURL=_transformWebStyle.js.map