evaluateSeoChecklistWorkflowAction function

SeoChecklistWorkflowEvaluation? evaluateSeoChecklistWorkflowAction({
  1. required SeoChecklistWorkflowTransition transition,
  2. required SeoChecklistWorkflowViewProjection project,
  3. required SeoChecklistWorkflowEvaluation current,
  4. required SeoChecklistWorkflowAction action,
  5. required int itemCount,
})

Implementation

SeoChecklistWorkflowEvaluation? evaluateSeoChecklistWorkflowAction({
  required SeoChecklistWorkflowTransition transition,
  required SeoChecklistWorkflowViewProjection project,
  required SeoChecklistWorkflowEvaluation current,
  required SeoChecklistWorkflowAction action,
  required int itemCount,
}) =>
    _wrap(evaluateSeoApplicationAction(
      currentState: current.state,
      currentView: current.view,
      action: action,
      canonicalizeState: (candidate) => _canonical(candidate, itemCount),
      validateView: _validateView,
      isActionAdmitted: isSeoChecklistWorkflowActionEnabled,
      transition: transition,
      validateCandidate: (state, action, candidate) {
        final expected = transitionSeoChecklistWorkflow(state, action);
        return candidate == expected ? _canonical(expected, itemCount) : null;
      },
      project: project,
    ));