flatten static method

List<Logic> flatten(
  1. List<Logic> args
)

Implementation

static List<Logic> flatten(List<Logic> args) {
  final argsQueue = List<Logic>.from(args);
  final res = <Logic>[];

  while (argsQueue.isNotEmpty) {
    final arg = argsQueue.removeAt(0);
    if (arg is And) {
      argsQueue.addAll(arg.args);
      continue;
    }
    res.add(arg);
  }

  return res;
}