Files
freeCodeCamp/common/utils/index.js

14 lines
334 B
JavaScript
Raw Normal View History

2016-01-04 14:26:07 -08:00
export function nameSpacedTransformer(ns, transformer) {
if (!transformer) {
return nameSpacedTransformer.bind(null, ns);
}
return (state) => {
const newState = transformer(state[ns]);
// nothing has changed
if (newState === state[ns]) {
return state;
}
return { ...state, [ns]: newState };
};
}