trimEqualities static method

List<String> trimEqualities(
  1. List<String> l, {
  2. Pattern? delimiter,
  3. int? minLength,
  4. bool validator(
    1. String s
    )?,
})

Implementation

static List<String> trimEqualities(List<String> l,
    {Pattern? delimiter,
    int? minLength,
    bool Function(String s)? validator}) {
  if (l.length <= 1) return l.toList();

  var head = getHeadEquality(l,
      delimiter: delimiter, minLength: minLength, validator: validator);
  var headSz = head.length;

  var min = l.map((e) => e.length).min;
  var tailMinLength = min - headSz;
  if (minLength != null && tailMinLength > minLength) {
    tailMinLength = minLength;
  }

  var tail = getTailEquality(l,
      delimiter: delimiter, minLength: tailMinLength, validator: validator);
  var tailSz = tail.length;

  var l2 = l.map((e) => e.substring(headSz, e.length - tailSz)).toList();
  return l2;
}