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 • 6.33 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","trafficFlowsFactory","fetchTrafficFlows","useTrafficFlows","init_trafficFlows","init_factories","init_flowData_input","init_flowData_output","trafficFlowsInputSchema","flowDataSchema","createFetchAndHook","c","flowData_endpoints_exports","__export","flowDataGroup","init_flowData_endpoints","init_trafficFlowById","trafficFlowByIdMeta","trafficFlowByIdFactory","fetchTrafficFlowById","useTrafficFlowById","trafficFlowByIdInputSchema"],"mappings":"gKAAA,IAKaA,CAAAA,CALbC,CAAAA,CAAAC,CAAAA,CAAA,IAAA,CAKaF,EAAmC,CAC9C,IAAA,CAAM,oBAAA,CACN,OAAA,CACE,sEACJ,EAAA,CAAA,ECTA,IAYaG,CAAAA,CAaPC,CAAAA,CASgBC,EAAyBC,CAAAA,CAlC/CC,CAAAA,CAAAL,CAAAA,CAAA,IAAA,CACAM,CAAAA,EAAAA,CACAP,CAAAA,EAAAA,CACAQ,CAAAA,EAAAA,CAIAC,GAAAA,EAAAA,CAKaP,EAAmB,CAC9B,YAAA,CAAc,mBAAA,CACd,QAAA,CAAU,yBACV,WAAA,CAAaQ,CAAAA,CACb,YAAA,CAAcC,CAAAA,CAAe,OAAM,CACnC,YAAA,CAAc,EAAC,CACf,mBAAA,CACE,kEACJ,CAAA,CAKMR,CAAAA,CAAsBS,IAAkD,CAC5E,GAAA,CAAKb,CAAAA,CACL,QAAA,CAAUG,EACV,gBAAA,CAAkB,IAAM,CAAA,CAAA,EAAA,CAAAW,GAAA,CAAA,CAAA,CAAA,EAAuC,aACjE,CAAC,CAAA,CAKY,CAAE,KAAA,CAAOT,CAAAA,CAAmB,IAAA,CAAMC,CAAAA,CAAAA,CAC7CF,EAAAA,CAAAA,ECnCF,IAAAW,EAAA,EAAA,CAAAC,GAAAA,CAAAD,CAAAA,CAAA,CAAA,aAAA,CAAA,IAAAE,IAAA,IAOaA,CAAAA,CAPbC,CAAAA,CAAAhB,CAAAA,CAAA,KACAiB,CAAAA,EAAAA,CACAZ,CAAAA,EAAAA,CAKaU,CAAAA,CAAmC,CAC9C,IAAA,CAAM,WAAA,CACN,aAAA,CAAe,UAAA,CACf,cAAe,CACb,OAAA,CACE,iFAAA,CACF,WAAA,CACE,oHACF,QAAA,CAAU,CACR,uEAAA,CACA,4DAAA,CACA,iEACF,CAAA,CACA,eAAA,CAAiB,KACnB,CAAA,CACA,SAAA,CAAW,CAACd,CAAAA,CAAkBiB,CAAmB,CACnD,EAAA,CAAA,ECvBA,IAYaA,CAAAA,CAaPC,CAAAA,CAYgBC,EAA4BC,CAAAA,CArClDJ,CAAAA,CAAAjB,CAAAA,CAAA,IAAA,CACAM,IACAP,CAAAA,EAAAA,CACAQ,CAAAA,EAAAA,CAIAC,GAAAA,EAAAA,CAKaU,CAAAA,CAAsB,CACjC,YAAA,CAAc,sBAAA,CACd,QAAA,CAAU,gDACV,WAAA,CAAaI,GAAAA,CACb,YAAA,CAAcZ,CAAAA,CACd,aAAc,CAAE,UAAA,CAAY,IAAK,CAAA,CACjC,oBACE,kEACJ,CAAA,CAKMS,CAAAA,CAAyBR,GAAAA,CAG7B,CACA,GAAA,CAAKb,CAAAA,CACL,QAAA,CAAUoB,EACV,gBAAA,CAAkB,IAAM,CAAA,CAAA,EAAA,CAAAN,GAAA,CAAA,CAAA,CAAA,EAAuC,aACjE,CAAC,CAAA,CAKY,CAAE,KAAA,CAAOQ,CAAAA,CAAsB,KAAMC,CAAAA,CAAAA,CAChDF,EAAAA,CAAAA","file":"chunk-O2BOWBLF.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 { createFetchAndHook } 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 * Factory result for traffic flows\n */\nconst trafficFlowsFactory = createFetchAndHook<TrafficFlowsInput, FlowData[]>({\n api: wsdotTrafficFlowApiMeta,\n endpoint: trafficFlowsMeta,\n getEndpointGroup: () => require(\"./shared/flowData.endpoints\").flowDataGroup,\n});\n\n/**\n * Fetch function and React Query hook for retrieving current traffic flow conditions for all stations statewide\n */\nexport const { fetch: fetchTrafficFlows, hook: useTrafficFlows } =\n trafficFlowsFactory;\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 { createFetchAndHook } 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 * Factory result for traffic flow by ID\n */\nconst trafficFlowByIdFactory = createFetchAndHook<\n TrafficFlowByIdInput,\n FlowData\n>({\n api: wsdotTrafficFlowApiMeta,\n endpoint: trafficFlowByIdMeta,\n getEndpointGroup: () => require(\"./shared/flowData.endpoints\").flowDataGroup,\n});\n\n/**\n * Fetch function and React Query hook for retrieving current traffic flow condition for a specific station by ID\n */\nexport const { fetch: fetchTrafficFlowById, hook: useTrafficFlowById } =\n trafficFlowByIdFactory;\n"]}