getStringListFromArguments static method

List<String>? getStringListFromArguments(
  1. Map<String, dynamic> arguments,
  2. String key
)

Implementation

static List<String>? getStringListFromArguments(
    Map<String, dynamic> arguments, String key) {
  if (arguments[key] == null) {
    return null;
  }

  List taskIdMaps = [];
  if (arguments[key] is List) {
    taskIdMaps = arguments[key];
  } else if (arguments[key] is String) {
    String pTaskIds = arguments[key];
    if (pTaskIds.startsWith("[") && pTaskIds.endsWith("]")) {
      pTaskIds = pTaskIds.substring(1, pTaskIds.length - 1);
    }
    taskIdMaps = pTaskIds.split(",");
  }

  List<String> taskIds = [];
  for (var element in taskIdMaps) {
    if (element is int) {
      taskIds.add(element.toString()); // 避免后台传int
    } else {
      taskIds.add(element);
    }
  }

  return taskIds;
}