Skip to content

Commit 4dcdbda

Browse files
committed
initial commit
0 parents  commit 4dcdbda

File tree

6 files changed

+3114
-0
lines changed

6 files changed

+3114
-0
lines changed

Diff for: .gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules

Diff for: helpers.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export const makeReducer = (name, initialState, transitions = {}) => (
2+
state = initialState,
3+
action = {}
4+
) => {
5+
const t = { ...transitions, name: () => name }
6+
const fn = t[action.type]
7+
if (!fn) {
8+
return state
9+
}
10+
11+
return fn(state, action)
12+
}
13+
14+
export const organizeReducers = (reducers, func = false) =>
15+
reducers.reduce(
16+
(state, reducer) => ({
17+
...state,
18+
[reducer({}, { type: 'name' })]: (func && reducer) || reducer()
19+
}),
20+
{}
21+
)

Diff for: index.js

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports.organizeReducers = exports.makeReducer = void 0;
7+
8+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
9+
10+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11+
12+
var makeReducer = function makeReducer(_name, initialState) {
13+
var transitions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
14+
return function () {
15+
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
16+
var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17+
18+
var t = _objectSpread({}, transitions, {
19+
name: function name() {
20+
return _name;
21+
}
22+
});
23+
24+
var fn = t[action.type];
25+
26+
if (!fn) {
27+
return state;
28+
}
29+
30+
return fn(state, action);
31+
};
32+
};
33+
34+
exports.makeReducer = makeReducer;
35+
36+
var organizeReducers = function organizeReducers(reducers) {
37+
var func = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
38+
return reducers.reduce(function (state, reducer) {
39+
return _objectSpread({}, state, _defineProperty({}, reducer({}, {
40+
type: 'name'
41+
}), func && reducer || reducer()));
42+
}, {});
43+
};
44+
45+
exports.organizeReducers = organizeReducers;

0 commit comments

Comments
 (0)