bootstrap-styled-theme
Version:
is a set of utility for themes made for bootstrap-styled
40 lines (35 loc) • 995 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.default = createMakeTheme;
/**
* Convert a theme into a makeTheme
* @param theme
*/
var toMakeTheme = exports.toMakeTheme = function toMakeTheme(theme) {
return function (userTheme) {
return _extends({}, theme, userTheme);
};
};
function makeThemeFromList(list, theme) {
var all = [].concat(list);
var t = theme;
var mt = void 0;
while (mt = all.pop()) {
// eslint-disable-line
t = mt(t);
}
return t;
}
/**
* Create a makeTheme using a list of makeTheme
* @param list
* @returns {function(*=): *}
*/
function createMakeTheme(list) {
return function (theme) {
return makeThemeFromList(list, theme);
};
}