1 | 'use strict';
|
---|
2 |
|
---|
3 | Object.defineProperty(exports, "__esModule", {
|
---|
4 | value: true
|
---|
5 | });
|
---|
6 |
|
---|
7 | var _immutable = require('immutable');
|
---|
8 |
|
---|
9 | var _immutable2 = _interopRequireDefault(_immutable);
|
---|
10 |
|
---|
11 | var _getStateName = require('./getStateName');
|
---|
12 |
|
---|
13 | var _getStateName2 = _interopRequireDefault(_getStateName);
|
---|
14 |
|
---|
15 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
---|
16 |
|
---|
17 | exports.default = function (state, reducers, action) {
|
---|
18 | var reducerNames = Object.keys(reducers);
|
---|
19 |
|
---|
20 | if (!reducerNames.length) {
|
---|
21 | return 'Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.';
|
---|
22 | }
|
---|
23 |
|
---|
24 | var stateName = (0, _getStateName2.default)(action);
|
---|
25 |
|
---|
26 | if (_immutable2.default.isImmutable ? !_immutable2.default.isImmutable(state) : !_immutable2.default.Iterable.isIterable(state)) {
|
---|
27 | return 'The ' + stateName + ' is of unexpected type. Expected argument to be an instance of Immutable.Collection or Immutable.Record with the following properties: "' + reducerNames.join('", "') + '".';
|
---|
28 | }
|
---|
29 |
|
---|
30 | var unexpectedStatePropertyNames = state.toSeq().keySeq().toArray().filter(function (name) {
|
---|
31 | return !reducers.hasOwnProperty(name);
|
---|
32 | });
|
---|
33 |
|
---|
34 | if (unexpectedStatePropertyNames.length > 0) {
|
---|
35 | return 'Unexpected ' + (unexpectedStatePropertyNames.length === 1 ? 'property' : 'properties') + ' "' + unexpectedStatePropertyNames.join('", "') + '" found in ' + stateName + '. Expected to find one of the known reducer property names instead: "' + reducerNames.join('", "') + '". Unexpected properties will be ignored.';
|
---|
36 | }
|
---|
37 |
|
---|
38 | return null;
|
---|
39 | };
|
---|
40 |
|
---|
41 | module.exports = exports['default'];
|
---|
42 | //# sourceMappingURL=getUnexpectedInvocationParameterMessage.js.map |
---|