from typing import Callable
from typing import List


def get_local_data_function(scan_type: str,
                            incremental: bool) -> Callable[..., List[str]]:
  """Returns functions similar to the local_data_to_load_* functions above

  But each functions returns the appropriate data for a given scan type.

  Args:
    scan_type: str, one of 'echo', 'discard', 'http', 'https'
    incremental: bool, whether to load data for a full or incremental pipeline.

  Returns: a function which takes arbitrary args and returns a list of files.
  """
  if incremental:
    scan_file = f'pipeline/e2e_test_data/{scan_type}_results_v1.json'
  else:
    scan_file = f'pipeline/e2e_test_data/{scan_type}_results_v2.json'

  return lambda *_: [scan_file]