Skip to content
This repository has been archived by the owner on Oct 26, 2021. It is now read-only.

Commit

Permalink
add crude support for a callback for when middleware is applied, allo…
Browse files Browse the repository at this point in the history
…wing support for redux-saga
  • Loading branch information
bdefore committed Aug 31, 2016
1 parent 70d1b10 commit 74e4958
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,18 @@ import { render as renderDevtools } from './client/devtools';

// dependencies of external source. these resolve via webpack aliases
// as assigned in merge-configs.js
import middleware from 'universal-redux/middleware';
import middleware, { middlewareAppliedCallback } from 'universal-redux/middleware';
import createRootClientComponent from 'universal-redux/rootClientComponent';

const dest = document.getElementById('content');

const store = createStore(middleware, window.__data);
const devComponent = renderDevtools();

if (middlewareAppliedCallback) {
middlewareAppliedCallback();
}

// There is probably no need to be asynchronous here
createRootClientComponent(store, __PROVIDERS__, devComponent)
.then((root) => {
Expand Down
7 changes: 7 additions & 0 deletions src/server/renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@ export default (projectConfig, projectToolsConfig) => {
const store = createStore(middleware);
const routes = getRoutes(store);

if (config.redux.middleware) {
const callback = require(path.resolve(config.redux.middleware)).middlewareAppliedCallback;
if (callback) {
callback();
}
}

if (__DISABLE_SSR__) {
const content = html(config, tools.assets(), store, headers);
return new Promise(resolve => send(200, content, resolve)).then(() => {
Expand Down

0 comments on commit 74e4958

Please sign in to comment.