UNPKG

genji-core

Version:

The core lightweight library for genji, based on redux and redux-saga.

29 lines (21 loc) 1.05 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = prefixedDispatch; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); var _invariant = _interopRequireDefault(require("invariant")); var _warning = _interopRequireDefault(require("warning")); var _constants = require("./constants"); var _prefixType = _interopRequireDefault(require("./prefixType")); function prefixedDispatch(dispatch, model) { return function (action) { var type = action.type; (0, _invariant.default)(type, 'dispatch: action should be a plain Object with type'); (0, _warning.default)(type.indexOf("".concat(model.namespace).concat(_constants.NAMESPACE_SEP)) !== 0, "dispatch: ".concat(type, " should not be prefixed with namespace ").concat(model.namespace)); return dispatch((0, _objectSpread2.default)({}, action, { type: (0, _prefixType.default)(type, model) })); }; }