brandeur-primitives
Version:
Primitive components for brandeur
27 lines • 1.05 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function makeResponsiveTransform(transform) {
return function (value) {
if (Array.isArray(value)) {
return value.map(transform);
}
if (value && _typeof(value) === 'object') {
return Object.keys(value).reduce(function (out, key) {
out[key] = transform(value[key]);
return out;
}, {});
}
return transform(value);
};
}
export default function applyMultiplier() {
var factor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
return makeResponsiveTransform(function (value) {
if (value === undefined || value === null) {
return undefined;
}
if (typeof value !== 'number') {
return value;
}
return value * factor;
});
}