@coorpacademy/progression-engine
Version:
21 lines (19 loc) • 807 B
JavaScript
import isEqual from 'lodash/fp/isEqual';
import getOr from 'lodash/fp/getOr';
import { createStateValidationError } from '../errors';
export default function validate(config) {
return (state, action) => {
switch (action.type) {
case 'answer':
case 'extraLifeAccepted':
case 'extraLifeRefused':
{
if (!isEqual(state.nextContent, action.payload.content)) {
throw createStateValidationError(`The content of the progression state does not match the given ${action.type} action. State content: (${getOr('', 'nextContent.ref', state)}) vs action (content - ${getOr('', 'payload.content.ref', action)} / nextContent - ${getOr('', 'payload.nextContent.ref', action)})`);
}
break;
}
}
};
}
//# sourceMappingURL=validate.js.map