| 1234567891011121314151617181920212223242526272829 |
- import React from "react";
- export const MultiProvider = (props) => {
- let content = props.children || null;
- /* Error/Validation */
- if (!props.providers) {
- throw "MultiProvider: Missing providers prop";
- }
- if (!props.children) {
- throw "MultiProvider: Missing children";
- }
- // Turn object into an array
- // const numberOfProviders = props.providers.size;
- const numberOfProviders = props.providers.length;
- if (!numberOfProviders) {
- // Providers prop is empty, r
- return content;
- }
- [...(props.providers ?? [])].reverse().forEach((provider) => {
- content = React.cloneElement(provider, null, content);
- });
- return content;
- };
|