UNPKG

ws-dottie

Version:

Your friendly TypeScript companion for Washington State transportation APIs - WSDOT and WSF data with smart caching and React Query integration

1 lines 14.3 kB
{"version":3,"sources":["../src/apis/wsdot-weather-information/apiMeta.ts","../src/apis/wsdot-weather-information/weatherInfo/searchWeatherInformation.ts","../src/apis/wsdot-weather-information/weatherInfo/weatherInformation.ts","../src/apis/wsdot-weather-information/weatherInfo/weatherInformationByStationId.ts","../src/apis/wsdot-weather-information/weatherInfo/shared/weatherInfo.endpoints.ts","../src/apis/wsdot-weather-information/weatherInfo/currentWeatherForStations.ts"],"names":["wsdotWeatherInformationApiMeta","init_apiMeta","__esmMin","searchWeatherInformationMeta","fetch","useHook","searchWeatherInformation","useSearchWeatherInformation","init_searchWeatherInformation","init_factories","init_utils","init_weatherInfo_input","init_weatherInfo_output","searchWeatherInformationInputSchema","weatherInfoSchema","datesHelper","createFetchAndHook","p","weatherInformationMeta","fetchWeatherInformation","useWeatherInformation","init_weatherInformation","weatherInformationInputSchema","weatherInformationByStationIdMeta","fetchWeatherInformationByStationId","useWeatherInformationByStationId","init_weatherInformationByStationId","weatherInformationByStationIdInputSchema","weatherInfo_endpoints_exports","__export","weatherInfoGroup","init_weatherInfo_endpoints","init_currentWeatherForStations","currentWeatherForStationsMeta","fetchCurrentWeatherForStations","useCurrentWeatherForStations","currentWeatherForStationsInputSchema"],"mappings":"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","file":"chunk-QDQVU3AW.mjs","sourcesContent":["import type { ApiMeta } from \"@/apis/types\";\n\n/**\n * API metadata for WSDOT Weather Information API\n */\nexport const wsdotWeatherInformationApiMeta: ApiMeta = {\n name: \"wsdot-weather-information\",\n baseUrl:\n \"https://wsdot.wa.gov/traffic/api/WeatherInformation/WeatherInformationREST.svc\",\n};\n","import type { EndpointMeta } from \"@/apis/types\";\nimport {\n createFetchAndHook,\n type FetchFactory,\n type HookFactory,\n} from \"@/shared/factories\";\nimport { datesHelper } from \"@/shared/utils\";\nimport { wsdotWeatherInformationApiMeta } from \"../apiMeta\";\nimport {\n type SearchWeatherInformationInput,\n searchWeatherInformationInputSchema,\n} from \"./shared/weatherInfo.input\";\nimport {\n type WeatherInfo,\n weatherInfoSchema,\n} from \"./shared/weatherInfo.output\";\n\n/**\n * Metadata for the searchWeatherInformation endpoint\n */\nexport const searchWeatherInformationMeta = {\n functionName: \"searchWeatherInformation\",\n endpoint:\n \"/SearchWeatherInformationAsJson?StationID={StationID}&SearchStartTime={SearchStartTime}&SearchEndTime={SearchEndTime}\",\n inputSchema: searchWeatherInformationInputSchema,\n outputSchema: weatherInfoSchema.array(),\n sampleParams: {\n StationID: 1980,\n SearchStartTime: new Date(\n `${datesHelper.yesterday()}T00:00:00Z`\n ).toISOString(),\n SearchEndTime: new Date(`${datesHelper.today()}T23:59:59Z`).toISOString(),\n },\n endpointDescription:\n \"Search historical weather information for a station within a time range.\",\n} satisfies EndpointMeta<SearchWeatherInformationInput, WeatherInfo[]>;\n\n/**\n * Fetch function for retrieving historical weather information for a station within a time range\n */\nconst { fetch, useHook } = createFetchAndHook<\n SearchWeatherInformationInput,\n WeatherInfo[]\n>({\n api: wsdotWeatherInformationApiMeta,\n endpoint: searchWeatherInformationMeta,\n getCacheStrategy: () =>\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(\"./shared/weatherInfo.endpoints\").weatherInfoGroup.cacheStrategy,\n});\n\n/**\n * Fetch function for retrieving historical weather information for a station within a time range\n */\nexport const searchWeatherInformation: FetchFactory<\n SearchWeatherInformationInput,\n WeatherInfo[]\n> = fetch;\n\n/**\n * React Query hook for retrieving historical weather information for a station within a time range\n */\nexport const useSearchWeatherInformation: HookFactory<\n SearchWeatherInformationInput,\n WeatherInfo[]\n> = useHook;\n","import type { EndpointMeta } from \"@/apis/types\";\nimport {\n createFetchAndHook,\n type FetchFactory,\n type HookFactory,\n} from \"@/shared/factories\";\nimport { wsdotWeatherInformationApiMeta } from \"../apiMeta\";\nimport {\n type WeatherInformationInput,\n weatherInformationInputSchema,\n} from \"./shared/weatherInfo.input\";\nimport {\n type WeatherInfo,\n weatherInfoSchema,\n} from \"./shared/weatherInfo.output\";\n\n/**\n * Metadata for the fetchWeatherInformation endpoint\n */\nexport const weatherInformationMeta = {\n functionName: \"fetchWeatherInformation\",\n endpoint: \"/GetCurrentWeatherInformationAsJson\",\n inputSchema: weatherInformationInputSchema,\n outputSchema: weatherInfoSchema.array(),\n sampleParams: {},\n endpointDescription: \"List current weather information for all stations.\",\n} satisfies EndpointMeta<WeatherInformationInput, WeatherInfo[]>;\n\n/**\n * Fetch function for retrieving current weather information for all stations\n */\nconst { fetch, useHook } = createFetchAndHook<\n WeatherInformationInput,\n WeatherInfo[]\n>({\n api: wsdotWeatherInformationApiMeta,\n endpoint: weatherInformationMeta,\n getCacheStrategy: () =>\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(\"./shared/weatherInfo.endpoints\").weatherInfoGroup.cacheStrategy,\n});\n\n/**\n * Fetch function for retrieving current weather information for all stations\n */\nexport const fetchWeatherInformation: FetchFactory<\n WeatherInformationInput,\n WeatherInfo[]\n> = fetch;\n\n/**\n * React Query hook for retrieving current weather information for all stations\n */\nexport const useWeatherInformation: HookFactory<\n WeatherInformationInput,\n WeatherInfo[]\n> = useHook;\n","import type { EndpointMeta } from \"@/apis/types\";\nimport {\n createFetchAndHook,\n type FetchFactory,\n type HookFactory,\n} from \"@/shared/factories\";\nimport { wsdotWeatherInformationApiMeta } from \"../apiMeta\";\nimport {\n type WeatherInformationByStationIdInput,\n weatherInformationByStationIdInputSchema,\n} from \"./shared/weatherInfo.input\";\nimport {\n type WeatherInfo,\n weatherInfoSchema,\n} from \"./shared/weatherInfo.output\";\n\n/**\n * Metadata for the fetchWeatherInformationByStationId endpoint\n */\nexport const weatherInformationByStationIdMeta = {\n functionName: \"fetchWeatherInformationByStationId\",\n endpoint:\n \"/GetCurrentWeatherInformationByStationIDAsJson?StationID={StationID}\",\n inputSchema: weatherInformationByStationIdInputSchema,\n outputSchema: weatherInfoSchema,\n sampleParams: { StationID: 1909 },\n endpointDescription:\n \"Get current weather information for a specific station by ID.\",\n} satisfies EndpointMeta<WeatherInformationByStationIdInput, WeatherInfo>;\n\n/**\n * Fetch function for retrieving current weather information for a specific station by ID\n */\nconst { fetch, useHook } = createFetchAndHook<\n WeatherInformationByStationIdInput,\n WeatherInfo\n>({\n api: wsdotWeatherInformationApiMeta,\n endpoint: weatherInformationByStationIdMeta,\n getCacheStrategy: () =>\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(\"./shared/weatherInfo.endpoints\").weatherInfoGroup.cacheStrategy,\n});\n\n/**\n * Fetch function for retrieving current weather information for a specific station by ID\n */\nexport const fetchWeatherInformationByStationId: FetchFactory<\n WeatherInformationByStationIdInput,\n WeatherInfo\n> = fetch;\n\n/**\n * React Query hook for retrieving current weather information for a specific station by ID\n */\nexport const useWeatherInformationByStationId: HookFactory<\n WeatherInformationByStationIdInput,\n WeatherInfo\n> = useHook;\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { currentWeatherForStationsMeta } from \"../currentWeatherForStations\";\nimport { searchWeatherInformationMeta } from \"../searchWeatherInformation\";\nimport { weatherInformationMeta } from \"../weatherInformation\";\nimport { weatherInformationByStationIdMeta } from \"../weatherInformationByStationId\";\n\n/**\n * Endpoint group metadata for weather information endpoints\n */\nexport const weatherInfoGroup: EndpointGroupMeta = {\n name: \"weather-info\",\n cacheStrategy: \"FREQUENT\",\n documentation: {\n summary:\n \"Current atmospheric conditions from WSDOT Road Weather Information System stations.\",\n description:\n \"Real-time temperature, humidity, wind conditions, visibility, barometric pressure, and precipitation data for transportation operations.\",\n useCases: [\n \"Assess road weather conditions for transportation management.\",\n \"Monitor atmospheric data for traveler safety decisions.\",\n \"Display current weather conditions at specific stations.\",\n \"Query historical weather data by station and time range.\",\n ],\n updateFrequency: \"5m\",\n },\n endpoints: [\n weatherInformationMeta,\n weatherInformationByStationIdMeta,\n currentWeatherForStationsMeta,\n searchWeatherInformationMeta,\n ],\n};\n","import type { EndpointMeta } from \"@/apis/types\";\nimport {\n createFetchAndHook,\n type FetchFactory,\n type HookFactory,\n} from \"@/shared/factories\";\nimport { wsdotWeatherInformationApiMeta } from \"../apiMeta\";\nimport {\n type CurrentWeatherForStationsInput,\n currentWeatherForStationsInputSchema,\n} from \"./shared/weatherInfo.input\";\nimport {\n type WeatherInfo,\n weatherInfoSchema,\n} from \"./shared/weatherInfo.output\";\n\n/**\n * Metadata for the fetchCurrentWeatherForStations endpoint\n */\nexport const currentWeatherForStationsMeta = {\n functionName: \"fetchCurrentWeatherForStations\",\n endpoint: \"/GetCurrentWeatherForStationsAsJson?StationList={StationList}\",\n inputSchema: currentWeatherForStationsInputSchema,\n outputSchema: weatherInfoSchema.array(),\n sampleParams: { StationList: \"1909,1966,1970\" },\n endpointDescription:\n \"Get current weather information for multiple specified stations.\",\n} satisfies EndpointMeta<CurrentWeatherForStationsInput, WeatherInfo[]>;\n\n/**\n * Fetch function for retrieving current weather information for multiple specified stations\n */\nconst { fetch, useHook } = createFetchAndHook<\n CurrentWeatherForStationsInput,\n WeatherInfo[]\n>({\n api: wsdotWeatherInformationApiMeta,\n endpoint: currentWeatherForStationsMeta,\n getCacheStrategy: () =>\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(\"./shared/weatherInfo.endpoints\").weatherInfoGroup.cacheStrategy,\n});\n\n/**\n * Fetch function for retrieving current weather information for multiple specified stations\n */\nexport const fetchCurrentWeatherForStations: FetchFactory<\n CurrentWeatherForStationsInput,\n WeatherInfo[]\n> = fetch;\n\n/**\n * React Query hook for retrieving current weather information for multiple specified stations\n */\nexport const useCurrentWeatherForStations: HookFactory<\n CurrentWeatherForStationsInput,\n WeatherInfo[]\n> = useHook;\n"]}