UNPKG

1.44 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports["default"] = void 0;
7
8var _invariant = _interopRequireDefault(require("invariant"));
9
10var _plain = _interopRequireDefault(require("./structure/plain"));
11
12var 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 ? // only selecting one field, so return its value
28 getIn(nonNullGetFormState(state), form + ".values." + fields[0]) : // selecting many fields, so return an object of field values
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
37var _default = createFormValueSelector;
38exports["default"] = _default;
\No newline at end of file