- Introduce internal/providers/nws with shared timestamp parsing used by both NWS sources and normalizers - Migrate NWS observation source + normalizer to use the shared provider helper for consistent RFC3339/RFC3339Nano handling - Introduce internal/providers/openweather with a shared URL invariant helper enforcing units=metric - Remove duplicated OpenWeather URL validation logic from the observation source - Align provider layering: move provider “contract/quirk” logic out of normalizers and into internal/providers - Update normalizer and standards documentation to clearly distinguish: provider helpers (internal/providers) vs canonical mapping logic (internal/normalizers) This refactor reduces duplication between sources and normalizers, clarifies layering boundaries, and establishes a scalable pattern for future forecast and alert implementations.
9 lines
369 B
Go
9 lines
369 B
Go
// Package nws contains provider-specific helper code for the National Weather Service
|
|
// used by both sources and normalizers.
|
|
//
|
|
// Rules:
|
|
// - No network I/O here (sources fetch; normalizers transform).
|
|
// - Keep helpers deterministic and easy to unit test.
|
|
// - Prefer putting provider quirks/parsing here when sources + normalizers both need it.
|
|
package nws
|