1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | exports.__esModule = true;
|
6 | exports["default"] = void 0;
|
7 |
|
8 | var _invariant = _interopRequireDefault(require("invariant"));
|
9 |
|
10 | var _plain = _interopRequireDefault(require("./structure/plain"));
|
11 |
|
12 | var createFormValueSelector = function createFormValueSelector(_ref) {
|
13 | var getIn = _ref.getIn;
|
14 | return function (form, getFormState) {
|
15 | (0, _invariant["default"])(form, 'Form value must be specified');
|
16 |
|
17 | var nonNullGetFormState = getFormState || function (state) {
|
18 | return getIn(state, 'form');
|
19 | };
|
20 |
|
21 | return function (state) {
|
22 | for (var _len = arguments.length, fields = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
23 | fields[_key - 1] = arguments[_key];
|
24 | }
|
25 |
|
26 | (0, _invariant["default"])(fields.length, 'No fields specified');
|
27 | return fields.length === 1 ?
|
28 | getIn(nonNullGetFormState(state), form + ".values." + fields[0]) :
|
29 | fields.reduce(function (accumulator, field) {
|
30 | var value = getIn(nonNullGetFormState(state), form + ".values." + field);
|
31 | return value === undefined ? accumulator : _plain["default"].setIn(accumulator, field, value);
|
32 | }, {});
|
33 | };
|
34 | };
|
35 | };
|
36 |
|
37 | var _default = createFormValueSelector;
|
38 | exports["default"] = _default; |
\ | No newline at end of file |