alphabet method

List<T> alphabet(
  1. String callback(
    1. T
    )
)

@param list @param callback @returns

Implementation

List<T> alphabet(String Function(T) callback) {
  List<_SortAlphabetItem<T>> formatted = [];
  for (var i = 0; i < input.length; i++) {
    final String chars = callback(input[i]);
    formatted.add(_SortAlphabetItem(
      input[i],
      chars.charCodeBetween(
        0,
        maths.min(
          chars.length,
          10
        )
      ) ?? 0
    ));
  }

  return _by(formatted)
    .list((item) => item.relevance)
    .map((item) => item.element)
    .toList();
}