UNPKG

higher-order-reducers

Version:

A library of simple everyday reducer utility functions

33 lines (25 loc) 857 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _warn = require('./warn'); var _warn2 = _interopRequireDefault(_warn); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var isReducer = function isReducer(reducer) { return typeof reducer === 'function'; }; var handlesUndefined = function handlesUndefined(reducer) { return reducer(undefined, { type: '@@PROBE' }) !== undefined; }; var isSane = function isSane(reducer, context) { if (!isReducer(reducer)) { (0, _warn2.default)(context + '. Supplied reducer is not a function'); return false; } if (!handlesUndefined(reducer)) { (0, _warn2.default)(context + '. Supplied reducer returned returned "undefined" for state undefined'); return false; } return true; }; exports.default = isSane;