UNPKG

react-multi-provider

Version:

Component for ReactJS to help handle multiple contexts without creating a sideways pyramid.

1 lines 1.37 kB
{"version":3,"file":"react-multi-provider.umd.cjs","sources":["../lib/index.tsx"],"sourcesContent":["import React from \"react\";\n\nexport interface MultiProviderProps {\n providers: React.ReactElement<any>[];\n children: React.ReactNode;\n}\n\nexport const MultiProvider = (props: MultiProviderProps): React.ReactNode => {\n /* Error/Validation */\n if (!props.providers) {\n throw new Error(\"MultiProvider: Missing providers prop\");\n }\n\n if (!props.children) {\n throw new Error(\"MultiProvider: Missing children\");\n }\n\n let content = props.children;\n\n // Turn object into an array\n const numberOfProviders = props.providers.length;\n\n if (!numberOfProviders) {\n // Providers prop is empty, return the content that was meant to be rendered\n return content;\n }\n\n props.providers.forEach((provider) => {\n // content = React.cloneElement(provider, null, content);\n content = React.createElement(provider.type, provider.props, content);\n });\n\n return content;\n};\n"],"names":["MultiProvider","props","content","provider","React"],"mappings":"kRAOa,MAAAA,EAAiBC,GAA+C,CAEvE,GAAA,CAACA,EAAM,UACH,MAAA,IAAI,MAAM,uCAAuC,EAGrD,GAAA,CAACA,EAAM,SACH,MAAA,IAAI,MAAM,iCAAiC,EAGnD,IAAIC,EAAUD,EAAM,SAKpB,OAF0BA,EAAM,UAAU,QAOpCA,EAAA,UAAU,QAASE,GAAa,CAEpCD,EAAUE,EAAM,cAAcD,EAAS,KAAMA,EAAS,MAAOD,CAAO,CAAA,CACrE,EAEMA,CACT"}