MCPcopy
hub / github.com/reduxjs/redux-devtools / compose

Function compose

packages/redux-devtools-remote/src/devTools.ts:570–597  ·  view source on GitHub ↗
(options: Options<unknown, Action<unknown>>)

Source from the content-addressed store, hash-verified

568
569const compose =
570 (options: Options<unknown, Action<unknown>>) =>
571 (...funcs: StoreEnhancer[]) =>
572 (...args: unknown[]) => {
573 const devToolsEnhancer = new DevToolsEnhancer();
574
575 function preEnhancer(createStore: StoreEnhancerStoreCreator) {
576 return <S, A extends Action<unknown>>(
577 reducer: Reducer<S, A>,
578 preloadedState: PreloadedState<S>
579 ) => {
580 devToolsEnhancer.store = createStore(reducer, preloadedState) as any;
581 return {
582 ...devToolsEnhancer.store,
583 dispatch: (action: Action<unknown>) =>
584 devToolsEnhancer.locked
585 ? action
586 : devToolsEnhancer.store.dispatch(action),
587 };
588 };
589 }
590
591 return [preEnhancer, ...funcs].reduceRight(
592 (composed, f) => f(composed) as any,
593 devToolsEnhancer.enhance(options)(
594 ...(args as [StoreEnhancerStoreCreator])
595 )
596 );
597 };
598
599export function composeWithDevTools(
600 ...funcs: [Options<unknown, Action<unknown>>] | StoreEnhancer[]

Callers 15

index.tsxFile · 0.90
index.tsxFile · 0.90
configureStoreFunction · 0.90
configureStoreFunction · 0.90
extensionComposeStubFunction · 0.90
extensionComposeStubFunction · 0.90
extensionComposeStubFunction · 0.90
composeWithEnhancerFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected