(provider: MarketProvider, quotes: MarketQuote[])
| 21 | } |
| 22 | |
| 23 | function saveCache(provider: MarketProvider, quotes: MarketQuote[]) { |
| 24 | try { |
| 25 | localStorage.setItem(cacheKey(provider), JSON.stringify({ quotes, timestamp: Date.now() })); |
| 26 | } catch { /* quota exceeded — ignore */ } |
| 27 | } |
| 28 | |
| 29 | // --- Yahoo Finance --- |
| 30 | async function fetchYahoo(symbol: string): Promise<MarketQuote> { |
no test coverage detected