Skip to content

Add geo module (v0.7.0)#92

Merged
codegresscom merged 1 commit intomainfrom
feat/37-45-geo-module
Apr 21, 2026
Merged

Add geo module (v0.7.0)#92
codegresscom merged 1 commit intomainfrom
feat/37-45-geo-module

Conversation

@vhrcgcom
Copy link
Copy Markdown
Collaborator

Summary

  • Latitudef64 in range −90.0..=90.0, finite
  • Longitudef64 in range −180.0..=180.0, finite
  • Coordinate — composite lat + lng, canonical "lat, lng" format
  • BoundingBox — composite SW + NE coordinate, validates sw ≤ ne
  • TimeZone — validated against built-in IANA timezone list (~440 names)
  • CountryRegion — ISO 3166-2 format (XX-YYY), trimmed + uppercased

No extra dependencies — pure Rust.

Closes #37
Closes #38
Closes #39
Closes #43
Closes #44
Closes #45

Type of change

  • New value object / feature

Checklist

  • ValueObject trait (new / value / into_inner)
  • TryFrom<&str> where applicable
  • Display
  • serde cfg_attr
  • Tests (43 passing)
  • cargo fmt + clippy clean
  • ROADMAP.md updated
  • README.md updated
  • docs/geo.md added

Latitude, Longitude, Coordinate, BoundingBox, TimeZone, CountryRegion.

Closes #37
Closes #38
Closes #39
Closes #43
Closes #44
Closes #45
@codegresscom codegresscom merged commit 8caeb36 into main Apr 21, 2026
14 checks passed
@codegresscom codegresscom deleted the feat/37-45-geo-module branch April 21, 2026 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add TimeZone (geo) Add BoundingBox (geo) Add Coordinate (geo) Add Longitude (geo) Add Latitude (geo)

2 participants