mirror of
				https://github.com/reduxjs/redux-devtools.git
				synced 2025-10-31 07:57:39 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| var assign = require('./utils/assign');
 | |
| var compose = require('redux').compose;
 | |
| 
 | |
| function enhancer() {
 | |
|   var config = arguments[0] || {};
 | |
|   config.features = { pause: true, export: true, test: true };
 | |
|   config.type = 'redux';
 | |
|   if (config.autoPause === undefined) config.autoPause = true;
 | |
|   if (config.latency === undefined) config.latency = 500;
 | |
| 
 | |
|   return function (createStore) {
 | |
|     return function (reducer, preloadedState, enhancer) {
 | |
|       var store = createStore(reducer, preloadedState, enhancer);
 | |
|       var origDispatch = store.dispatch;
 | |
| 
 | |
|       var devTools = window.__REDUX_DEVTOOLS_EXTENSION__.connect(config);
 | |
|       devTools.init(store.getState());
 | |
| 
 | |
|       var dispatch = function (action) {
 | |
|         var r = origDispatch(action);
 | |
|         devTools.send(action, store.getState());
 | |
|         return r;
 | |
|       };
 | |
| 
 | |
|       if (Object.assign) return Object.assign(store, { dispatch: dispatch });
 | |
|       return assign(store, 'dispatch', dispatch);
 | |
|     };
 | |
|   };
 | |
| }
 | |
| 
 | |
| function composeWithEnhancer(config) {
 | |
|   return function () {
 | |
|     return compose(compose.apply(null, arguments), enhancer(config));
 | |
|   };
 | |
| }
 | |
| 
 | |
| exports.__esModule = true;
 | |
| exports.composeWithDevTools = function () {
 | |
|   if (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__) {
 | |
|     if (arguments.length === 0) return enhancer();
 | |
|     if (typeof arguments[0] === 'object')
 | |
|       return composeWithEnhancer(arguments[0]);
 | |
|     return composeWithEnhancer().apply(null, arguments);
 | |
|   }
 | |
| 
 | |
|   if (arguments.length === 0) return undefined;
 | |
|   if (typeof arguments[0] === 'object') return compose;
 | |
|   return compose.apply(null, arguments);
 | |
| };
 | |
| 
 | |
| exports.devToolsEnhancer =
 | |
|   typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__
 | |
|     ? enhancer
 | |
|     : function () {
 | |
|         return function (noop) {
 | |
|           return noop;
 | |
|         };
 | |
|       };
 |