Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F2475674
provider-tree.tsx
No One
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
themackabu
Oct 26 2025, 11:59 PM
2025-10-26 23:59:49 (UTC-7)
Size
885 B
Referenced Files
None
Subscribers
None
provider-tree.tsx
View Options
type ComposedProvider = Component<Children>;
type FlexibleProvider = Component<NonNullableChildren> | Component<Children>;
type ProviderConfig =
| [FlexibleProvider]
| [FlexibleProviderWithProps<Record<string, unknown>>, Record<string, unknown>];
type FlexibleProviderWithProps<TProps extends Record<string, unknown>> =
| Component<NonNullableChildren & TProps>
| Component<Children<TProps>>;
export function buildProvidersTree<TProviders extends ReadonlyArray<ProviderConfig>>(
providers: TProviders,
): ComposedProvider {
return providers.reduce<ComposedProvider>(
(AccumulatedProviders, providerConfig) => {
const [Provider, props = {}] = providerConfig;
return ({ children }) => (
<AccumulatedProviders>
<Provider {...props}>{children}</Provider>
</AccumulatedProviders>
);
},
({ children }) => children,
);
}
File Metadata
Details
Attached
Mime Type
text/plain; charset=utf-8
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
476864
Default Alt Text
provider-tree.tsx (885 B)
Attached To
Mode
P3 provider-tree.tsx
Attached
Detach File
Event Timeline
Log In to Comment