UNPKG

10 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports["default"] = reducer;
7
8var _react = require("react");
9
10var _actions = require("./actions");
11
12var _constants = require("./constants");
13
14function position(props) {
15 var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.defaultPosition;
16 var action = arguments.length > 2 ? arguments[2] : undefined;
17 return action.type === _actions.CHANGE_POSITION ? _constants.POSITIONS[(_constants.POSITIONS.indexOf(state) + 1) % _constants.POSITIONS.length] : state;
18}
19
20function size(props) {
21 var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.defaultSize;
22 var action = arguments.length > 2 ? arguments[2] : undefined;
23 return action.type === _actions.CHANGE_SIZE ? action.size : state;
24}
25
26function isVisible(props) {
27 var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.defaultIsVisible;
28 var action = arguments.length > 2 ? arguments[2] : undefined;
29 return action.type === _actions.TOGGLE_VISIBILITY ? !state : state;
30}
31
32function childMonitorStates(props) {
33 var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
34 var action = arguments.length > 2 ? arguments[2] : undefined;
35 return _react.Children.map(props.children, function (child, index) {
36 return child.type.update(child.props, state[index], action);
37 });
38}
39
40function childMonitorIndex(props) {
41 var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
42 var action = arguments.length > 2 ? arguments[2] : undefined;
43
44 switch (action.type) {
45 case _actions.CHANGE_MONITOR:
46 return (state + 1) % _react.Children.count(props.children);
47
48 default:
49 return state;
50 }
51}
52
53function reducer(props) {
54 var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
55 var action = arguments.length > 2 ? arguments[2] : undefined;
56
57 if (!state.childMonitorStates) {
58 _react.Children.forEach(props.children, function (child, index) {
59 if (typeof child.type.update !== 'function') {
60 // eslint-disable-next-line no-console
61 console.error("Child of <DockMonitor> with the index ".concat(index, " ") + "(".concat(child.type.displayName || child.type.name || child.type, ") ") + 'does not appear to be a valid Redux DevTools monitor.');
62 }
63 });
64 }
65
66 return {
67 position: position(props, state.position, action),
68 isVisible: isVisible(props, state.isVisible, action),
69 size: size(props, state.size, action),
70 childMonitorIndex: childMonitorIndex(props, state.childMonitorIndex, action),
71 childMonitorStates: childMonitorStates(props, state.childMonitorStates, action)
72 };
73}
74//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWR1Y2Vycy50cyJdLCJuYW1lcyI6WyJwb3NpdGlvbiIsInByb3BzIiwic3RhdGUiLCJkZWZhdWx0UG9zaXRpb24iLCJhY3Rpb24iLCJ0eXBlIiwiQ0hBTkdFX1BPU0lUSU9OIiwiUE9TSVRJT05TIiwiaW5kZXhPZiIsImxlbmd0aCIsInNpemUiLCJkZWZhdWx0U2l6ZSIsIkNIQU5HRV9TSVpFIiwiaXNWaXNpYmxlIiwiZGVmYXVsdElzVmlzaWJsZSIsIlRPR0dMRV9WSVNJQklMSVRZIiwiY2hpbGRNb25pdG9yU3RhdGVzIiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZHJlbiIsImNoaWxkIiwiaW5kZXgiLCJ1cGRhdGUiLCJjaGlsZE1vbml0b3JJbmRleCIsIkNIQU5HRV9NT05JVE9SIiwiY291bnQiLCJyZWR1Y2VyIiwiZm9yRWFjaCIsImNvbnNvbGUiLCJlcnJvciIsImRpc3BsYXlOYW1lIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQU9BOztBQVdBLFNBQVNBLFFBQVQsQ0FDRUMsS0FERixFQUlFO0FBQUEsTUFGQUMsS0FFQSx1RUFGUUQsS0FBSyxDQUFDRSxlQUVkO0FBQUEsTUFEQUMsTUFDQTtBQUNBLFNBQU9BLE1BQU0sQ0FBQ0MsSUFBUCxLQUFnQkMsd0JBQWhCLEdBQ0hDLHFCQUFVLENBQUNBLHFCQUFVQyxPQUFWLENBQWtCTixLQUFsQixJQUEyQixDQUE1QixJQUFpQ0sscUJBQVVFLE1BQXJELENBREcsR0FFSFAsS0FGSjtBQUdEOztBQUVELFNBQVNRLElBQVQsQ0FDRVQsS0FERixFQUlFO0FBQUEsTUFGQUMsS0FFQSx1RUFGUUQsS0FBSyxDQUFDVSxXQUVkO0FBQUEsTUFEQVAsTUFDQTtBQUNBLFNBQU9BLE1BQU0sQ0FBQ0MsSUFBUCxLQUFnQk8sb0JBQWhCLEdBQThCUixNQUFNLENBQUNNLElBQXJDLEdBQTRDUixLQUFuRDtBQUNEOztBQUVELFNBQVNXLFNBQVQsQ0FDRVosS0FERixFQUlFO0FBQUEsTUFGQUMsS0FFQSx1RUFGUUQsS0FBSyxDQUFDYSxnQkFFZDtBQUFBLE1BREFWLE1BQ0E7QUFDQSxTQUFPQSxNQUFNLENBQUNDLElBQVAsS0FBZ0JVLDBCQUFoQixHQUFvQyxDQUFDYixLQUFyQyxHQUE2Q0EsS0FBcEQ7QUFDRDs7QUFFRCxTQUFTYyxrQkFBVCxDQUNFZixLQURGLEVBSUU7QUFBQSxNQUZBQyxLQUVBLHVFQUZtQixFQUVuQjtBQUFBLE1BREFFLE1BQ0E7QUFDQSxTQUFPYSxnQkFBU0MsR0FBVCxDQUFhakIsS0FBSyxDQUFDa0IsUUFBbkIsRUFBNkIsVUFBQ0MsS0FBRCxFQUFRQyxLQUFSO0FBQUEsV0FDbENELEtBQUssQ0FBQ2YsSUFBTixDQUFXaUIsTUFBWCxDQUFrQkYsS0FBSyxDQUFDbkIsS0FBeEIsRUFBK0JDLEtBQUssQ0FBQ21CLEtBQUQsQ0FBcEMsRUFBNkNqQixNQUE3QyxDQURrQztBQUFBLEdBQTdCLENBQVA7QUFHRDs7QUFFRCxTQUFTbUIsaUJBQVQsQ0FDRXRCLEtBREYsRUFJRTtBQUFBLE1BRkFDLEtBRUEsdUVBRlEsQ0FFUjtBQUFBLE1BREFFLE1BQ0E7O0FBQ0EsVUFBUUEsTUFBTSxDQUFDQyxJQUFmO0FBQ0UsU0FBS21CLHVCQUFMO0FBQ0UsYUFBTyxDQUFDdEIsS0FBSyxHQUFHLENBQVQsSUFBY2UsZ0JBQVNRLEtBQVQsQ0FBZXhCLEtBQUssQ0FBQ2tCLFFBQXJCLENBQXJCOztBQUNGO0FBQ0UsYUFBT2pCLEtBQVA7QUFKSjtBQU1EOztBQUVjLFNBQVN3QixPQUFULENBQ2J6QixLQURhLEVBSUs7QUFBQSxNQUZsQkMsS0FFa0IsdUVBRmlCLEVBRWpCO0FBQUEsTUFEbEJFLE1BQ2tCOztBQUNsQixNQUFJLENBQUNGLEtBQUssQ0FBQ2Msa0JBQVgsRUFBK0I7QUFDN0JDLG9CQUFTVSxPQUFULENBQWlCMUIsS0FBSyxDQUFDa0IsUUFBdkIsRUFBaUMsVUFBQ0MsS0FBRCxFQUFRQyxLQUFSLEVBQWtCO0FBQ2pELFVBQUksT0FBT0QsS0FBSyxDQUFDZixJQUFOLENBQVdpQixNQUFsQixLQUE2QixVQUFqQyxFQUE2QztBQUMzQztBQUNBTSxRQUFBQSxPQUFPLENBQUNDLEtBQVIsQ0FDRSxnREFBeUNSLEtBQXpDLG9CQUVJRCxLQUFLLENBQUNmLElBQU4sQ0FBV3lCLFdBQVgsSUFDQVYsS0FBSyxDQUFDZixJQUFOLENBQVcwQixJQURYLElBRUVYLEtBQUssQ0FBQ2YsSUFKWixVQU1FLHVEQVBKO0FBU0Q7QUFDRixLQWJEO0FBY0Q7O0FBRUQsU0FBTztBQUNMTCxJQUFBQSxRQUFRLEVBQUVBLFFBQVEsQ0FBQ0MsS0FBRCxFQUFRQyxLQUFLLENBQUNGLFFBQWQsRUFBd0JJLE1BQXhCLENBRGI7QUFFTFMsSUFBQUEsU0FBUyxFQUFFQSxTQUFTLENBQUNaLEtBQUQsRUFBUUMsS0FBSyxDQUFDVyxTQUFkLEVBQXlCVCxNQUF6QixDQUZmO0FBR0xNLElBQUFBLElBQUksRUFBRUEsSUFBSSxDQUFDVCxLQUFELEVBQVFDLEtBQUssQ0FBQ1EsSUFBZCxFQUFvQk4sTUFBcEIsQ0FITDtBQUlMbUIsSUFBQUEsaUJBQWlCLEVBQUVBLGlCQUFpQixDQUNsQ3RCLEtBRGtDLEVBRWxDQyxLQUFLLENBQUNxQixpQkFGNEIsRUFHbENuQixNQUhrQyxDQUovQjtBQVNMWSxJQUFBQSxrQkFBa0IsRUFBRUEsa0JBQWtCLENBQ3BDZixLQURvQyxFQUVwQ0MsS0FBSyxDQUFDYyxrQkFGOEIsRUFHcENaLE1BSG9DO0FBVGpDLEdBQVA7QUFlRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoaWxkcmVuIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IHtcbiAgQ0hBTkdFX01PTklUT1IsXG4gIENIQU5HRV9QT1NJVElPTixcbiAgQ0hBTkdFX1NJWkUsXG4gIERvY2tNb25pdG9yQWN0aW9uLFxuICBUT0dHTEVfVklTSUJJTElUWSxcbn0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IFBPU0lUSU9OUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IERvY2tNb25pdG9yUHJvcHMgfSBmcm9tICcuL0RvY2tNb25pdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBEb2NrTW9uaXRvclN0YXRlIHtcbiAgcG9zaXRpb246ICdsZWZ0JyB8ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nO1xuICBzaXplOiBudW1iZXI7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAgY2hpbGRNb25pdG9yU3RhdGVzOiB1bmtub3duW107XG4gIGNoaWxkTW9uaXRvckluZGV4OiBudW1iZXI7XG59XG5cbmZ1bmN0aW9uIHBvc2l0aW9uPFMsIEEgZXh0ZW5kcyBBY3Rpb248dW5rbm93bj4+KFxuICBwcm9wczogRG9ja01vbml0b3JQcm9wczxTLCBBPixcbiAgc3RhdGUgPSBwcm9wcy5kZWZhdWx0UG9zaXRpb24sXG4gIGFjdGlvbjogRG9ja01vbml0b3JBY3Rpb25cbikge1xuICByZXR1cm4gYWN0aW9uLnR5cGUgPT09IENIQU5HRV9QT1NJVElPTlxuICAgID8gUE9TSVRJT05TWyhQT1NJVElPTlMuaW5kZXhPZihzdGF0ZSkgKyAxKSAlIFBPU0lUSU9OUy5sZW5ndGhdXG4gICAgOiBzdGF0ZTtcbn1cblxuZnVuY3Rpb24gc2l6ZTxTLCBBIGV4dGVuZHMgQWN0aW9uPHVua25vd24+PihcbiAgcHJvcHM6IERvY2tNb25pdG9yUHJvcHM8UywgQT4sXG4gIHN0YXRlID0gcHJvcHMuZGVmYXVsdFNpemUsXG4gIGFjdGlvbjogRG9ja01vbml0b3JBY3Rpb25cbikge1xuICByZXR1cm4gYWN0aW9uLnR5cGUgPT09IENIQU5HRV9TSVpFID8gYWN0aW9uLnNpemUgOiBzdGF0ZTtcbn1cblxuZnVuY3Rpb24gaXNWaXNpYmxlPFMsIEEgZXh0ZW5kcyBBY3Rpb248dW5rbm93bj4+KFxuICBwcm9wczogRG9ja01vbml0b3JQcm9wczxTLCBBPixcbiAgc3RhdGUgPSBwcm9wcy5kZWZhdWx0SXNWaXNpYmxlLFxuICBhY3Rpb246IERvY2tNb25pdG9yQWN0aW9uXG4pIHtcbiAgcmV0dXJuIGFjdGlvbi50eXBlID09PSBUT0dHTEVfVklTSUJJTElUWSA/ICFzdGF0ZSA6IHN0YXRlO1xufVxuXG5mdW5jdGlvbiBjaGlsZE1vbml0b3JTdGF0ZXM8UywgQSBleHRlbmRzIEFjdGlvbjx1bmtub3duPj4oXG4gIHByb3BzOiBEb2NrTW9uaXRvclByb3BzPFMsIEE+LFxuICBzdGF0ZTogdW5rbm93bltdID0gW10sXG4gIGFjdGlvbjogRG9ja01vbml0b3JBY3Rpb25cbikge1xuICByZXR1cm4gQ2hpbGRyZW4ubWFwKHByb3BzLmNoaWxkcmVuLCAoY2hpbGQsIGluZGV4KSA9PlxuICAgIGNoaWxkLnR5cGUudXBkYXRlKGNoaWxkLnByb3BzLCBzdGF0ZVtpbmRleF0sIGFjdGlvbilcbiAgKTtcbn1cblxuZnVuY3Rpb24gY2hpbGRNb25pdG9ySW5kZXg8UywgQSBleHRlbmRzIEFjdGlvbjx1bmtub3duPj4oXG4gIHByb3BzOiBEb2NrTW9uaXRvclByb3BzPFMsIEE+LFxuICBzdGF0ZSA9IDAsXG4gIGFjdGlvbjogRG9ja01vbml0b3JBY3Rpb25cbikge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSBDSEFOR0VfTU9OSVRPUjpcbiAgICAgIHJldHVybiAoc3RhdGUgKyAxKSAlIENoaWxkcmVuLmNvdW50KHByb3BzLmNoaWxkcmVuKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlZHVjZXI8UywgQSBleHRlbmRzIEFjdGlvbjx1bmtub3duPj4oXG4gIHByb3BzOiBEb2NrTW9uaXRvclByb3BzPFMsIEE+LFxuICBzdGF0ZTogUGFydGlhbDxEb2NrTW9uaXRvclN0YXRlPiA9IHt9LFxuICBhY3Rpb246IERvY2tNb25pdG9yQWN0aW9uXG4pOiBEb2NrTW9uaXRvclN0YXRlIHtcbiAgaWYgKCFzdGF0ZS5jaGlsZE1vbml0b3JTdGF0ZXMpIHtcbiAgICBDaGlsZHJlbi5mb3JFYWNoKHByb3BzLmNoaWxkcmVuLCAoY2hpbGQsIGluZGV4KSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkLnR5cGUudXBkYXRlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgYENoaWxkIG9mIDxEb2NrTW9uaXRvcj4gd2l0aCB0aGUgaW5kZXggJHtpbmRleH0gYCArXG4gICAgICAgICAgICBgKCR7XG4gICAgICAgICAgICAgIGNoaWxkLnR5cGUuZGlzcGxheU5hbWUgfHxcbiAgICAgICAgICAgICAgY2hpbGQudHlwZS5uYW1lIHx8XG4gICAgICAgICAgICAgICgoY2hpbGQudHlwZSBhcyB1bmtub3duKSBhcyBzdHJpbmcpXG4gICAgICAgICAgICB9KSBgICtcbiAgICAgICAgICAgICdkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCBSZWR1eCBEZXZUb29scyBtb25pdG9yLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246IHBvc2l0aW9uKHByb3BzLCBzdGF0ZS5wb3NpdGlvbiwgYWN0aW9uKSxcbiAgICBpc1Zpc2libGU6IGlzVmlzaWJsZShwcm9wcywgc3RhdGUuaXNWaXNpYmxlLCBhY3Rpb24pLFxuICAgIHNpemU6IHNpemUocHJvcHMsIHN0YXRlLnNpemUsIGFjdGlvbiksXG4gICAgY2hpbGRNb25pdG9ySW5kZXg6IGNoaWxkTW9uaXRvckluZGV4KFxuICAgICAgcHJvcHMsXG4gICAgICBzdGF0ZS5jaGlsZE1vbml0b3JJbmRleCxcbiAgICAgIGFjdGlvblxuICAgICksXG4gICAgY2hpbGRNb25pdG9yU3RhdGVzOiBjaGlsZE1vbml0b3JTdGF0ZXMoXG4gICAgICBwcm9wcyxcbiAgICAgIHN0YXRlLmNoaWxkTW9uaXRvclN0YXRlcyxcbiAgICAgIGFjdGlvblxuICAgICksXG4gIH07XG59XG4iXX0=
\No newline at end of file