import React, { Context, ContextType } from 'react'; export function composeContext>>(contexts: T) { return function ( props: { children?: React.ReactNode | Iterable } & { [K in keyof T]: ContextType; } ) { let node = props.children; Object.keys(contexts).forEach((contextKey) => { const context = contexts[contextKey]; node = {node}; }); return node; }; }