linesDo method

List<NamedLine> linesDo(
  1. DIRECTION direction,
  2. LinesDoAction doAction, {
  3. List<String> includes = const [],
  4. List<String> excludes = const [],
})

Implementation

List<NamedLine> linesDo(DIRECTION direction, LinesDoAction doAction, {
  List<String> includes = const [],
  List<String> excludes = const []}){
  List<NamedLine> ret = [];
  if(direction.contains(DIRECTION_ENUM.vertical)){
    for (var me in verticalLines.entries) {
      /// 默认全部模式 || 剔除模式 || 包含模式
      if(includes.isEmpty && (excludes.isEmpty || excludes.isNotEmpty && !excludes.contains(me.key)) ||
        includes.isNotEmpty && includes.contains(me.key)){
        ret.addAll(doAction(DIRECTION_ENUM.vertical, me.key, me.value));
      }
    }
  }
  if(direction.contains(DIRECTION_ENUM.horizontal)){
    for (var me in horizontalLines.entries) {
      /// 默认全部模式 || 剔除模式 || 包含模式
      if(includes.isEmpty && (excludes.isEmpty || excludes.isNotEmpty && !excludes.contains(me.key)) ||
        includes.isNotEmpty && includes.contains(me.key)){
        ret.addAll(doAction(DIRECTION_ENUM.horizontal, me.key, me.value));
      }
    }
  }
  return ret;
}