compose-providers
Advanced tools
Comparing version 1.0.0 to 1.0.1
@@ -31,4 +31,5 @@ var __create = Object.create; | ||
var composeProviders = (providers, displayName) => { | ||
const innerFirstProviders = providers.slice().reverse(); | ||
function Composed(props) { | ||
return providers.reverse().reduce((children, provider) => { | ||
return innerFirstProviders.reduce((children, provider) => { | ||
if (Array.isArray(provider)) { | ||
@@ -35,0 +36,0 @@ const [Provider2, providerProps] = provider; |
{ | ||
"name": "compose-providers", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "My awesome typescript library", | ||
@@ -5,0 +5,0 @@ "publishConfig": { |
@@ -63,4 +63,38 @@ # compose-providers | ||
This is especiall useful when you are writing tests and need to combine different providers as wrappers to get your component work: | ||
```jsx | ||
// RouteComponent.test.tsx | ||
import { render } from "@testing-library/react" | ||
// const wrapper = (props) => ( | ||
// <QueryClientProvider> | ||
// <BrowserRouter>{props.children}</BrowserRouter> | ||
// </QueryClientProvider> | ||
// ) | ||
const wrapper = composeProviders([QueryClientProvider, BrowserRouter]) | ||
render(<RouteComponent />, { | ||
wrapper, | ||
}) | ||
// IntlComponent.test.tsx | ||
import { render } from "@testing-library/react" | ||
// const wrapper = (props) => ( | ||
// <QueryClientProvider> | ||
// <IntlProvider>{props.children}</IntlProvider> | ||
// </QueryClientProvider> | ||
// ) | ||
const wrapper = composeProviders([QueryClientProvider, IntlProvider]) | ||
render(<IntlComponent />, { | ||
wrapper, | ||
}) | ||
``` | ||
## License | ||
MIT © [SevenOutman](https://github.com/SevenOutman) |
Sorry, the diff of this file is not supported yet
8967
116
100