We need to create validators for each status. The validator will check if transition from current state is allowed or not.
function createValidator(state) { return function(currentState) { return currentState === state; } } var isClosed = createValidator('closed'); var isPending = createValidator('pending'); var isOpen = createValidator('open'); // Usage isClosed('closed'); // true isClosed('pending'); // false isClosed('open'); // false