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 • 7.01 kB
Source Map (JSON)
{"version":3,"sources":["../src/apis/wsdot-traffic-flow/apiMeta.ts","../src/apis/wsdot-traffic-flow/flowData/trafficFlows.ts","../src/apis/wsdot-traffic-flow/flowData/shared/flowData.endpoints.ts","../src/apis/wsdot-traffic-flow/flowData/trafficFlowById.ts"],"names":["wsdotTrafficFlowApiMeta","init_apiMeta","__esmMin","trafficFlowsMeta","fetch","useHook","fetchTrafficFlows","useTrafficFlows","init_trafficFlows","init_factories","init_flowData_input","init_flowData_output","trafficFlowsInputSchema","flowDataSchema","createFetchAndHook","flowData_endpoints_exports","__export","flowDataGroup","init_flowData_endpoints","init_trafficFlowById","trafficFlowByIdMeta","fetchTrafficFlowById","useTrafficFlowById","trafficFlowByIdInputSchema","s"],"mappings":"8KAAA,IAKaA,EALbC,CAAAA,CAAAC,CAAAA,CAAA,IAAA,CAKaF,CAAAA,CAAmC,CAC9C,IAAA,CAAM,oBAAA,CACN,OAAA,CACE,sEACJ,KCTA,IAgBaG,CAAAA,CAaLC,CAAAA,CAAOC,CAAAA,CAWFC,EAMAC,CAAAA,CA9CbC,CAAAA,CAAAN,CAAAA,CAAA,IAAA,CACAO,IAKAR,CAAAA,EAAAA,CACAS,GAAAA,EAAAA,CAIAC,GAAAA,EAAAA,CAKaR,CAAAA,CAAmB,CAC9B,YAAA,CAAc,mBAAA,CACd,QAAA,CAAU,wBAAA,CACV,YAAaS,CAAAA,CACb,YAAA,CAAcC,GAAAA,CAAe,KAAA,GAC7B,YAAA,CAAc,EAAC,CACf,mBAAA,CACE,kEACJ,CAAA,CAKM,CAAE,KAAA,CAAAT,CAAAA,CAAO,QAAAC,CAAAA,CAAAA,CAAYS,GAAAA,CAAkD,CAC3E,GAAA,CAAKd,EACL,QAAA,CAAUG,CAAAA,CACV,gBAAA,CAAkB,IAEhB,aAAuC,aAAA,CAAc,aACzD,CAAC,CAAA,CAKYG,EACXF,CAAAA,CAKWG,CAAAA,CACXF,EAAAA,CAAAA,EC/CF,IAAAU,EAAA,EAAA,CAAAC,GAAAA,CAAAD,CAAAA,CAAA,CAAA,aAAA,CAAA,IAAAE,IAAA,IAOaA,CAAAA,CAPbC,CAAAA,CAAAhB,CAAAA,CAAA,KACAiB,CAAAA,EAAAA,CACAX,CAAAA,EAAAA,CAKaS,CAAAA,CAAmC,CAC9C,KAAM,WAAA,CACN,aAAA,CAAe,UAAA,CACf,aAAA,CAAe,CACb,OAAA,CACE,iFAAA,CACF,WAAA,CACE,mHAAA,CACF,SAAU,CACR,uEAAA,CACA,4DAAA,CACA,iEACF,EACA,eAAA,CAAiB,KACnB,CAAA,CACA,SAAA,CAAW,CAACd,CAAAA,CAAkBiB,CAAmB,CACnD,EAAA,CAAA,MCPaA,CAAAA,CAaLhB,CAAAA,CAAOC,CAAAA,CAcFgB,CAAAA,CAQAC,EAnDbH,CAAAA,CAAAjB,CAAAA,CAAA,IAAA,CACAO,CAAAA,EAAAA,CAKAR,IACAS,GAAAA,EAAAA,CAIAC,GAAAA,EAAAA,CAKaS,CAAAA,CAAsB,CACjC,aAAc,sBAAA,CACd,QAAA,CAAU,+CAAA,CACV,WAAA,CAAaG,IACb,YAAA,CAAcV,GAAAA,CACd,YAAA,CAAc,CAAE,WAAY,IAAK,CAAA,CACjC,mBAAA,CACE,kEACJ,EAKM,CAAE,KAAA,CAAAT,CAAAA,CAAO,OAAA,CAAAC,GAAYS,GAAAA,CAGzB,CACA,GAAA,CAAKd,CAAAA,CACL,SAAUoB,CAAAA,CACV,gBAAA,CAAkB,IAEhB,CAAA,CAAA,EAAA,CAAAI,GAAA,CAAA,CAAA,CAAA,EAAuC,cAAc,aACzD,CAAC,CAAA,CAKYH,CAAAA,CAGTjB,EAKSkB,CAAAA,CACXjB,EAAAA,CAAAA","file":"chunk-VKVXEZNC.mjs","sourcesContent":["import type { ApiMeta } from \"@/apis/types\";\n\n/**\n * API metadata for WSDOT Traffic Flow API\n */\nexport const wsdotTrafficFlowApiMeta: ApiMeta = {\n name: \"wsdot-traffic-flow\",\n baseUrl:\n \"https://www.wsdot.wa.gov/traffic/api/trafficflow/trafficflowrest.svc\",\n};\n","import type { EndpointMeta } from \"@/apis/types\";\nimport {\n createFetchAndHook,\n type FetchFactory,\n type HookFactory,\n} from \"@/shared/factories\";\nimport { wsdotTrafficFlowApiMeta } from \"../apiMeta\";\nimport {\n type TrafficFlowsInput,\n trafficFlowsInputSchema,\n} from \"./shared/flowData.input\";\nimport { type FlowData, flowDataSchema } from \"./shared/flowData.output\";\n\n/**\n * Metadata for the fetchTrafficFlows endpoint\n */\nexport const trafficFlowsMeta = {\n functionName: \"fetchTrafficFlows\",\n endpoint: \"/getTrafficFlowsAsJson\",\n inputSchema: trafficFlowsInputSchema,\n outputSchema: flowDataSchema.array(),\n sampleParams: {},\n endpointDescription:\n \"List current traffic flow conditions for all stations statewide.\",\n} satisfies EndpointMeta<TrafficFlowsInput, FlowData[]>;\n\n/**\n * Fetch function for retrieving current traffic flow conditions for all stations statewide\n */\nconst { fetch, useHook } = createFetchAndHook<TrafficFlowsInput, FlowData[]>({\n api: wsdotTrafficFlowApiMeta,\n endpoint: trafficFlowsMeta,\n getCacheStrategy: () =>\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(\"./shared/flowData.endpoints\").flowDataGroup.cacheStrategy,\n});\n\n/**\n * Fetch function for retrieving current traffic flow conditions for all stations statewide\n */\nexport const fetchTrafficFlows: FetchFactory<TrafficFlowsInput, FlowData[]> =\n fetch;\n\n/**\n * React Query hook for retrieving current traffic flow conditions for all stations statewide\n */\nexport const useTrafficFlows: HookFactory<TrafficFlowsInput, FlowData[]> =\n useHook;\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { trafficFlowByIdMeta } from \"../trafficFlowById\";\nimport { trafficFlowsMeta } from \"../trafficFlows\";\n\n/**\n * Endpoint group metadata for flow data endpoints\n */\nexport const flowDataGroup: EndpointGroupMeta = {\n name: \"flow-data\",\n cacheStrategy: \"FREQUENT\",\n documentation: {\n summary:\n \"Real-time traffic flow conditions from sensor stations across Washington state.\",\n description:\n \"Current traffic flow readings, station locations, and timestamps for traffic monitoring and congestion detection.\",\n useCases: [\n \"Monitor real-time traffic flow conditions across Washington highways.\",\n \"Detect congestion and traffic patterns for route planning.\",\n \"Display current traffic status in traveler information systems.\",\n ],\n updateFrequency: \"90s\",\n },\n endpoints: [trafficFlowsMeta, trafficFlowByIdMeta],\n};\n","import type { EndpointMeta } from \"@/apis/types\";\nimport {\n createFetchAndHook,\n type FetchFactory,\n type HookFactory,\n} from \"@/shared/factories\";\nimport { wsdotTrafficFlowApiMeta } from \"../apiMeta\";\nimport {\n type TrafficFlowByIdInput,\n trafficFlowByIdInputSchema,\n} from \"./shared/flowData.input\";\nimport { type FlowData, flowDataSchema } from \"./shared/flowData.output\";\n\n/**\n * Metadata for the fetchTrafficFlowById endpoint\n */\nexport const trafficFlowByIdMeta = {\n functionName: \"fetchTrafficFlowById\",\n endpoint: \"/getTrafficFlowAsJson?FlowDataID={FlowDataID}\",\n inputSchema: trafficFlowByIdInputSchema,\n outputSchema: flowDataSchema,\n sampleParams: { FlowDataID: 2482 },\n endpointDescription:\n \"Get current traffic flow condition for a specific station by ID.\",\n} satisfies EndpointMeta<TrafficFlowByIdInput, FlowData>;\n\n/**\n * Fetch function for retrieving current traffic flow condition for a specific station by ID\n */\nconst { fetch, useHook } = createFetchAndHook<\n TrafficFlowByIdInput,\n FlowData\n>({\n api: wsdotTrafficFlowApiMeta,\n endpoint: trafficFlowByIdMeta,\n getCacheStrategy: () =>\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require(\"./shared/flowData.endpoints\").flowDataGroup.cacheStrategy,\n});\n\n/**\n * Fetch function for retrieving current traffic flow condition for a specific station by ID\n */\nexport const fetchTrafficFlowById: FetchFactory<\n TrafficFlowByIdInput,\n FlowData\n> = fetch;\n\n/**\n * React Query hook for retrieving current traffic flow condition for a specific station by ID\n */\nexport const useTrafficFlowById: HookFactory<TrafficFlowByIdInput, FlowData> =\n useHook;\n"]}