Skip to content

Commit dcd346e

Browse files
committed
Fix Import / Export for non-redux apps
Related to ngrx/store-devtools#40
1 parent 953b10f commit dcd346e

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
"redux": "^3.5.2",
7979
"redux-devtools": "^3.3.1",
8080
"redux-devtools-instrument": "^1.3.3",
81-
"remotedev-app": "^0.10.0",
81+
"remotedev-app": "^0.10.1",
8282
"remotedev-monitor-components": "^0.0.4",
8383
"remotedev-slider": "^1.1.1",
8484
"remotedev-utils": "0.0.1"

src/app/api/index.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import jsan from 'jsan';
2+
import importState from './importState';
23

34
const listeners = {};
45
export const source = '@devtools-page';
@@ -78,6 +79,14 @@ function handleMessages(event) {
7879
if (!message || message.source !== '@devtools-extension') return;
7980
Object.keys(listeners).forEach(id => {
8081
if (message.id && id !== message.id) return;
82+
if (message.type === 'IMPORT') {
83+
message.type = 'DISPATCH';
84+
message.payload = {
85+
type: 'IMPORT_STATE',
86+
...importState(message.state, {})
87+
};
88+
message.state = undefined;
89+
}
8190
if (typeof listeners[id] === 'function') listeners[id](message);
8291
else listeners[id].forEach(fn => { fn(message); });
8392
});

test/app/inject/enhancer.spec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,8 @@ describe('Redux enhancer', () => {
139139
source: '@devtools-extension'
140140
}, '*');
141141
});
142-
expect(message.type).toBe('IMPORT');
142+
expect(message.type).toBe('DISPATCH');
143+
expect(message.payload.type).toBe('IMPORT_STATE');
143144
message = await listenMessage();
144145
expect(message.type).toBe('STATE');
145146
expect(window.store.getState()).toBe(2);

0 commit comments

Comments
 (0)