UNPKG

1.23 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3function hueRotationFn(rotation) {
4 return (hue) => (360 + hue + rotation) % 360;
5}
6exports.hueRotationFn = hueRotationFn;
7function saturationAdjustmentFn(adjustment) {
8 return (saturation) => Math.min(Math.max(saturation + adjustment, 0), 100);
9}
10exports.saturationAdjustmentFn = saturationAdjustmentFn;
11function mergeConfigs(base, extended) {
12 return Object.entries(base).reduce((accumulator, [role, variants]) => {
13 const extendedVariants = extended[role];
14 const mergedVariants = variants;
15 if (extendedVariants != null) {
16 extendedVariants.forEach((variant) => {
17 const { name } = variant;
18 const indexToReplace = mergedVariants.findIndex((baseVariant) => baseVariant.name === name);
19 if (indexToReplace === -1) {
20 mergedVariants.push(variant);
21 }
22 else {
23 mergedVariants.splice(indexToReplace, 1, variant);
24 }
25 });
26 }
27 return Object.assign(Object.assign({}, accumulator), { [role]: mergedVariants });
28 }, {});
29}
30exports.mergeConfigs = mergeConfigs;