const go = obj_ => chain(([k, v]) => { if (typeof v === 'object') { return map(([k_, v_]) => [`${k}.${k_}`, v_], go(v)); } else { return [[k, v]]; } }, toPairs(obj_));
export const formEvent = (ev) => (el, values) => { const mockEvent = { target: map(([name, value]) => ({ value, name }), toPairs(values)), preventDefault: () => {} } return event(ev, mockEvent)(el) }
export default (plainObjectOrArray) => typeof plainObjectOrArray === 'object' ? toPairs(plainObjectOrArray) : plainObjectOrArray
const groupByTarget = configurations => mapObjIndexed( fromPairs, groupBy(([, { target }]) => target, toPairs(configurations)) );