UNPKG

@coorpacademy/progression-engine

Version:

21 lines (19 loc) 807 B
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