Add TryFrom<u8>
Implementation for ZoomLevel
#9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello,
In my project, I’m using
u8
values to represent zoom levels for a slippy map, as this makes it straightforward to increment (zoom += 1
), decrement, or specify zoom levels directly using raw integers, such as from command-line arguments (myapp --zoom=12
).However, I noticed that
ZoomLevel
currently lacks a way to be constructed directly from a rawu8
value. To address this, I’ve implemented theTryFrom<u8>
trait forZoomLevel
, allowing for conversions like:Additionally, I’ve introduced a new macro,
generate_zoom_level
, to simplify the boilerplate code involved in defining theZoomLevel
enum. This macro makes it easier to manage and extend the enum when dealing with large ranges of zoom levels.I hope you find this contribution useful, and I look forward to your feedback.