UNPKG

understyle

Version:

Functional style utilities for authoring JavaScript style objects

64 lines (51 loc) 1.74 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var hyphenate = exports.hyphenate = function hyphenate(str) { return str.replace(/([A-Z])/g, function (g) { return '-' + g.toLowerCase(); }); }; var objToArr = exports.objToArr = function objToArr(obj) { return Object.keys(obj).map(function (key) { return { key: key, value: obj[key] }; }); }; var flattenArray = exports.flattenArray = function flattenArray() { var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var b = arguments[1]; if (Array.isArray(b)) { return [].concat(_toConsumableArray(a), _toConsumableArray(b)).reduce(flattenArray, []); } return [].concat(_toConsumableArray(a), [b]); }; var toObj = exports.toObj = function toObj() { var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var b = arguments[1]; a[b.key] = b.value; return a; }; var flattenColors = exports.flattenColors = function flattenColors(colors) { return objToArr(colors).map(colorKeyMapper).reduce(flattenArray, []).reduce(toObj, {}); }; var colorKeyMapper = exports.colorKeyMapper = function colorKeyMapper(_ref) { var key = _ref.key, value = _ref.value; if (Array.isArray(value)) { var scale = value.map(function (val, i) { return { key: '' + key + i, value: val }; }); return [{ key: key, value: scale[5].value }].concat(_toConsumableArray(scale)); } return { key: key, value: value }; };