mobx-autoform
Version:
Ridiculously simple form state management with mobx
18 lines (17 loc) • 622 B
JavaScript
import _ from "lodash/fp.js";
import F from "futil";
let treePath = (x, xk, p, pk) => _.map(_.toString, [xk, ...pk].reverse().slice(1));
let omitByPrefixes = (prefixes, obj) => F.pickByIndexed((x, k) => !_.some((p) => _.startsWith(p, k), prefixes), obj);
let pickByPrefixes = (prefixes, obj) => F.pickByIndexed((x, k) => _.some((p) => _.startsWith(p, k), prefixes), obj);
let reduceTreePost = (next = F.traverse) => _.curry((f, result, tree) => {
F.walk(next)(_.noop, (...x) => {
result = f(result, ...x);
})(tree);
return result;
});
export {
omitByPrefixes,
pickByPrefixes,
reduceTreePost,
treePath
};