addToList method

dynamic addToList(
  1. List sizeList,
  2. dynamic aValue
)

Implementation

addToList(List sizeList, aValue) {
  myLogAll('addToList');
  int listLength = sizeList.length;
  List maxList = sizeList[listLength - 1].split('~');
  List minList = sizeList[0].split('~');
  int iMax = maxList.length > 1 ? getInt(maxList[1]) : getInt(maxList[0]);
  int iMin = getInt(minList[0]);

  List resultList = [];
  List aValueList = aValue.split('~');
  int iLeft = getInt(aValueList[0]);
  int iRight = getInt(aValueList[1]);
  int iMiddle = ((iLeft + iRight) / 2).round();
  addToListSub(resultList, iMin, iLeft - 1);

  resultList.add(iLeft);

  addToListSub(resultList, iLeft + 1, iMiddle - 1);

  resultList.add(iMiddle);
  addToListSub(resultList, iMiddle + 1, iRight - 1);
  resultList.add(iRight);
  addToListSub(resultList, iRight + 1, iMax);

  return resultList;
}