dafit
Version:
Transform data to fit your structures
23 lines (20 loc) • 559 B
JavaScript
import resolveKey from './resolveKey';
const assign = Object.assign;
export default function resolverObject(
resolvers,
values,
context = {},
{ isSync = false } = {}
) {
return isSync
? resolvers
.map(resolveKey(values, context, { isSync }))
.reduce((o, { key, value }) => assign(o, { [key]: value }), {})
: Promise.all(
resolvers.map(resolveKey(values, context))
).then(resolvedValues =>
resolvedValues.reduce(
(o, { key, value }) => assign(o, { [key]: value }),
{}
));
}