code: def _pre_action(self) -> None:
      super()._pre_action()
  
      self.remove_keys.add("line_interpolation")
  
      line_interpolation = self.data.get("line_interpolation")
      if line_interpolation == "cardinal":
          self.target_viz_type = "echarts_timeseries_smooth"
      elif line_interpolation == "step-before":
          self.target_viz_type = "echarts_timeseries_step"
          self.data["seriesType"] = "start"
      elif line_interpolation == "step-after":
          self.target_viz_type = "echarts_timeseries_step"
          self.data["seriesType"] = "end"
  
imports: from typing import Any
  from superset.utils.core import as_list
  from .base import MigrateViz
label_desc: Use image node_id 1 for calling the MigrateLineChart obj's underlying member method code with example usage: obj._pre_action() without return types