MCPcopy Create free account

hub / github.com/chubin/wttr.in / types & classes

Types & classes112 in github.com/chubin/wttr.in

↓ 2 callersTypeAliasWeatherRaw
WeatherRaw is a type alias for raw weather data returned by a weather backend. It is typically JSON or another serialized format. The actual structur
internal/domain/models.go:96
StructAddress
Address information.
internal/ip/ip.go:24
StructAstronomy
Astronomy contains sunrise, sunset, moon phase and related information for a day.
internal/domain/weather.go:72
StructBundle
Bundle holds all translation data and implements Localizer.
internal/translate/bundle.go:21
StructCache
Cache combines in-memory LRU, SQLite read pool, and write support.
internal/location/cache.go:59
StructCache
Cache provides access to the IP Geodata cache.
internal/ip/ip.go:47
StructCacheEntry
CacheEntry represents a cached response entry. It is designed to be immutable once created and stored in any cache implementation. The entry includes
internal/domain/models.go:61
StructCacheLayer
CacheLayer defines the settings for a single cache layer. Different layers can use completely different backends and TTLs.
internal/cache/config.go:29
StructCachedWeatherClient
CachedWeatherClient wraps the original WeatherClient with disk/memory caching and request coalescing.
internal/weather/weatherer_wwo_cached.go:31
InterfaceCacher
Cacher defines the contract for all cache implementations used by the request processor. Implementations may use LRU, Redis, in-memory maps, etc.
internal/weather/cache.go:15
StructCadre
internal/types/types.go:12
StructClientData
ClientData holds information about the client making the request.
internal/domain/models.go:26
FuncTypeConditionByNameFunc
ConditionByNameFunc returns a translated condition by its English name.
internal/localization/localizer.go:36
FuncTypeConditionFunc
ConditionFunc returns a translated weather condition by numeric code.
internal/localization/localizer.go:33
StructConfig
Config holds configuration for all cache layers used by the service. We have two (and potentially more) semantically different caches: 1. Responses
internal/cache/config.go:12
StructConfig
internal/location/config.go:3
StructConfig
Config holds configuration for all renderers that need external config.
internal/renderer/config.go:6
StructConfig
internal/logging/config.go:3
StructConfig
internal/uplink/config.go:3
StructConfig
Config holds the server configuration loaded from YAML.
internal/server/config.go:6
StructConfig
internal/ip/config.go:3
StructConfig
Config is the root configuration structure for the entire service.
internal/config/config.go:20
StructConfig
internal/weather/config.go:3
StructCurrentCondition
CurrentCondition represents the current observed weather conditions.
internal/domain/weather.go:12
StructDiskCacher
DiskCacher is a filesystem-backed implementation of Cacher. Completed entries are persisted to disk as JSON files. In-progress state is kept in-memory
internal/cache/disk.go:20
StructEmojiProfile
=================================================================== Emoji Profiles & Width Management (new centralized system) =======================
internal/renderer/oneline/constants.go:64
StructFormatOutput
FormatOutput represents the final output ready to be sent to the client. It includes both the content and the appropriate HTTP Content-Type header.
internal/domain/models.go:109
StructFormatSpecifier
FormatSpecifier represents a single format specifier in the one-line output mode.
internal/defs/defs.go:71
StructFormatSpecifier
internal/generate/options.go:163
InterfaceFormatter
Formatter interface for converting rendered output into the final format.
internal/weather/weather.go:44
StructGeneratedField
GeneratedField holds template data for one field
internal/generate/options.go:171
StructHTMLFormatter
HTMLFormatter converts ANSI weather output into a full HTML page using buildkite/terminal-to-html.
internal/formatter/html.go:15
StructHourly
Hourly represents hourly weather forecast data.
internal/domain/weather.go:82
StructIPData
IPData holds geolocation information derived from the client's IP address.
internal/domain/models.go:32
InterfaceIPLocator
IPLocator interface to fetch IP-related data.
internal/weather/weather.go:29
StructIPLocatorGeoIP2
IPLocatorGeoIP2 is an implementation of IPLocator using MaxMind GeoIP2 / GeoLite2 City database.
internal/ip/geoip2.go:14
StructJ1Renderer
internal/renderer/renderer_j1.go:10
StructJ2Renderer
J2Renderer is a renderer that produces a minified JSON output of weather data with hourly entries removed for a more compact representation.
internal/renderer/renderer_j2.go:12
StructJSONFormatter
internal/formatter/formatter.go:15
StructL10n
L10n is a convenient wrapper that provides pre-bound localization functions for a specific language from Options. Use `l10n` as the variable name to
internal/localization/localizer.go:42
StructLRUCacher
LRUCacher is a Cacher implementation backed by an LRU cache with support for in-progress markers to prevent thundering herd problems.
internal/cache/lru.go:24
FuncTypeLocalize
func(text string) string
internal/renderer/v2/renderer.go:25
FuncTypeLocalizeFunc
LocalizeFunc is a language-bound text localization function.
internal/localization/localizer.go:30
InterfaceLocalizer
Localizer provides localized strings for a specific language.
internal/localization/localizer.go:13
StructLocation
Location represents a cached geocoding result.
internal/location/cache.go:40
StructLocation
Location represents a geographic location for which weather data is requested. It can be populated either from user input (city name, coordinates) or
internal/domain/models.go:46
InterfaceLocator
Locator interface to fetch location-related data.
internal/weather/weather.go:34
StructLogSuppressor
LogSuppressor provides io.Writer interface for logging with lines suppression. For usage with log.Logger.
internal/logging/suppress.go:11
StructNearestArea
NearestArea represents information about the nearest location/area.
internal/domain/weather.go:39
StructNoOpCacher
NoOpCacher is a no-operation implementation of Cacher. Used when a cache layer is disabled in configuration.
internal/cache/noop.go:12
StructNominatim
internal/location/nominatim.go:14
StructOnelineRenderer
OnelineRenderer is responsible for rendering weather data in the compact one-line text format (?format=... or preconfigured IDs). It implements the w
internal/renderer/oneline/oneline.go:27
StructOptionConfig
OptionConfig mirrors the YAML structure (adjusted for generation needs)
internal/generate/options.go:140
StructOptions
Options represents parsed and validated wttr.in query options.
internal/options/options.go:11
StructOptionsConfig
OptionsConfig is the root of the YAML
internal/generate/options.go:158
StructPNGFormatter
PNGFormatter converts ANSI-rendered weather output into a PNG image.
internal/formatter/png.go:11
StructPNGOptions
PNGOptions contains all options relevant to ANSI → PNG rendering.
internal/formatter/ansitopng/options.go:12
StructPageRenderer
PageRenderer serves static embedded text pages (help, about, ...). It now fully supports multilanguage via the Localizer.
internal/renderer/renderer_page.go:14
StructParsedCurrentCondition
ParsedCurrentCondition is a normalized, ready-to-use view of current weather extracted from the WorldWeatherOnline-style JSON response
internal/renderer/oneline/data_parse.go:14
StructPreconfiguredFormat
PreconfiguredFormat represents one named preset for ?format=...
internal/defs/defs.go:89
StructPrometheusRenderer
internal/renderer/renderer_p1.go:53
InterfaceProvider
internal/location/search.go:5
StructQuery
Query represents the complete context of a single weather request. It aggregates all information needed to process and respond to a request: client d
internal/domain/models.go:119
StructQueryOption
QueryOption defines a single query option for wttr.in, such as `lang` or `format`.
internal/defs/defs.go:26
InterfaceQueryParser
QueryParser parses wttr.in / curl wttr.in style HTTP query strings and returns the result as a strongly-typed *options.Options struct.
internal/weather/weather.go:50
StructRange
Range defines a numeric range for integer-type query options.
internal/defs/defs.go:62
StructRenderContext
RenderContext holds everything a single placeholder might need
internal/renderer/oneline/oneline.go:75
FuncTypeRenderFunc
────────────────────────────────────────────────────────────────────────────── Unified render function signature ─────────────────────────────────────
internal/renderer/oneline/oneline.go:21
StructRenderOutput
RenderOutput is the intermediate result produced by a Renderer. It typically contains ANSI-colored or plain text output intended for terminal or furt
internal/domain/models.go:102
InterfaceRenderer
Renderer interface for rendering weather data into a visual representation.
internal/weather/weather.go:39
StructRenderer
Renderer implements weather.Renderer by executing an external subprocess.
internal/renderer/subprocess/subprocess.go:50
StructRequest
Request represents the parameters used for the weather query.
internal/domain/weather.go:50
InterfaceRequestLogger
internal/weather/weather.go:71
StructRequestLogger
RequestLogger logs incoming HTTP requests with aggregation and periodic flushing.
internal/logging/logging.go:14
StructSearcher
internal/location/search.go:10
StructSubprocessRoute
SubprocessRoute defines a single routing rule for the subprocess renderer.
internal/renderer/subprocess/subprocess.go:26
StructTLSCertConfig
TLSCertConfig defines one certificate + its matching domain(s).
internal/server/config.go:22
StructTerminalFormatter
Formatter Implementations
internal/formatter/formatter.go:6
StructTextFormatter
internal/formatter/formatter.go:24
StructTimeTracker
TimeTracker holds timing information for each step in the pipeline.
internal/weather/weather.go:80
InterfaceUplinkProcessor
internal/weather/weather.go:75
StructUplinkProcessor
UplinkProcessor handles incoming requests.
internal/uplink/uplink.go:20
StructV1Renderer
V1Renderer renders weather in the classic wttr.in v1 style.
internal/renderer/v1/renderer.go:20
StructV2Renderer
V2Renderer implements the rich panel view (temperature diagram, rain sparkline, weather emojis, colored wind, astronomical data, frame, etc.)
internal/renderer/v2/renderer.go:18
StructValueItem
ValueItem is a common wrapper used for most description/icon fields (single object with "value" key).
internal/domain/weather.go:129
StructWWOConfig
WWOConfig holds configuration for the weather API (e.g. World Weather Online)
internal/weather/weatherer_wwo.go:15
StructWeather
WeatherData represents the top-level structure of the weather API response.
internal/domain/weather.go:4
StructWeatherClient
WeatherClient fetches weather data with controlled concurrency and connection reuse.
internal/weather/weatherer_wwo.go:22
StructWeatherDay
WeatherDay represents daily weather forecast data (one entry per date).
internal/domain/weather.go:56
StructWeatherService
WeatherService struct holds the components necessary for processing a query.
internal/weather/weather.go:100
InterfaceWeatherer
Weatherer interface to fetch weather data based on location and language.
internal/weather/weather.go:24
StructWttrInOptions
WttrInOptions represents the configuration for wttr.in query options and format specifiers.
internal/defs/defs.go:19
Structastro
internal/renderer/v1/types.go:18
StructcacheLocator
cacheLocator implements Locator using wttr.in's Cache + Resolve logic
internal/weather/locator_adapter.go:19
TypeAliascertMap
certMap maps domain name -> certificate
internal/server/server.go:26
Structcond
internal/renderer/v1/types.go:3
Structfield
internal/renderer/v2/block_textualinformation.go:77
InterfaceheaderWriter
internal/server/server.go:121
StructipCacheLocator
internal/ip/iplocator_adapter.go:10
StructlanguageData
languageData holds preloaded translation data for one language.
internal/translate/bundle.go:14
next →1–100 of 112, ranked by callers