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
getRankBetweenwith 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
- To generate a list of rank
final itemsRank = lexoRank.generateInitialRank(sizeOfItems: 100);
you can customize it by providing:
sizeOfItemsindicate 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.