'use strict';
exports.__esModule = true;
exports.simulateAction = simulateAction;
exports.simulateActionAsync = simulateActionAsync;
function simulateAction(store, action, body) {
var actionId = ensureActionId(action);
store.handler({ actionId: actionId, body: body });
}
function simulateActionAsync(store, action, asyncAction) {
for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
args[_key - 3] = arguments[_key];
}
var actionId = ensureActionId(action);
var payload = {
actionId: actionId, async: asyncAction
};
switch (asyncAction) {
case 'begin':
if (args.length) {
payload.actionArgs = args;
}
break;
case 'success':
payload.body = args[0];
break;
case 'failure':
payload.error = args[0];
break;
default:
throw new Error('asyncAction must be one of: begin, success or failure');
}
store.handler(payload);
}
function ensureActionId(actionOrActionId) {
return typeof actionOrActionId === 'function' ? actionOrActionId._id : actionOrActionId;
}