Skip to content

rebaz94/lexo_rank_generator

Repository files navigation

LexoRank

Easily generate lexicographical sort for efficient reordering list item.

Features

  • 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

Usage

  1. To generate a rank, first create an instance of LexoRank and call getRankBetween 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.

  1. 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'.
  1. To check if a list of ranks exceed the limit
final stats = lexoRank.shouldRebalanced(items, maxRankLength: 5);
print(stats.exceeded);

Issues

Please file any issues, bugs or feature request as an issue on our GitHub page.

Contributing

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.

About

Easily generate lexicographical sort for efficient reordering list item.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages