theme-editor-svelte
Version:
Universal theme editor for svelte
22 lines (21 loc) • 686 B
JavaScript
import { hslRegex, numberRegexp } from "./index.js";
export const findValueType = (variable, value, typesMap) => {
variable = variable.replace(/--/g, '');
const matchedVariable = typesMap[variable];
if (matchedVariable)
return matchedVariable;
if (hslRegex.test(value))
return 'color';
if (numberRegexp.test(value))
return 'number';
};
export const mergeVariables = (defaultValues, values) => {
const variables = defaultValues.reduce((r, e) => {
r.set(e.variable, e);
return r;
}, new Map());
for (const value of values) {
variables.set(value.variable, value);
}
return [...variables.values()];
};