Skip to content

Rework SortedSet and List range APIs

Nathan Harris requested to merge range-api into master

Motivation:

The SortedSet and List range commands (LTRIM, LRANGE, ZRANGE, etc.) are stringly-based and not flexible with Swift syntax.

Modifications:

  • Add overloads of LTRIM that support the gambit of Range Standard Library types
  • Rework LRANGE to mirror LTRIM method signatures
  • Rework ZScore Range based commands to be more type-safe with RedisZScoreBound enum
  • Rework ZLex Range based commands to be more type-safe with RedisZLexBound enum
  • Rework ZCOUNT, ZLEXCOUNT, ZRANGE, ZREVRANGE, ZREMRANGEBYLEX, ZREMRANGEBYRANK, ZREMRANGEBYSCORE methods to be more type-safe and support Swift Range syntax

Result:

Working with SortedSet ranges should be much more type safe, and expressive with Swift's Range syntax.

Merge request reports