Versions in this module Expand all Collapse all v1 v1.0.0 Feb 3, 2026 Changes in this version + var CommonCurrencies = []struct{ ... } + var SupportedLanguages = []struct{ ... } + func DetectCarrierFromNumber(trackingNumber string) (name, code, url string, detected bool) + func ExtractFoodItem(query string) string + func GetSupportedCarriers() []struct + func IsNutritionQuery(query string) bool + func ValidateTrackingNumber(trackingNumber string) bool + type AtomEntry struct + ID string + Link AtomLink + Published string + Summary string + Title string + Updated string + type AtomFeed struct + Entries []AtomEntry + Title string + XMLName xml.Name + type AtomLink struct + Href string + Rel string + type Cache struct + func NewCache() *Cache + func (c *Cache) Clear() + func (c *Cache) Close() + func (c *Cache) Delete(key string) + func (c *Cache) Get(key string) (*WidgetData, bool) + func (c *Cache) Keys() []string + func (c *Cache) Set(key string, data *WidgetData, ttl time.Duration) + func (c *Cache) Size() int + type CacheItem struct + Data *WidgetData + ExpiresAt time.Time + type CarrierInfo struct + Code string + Name string + Pattern *regexp.Regexp + Priority int + TrackURL string + type CoinData struct + Change24h float64 + ID string + MarketCap float64 + Name string + Price float64 + Symbol string + Volume24h float64 + type CoinGeckoResponse map[string]struct + type CryptoData struct + Coins []CoinData + type CryptoFetcher struct + func NewCryptoFetcher(cfg *config.CryptoWidgetConfig) *CryptoFetcher + func (f *CryptoFetcher) CacheDuration() time.Duration + func (f *CryptoFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *CryptoFetcher) WidgetType() WidgetType + type CurrencyData struct + Amount float64 + From string + Rate float64 + RateDate string + Rates map[string]float64 + Result float64 + To string + type CurrencyFetcher struct + func NewCurrencyFetcher(apiKey string) *CurrencyFetcher + func (f *CurrencyFetcher) CacheDuration() time.Duration + func (f *CurrencyFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *CurrencyFetcher) WidgetType() WidgetType + type DictionaryData struct + Antonyms []string + Audio string + Meanings []DictionaryMeaning + Phonetic string + Synonyms []string + Word string + type DictionaryDefinition struct + Antonyms []string + Definition string + Example string + Synonyms []string + type DictionaryFetcher struct + func NewDictionaryFetcher() *DictionaryFetcher + func (f *DictionaryFetcher) CacheDuration() time.Duration + func (f *DictionaryFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *DictionaryFetcher) WidgetType() WidgetType + type DictionaryMeaning struct + Definitions []DictionaryDefinition + PartOfSpeech string + type Fetcher interface + CacheDuration func() time.Duration + Fetch func(ctx context.Context, params map[string]string) (*WidgetData, error) + WidgetType func() WidgetType + type GameData struct + AwayScore *int + AwayStats *TeamStats + AwayTeam string + AwayTeamBadge string + AwayTeamID string + HomeScore *int + HomeStats *TeamStats + HomeTeam string + HomeTeamBadge string + HomeTeamID string + ID string + League string + LeagueID string + Round string + Season string + StartTime string + Status GameStatus + StatusDetail string + Venue string + type GameStatus string + const GameStatusCanceled + const GameStatusFinal + const GameStatusLive + const GameStatusPostponed + const GameStatusScheduled + type GeocodingResponse struct + Results []struct{ ... } + type MacroNutrients struct + Carbohydrates float64 + Fat float64 + Fiber float64 + Protein float64 + SaturatedFat float64 + Sugar float64 + type Manager struct + func NewManager(cfg *config.WidgetsConfig) *Manager + func (m *Manager) Close() + func (m *Manager) FetchWidgetData(ctx context.Context, widgetType WidgetType, params map[string]string) (*WidgetData, error) + func (m *Manager) GetAllWidgets() []*Widget + func (m *Manager) GetConfig() *config.WidgetsConfig + func (m *Manager) GetDefaultWidgets() []string + func (m *Manager) GetWidget(widgetType WidgetType) *Widget + func (m *Manager) GetWidgetsByCategory(category WidgetCategory) []*Widget + func (m *Manager) IsEnabled() bool + func (m *Manager) IsWidgetEnabled(widgetType WidgetType) bool + func (m *Manager) RegisterFetcher(fetcher Fetcher) + type NewsData struct + Items []NewsItem + type NewsFetcher struct + func NewNewsFetcher(cfg *config.NewsWidgetConfig) *NewsFetcher + func (f *NewsFetcher) CacheDuration() time.Duration + func (f *NewsFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *NewsFetcher) WidgetType() WidgetType + type NewsItem struct + PublishedAt time.Time + Source string + Summary string + Title string + URL string + type NutrientInfo struct + Amount float64 + DV float64 + Name string + Unit string + type NutritionData struct + BrandName string + Calories float64 + Category string + FDCId string + Macros MacroNutrients + Micros []NutrientInfo + Name string + ServingSize string + ServingSizes []ServingSize + Source string + type NutritionFetcher struct + func NewNutritionFetcher(usdaAPIKey string) *NutritionFetcher + func (f *NutritionFetcher) CacheDuration() time.Duration + func (f *NutritionFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *NutritionFetcher) WidgetType() WidgetType + type OpenMeteoResponse struct + CurrentWeather struct{ ... } + Hourly struct{ ... } + Latitude float64 + Longitude float64 + type RSSChannel struct + Description string + Items []RSSItem + Link string + Title string + type RSSData struct + Items []RSSItemData + type RSSFeed struct + Channel RSSChannel + XMLName xml.Name + type RSSFetcher struct + func NewRSSFetcher(cfg *config.RSSWidgetConfig) *RSSFetcher + func (f *RSSFetcher) CacheDuration() time.Duration + func (f *RSSFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *RSSFetcher) WidgetType() WidgetType + type RSSItem struct + Description string + GUID string + Link string + PubDate string + Title string + type RSSItemData struct + PublishedAt time.Time + Source string + Summary string + Title string + URL string + type RelatedArticle struct + Extract string + Title string + URL string + type ServingSize struct + Calories float64 + Description string + Grams float64 + type SportsData struct + Games []GameData + HasLive bool + LastUpdate string + League string + QueryType string + Team string + type SportsFetcher struct + func NewSportsFetcher(cfg *config.SportsWidgetConfig) *SportsFetcher + func (f *SportsFetcher) CacheDuration() time.Duration + func (f *SportsFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *SportsFetcher) WidgetType() WidgetType + type StockQuote struct + Change float64 + ChangePercent float64 + MarketCap float64 + Name string + Price float64 + Symbol string + Volume int64 + type StocksData struct + Symbols []StockQuote + type StocksFetcher struct + func NewStocksFetcher(cfg *config.StocksWidgetConfig) *StocksFetcher + func (f *StocksFetcher) CacheDuration() time.Duration + func (f *StocksFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *StocksFetcher) WidgetType() WidgetType + type TeamStats struct + Corners int + Fouls int + Possession int + RedCards int + Shots int + ShotsOnGoal int + YellowCards int + type TrackingConfig struct + APIEnabled bool + APIKey string + RateLimitMax int + RateLimitWindow time.Duration + type TrackingData struct + APIEnabled bool + Carrier string + CarrierCode string + CarrierURL string + Detected bool + EstimatedDelivery string + Events []TrackingEvent + LastUpdated time.Time + Status string + StatusCode string + StatusDescription string + TrackingNumber string + type TrackingEvent struct + City string + Country string + Date string + Description string + Location string + State string + StatusCode string + Time string + type TrackingFetcher struct + func NewTrackingFetcher() *TrackingFetcher + func NewTrackingFetcherDefault() *TrackingFetcher + func NewTrackingFetcherSimple() *TrackingFetcher + func NewTrackingFetcherWithConfig(cfg *TrackingConfig) *TrackingFetcher + func (f *TrackingFetcher) CacheDuration() time.Duration + func (f *TrackingFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *TrackingFetcher) HasAPIEnabled() bool + func (f *TrackingFetcher) WidgetType() WidgetType + type TranslateData struct + Confidence float64 + DetectedLang string + Provider string + SourceLang string + SourceText string + TargetLang string + TranslatedText string + type TranslateFetcher struct + func NewTranslateFetcher() *TranslateFetcher + func (f *TranslateFetcher) CacheDuration() time.Duration + func (f *TranslateFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *TranslateFetcher) WidgetType() WidgetType + type TranslateQuery struct + SourceLang string + TargetLang string + Text string + func ParseTranslateQuery(query string) *TranslateQuery + type WeatherData struct + Condition string + Description string + FeelsLike float64 + Humidity int + Icon string + Location string + Temperature float64 + WindSpeed float64 + type WeatherFetcher struct + func NewWeatherFetcher(cfg *config.WeatherWidgetConfig) *WeatherFetcher + func (f *WeatherFetcher) CacheDuration() time.Duration + func (f *WeatherFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *WeatherFetcher) WidgetType() WidgetType + type Widget struct + Category WidgetCategory + Description string + Icon string + Name string + Order int + Type WidgetType + type WidgetCategory string + const CategoryData + const CategoryTool + const CategoryUser + type WidgetData struct + Data interface{} + Error string + Type WidgetType + UpdatedAt time.Time + type WidgetType string + const WidgetCalculator + const WidgetCalendar + const WidgetClock + const WidgetColorPicker + const WidgetConverter + const WidgetCrypto + const WidgetCurrency + const WidgetDictionary + const WidgetIPAddress + const WidgetLoremIpsum + const WidgetNews + const WidgetNotes + const WidgetNutrition + const WidgetQRCode + const WidgetQuickLinks + const WidgetRSS + const WidgetSports + const WidgetStocks + const WidgetTimer + const WidgetTimezone + const WidgetTracking + const WidgetTranslate + const WidgetWeather + const WidgetWikipedia + type WikipediaData struct + Description string + Extract string + Language string + RelatedArticles []RelatedArticle + Thumbnail string + Title string + URL string + type WikipediaFetcher struct + func NewWikipediaFetcher() *WikipediaFetcher + func (f *WikipediaFetcher) CacheDuration() time.Duration + func (f *WikipediaFetcher) Fetch(ctx context.Context, params map[string]string) (*WidgetData, error) + func (f *WikipediaFetcher) WidgetType() WidgetType + type YahooFinanceResponse struct + QuoteResponse struct{ ... }