UNPKG

react-typestyle

Version:

A react integration of the TypeStyle ecosystem

79 lines 2.42 kB
"use strict"; var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); var utilities_1 = require("typestyle/lib/internal/utilities"); exports.shallowCompare = function (a, b) { var i; for (i in a) if (!(i in b)) return true; for (i in b) if (a[i] !== b[i]) return true; return false; }; exports.dynamicExtend = function () { var objects = []; for (var _i = 0; _i < arguments.length; _i++) { objects[_i] = arguments[_i]; } var staticStyles = []; var dynamicStyles; objects.forEach(function (style) { if (typeof style === 'function') { if (!dynamicStyles) dynamicStyles = []; dynamicStyles.push(style); } else { staticStyles.push(style); } }); if (dynamicStyles) { return function (props) { return utilities_1.extend.apply(void 0, staticStyles.concat((dynamicStyles.map(function (style) { return style(props); })))); }; } return utilities_1.extend.apply(void 0, staticStyles); }; exports.processPlugins = function (plugins, style, props) { var result = __assign({}, style); if (plugins) { plugins.forEach(function (plugin) { result = plugin(result, 'RULE', undefined, props); }); } return result; }; exports.splitSheet = function (sheet) { var dynamicSheet = {}; var staticSheet = {}; Object.keys(sheet).forEach(function (name) { var style = sheet[name]; if (typeof style === 'function') { dynamicSheet[name] = style; } else { staticSheet[name] = style; } }); return { dynamic: dynamicSheet, static: staticSheet }; }; exports.processSheet = function (processor, sheet, props, result) { if (result === void 0) { result = {}; } Object.keys(sheet).forEach(function (name) { var style = sheet[name]; result[name] = processor(typeof style === 'function' ? style(props) : style, props); }); return result; }; //# sourceMappingURL=utils.js.map