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 4.33 kB
{"version":3,"sources":["../src/apis/wsdot-border-crossings/apiMeta.ts","../src/apis/wsdot-border-crossings/borderCrossingData/shared/borderCrossingData.endpoints.ts","../src/apis/wsdot-border-crossings/borderCrossingData/borderCrossings.ts"],"names":["wsdotBorderCrossingsApiMeta","init_apiMeta","__esmMin","borderCrossingData_endpoints_exports","__export","borderCrossingDataGroup","init_borderCrossingData_endpoints","init_borderCrossings","borderCrossingsMeta","borderCrossingsFactory","fetchBorderCrossings","useBorderCrossings","init_factories","init_borderCrossingData_input","init_borderCrossingData_output","borderCrossingsInputSchema","borderCrossingSchema","createFetchAndHook"],"mappings":"4KAAA,IAKaA,CAAAA,CALbC,EAAAC,GAAAA,CAAA,IAAA,CAKaF,EAAuC,CAClD,IAAA,CAAM,yBACN,OAAA,CACE,0EACJ,KCTA,IAAAG,CAAAA,CAAA,GAAAC,GAAAA,CAAAD,CAAAA,CAAA,6BAAAE,CAAAA,CAAAA,CAAAA,CAAA,IAMaA,CAAAA,CANbC,CAAAA,CAAAJ,GAAAA,CAAA,IAAA,CACAK,IAKaF,CAAAA,CAA6C,CACxD,KAAM,sBAAA,CACN,aAAA,CAAe,WACf,aAAA,CAAe,CACb,QACE,2FAAA,CACF,WAAA,CACE,iHACF,QAAA,CAAU,CACR,6DACA,qDAAA,CACA,uEACF,EACA,eAAA,CAAiB,IACnB,CAAA,CACA,SAAA,CAAW,CAACG,CAAmB,CACjC,EAAA,CAAA,ECtBA,IAeaA,EAaPC,CAAAA,CAagBC,CAAAA,CAA4BC,EAzClDJ,CAAAA,CAAAL,GAAAA,CAAA,KACAU,CAAAA,EAAAA,CACAX,CAAAA,EAAAA,CACAY,MAIAC,GAAAA,EAAAA,CAQaN,CAAAA,CAAsB,CACjC,YAAA,CAAc,sBAAA,CACd,SAAU,2BAAA,CACV,WAAA,CAAaO,GAAAA,CACb,YAAA,CAAcC,CAAAA,CAAqB,KAAA,GACnC,YAAA,CAAc,GACd,mBAAA,CACE,0EACJ,EAKMP,CAAAA,CAAyBQ,GAAAA,CAG7B,CACA,GAAA,CAAKjB,CAAAA,CACL,QAAA,CAAUQ,EACV,gBAAA,CAAkB,IAChB,aAAiD,uBACrD,CAAC,EAKY,CAAE,KAAA,CAAOE,CAAAA,CAAsB,IAAA,CAAMC,CAAAA,CAAAA,CAChDF,EAAAA,CAAAA","file":"chunk-RRWVOURM.mjs","sourcesContent":["import type { ApiMeta } from \"@/apis/types\";\n\n/**\n * API metadata for WSDOT Border Crossings API\n */\nexport const wsdotBorderCrossingsApiMeta: ApiMeta = {\n name: \"wsdot-border-crossings\",\n baseUrl:\n \"https://wsdot.wa.gov/Traffic/api/BorderCrossings/BorderCrossingsREST.svc\",\n};\n","import type { EndpointGroupMeta } from \"@/apis/types\";\nimport { borderCrossingsMeta } from \"../borderCrossings\";\n\n/**\n * Endpoint group metadata for border crossing data endpoints\n */\nexport const borderCrossingDataGroup: EndpointGroupMeta = {\n name: \"border-crossing-data\",\n cacheStrategy: \"FREQUENT\",\n documentation: {\n summary:\n \"Current wait times for Washington border crossings into Canada by crossing and lane type.\",\n description:\n \"Snapshot wait-time data for I-5, SR-543, SR-539, and SR-9 crossings, covering general, Nexus, and truck lanes.\",\n useCases: [\n \"Plan trips into Canada based on current border wait times.\",\n \"Compare wait times across crossings and lane types.\",\n \"Show live wait-time information in traveler or operations dashboards.\",\n ],\n updateFrequency: \"1m\",\n },\n endpoints: [borderCrossingsMeta],\n};\n","import type { EndpointMeta } from \"@/apis/types\";\nimport { createFetchAndHook } from \"@/shared/factories\";\nimport { wsdotBorderCrossingsApiMeta } from \"../apiMeta\";\nimport {\n type BorderCrossingsInput,\n borderCrossingsInputSchema,\n} from \"./shared/borderCrossingData.input\";\nimport {\n type BorderCrossing,\n borderCrossingSchema,\n} from \"./shared/borderCrossingData.output\";\n\n/**\n * Metadata for the fetchBorderCrossings endpoint\n */\nexport const borderCrossingsMeta = {\n functionName: \"fetchBorderCrossings\",\n endpoint: \"/GetBorderCrossingsAsJson\",\n inputSchema: borderCrossingsInputSchema,\n outputSchema: borderCrossingSchema.array(),\n sampleParams: {},\n endpointDescription:\n \"List current wait times for all Washington border crossings into Canada.\",\n} satisfies EndpointMeta<BorderCrossingsInput, BorderCrossing[]>;\n\n/**\n * Factory result for border crossings\n */\nconst borderCrossingsFactory = createFetchAndHook<\n BorderCrossingsInput,\n BorderCrossing[]\n>({\n api: wsdotBorderCrossingsApiMeta,\n endpoint: borderCrossingsMeta,\n getEndpointGroup: () =>\n require(\"./shared/borderCrossingData.endpoints\").borderCrossingDataGroup,\n});\n\n/**\n * Fetch function and React Query hook for retrieving current wait times for all Washington border crossings into Canada\n */\nexport const { fetch: fetchBorderCrossings, hook: useBorderCrossings } =\n borderCrossingsFactory;\n"]}