You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
574 B
15 lines
574 B
11 months ago
|
import { createOpenmeteoClient } from '../integration/weather/openmeteo';
|
||
|
import { WeatherProvider } from '../integration/weather/types';
|
||
|
import { createCachedDataProvider } from '../storage/cache';
|
||
|
import { createKeyValueStorage } from '../storage/inMemoryDB';
|
||
|
|
||
|
export const createOpenmeteoClientWithCache = (): WeatherProvider => {
|
||
|
return {
|
||
|
getCurrentWeather: createCachedDataProvider({
|
||
|
cacheStorage: createKeyValueStorage(20),
|
||
|
getNewValue: createOpenmeteoClient().getCurrentWeather,
|
||
|
ttlMs: 7_200_000,
|
||
|
}),
|
||
|
};
|
||
|
};
|