blob: 07b1976b01fe7611f7c9f8988e508a18325ad85b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
const { Record } = require('immutable');
const DEFAULTS = {
activate: ((dispatch, getState) => {}),
deactivate: ((dispatch, getState) => {}),
reduce: ((state, action) => state),
actions: {}
};
class Plugin extends Record(DEFAULTS) {
constructor(plugin) {
super({
activate: plugin.activate || DEFAULTS.activate,
deactivate: plugin.deactivate || DEFAULTS.deactivate,
reduce: plugin.reduce || DEFAULTS.reduce,
actions: plugin.actions || DEFAULTS.actions
});
}
}
module.exports = Plugin;
|