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 • 20.2 kB
Source Map (JSON)
{"version":3,"sources":["../src/apis/wsf-fares/cacheFlushDate/shared/cacheFlushDate.endpoints.ts","../src/apis/wsf-fares/fareLineItems/shared/fareLineItems.input.ts","../src/apis/wsf-fares/terminalCombo/shared/terminalCombo.output.ts","../src/apis/wsf-fares/fareLineItems/shared/fareLineItems.output.ts","../src/apis/wsf-fares/fareTotals/shared/fareTotals.input.ts","../src/apis/wsf-fares/fareTotals/shared/fareTotals.output.ts","../src/apis/wsf-fares/terminalCombo/shared/terminalCombo.input.ts","../src/apis/wsf-fares/validDateRange/shared/validDateRange.input.ts"],"names":["cacheFlushDate_endpoints_exports","__export","cacheFlushDateFaresGroup","cacheFlushDateFaresMeta","init_cacheFlushDate_endpoints","__esmMin","init_cacheFlushDate","cacheFlushDateInputSchema","cacheFlushDateOutputSchema","fareLineItemsBasicInputSchema","fareLineItemsByTripDateAndTerminalsInputSchema","fareLineItemsVerboseInputSchema","init_fareLineItems_input","init_zod","z","terminalComboFaresSchema","terminalComboFaresVerboseSchema","init_terminalCombo_output","lineItemSchema","lineItemXrefSchema","lineItemVerboseSchema","init_fareLineItems_output","fareTotalsByTripDateAndRouteInputSchema","init_fareTotals_input","fareTotalTypeSchema","fareTotalSchema","init_fareTotals_output","terminalComboInputSchema","terminalComboFaresVerboseInputSchema","init_terminalCombo_input","faresValidDateRangeInputSchema","init_validDateRange_input"],"mappings":"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","file":"chunk-IM37ZGVR.mjs","sourcesContent":["import {\n type CacheFlushDateInput,\n type CacheFlushDateOutput,\n cacheFlushDateInputSchema,\n cacheFlushDateOutputSchema,\n} from \"@/apis/shared/cacheFlushDate\";\nimport type { EndpointGroupMeta, EndpointMeta } from \"@/apis/types\";\n\n/**\n * Metadata for the cache flush date fares endpoint\n */\nexport const cacheFlushDateFaresMeta = {\n functionName: \"fetchCacheFlushDateFares\",\n endpoint: \"/cacheflushdate\",\n inputSchema: cacheFlushDateInputSchema,\n outputSchema: cacheFlushDateOutputSchema,\n sampleParams: {},\n endpointDescription: \"Get cache flush timestamp for static fares data.\",\n} satisfies EndpointMeta<CacheFlushDateInput, CacheFlushDateOutput>;\n\n/**\n * Endpoint group metadata for cache flush date fares endpoints\n */\nexport const cacheFlushDateFaresGroup: EndpointGroupMeta = {\n name: \"cache-flush-date-fares\",\n cacheStrategy: \"STATIC\",\n documentation: {\n summary: \"Cache invalidation timestamp for static WSF fares data.\",\n description:\n \"Returns the UTC datetime when static endpoint data for the wsf-fares API was last updated. Use this endpoint to determine when to invalidate cached fares information.\",\n useCases: [\n \"Poll periodically to detect when static fares data has changed.\",\n \"Invalidate application cache when the returned date changes.\",\n \"Coordinate cache refresh across multiple static endpoints.\",\n ],\n updateFrequency: \"daily\",\n },\n endpoints: [cacheFlushDateFaresMeta],\n};\n","/**\n * @fileoverview Input schemas for WSF Fares API FareLineItems endpoints\n *\n * These schemas define the input parameters for WSF Fares API FareLineItems endpoints.\n * Note: AccessCode is handled separately and is not included in these schemas.\n */\n\nimport { z } from \"@/shared/zod\";\n\nexport const fareLineItemsBasicInputSchema = z\n .object({\n TripDate: z\n .string()\n .describe(\n \"Trip date in YYYY-MM-DD format. Must be within valid date range.\"\n ),\n DepartingTerminalID: z\n .number()\n .describe(\"Numeric ID of the departing terminal.\"),\n ArrivingTerminalID: z\n .number()\n .describe(\"Numeric ID of the arriving terminal.\"),\n RoundTrip: z\n .boolean()\n .describe(\"True for round trip fares, false for one-way fares.\"),\n })\n .describe(\n \"Input parameters for retrieving popular fare line items for a terminal combination.\"\n );\n\nexport type FareLineItemsBasicInput = z.infer<\n typeof fareLineItemsBasicInputSchema\n>;\n\nexport const fareLineItemsByTripDateAndTerminalsInputSchema = z\n .object({\n TripDate: z\n .string()\n .describe(\n \"Trip date in YYYY-MM-DD format. Must be within valid date range.\"\n ),\n DepartingTerminalID: z\n .number()\n .describe(\"Numeric ID of the departing terminal.\"),\n ArrivingTerminalID: z\n .number()\n .describe(\"Numeric ID of the arriving terminal.\"),\n RoundTrip: z\n .boolean()\n .describe(\"True for round trip fares, false for one-way fares.\"),\n })\n .describe(\n \"Input parameters for retrieving all fare line items for a terminal combination.\"\n );\n\nexport type FareLineItemsByTripDateAndTerminalsInput = z.infer<\n typeof fareLineItemsByTripDateAndTerminalsInputSchema\n>;\n\nexport const fareLineItemsVerboseInputSchema = z\n .object({\n TripDate: z\n .string()\n .describe(\n \"Trip date in YYYY-MM-DD format. Must be within valid date range.\"\n ),\n })\n .describe(\n \"Input parameters for retrieving fare line items for all terminal combinations.\"\n );\n\nexport type FareLineItemsVerboseInput = z.infer<\n typeof fareLineItemsVerboseInputSchema\n>;\n","/**\n * @fileoverview Output schemas for WSF Fares API TerminalCombo endpoints\n *\n * These schemas define the response structures for WSF Fares API TerminalCombo endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\n\nexport const terminalComboFaresSchema = z\n .object({\n DepartingDescription: z\n .string()\n .nullable()\n .describe(\n \"Display name of the departing terminal, or null if unavailable.\"\n ),\n ArrivingDescription: z\n .string()\n .nullable()\n .describe(\n \"Display name of the arriving terminal, or null if unavailable.\"\n ),\n CollectionDescription: z\n .string()\n .nullable()\n .describe(\n \"Text description of fare collection procedures for this terminal combination, or null if unavailable.\"\n ),\n })\n .describe(\n \"Fare collection description for a terminal combination with terminal names and collection procedures.\"\n );\n\nexport type TerminalComboFares = z.infer<typeof terminalComboFaresSchema>;\n\nexport const terminalComboFaresVerboseSchema = z\n .object({\n DepartingTerminalID: z\n .number()\n .describe(\"Numeric ID of the departing terminal.\"),\n DepartingDescription: z\n .string()\n .nullable()\n .describe(\n \"Display name of the departing terminal, or null if unavailable.\"\n ),\n ArrivingTerminalID: z\n .number()\n .describe(\"Numeric ID of the arriving terminal.\"),\n ArrivingDescription: z\n .string()\n .nullable()\n .describe(\n \"Display name of the arriving terminal, or null if unavailable.\"\n ),\n CollectionDescription: z\n .string()\n .nullable()\n .describe(\n \"Text description of fare collection procedures for this terminal combination, or null if unavailable.\"\n ),\n })\n .describe(\n \"Fare collection description for a terminal combination with IDs, names, and collection procedures.\"\n );\n\nexport type TerminalComboFaresVerbose = z.infer<\n typeof terminalComboFaresVerboseSchema\n>;\n","/**\n * @fileoverview Output schemas for WSF Fares API FareLineItems endpoints\n *\n * These schemas define the response structures for WSF Fares API FareLineItems endpoints.\n */\n\nimport { z } from \"@/shared/zod\";\nimport { terminalComboFaresVerboseSchema } from \"../../terminalCombo/shared/terminalCombo.output\";\n\nexport const lineItemSchema = z\n .object({\n FareLineItemID: z.number().describe(\"Numeric ID of the fare line item.\"),\n FareLineItem: z\n .string()\n .nullable()\n .describe(\"Display name of the fare line item, or null if unavailable.\"),\n Category: z\n .string()\n .nullable()\n .describe(\n \"Category grouping for the fare (e.g., 'Passenger', 'Vehicle'), or null if unavailable.\"\n ),\n DirectionIndependent: z\n .boolean()\n .describe(\n \"True if fare amount is the same regardless of departure direction, false if it varies by terminal.\"\n ),\n Amount: z.number().describe(\"Fare cost in dollars.\"),\n })\n .describe(\n \"Fare line item with identifier, description, category, direction independence, and cost.\"\n );\n\nexport type LineItem = z.infer<typeof lineItemSchema>;\n\nexport const lineItemXrefSchema = z\n .object({\n TerminalComboIndex: z\n .number()\n .describe(\n \"Array index of terminal combination in TerminalComboVerbose array.\"\n ),\n LineItemIndex: z\n .number()\n .describe(\"Array index of one-way fare line items in LineItems array.\"),\n RoundTripLineItemIndex: z\n .number()\n .describe(\n \"Array index of round trip fare line items in RoundTripLineItems array.\"\n ),\n })\n .describe(\n \"Cross-reference mapping between terminal combinations and fare line item arrays.\"\n );\n\nexport type LineItemXref = z.infer<typeof lineItemXrefSchema>;\n\nexport const lineItemVerboseSchema = z\n .object({\n TerminalComboVerbose: z\n .array(terminalComboFaresVerboseSchema)\n .optional()\n .describe(\"Array of terminal combination information for the trip date.\"),\n LineItemLookup: z\n .array(lineItemXrefSchema)\n .optional()\n .describe(\n \"Array of cross-reference mappings between terminal combinations and fare line items.\"\n ),\n LineItems: z\n .array(z.array(lineItemSchema))\n .optional()\n .describe(\n \"Array of one-way fare line item arrays, one per terminal combination.\"\n ),\n RoundTripLineItems: z\n .array(z.array(lineItemSchema))\n .optional()\n .describe(\n \"Array of round trip fare line item arrays, one per terminal combination.\"\n ),\n })\n .describe(\n \"Comprehensive fare line item data for all terminal combinations on a trip date.\"\n );\n\nexport type LineItemVerbose = z.infer<typeof lineItemVerboseSchema>;\n","/**\n * @fileoverview Input schemas for WSF Fares API FareTotals endpoint\n *\n * These schemas define the input parameters for WSF Fares API FareTotals endpoint.\n * Note: AccessCode is handled separately and is not included in these schemas.\n */\n\nimport { z } from \"@/shared/zod\";\n\nexport const fareTotalsByTripDateAndRouteInputSchema = z\n .object({\n TripDate: z\n .string()\n .describe(\n \"Trip date in YYYY-MM-DD format. Must be within valid date range.\"\n ),\n DepartingTerminalID: z\n .number()\n .describe(\"Numeric ID of the departing terminal.\"),\n ArrivingTerminalID: z\n .number()\n .describe(\"Numeric ID of the arriving terminal.\"),\n RoundTrip: z\n .boolean()\n .describe(\"True for round trip totals, false for one-way totals.\"),\n FareLineItemID: z\n .string()\n .describe(\"Comma-separated list of fare line item IDs (e.g., '1,2,3').\"),\n Quantity: z\n .string()\n .describe(\n \"Comma-separated list of quantities matching FareLineItemID order (e.g., '2,1,0'). Values must be >= 0.\"\n ),\n })\n .describe(\n \"Input parameters for calculating fare totals with selected line items and quantities.\"\n );\n\nexport type FareTotalsByTripDateAndRouteInput = z.infer<\n typeof fareTotalsByTripDateAndRouteInputSchema\n>;\n","/**\n * @fileoverview Output schemas for WSF Fares API FareTotals endpoint\n *\n * These schemas define the response structures for WSF Fares API FareTotals endpoint.\n */\n\nimport { z } from \"@/shared/zod\";\n\nexport const fareTotalTypeSchema = z\n .union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)])\n .describe(\n \"Code indicating total type: 1 = Departing, 2 = Return, 3 = Either (direction independent), 4 = Grand Total.\"\n );\n\nexport type FareTotalType = z.infer<typeof fareTotalTypeSchema>;\n\nexport const fareTotalSchema = z\n .object({\n TotalType: fareTotalTypeSchema.describe(\n \"Code indicating total type: 1 = Departing, 2 = Return, 3 = Either (direction independent), 4 = Grand Total.\"\n ),\n Description: z\n .string()\n .nullable()\n .describe(\n \"Display name of the fare total (e.g., 'Anacortes to Friday Harbor', 'Grand Total'), or null if unavailable.\"\n ),\n BriefDescription: z\n .string()\n .nullable()\n .describe(\n \"Short string representation of total type (e.g., 'Depart', 'Either', 'Total'), or null if unavailable.\"\n ),\n Amount: z\n .number()\n .describe(\"Total fare amount in dollars for this total type.\"),\n })\n .describe(\"Fare total breakdown with type, description, and amount.\");\n\nexport type FareTotal = z.infer<typeof fareTotalSchema>;\n","/**\n * @fileoverview Input schemas for WSF Fares API TerminalCombo endpoints\n *\n * These schemas define the input parameters for WSF Fares API TerminalCombo endpoints.\n * Note: AccessCode is handled separately and is not included in these schemas.\n */\n\nimport { z } from \"@/shared/zod\";\n\nexport const terminalComboInputSchema = z\n .object({\n TripDate: z\n .string()\n .describe(\n \"Trip date in YYYY-MM-DD format. Must be within valid date range.\"\n ),\n DepartingTerminalID: z\n .number()\n .describe(\"Numeric ID of the departing terminal.\"),\n ArrivingTerminalID: z\n .number()\n .describe(\"Numeric ID of the arriving terminal.\"),\n })\n .describe(\n \"Input parameters for retrieving fare collection description for a terminal combination.\"\n );\n\nexport type TerminalComboInput = z.infer<typeof terminalComboInputSchema>;\n\nexport const terminalComboFaresVerboseInputSchema = z\n .object({\n TripDate: z\n .string()\n .describe(\n \"Trip date in YYYY-MM-DD format. Must be within valid date range.\"\n ),\n })\n .describe(\n \"Input parameters for retrieving fare collection descriptions for all terminal combinations.\"\n );\n\nexport type TerminalComboFaresVerboseInput = z.infer<\n typeof terminalComboFaresVerboseInputSchema\n>;\n","/**\n * @fileoverview Input schemas for WSF Fares API ValidDateRange endpoint\n *\n * These schemas define the input parameters for WSF Fares API ValidDateRange endpoint.\n * Note: AccessCode is handled separately and is not included in these schemas.\n */\n\nimport { z } from \"@/shared/zod\";\n\nexport const faresValidDateRangeInputSchema = z\n .object({})\n .describe(\n \"Input parameters for retrieving the validity date range for fares data.\"\n );\n\nexport type FaresValidDateRangeInput = z.infer<\n typeof faresValidDateRangeInputSchema\n>;\n"]}