def visit()

in src/stepfunctions/steps/states.py [0:0]


    def visit(self, state):
        if state.state_id in self.states:
            raise ValueError("Each state in a workflow must have a unique state id. Found duplicate state id '{}' in workflow.".format(state.state_id))
        self.states[state.state_id] = state.to_dict()
        if state.next_step is None:
            return
        if not hasattr(state.next_step, 'fields') or Field.Parameters.value not in state.next_step.fields:
            return
        params = state.next_step.fields[Field.Parameters.value]
        valid, invalid_param_name = self._validate_next_step_params(params, state.step_output)
        if not valid:
            raise ValueError('State \'{state_name}\' is using an illegal placeholder for the \'{param_name}\' parameter.'.format(state_name=state.next_step.state_id, param_name=invalid_param_name))