@acrool/react-providers
Version:
This is a compose providers avoid nesting for React Function
26 lines (25 loc) • 559 B
JavaScript
import { createElement as n, Fragment as u } from "react";
const a = (r) => "Comp" in r, P = (r, e) => ({
Comp: r,
props: e
}), f = (r, e = "ComposedProviders") => (c) => {
const d = [...r, c].reverse();
function t(s) {
return d.reduce(
(i, o) => {
if (a(o)) {
const { Comp: m, props: p } = o;
return n(m, p, i);
}
return n(o, s, i);
},
n(u, null, s.children)
);
}
return t.displayName = e, t;
};
export {
a as checkIsProviderObj,
f as default,
P as providerWithProps
};