isomorphic-validation
Version:
Isomorphic javascript form validation library.
22 lines (16 loc) • 643 B
JavaScript
import createApplyEffect from './create-apply-effect.js';
const classRegistry = new Map();
const setClassEffect = (element, classNames, { isValid }, effectID) => {
const classNameToRemove = classRegistry.get(effectID);
const classNameToAdd = classNames[isValid].value;
if (classNameToRemove) element.classList.remove(classNameToRemove);
if (classNameToAdd) {
element.classList.add(classNameToAdd);
classRegistry.set(effectID, classNameToAdd);
}
};
const applyClass = createApplyEffect(setClassEffect, {
true: { delay: 0, value: 'valid' },
false: { delay: 0, value: 'invalid' },
});
export { applyClass as default };