import React, { type Context, memo, type ReactNode, useMemo } from 'react'; export default function createComposer< C, P extends { children?: ReactNode | undefined } = Partial & { children?: ReactNode | undefined } >({ Provider }: Context, { defaults, displayName }: Readonly<{ defaults: Readonly; displayName: string }>) { const Composer = ({ children, ...props }: Readonly

) => { const value = useMemo(() => Object.freeze({ ...defaults, ...props }), [props]); return {children}; }; Composer.displayName = displayName; return memo(Composer); }