UNPKG

tpa-style-webpack-plugin

Version:

A Webpack plugin that handles wix tpa styles, it separates static css file that injects dynamic style at runtime.

55 lines 1.82 kB
export function isCssVar(key) { return key.indexOf('--') === 0; } export function isJsonLike(value) { return typeof value === 'string' && value[0] === '{' && value.slice(-1) === '}'; } export function parseJson(strValue) { return strValue .slice(1, -1) .split(',') .reduce(function (json, current) { var _a = current.split(':'), key = _a[0], value = _a[1]; json[key.trim()] = value.trim().replace(/^["|'](.*)["|']$/, '$1'); return json; }, {}); } export function isNumber(value) { return typeof value === 'number'; } export function forEach(obj, iteratee) { Object.keys(obj).forEach(function (key) { return iteratee(obj[key], key); }); } export function reduceObj(obj, iteratee) { return Object.keys(obj).reduce(function (acc, key, index) { return iteratee(acc, { key: key, value: obj[key] }, index); }, {}); } export function pickBy(obj, predicate) { return Object.keys(obj || {}).reduce(function (result, key) { if (predicate(obj[key])) { result[key] = obj[key]; } return result; }, {}); } export function escapeHtml(str) { return str && str.replace(/</g, '&lt;').replace(/>/g, '&gt;'); } export function parenthesisAreBalanced(str) { var parentheses = '(){}'; var stack = []; var character; for (var i = 0; (character = str[i]); i++) { var bracePosition = parentheses.indexOf(character); if (bracePosition === -1) { continue; } if (bracePosition % 2 === 0) { stack.push(bracePosition + 1); // push next expected brace position } else if (stack.length === 0 || stack.pop() !== bracePosition) { return false; } } return stack.length === 0; } //# sourceMappingURL=utils.js.map