Easily generate lexicographical sort for efficient reordering list item.
- Easily generate lexicographical rank between two rank
- Easily change of generated rank length with your favorite English letter
- Able to generate a list of rank for re-balancing process or initial ranking
- Have a method to detect if ranking exceed some threshold
- To generate a rank, first create an instance of
LexoRank
and callgetRankBetween
with defined first and second rank
const lexoRank = LexoRank();
final rank = lexoRank.getRankBetween(firstRank: 'aaaa', secondRank: 'cccc');
print(rank); //bbbb
the first rank should be lower than the second rank, if you are unsure just pass reorderPosition
when creating LexoRank
instance.
- To generate a list of rank
final itemsRank = lexoRank.generateInitialRank(sizeOfItems: 100);
you can customize it by providing:
sizeOfItems
indicate number of ranks that must be generated.rankLength
: specify initial base rank letter size, default to 5.startRankLetter
: specify start letter to generate the initial the base rank, default is 'a'.endRankLetter
: specify end letter to generate the initial the base rank, default is 'z'.
- To check if a list of ranks exceed the limit
final stats = lexoRank.shouldRebalanced(items, maxRankLength: 5);
print(stats.exceeded);
Please file any issues, bugs or feature request as an issue on our GitHub page.
If you would like to contribute to the plugin (e.g. by improving the documentation, solving a bug or adding a cool new feature or you'd like an easier or better way to do something), consider opening a pull request.