class_docstr: A click parameter that is a list of elements.
  
  It can be used to parse strings like "1,2,4,8" into a Sequence[int], for example.
class_docstr_tok: ["A","click","parameter","that","is","a","list","of","elements",".","It","can","be","used","to","parse","strings","like","``","1,2,4,8","''","into","a","Sequence","[","int","]",",","for","example","."]
code: def convert(  # noqa: D
      self,
      value: str,
      param: Optional[click.Parameter],
      ctx: Optional[click.Context],
  ) -> Sequence[T]:
      if len(value) == 0:
          if self.min_length > 0:
              self.fail(
                  f"Input is empty, when the minimum expected number of input is {self.min_length}",
                  param,
                  ctx,
              )
          return []
      str_values = value.split(self.separator)
  
      if len(str_values) < self.min_length:
          self.fail(
              f"list has length {len(str_values)}, which is less than the minimum allowed length of {self.min_length}",
              param,
              ctx,
          )
  
      if (
          self.max_length is not None
          and len(str_values) > self.max_length
      ):
          self.fail(
              f"list has length {len(str_values)}, which is more than the maximum allowed length of {self.max_length}",
              param,
              ctx,
          )
  
      converted_values: List[T] = []
      for str_val in str_values:
          try:
              converted_val = self.value_converter(str_val)
          except Exception:
              self.fail(
                  f"{str_val} could not be converted by value converter",
                  param,
                  ctx,
              )
          converted_values.append(converted_val)
  
      return converted_values
  
file_path: metricflow/metricflow/cli/custom_click_types.py
imports: from __future__ import annotations
  from typing import Any, Callable, Dict, Generic, List, Optional, Sequence, Tuple, TypeVar
  import click
label_desc: Use image node_id 2 for calling the SequenceParamType obj's underlying member method code with example usage: obj.convert(value, param, ctx) and returns: converted_values, list