@opentripplanner/core-utils 4.4.1 → 4.5.1-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.js"],"names":["companyType","PropTypes","shape","id","string","isRequired","label","modes","leafletPathType","bubblingMouseEvents","bool","color","className","dashArray","dashOffset","fill","fillColor","fillOpacity","number","fillRule","lineCap","lineJoin","opacity","renderer","func","stroke","weight","transitOperatorType","agencyId","defaultRouteColor","defaultRouteTextColor","feedId","logo","longNameSplitter","name","order","languageConfigType","stopViewer","zoomBasedSymbolType","getType","minZoom","symbol","elementType","symbolByType","objectOf","transitVehicleType","routeShortName","routeLongName","routeType","status","reportDate","seconds","stopSequence","stopId","vehicleId","tripId","blockId","lat","lon","heading","vehicleRentalMapOverlaySymbolsType","arrayOf","oneOfType","dockStrokeColor","pixels","type","configType","companies","dateTime","timeFormat","dateFormat","longDateFormat","map","overlays","mapSymbols","maxTransitDistance","transitOperators","feedScopedIdType","encodedPolylineType","length","points","elevationData","first","second","alertType","alertHeaderText","alertDescriptionText","alertUrl","effectiveStartDate","stepsType","absoluteDirection","alerts","area","bogusName","distance","elevation","relativeDirection","stayOn","streetName","placeType","arrival","departure","networks","stopCode","stopIndex","vertexType","zoneId","legType","agencyName","agencyTimeZoneOffset","agencyUrl","arrivalDelay","departureDelay","duration","endTime","from","hailedCar","headsign","interlineWithPreviousLeg","intermediateStops","interStopGeometry","legGeometry","mode","pathway","realTime","rentedBike","rentedCar","rentedVehicle","route","routeId","serviceDate","startTime","steps","tncData","company","currency","displayName","estimatedArrival","maxCost","minCost","productId","travelDuration","to","transitLeg","tripBlockId","moneyType","cents","defaultFractionDigits","currencyCode","fareType","details","fareId","price","routes","fare","itineraryType","elevationGained","elevationLost","legs","tooSloped","transfers","transitTime","waitingTime","walkDistance","walkLimitExceeded","walkTime","locationType","timeOptionsType","format","offset","transitIndexStopWithRoutes","code","dist","longName","shortName","stopLayerStopType","transitivePlaceType","place_id","transitiveDataType","journeys","journey_id","journey_name","segments","arc","patterns","pattern_id","from_stop_index","to_stop_index","streetEdges","pattern_name","route_id","stops","geometry","stop_id","places","place_lat","place_lon","place_name","agency_id","route_short_name","route_long_name","route_type","route_color","stop_name","stop_lat","stop_lon","edge_id","stationType","bikesAvailable","isFloatingBike","isFloatingCar","isFloatingVehicle","spacesAvailable","x","y","createChainableTypeChecker","validator","checkType","props","propName","componentName","location","locationName","ReactPropTypeLocationNames","Error","chainedCheckType","bind","latlngType","modeOptionType","selected","showTitle","text","node","title","modeSelectorOptionsType","primary","secondary","tertiary","configuredModeType","configuredModesType","transitModes","accessModes","exclusiveModes","bicycleModes","micromobilityModes","configuredCompanyType","geocodedFeatureType","coordinates","properties","userLocationType","icon","timestamp"],"mappings":"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","sourcesContent":["import PropTypes from \"prop-types\";\nimport { ReactPropTypeLocationNames } from \"react\";\nimport { isValidLatLng } from \"./map\";\n\nexport const companyType = PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n /* a comma-separated string listing the modes that this company has */\n modes: PropTypes.string.isRequired\n});\n\n/**\n * Leaflet path properties to use to style a CircleMarker, Marker or Polyline.\n *\n * See https://leafletjs.com/reference-1.6.0.html#path\n */\nexport const leafletPathType = PropTypes.shape({\n bubblingMouseEvents: PropTypes.bool,\n color: PropTypes.string,\n className: PropTypes.string,\n dashArray: PropTypes.string,\n dashOffset: PropTypes.string,\n fill: PropTypes.bool,\n fillColor: PropTypes.string,\n fillOpacity: PropTypes.number,\n fillRule: PropTypes.string,\n lineCap: PropTypes.string,\n lineJoin: PropTypes.string,\n opacity: PropTypes.number,\n renderer: PropTypes.func,\n stroke: PropTypes.bool,\n weight: PropTypes.number\n});\n\n/**\n * Describes some options to help display data about a transit agency that is\n * configured in an opentripplanner instance.\n */\nexport const transitOperatorType = PropTypes.shape({\n agencyId: PropTypes.string.isRequired,\n defaultRouteColor: PropTypes.string,\n defaultRouteTextColor: PropTypes.string,\n feedId: PropTypes.string.isRequired,\n logo: PropTypes.string,\n longNameSplitter: PropTypes.string,\n name: PropTypes.string,\n order: PropTypes.number\n});\n\nexport const languageConfigType = PropTypes.shape({\n stopViewer: PropTypes.string\n});\n\n/**\n * Defines which symbol to render based on a zoom level, and optionally by entity type.\n * (Only one symbol is rendered for any zoom level.)\n */\nexport const zoomBasedSymbolType = PropTypes.shape({\n /**\n * A function with the signature (entity: object) => string\n * that determines the type of an entity.\n * symbolByType and getType must be either be both specified or both omitted.\n */\n getType: PropTypes.func,\n /**\n * The zoom level beginning at which the marker is drawn,\n * unless another marker with a higher minZoom is met.\n */\n minZoom: PropTypes.number.isRequired,\n /**\n * The symbol-representing component to draw, with the signature\n * ({ entity: object, zoom: number }) => Element\n * where entity must have an id attribute and contain coordinates information for placement on the map.\n */\n symbol: PropTypes.elementType.isRequired,\n /**\n * The symbol-representing component to draw for each entity type,\n * with the same signature as symbol. If a type returned by getType() is not listed,\n * then the component defined in the 'symbol' attribute will be rendered by default.\n * symbolByType and getType must be either be both specified or both omitted.\n */\n symbolByType: PropTypes.objectOf(PropTypes.elementType)\n});\n\n/** describes the objects from the real-time vehicle service */\nexport const transitVehicleType = PropTypes.shape({\n routeShortName: PropTypes.string,\n routeLongName: PropTypes.string,\n routeType: PropTypes.string,\n\n status: PropTypes.string,\n reportDate: PropTypes.string,\n seconds: PropTypes.number,\n\n stopSequence: PropTypes.number,\n stopId: PropTypes.string,\n vehicleId: PropTypes.string,\n tripId: PropTypes.string,\n blockId: PropTypes.string,\n\n lat: PropTypes.number,\n lon: PropTypes.number,\n heading: PropTypes.number\n});\n\nexport const vehicleRentalMapOverlaySymbolsType = PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n dockStrokeColor: PropTypes.string,\n fillColor: PropTypes.string,\n minZoom: PropTypes.number.isRequired,\n pixels: PropTypes.number,\n type: PropTypes.string.isRequired\n }),\n zoomBasedSymbolType\n ]).isRequired\n);\n\n/**\n * Represents the expected configuration of the webapp.\n *\n * Note: this is an incomplete type mapping.\n */\nexport const configType = PropTypes.shape({\n companies: PropTypes.arrayOf(companyType.isRequired),\n dateTime: PropTypes.shape({\n timeFormat: PropTypes.string,\n dateFormat: PropTypes.string,\n longDateFormat: PropTypes.string\n }),\n // TODO: add full typing\n map: PropTypes.shape({\n overlays: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * The applicable companies this overlay covers. Only applicable in\n * certain vehicle rental overlays.\n */\n companies: PropTypes.arrayOf(PropTypes.string.isRequired),\n name: PropTypes.string.isRequired,\n /**\n * The applicable map symbols. Only applicable in vehicle rental\n * overlays.\n */\n mapSymbols: vehicleRentalMapOverlaySymbolsType,\n /**\n * Only used during park and ride queries. This will filter out P&Rs\n * that are further than the specified number of meters from a transit\n * stop.\n */\n maxTransitDistance: PropTypes.number,\n /**\n * The applicable modes this overlay covers. Only applicable in certain\n * vehicle rental overlays.\n */\n modes: PropTypes.arrayOf(PropTypes.string.isRequired),\n /**\n * The type of overlay. Currently valid values include:\n *\n * \"bike-rental\", \"car-rental\", \"micromobility-rental\", \"park-and-ride\",\n * \"stops\", \"tile\"\n */\n type: PropTypes.string.isRequired\n })\n )\n }),\n transitOperators: PropTypes.arrayOf(transitOperatorType)\n});\n\nconst feedScopedIdType = PropTypes.shape({\n agencyId: PropTypes.string,\n id: PropTypes.string\n});\n\nexport const encodedPolylineType = PropTypes.shape({\n length: PropTypes.number.isRequired,\n points: PropTypes.string.isRequired\n});\n\nconst elevationData = PropTypes.arrayOf(\n PropTypes.shape({\n first: PropTypes.number.isRequired,\n second: PropTypes.number.isRequired\n }).isRequired\n);\n\nconst alertType = PropTypes.shape({\n alertHeaderText: PropTypes.string,\n alertDescriptionText: PropTypes.string,\n alertUrl: PropTypes.string,\n effectiveStartDate: PropTypes.number\n});\n\n/**\n * Represents steps in a leg in an itinerary of an OTP plan response. These are\n * only for non-transit modes.\n * See documentation here: http://otp-docs.ibi-transit.com/api/json_WalkStep.html\n */\nexport const stepsType = PropTypes.arrayOf(\n PropTypes.shape({\n absoluteDirection: PropTypes.string,\n alerts: PropTypes.arrayOf(alertType),\n area: PropTypes.bool.isRequired,\n bogusName: PropTypes.bool.isRequired,\n distance: PropTypes.number.isRequired,\n elevation: elevationData.isRequired,\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired,\n relativeDirection: PropTypes.string.isRequired,\n stayOn: PropTypes.bool.isRequired,\n streetName: PropTypes.string.isRequired\n })\n);\n\nexport const placeType = PropTypes.shape({\n arrival: PropTypes.number,\n departure: PropTypes.number,\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n networks: PropTypes.arrayOf(PropTypes.string.isRequired),\n stopCode: PropTypes.string,\n stopId: PropTypes.string,\n stopIndex: PropTypes.number,\n stopSequence: PropTypes.number,\n vertexType: PropTypes.string.isRequired,\n zoneId: PropTypes.string\n});\n\n/**\n * Represents a leg in an itinerary of an OTP plan response. Each leg represents\n * a portion of the overall itinerary that is done until either reaching the\n * destination or transitioning to another mode of travel. See OTP webservice\n * documentation here:\n * http://otp-docs.ibi-transit.com/api/json_Leg.html\n */\nexport const legType = PropTypes.shape({\n agencyId: PropTypes.string,\n agencyName: PropTypes.string,\n agencyTimeZoneOffset: PropTypes.number.isRequired,\n agencyUrl: PropTypes.string,\n alerts: PropTypes.arrayOf(alertType),\n arrivalDelay: PropTypes.number.isRequired,\n departureDelay: PropTypes.number.isRequired,\n distance: PropTypes.number.isRequired,\n duration: PropTypes.number.isRequired,\n endTime: PropTypes.number.isRequired,\n from: placeType.isRequired,\n hailedCar: PropTypes.bool.isRequired,\n headsign: PropTypes.string,\n interlineWithPreviousLeg: PropTypes.bool.isRequired,\n intermediateStops: PropTypes.arrayOf(placeType).isRequired,\n interStopGeometry: PropTypes.arrayOf(encodedPolylineType),\n legGeometry: encodedPolylineType.isRequired,\n mode: PropTypes.string.isRequired,\n pathway: PropTypes.bool.isRequired,\n realTime: PropTypes.bool.isRequired,\n rentedBike: PropTypes.bool.isRequired,\n rentedCar: PropTypes.bool.isRequired,\n rentedVehicle: PropTypes.bool.isRequired,\n route: PropTypes.string,\n routeId: PropTypes.string,\n routeType: PropTypes.number,\n serviceDate: PropTypes.string,\n startTime: PropTypes.number.isRequired,\n steps: stepsType.isRequired,\n tncData: PropTypes.shape({\n company: PropTypes.string.isRequired,\n currency: PropTypes.string.isRequired,\n displayName: PropTypes.string.isRequired,\n estimatedArrival: PropTypes.number.isRequired,\n maxCost: PropTypes.number.isRequired,\n minCost: PropTypes.number.isRequired,\n productId: PropTypes.string.isRequired,\n travelDuration: PropTypes.number.isRequired\n }),\n to: placeType.isRequired,\n transitLeg: PropTypes.bool.isRequired,\n tripBlockId: PropTypes.string,\n tripId: PropTypes.string\n});\n\nconst moneyType = PropTypes.shape({\n cents: PropTypes.number.isRequired,\n currency: PropTypes.shape({\n defaultFractionDigits: PropTypes.number.isRequired,\n currencyCode: PropTypes.string.isRequired,\n symbol: PropTypes.string.isRequired,\n currency: PropTypes.string.isRequired\n }).isRequired\n});\n\n/**\n * Represents the fare component of an itinerary of an OTP plan response. See\n * detailed documentation in OTP webservice documentation here:\n * http://otp-docs.ibi-transit.com/api/json_Fare.html\n *\n * NOTE: so far the fare includes ONLY a fare encountered on public transit and\n * not any bike rental or TNC rental fees.\n */\nexport const fareType = PropTypes.shape({\n details: PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n fareId: PropTypes.oneOfType([PropTypes.string, feedScopedIdType])\n .isRequired,\n price: moneyType.isRequired,\n routes: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, feedScopedIdType])\n ).isRequired\n })\n ).isRequired\n ),\n fare: PropTypes.objectOf(moneyType)\n});\n\n/**\n * Represents an itinerary of an OTP plan response. See detailed documentation\n * in OTP webservice documentation here:\n * http://otp-docs.ibi-transit.com/api/json_Itinerary.html\n */\nexport const itineraryType = PropTypes.shape({\n duration: PropTypes.number.isRequired,\n elevationGained: PropTypes.number.isRequired,\n elevationLost: PropTypes.number.isRequired,\n endTime: PropTypes.number.isRequired,\n fare: fareType,\n legs: PropTypes.arrayOf(legType).isRequired,\n startTime: PropTypes.number.isRequired,\n tooSloped: PropTypes.bool,\n transfers: PropTypes.number.isRequired,\n transitTime: PropTypes.number.isRequired,\n waitingTime: PropTypes.number.isRequired,\n walkDistance: PropTypes.number.isRequired,\n walkLimitExceeded: PropTypes.bool.isRequired,\n walkTime: PropTypes.number.isRequired\n});\n\n/**\n * Used to model a location that is used in planning a trip.\n */\nexport const locationType = PropTypes.shape({\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n /**\n * This is only used location that a user has saved. Can be either:\n * \"home\" or \"work\"\n */\n type: PropTypes.string\n});\n\n/**\n * Used to help display the time of day within the context of a particular itinerary.\n */\nexport const timeOptionsType = PropTypes.shape({\n /**\n * A format string template to be used to display a date using moment.js\n */\n format: PropTypes.string,\n /*\n * The timezone offset in milliseconds if any should be added. This is\n * typically calculated using the itinerary.js#getTimeZoneOffset function.\n */\n offset: PropTypes.number\n});\n\n/**\n * This models data about a stop and it's associated routes that is obtained\n * from a transit index API.\n */\nexport const transitIndexStopWithRoutes = PropTypes.shape({\n /**\n * The stop code if the stop has one\n */\n code: PropTypes.string,\n /**\n * The distance from the user to the stop in meters\n */\n dist: PropTypes.number,\n lat: PropTypes.number,\n lon: PropTypes.number,\n name: PropTypes.string,\n routes: PropTypes.arrayOf(\n PropTypes.shape({\n longName: PropTypes.string,\n shortName: PropTypes.string\n })\n )\n});\n\nexport const stopLayerStopType = PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired\n});\n\nconst transitivePlaceType = PropTypes.shape({\n place_id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired\n});\n\nexport const transitiveDataType = PropTypes.shape({\n journeys: PropTypes.arrayOf(\n PropTypes.shape({\n journey_id: PropTypes.string.isRequired,\n journey_name: PropTypes.string.isRequired,\n segments: PropTypes.arrayOf(\n PropTypes.shape({\n arc: PropTypes.bool,\n from: transitivePlaceType,\n patterns: PropTypes.arrayOf(\n PropTypes.shape({\n pattern_id: PropTypes.string.isRequired,\n from_stop_index: PropTypes.number.isRequired,\n to_stop_index: PropTypes.number.isRequired\n })\n ),\n streetEdges: PropTypes.arrayOf(PropTypes.number),\n to: transitivePlaceType,\n type: PropTypes.string.isRequired\n })\n ).isRequired\n })\n ).isRequired,\n patterns: PropTypes.arrayOf(\n PropTypes.shape({\n pattern_id: PropTypes.string.isRequired,\n pattern_name: PropTypes.string.isRequired,\n route_id: PropTypes.string.isRequired,\n stops: PropTypes.arrayOf(\n PropTypes.shape({\n geometry: PropTypes.string,\n stop_id: PropTypes.string.isRequired\n })\n ).isRequired\n })\n ).isRequired,\n places: PropTypes.arrayOf(\n PropTypes.shape({\n place_id: PropTypes.string.isRequired,\n place_lat: PropTypes.number.isRequired,\n place_lon: PropTypes.number.isRequired,\n place_name: PropTypes.string\n })\n ).isRequired,\n routes: PropTypes.arrayOf(\n PropTypes.shape({\n agency_id: PropTypes.string.isRequired,\n route_id: PropTypes.string.isRequired,\n route_short_name: PropTypes.string.isRequired,\n route_long_name: PropTypes.string.isRequired,\n route_type: PropTypes.number.isRequired,\n route_color: PropTypes.string\n })\n ).isRequired,\n stops: PropTypes.arrayOf(\n PropTypes.shape({\n stop_id: PropTypes.string.isRequired,\n stop_name: PropTypes.string.isRequired,\n stop_lat: PropTypes.number.isRequired,\n stop_lon: PropTypes.number.isRequired\n })\n ).isRequired,\n streetEdges: PropTypes.arrayOf(\n PropTypes.shape({\n edge_id: PropTypes.number.isRequired,\n geometry: encodedPolylineType\n })\n ).isRequired\n});\n\n/**\n * This models data about a vehicle rental station as obtained from various\n * vehicle rental API endpoints from OTP.\n */\nexport const stationType = PropTypes.shape({\n bikesAvailable: PropTypes.number,\n id: PropTypes.string.isRequired,\n isFloatingBike: PropTypes.bool,\n isFloatingCar: PropTypes.bool,\n isFloatingVehicle: PropTypes.bool,\n name: PropTypes.string,\n networks: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,\n spacesAvailable: PropTypes.number,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired\n});\n\n/**\n * Utility function to help create chained validators\n * per https://www.ian-thomas.net/custom-proptype-validation-with-react/\n * @param {*} validator The validator to use.\n */\nexport function createChainableTypeChecker(validator) {\n function checkType(isRequired, props, propName, componentName, location) {\n componentName = componentName || \"ANONYMOUS\";\n if (props[propName] == null) {\n if (isRequired) {\n const locationName = ReactPropTypeLocationNames[location];\n return new Error(\n `Required '${locationName}/${propName}' was not specified in '${componentName}'.`\n );\n }\n return null;\n }\n return validator(props, propName, componentName, location);\n }\n\n const chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\n\nexport const latlngType = createChainableTypeChecker((props, propName) => {\n // Source: https://reactjs.org/docs/typechecking-with-proptypes.html#react.proptypes\n if (!isValidLatLng(props[propName])) {\n return new Error(`${propName} needs to be a [lat, lng] array`);\n }\n return null;\n});\n\nexport const modeOptionType = PropTypes.shape({\n id: PropTypes.string.isRequired,\n selected: PropTypes.bool,\n showTitle: PropTypes.bool,\n text: PropTypes.node.isRequired,\n title: PropTypes.string\n});\n\nexport const modeSelectorOptionsType = PropTypes.shape({\n primary: modeOptionType,\n secondary: PropTypes.arrayOf(modeOptionType),\n tertiary: PropTypes.arrayOf(modeOptionType)\n});\n\nexport const configuredModeType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.shape({\n mode: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n company: PropTypes.string\n })\n]);\n\nexport const configuredModesType = PropTypes.shape({\n transitModes: PropTypes.arrayOf(configuredModeType),\n accessModes: PropTypes.arrayOf(configuredModeType),\n exclusiveModes: PropTypes.arrayOf(configuredModeType),\n bicycleModes: PropTypes.arrayOf(configuredModeType),\n micromobilityModes: PropTypes.arrayOf(configuredModeType)\n});\n\nexport const configuredCompanyType = PropTypes.shape({\n /**\n * The id of the company. This is typically in all-caps.\n */\n id: PropTypes.string.isRequired,\n /**\n * A human readable text value that can be displayed to users.\n */\n label: PropTypes.string.isRequired,\n /**\n * A comma-separated list of applicable modes of travel that the company\n * offers.\n */\n modes: PropTypes.string.isRequired\n});\n\n/**\n * Depending on the geocoder that is used, more properties than just the `label`\n * property might be provided by the geocoder. For example, with the Pelias\n * geocoder, properties such as `id`, `layer`, `source` are also included.\n */\nexport const geocodedFeatureType = PropTypes.shape({\n geometry: PropTypes.shape({\n coordinates: PropTypes.arrayOf(PropTypes.number.isRequired).isRequired,\n type: PropTypes.string.isRequired\n }).isRequired,\n properties: PropTypes.shape({\n label: PropTypes.string.isRequired\n }).isRequired\n});\n\nexport const userLocationType = PropTypes.shape({\n id: PropTypes.string,\n /**\n * Can be either 'home', 'work', or null\n */\n icon: PropTypes.string,\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n /**\n * This represents the last time that this location was selected in a\n * search\n */\n timestamp: PropTypes.number,\n /**\n * One of: 'home', 'work', 'stop' or 'recent'\n */\n type: PropTypes.string.isRequired\n});\n"],"file":"types.js"}
1
+ {"version":3,"sources":["../src/types.js"],"names":["companyType","PropTypes","shape","id","string","isRequired","label","modes","leafletPathType","bubblingMouseEvents","bool","color","className","dashArray","dashOffset","fill","fillColor","fillOpacity","number","fillRule","lineCap","lineJoin","opacity","renderer","func","stroke","weight","transitOperatorType","agencyId","defaultRouteColor","defaultRouteTextColor","feedId","logo","longNameSplitter","name","order","languageConfigType","stopViewer","zoomBasedSymbolType","getType","minZoom","symbol","elementType","symbolByType","objectOf","transitVehicleType","routeShortName","routeLongName","routeType","status","reportDate","seconds","stopSequence","stopId","vehicleId","tripId","blockId","lat","lon","heading","vehicleRentalMapOverlaySymbolsType","arrayOf","oneOfType","dockStrokeColor","pixels","type","configType","companies","dateTime","timeFormat","dateFormat","longDateFormat","map","overlays","mapSymbols","maxTransitDistance","transitOperators","feedScopedIdType","encodedPolylineType","length","points","elevationData","first","second","alertType","alertHeaderText","alertDescriptionText","alertUrl","effectiveStartDate","stepsType","absoluteDirection","alerts","area","bogusName","distance","elevation","relativeDirection","stayOn","streetName","placeType","arrival","departure","networks","stopCode","stopIndex","vertexType","zoneId","legType","agencyName","agencyTimeZoneOffset","agencyUrl","arrivalDelay","departureDelay","duration","endTime","from","hailedCar","headsign","interlineWithPreviousLeg","intermediateStops","interStopGeometry","legGeometry","mode","pathway","realTime","rentedBike","rentedCar","rentedVehicle","route","routeId","serviceDate","startTime","steps","tncData","company","currency","displayName","estimatedArrival","maxCost","minCost","productId","travelDuration","to","transitLeg","tripBlockId","moneyType","cents","defaultFractionDigits","currencyCode","fareType","details","fareId","price","routes","fare","itineraryType","elevationGained","elevationLost","legs","tooSloped","transfers","transitTime","waitingTime","walkDistance","walkLimitExceeded","walkTime","locationType","timeOptionsType","format","offset","transitIndexStopWithRoutes","code","dist","longName","shortName","stopLayerStopType","transitivePlaceType","place_id","transitiveDataType","journeys","journey_id","journey_name","segments","arc","patterns","pattern_id","from_stop_index","to_stop_index","streetEdges","pattern_name","route_id","stops","geometry","stop_id","places","place_lat","place_lon","place_name","agency_id","route_short_name","route_long_name","route_type","route_color","stop_name","stop_lat","stop_lon","edge_id","stationType","bikesAvailable","isFloatingBike","isFloatingCar","isFloatingVehicle","spacesAvailable","x","y","createChainableTypeChecker","validator","checkType","props","propName","componentName","location","locationName","ReactPropTypeLocationNames","Error","chainedCheckType","bind","latlngType","modeOptionType","selected","showTitle","text","node","title","modeSelectorOptionsType","primary","secondary","tertiary","configuredModeType","configuredModesType","transitModes","accessModes","exclusiveModes","bicycleModes","micromobilityModes","configuredCompanyType","geocodedFeatureType","coordinates","properties","userLocationType","icon","timestamp"],"mappings":"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","sourcesContent":["import PropTypes from \"prop-types\";\nimport { ReactPropTypeLocationNames } from \"react\";\nimport { isValidLatLng } from \"./map\";\n\nexport const companyType = PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n /* a comma-separated string listing the modes that this company has */\n modes: PropTypes.string.isRequired\n});\n\n/**\n * Leaflet path properties to use to style a CircleMarker, Marker or Polyline.\n *\n * See https://leafletjs.com/reference-1.6.0.html#path\n */\nexport const leafletPathType = PropTypes.shape({\n bubblingMouseEvents: PropTypes.bool,\n color: PropTypes.string,\n className: PropTypes.string,\n dashArray: PropTypes.string,\n dashOffset: PropTypes.string,\n fill: PropTypes.bool,\n fillColor: PropTypes.string,\n fillOpacity: PropTypes.number,\n fillRule: PropTypes.string,\n lineCap: PropTypes.string,\n lineJoin: PropTypes.string,\n opacity: PropTypes.number,\n renderer: PropTypes.func,\n stroke: PropTypes.bool,\n weight: PropTypes.number\n});\n\n/**\n * Describes some options to help display data about a transit agency that is\n * configured in an opentripplanner instance.\n */\nexport const transitOperatorType = PropTypes.shape({\n agencyId: PropTypes.string.isRequired,\n defaultRouteColor: PropTypes.string,\n defaultRouteTextColor: PropTypes.string,\n feedId: PropTypes.string.isRequired,\n logo: PropTypes.string,\n longNameSplitter: PropTypes.string,\n name: PropTypes.string,\n order: PropTypes.number\n});\n\nexport const languageConfigType = PropTypes.shape({\n stopViewer: PropTypes.string\n});\n\n/**\n * Defines which symbol to render based on a zoom level, and optionally by entity type.\n * (Only one symbol is rendered for any zoom level.)\n */\nexport const zoomBasedSymbolType = PropTypes.shape({\n /**\n * A function with the signature (entity: object) => string\n * that determines the type of an entity.\n * symbolByType and getType must be either be both specified or both omitted.\n */\n getType: PropTypes.func,\n /**\n * The zoom level beginning at which the marker is drawn,\n * unless another marker with a higher minZoom is met.\n */\n minZoom: PropTypes.number.isRequired,\n /**\n * The symbol-representing component to draw, with the signature\n * ({ entity: object, zoom: number }) => Element\n * where entity must have an id attribute and contain coordinates information for placement on the map.\n */\n symbol: PropTypes.elementType.isRequired,\n /**\n * The symbol-representing component to draw for each entity type,\n * with the same signature as symbol. If a type returned by getType() is not listed,\n * then the component defined in the 'symbol' attribute will be rendered by default.\n * symbolByType and getType must be either be both specified or both omitted.\n */\n symbolByType: PropTypes.objectOf(PropTypes.elementType)\n});\n\n/** describes the objects from the real-time vehicle service */\nexport const transitVehicleType = PropTypes.shape({\n routeShortName: PropTypes.string,\n routeLongName: PropTypes.string,\n routeType: PropTypes.string,\n\n status: PropTypes.string,\n reportDate: PropTypes.string,\n seconds: PropTypes.number,\n\n stopSequence: PropTypes.number,\n stopId: PropTypes.string,\n vehicleId: PropTypes.string,\n tripId: PropTypes.string,\n blockId: PropTypes.string,\n\n lat: PropTypes.number,\n lon: PropTypes.number,\n heading: PropTypes.number\n});\n\nexport const vehicleRentalMapOverlaySymbolsType = PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n dockStrokeColor: PropTypes.string,\n fillColor: PropTypes.string,\n minZoom: PropTypes.number.isRequired,\n pixels: PropTypes.number,\n type: PropTypes.string.isRequired\n }),\n zoomBasedSymbolType\n ]).isRequired\n);\n\n/**\n * Represents the expected configuration of the webapp.\n *\n * Note: this is an incomplete type mapping.\n */\nexport const configType = PropTypes.shape({\n companies: PropTypes.arrayOf(companyType.isRequired),\n dateTime: PropTypes.shape({\n timeFormat: PropTypes.string,\n dateFormat: PropTypes.string,\n longDateFormat: PropTypes.string\n }),\n // TODO: add full typing\n map: PropTypes.shape({\n overlays: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * The applicable companies this overlay covers. Only applicable in\n * certain vehicle rental overlays.\n */\n companies: PropTypes.arrayOf(PropTypes.string.isRequired),\n name: PropTypes.string.isRequired,\n /**\n * The applicable map symbols. Only applicable in vehicle rental\n * overlays.\n */\n mapSymbols: vehicleRentalMapOverlaySymbolsType,\n /**\n * Only used during park and ride queries. This will filter out P&Rs\n * that are further than the specified number of meters from a transit\n * stop.\n */\n maxTransitDistance: PropTypes.number,\n /**\n * The applicable modes this overlay covers. Only applicable in certain\n * vehicle rental overlays.\n */\n modes: PropTypes.arrayOf(PropTypes.string.isRequired),\n /**\n * The type of overlay. Currently valid values include:\n *\n * \"bike-rental\", \"car-rental\", \"micromobility-rental\", \"park-and-ride\",\n * \"stops\", \"tile\"\n */\n type: PropTypes.string.isRequired\n })\n )\n }),\n transitOperators: PropTypes.arrayOf(transitOperatorType)\n});\n\nconst feedScopedIdType = PropTypes.shape({\n agencyId: PropTypes.string,\n id: PropTypes.string\n});\n\nexport const encodedPolylineType = PropTypes.shape({\n length: PropTypes.number.isRequired,\n points: PropTypes.string.isRequired\n});\n\nconst elevationData = PropTypes.arrayOf(\n PropTypes.shape({\n first: PropTypes.number.isRequired,\n second: PropTypes.number.isRequired\n }).isRequired\n);\n\nconst alertType = PropTypes.shape({\n alertHeaderText: PropTypes.string,\n alertDescriptionText: PropTypes.string,\n alertUrl: PropTypes.string,\n effectiveStartDate: PropTypes.number\n});\n\n/**\n * Represents steps in a leg in an itinerary of an OTP plan response. These are\n * only for non-transit modes.\n * See documentation here: http://otp-docs.ibi-transit.com/api/json_WalkStep.html\n */\nexport const stepsType = PropTypes.arrayOf(\n PropTypes.shape({\n absoluteDirection: PropTypes.string,\n alerts: PropTypes.arrayOf(alertType),\n area: PropTypes.bool.isRequired,\n bogusName: PropTypes.bool.isRequired,\n distance: PropTypes.number.isRequired,\n elevation: elevationData.isRequired,\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired,\n relativeDirection: PropTypes.string.isRequired,\n stayOn: PropTypes.bool.isRequired,\n streetName: PropTypes.string.isRequired\n })\n);\n\nexport const placeType = PropTypes.shape({\n arrival: PropTypes.number,\n departure: PropTypes.number,\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n networks: PropTypes.arrayOf(PropTypes.string.isRequired),\n stopCode: PropTypes.string,\n stopId: PropTypes.string,\n stopIndex: PropTypes.number,\n stopSequence: PropTypes.number,\n vertexType: PropTypes.string.isRequired,\n zoneId: PropTypes.string\n});\n\n/**\n * Represents a leg in an itinerary of an OTP plan response. Each leg represents\n * a portion of the overall itinerary that is done until either reaching the\n * destination or transitioning to another mode of travel. See OTP webservice\n * documentation here:\n * http://otp-docs.ibi-transit.com/api/json_Leg.html\n */\nexport const legType = PropTypes.shape({\n agencyId: PropTypes.string,\n agencyName: PropTypes.string,\n agencyTimeZoneOffset: PropTypes.number.isRequired,\n agencyUrl: PropTypes.string,\n alerts: PropTypes.arrayOf(alertType),\n arrivalDelay: PropTypes.number.isRequired,\n departureDelay: PropTypes.number.isRequired,\n distance: PropTypes.number.isRequired,\n duration: PropTypes.number.isRequired,\n endTime: PropTypes.number.isRequired,\n from: placeType.isRequired,\n hailedCar: PropTypes.bool,\n headsign: PropTypes.string,\n interlineWithPreviousLeg: PropTypes.bool.isRequired,\n intermediateStops: PropTypes.arrayOf(placeType).isRequired,\n interStopGeometry: PropTypes.arrayOf(encodedPolylineType),\n legGeometry: encodedPolylineType.isRequired,\n mode: PropTypes.string.isRequired,\n pathway: PropTypes.bool.isRequired,\n realTime: PropTypes.bool.isRequired,\n rentedBike: PropTypes.bool.isRequired,\n rentedCar: PropTypes.bool.isRequired,\n rentedVehicle: PropTypes.bool.isRequired,\n route: PropTypes.string,\n routeId: PropTypes.string,\n routeType: PropTypes.number,\n serviceDate: PropTypes.string,\n startTime: PropTypes.number.isRequired,\n steps: stepsType.isRequired,\n tncData: PropTypes.shape({\n company: PropTypes.string.isRequired,\n currency: PropTypes.string.isRequired,\n displayName: PropTypes.string.isRequired,\n estimatedArrival: PropTypes.number.isRequired,\n maxCost: PropTypes.number.isRequired,\n minCost: PropTypes.number.isRequired,\n productId: PropTypes.string.isRequired,\n travelDuration: PropTypes.number.isRequired\n }),\n to: placeType.isRequired,\n transitLeg: PropTypes.bool.isRequired,\n tripBlockId: PropTypes.string,\n tripId: PropTypes.string\n});\n\nconst moneyType = PropTypes.shape({\n cents: PropTypes.number.isRequired,\n currency: PropTypes.shape({\n defaultFractionDigits: PropTypes.number.isRequired,\n currencyCode: PropTypes.string.isRequired,\n symbol: PropTypes.string.isRequired,\n currency: PropTypes.string.isRequired\n }).isRequired\n});\n\n/**\n * Represents the fare component of an itinerary of an OTP plan response. See\n * detailed documentation in OTP webservice documentation here:\n * http://otp-docs.ibi-transit.com/api/json_Fare.html\n *\n * NOTE: so far the fare includes ONLY a fare encountered on public transit and\n * not any bike rental or TNC rental fees.\n */\nexport const fareType = PropTypes.shape({\n details: PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n fareId: PropTypes.oneOfType([PropTypes.string, feedScopedIdType])\n .isRequired,\n price: moneyType.isRequired,\n routes: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, feedScopedIdType])\n ).isRequired\n })\n ).isRequired\n ),\n fare: PropTypes.objectOf(moneyType)\n});\n\n/**\n * Represents an itinerary of an OTP plan response. See detailed documentation\n * in OTP webservice documentation here:\n * http://otp-docs.ibi-transit.com/api/json_Itinerary.html\n */\nexport const itineraryType = PropTypes.shape({\n duration: PropTypes.number.isRequired,\n elevationGained: PropTypes.number.isRequired,\n elevationLost: PropTypes.number.isRequired,\n endTime: PropTypes.number.isRequired,\n fare: fareType,\n legs: PropTypes.arrayOf(legType).isRequired,\n startTime: PropTypes.number.isRequired,\n tooSloped: PropTypes.bool,\n transfers: PropTypes.number.isRequired,\n transitTime: PropTypes.number.isRequired,\n waitingTime: PropTypes.number.isRequired,\n walkDistance: PropTypes.number.isRequired,\n walkLimitExceeded: PropTypes.bool.isRequired,\n walkTime: PropTypes.number.isRequired\n});\n\n/**\n * Used to model a location that is used in planning a trip.\n */\nexport const locationType = PropTypes.shape({\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n /**\n * This is only used location that a user has saved. Can be either:\n * \"home\" or \"work\"\n */\n type: PropTypes.string\n});\n\n/**\n * Used to help display the time of day within the context of a particular itinerary.\n */\nexport const timeOptionsType = PropTypes.shape({\n /**\n * A format string template to be used to display a date using moment.js\n */\n format: PropTypes.string,\n /*\n * The timezone offset in milliseconds if any should be added. This is\n * typically calculated using the itinerary.js#getTimeZoneOffset function.\n */\n offset: PropTypes.number\n});\n\n/**\n * This models data about a stop and it's associated routes that is obtained\n * from a transit index API.\n */\nexport const transitIndexStopWithRoutes = PropTypes.shape({\n /**\n * The stop code if the stop has one\n */\n code: PropTypes.string,\n /**\n * The distance from the user to the stop in meters\n */\n dist: PropTypes.number,\n lat: PropTypes.number,\n lon: PropTypes.number,\n name: PropTypes.string,\n routes: PropTypes.arrayOf(\n PropTypes.shape({\n longName: PropTypes.string,\n shortName: PropTypes.string\n })\n )\n});\n\nexport const stopLayerStopType = PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired\n});\n\nconst transitivePlaceType = PropTypes.shape({\n place_id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired\n});\n\nexport const transitiveDataType = PropTypes.shape({\n journeys: PropTypes.arrayOf(\n PropTypes.shape({\n journey_id: PropTypes.string.isRequired,\n journey_name: PropTypes.string.isRequired,\n segments: PropTypes.arrayOf(\n PropTypes.shape({\n arc: PropTypes.bool,\n from: transitivePlaceType,\n patterns: PropTypes.arrayOf(\n PropTypes.shape({\n pattern_id: PropTypes.string.isRequired,\n from_stop_index: PropTypes.number.isRequired,\n to_stop_index: PropTypes.number.isRequired\n })\n ),\n streetEdges: PropTypes.arrayOf(PropTypes.number),\n to: transitivePlaceType,\n type: PropTypes.string.isRequired\n })\n ).isRequired\n })\n ).isRequired,\n patterns: PropTypes.arrayOf(\n PropTypes.shape({\n pattern_id: PropTypes.string.isRequired,\n pattern_name: PropTypes.string.isRequired,\n route_id: PropTypes.string.isRequired,\n stops: PropTypes.arrayOf(\n PropTypes.shape({\n geometry: PropTypes.string,\n stop_id: PropTypes.string.isRequired\n })\n ).isRequired\n })\n ).isRequired,\n places: PropTypes.arrayOf(\n PropTypes.shape({\n place_id: PropTypes.string.isRequired,\n place_lat: PropTypes.number.isRequired,\n place_lon: PropTypes.number.isRequired,\n place_name: PropTypes.string\n })\n ).isRequired,\n routes: PropTypes.arrayOf(\n PropTypes.shape({\n agency_id: PropTypes.string.isRequired,\n route_id: PropTypes.string.isRequired,\n route_short_name: PropTypes.string.isRequired,\n route_long_name: PropTypes.string.isRequired,\n route_type: PropTypes.number.isRequired,\n route_color: PropTypes.string\n })\n ).isRequired,\n stops: PropTypes.arrayOf(\n PropTypes.shape({\n stop_id: PropTypes.string.isRequired,\n stop_name: PropTypes.string.isRequired,\n stop_lat: PropTypes.number.isRequired,\n stop_lon: PropTypes.number.isRequired\n })\n ).isRequired,\n streetEdges: PropTypes.arrayOf(\n PropTypes.shape({\n edge_id: PropTypes.number.isRequired,\n geometry: encodedPolylineType\n })\n ).isRequired\n});\n\n/**\n * This models data about a vehicle rental station as obtained from various\n * vehicle rental API endpoints from OTP.\n */\nexport const stationType = PropTypes.shape({\n bikesAvailable: PropTypes.number,\n id: PropTypes.string.isRequired,\n isFloatingBike: PropTypes.bool,\n isFloatingCar: PropTypes.bool,\n isFloatingVehicle: PropTypes.bool,\n name: PropTypes.string,\n networks: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,\n spacesAvailable: PropTypes.number,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired\n});\n\n/**\n * Utility function to help create chained validators\n * per https://www.ian-thomas.net/custom-proptype-validation-with-react/\n * @param {*} validator The validator to use.\n */\nexport function createChainableTypeChecker(validator) {\n function checkType(isRequired, props, propName, componentName, location) {\n componentName = componentName || \"ANONYMOUS\";\n if (props[propName] == null) {\n if (isRequired) {\n const locationName = ReactPropTypeLocationNames[location];\n return new Error(\n `Required '${locationName}/${propName}' was not specified in '${componentName}'.`\n );\n }\n return null;\n }\n return validator(props, propName, componentName, location);\n }\n\n const chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\n\nexport const latlngType = createChainableTypeChecker((props, propName) => {\n // Source: https://reactjs.org/docs/typechecking-with-proptypes.html#react.proptypes\n if (!isValidLatLng(props[propName])) {\n return new Error(`${propName} needs to be a [lat, lng] array`);\n }\n return null;\n});\n\nexport const modeOptionType = PropTypes.shape({\n id: PropTypes.string.isRequired,\n selected: PropTypes.bool,\n showTitle: PropTypes.bool,\n text: PropTypes.node.isRequired,\n title: PropTypes.string\n});\n\nexport const modeSelectorOptionsType = PropTypes.shape({\n primary: modeOptionType,\n secondary: PropTypes.arrayOf(modeOptionType),\n tertiary: PropTypes.arrayOf(modeOptionType)\n});\n\nexport const configuredModeType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.shape({\n mode: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n company: PropTypes.string\n })\n]);\n\nexport const configuredModesType = PropTypes.shape({\n transitModes: PropTypes.arrayOf(configuredModeType),\n accessModes: PropTypes.arrayOf(configuredModeType),\n exclusiveModes: PropTypes.arrayOf(configuredModeType),\n bicycleModes: PropTypes.arrayOf(configuredModeType),\n micromobilityModes: PropTypes.arrayOf(configuredModeType)\n});\n\nexport const configuredCompanyType = PropTypes.shape({\n /**\n * The id of the company. This is typically in all-caps.\n */\n id: PropTypes.string.isRequired,\n /**\n * A human readable text value that can be displayed to users.\n */\n label: PropTypes.string.isRequired,\n /**\n * A comma-separated list of applicable modes of travel that the company\n * offers.\n */\n modes: PropTypes.string.isRequired\n});\n\n/**\n * Depending on the geocoder that is used, more properties than just the `label`\n * property might be provided by the geocoder. For example, with the Pelias\n * geocoder, properties such as `id`, `layer`, `source` are also included.\n */\nexport const geocodedFeatureType = PropTypes.shape({\n geometry: PropTypes.shape({\n coordinates: PropTypes.arrayOf(PropTypes.number.isRequired).isRequired,\n type: PropTypes.string.isRequired\n }).isRequired,\n properties: PropTypes.shape({\n label: PropTypes.string.isRequired\n }).isRequired\n});\n\nexport const userLocationType = PropTypes.shape({\n id: PropTypes.string,\n /**\n * Can be either 'home', 'work', or null\n */\n icon: PropTypes.string,\n lat: PropTypes.number.isRequired,\n lon: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n /**\n * This represents the last time that this location was selected in a\n * search\n */\n timestamp: PropTypes.number,\n /**\n * One of: 'home', 'work', 'stop' or 'recent'\n */\n type: PropTypes.string.isRequired\n});\n"],"file":"types.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentripplanner/core-utils",
3
- "version": "4.4.1",
3
+ "version": "4.5.1-beta",
4
4
  "description": "Core functionality that is shared among numerous UI components",
5
5
  "engines": {
6
6
  "node": ">=13"
@@ -13,7 +13,7 @@
13
13
  "private": false,
14
14
  "dependencies": {
15
15
  "@mapbox/polyline": "^1.1.0",
16
- "@opentripplanner/geocoder": "^1.1.1",
16
+ "@opentripplanner/geocoder": "^1.1.2",
17
17
  "@styled-icons/foundation": "^10.34.0",
18
18
  "@turf/along": "^6.0.1",
19
19
  "bowser": "^2.7.0",
package/src/itinerary.js CHANGED
@@ -26,6 +26,37 @@ export function isTransit(mode) {
26
26
  return transitModes.includes(mode) || mode === "TRANSIT";
27
27
  }
28
28
 
29
+ /**
30
+ * Returns true if the leg pickup rules enabled which require
31
+ * calling ahead for the service to run. "mustPhone" is the only
32
+ * property of boardRule which encodes this info.
33
+ */
34
+ export function isReservationRequired(leg) {
35
+ return leg.boardRule === "mustPhone";
36
+ }
37
+ /**
38
+ * Returns true if the leg has continuous dropoff enabled which requires
39
+ * asking the driver to let the user off. "coordinateWithDriver" is the only
40
+ * property of alightRule which encodes this info.
41
+ */
42
+ export function isContinuousDropoff(leg) {
43
+ return leg.alightRule === "coordinateWithDriver";
44
+ }
45
+ /**
46
+ * The two rules checked by the above two functions are the only values
47
+ * returned by OTP when a leg is a flex leg.
48
+ */
49
+ export function isFlex(leg) {
50
+ return isReservationRequired(leg) || isContinuousDropoff(leg);
51
+ }
52
+
53
+ export function isAdvanceBookingRequired(info) {
54
+ return info?.latestBookingTime?.daysPrior > 0;
55
+ }
56
+ export function legDropoffRequiresAdvanceBooking(leg) {
57
+ return isAdvanceBookingRequired(leg.dropOffBookingInfo);
58
+ }
59
+
29
60
  export function isWalk(mode) {
30
61
  if (!mode) return false;
31
62
 
package/src/map.js CHANGED
@@ -181,9 +181,16 @@ export function itineraryToTransitive(itin, companies, getRouteLabel) {
181
181
  });
182
182
  streetEdgeId++;
183
183
  }
184
+
184
185
  if (isTransit(leg.mode)) {
186
+ // Flex routes sometimes have the same from and to IDs, but
187
+ // these stops still need to be rendered separately!
188
+ if (leg.from.stopId === leg.to.stopId) {
189
+ leg.to.stopId = `${leg.to.stopId}_flexed_to`;
190
+ }
185
191
  // determine if we have valid inter-stop geometry
186
192
  const hasInterStopGeometry = !!leg.interStopGeometry;
193
+ const hasLegGeometry = !!leg.legGeometry?.points;
187
194
  const hasIntermediateStopGeometry =
188
195
  hasInterStopGeometry &&
189
196
  leg.intermediateStops &&
@@ -208,7 +215,13 @@ export function itineraryToTransitive(itin, companies, getRouteLabel) {
208
215
  pattern.stops.push({ stop_id: leg.from.stopId });
209
216
 
210
217
  // add intermediate stops to stops dictionary and pattern object
211
- if (leg.intermediateStops) {
218
+ // If there is no intermediateStopGeometry, do not add the intermediate stops
219
+ // as it will be straight lines instead of the nice legGeometry (but only if
220
+ // the legGeometry exists).
221
+ if (
222
+ leg.intermediateStops &&
223
+ (hasIntermediateStopGeometry || !hasLegGeometry)
224
+ ) {
212
225
  leg.intermediateStops.forEach((stop, i) => {
213
226
  stops[stop.stopId] = {
214
227
  stop_id: stop.stopId,
@@ -234,7 +247,8 @@ export function itineraryToTransitive(itin, companies, getRouteLabel) {
234
247
  pattern.stops.push({
235
248
  stop_id: leg.to.stopId,
236
249
  geometry:
237
- hasInterStopGeometry &&
250
+ // Some legs don't have intermediateStopGeometry, but do have valid legGeometry
251
+ (hasInterStopGeometry || hasLegGeometry) &&
238
252
  (hasIntermediateStopGeometry
239
253
  ? leg.interStopGeometry[leg.interStopGeometry.length - 1].points
240
254
  : leg.legGeometry.points)
@@ -265,7 +279,7 @@ export function itineraryToTransitive(itin, companies, getRouteLabel) {
265
279
  {
266
280
  pattern_id: ptnId,
267
281
  from_stop_index: 0,
268
- to_stop_index: leg.intermediateStops
282
+ to_stop_index: hasIntermediateStopGeometry
269
283
  ? leg.intermediateStops.length + 2 - 1
270
284
  : 1
271
285
  }
@@ -161,7 +161,7 @@ const queryParams = [
161
161
  routingTypes: ["ITINERARY"],
162
162
  applicable: query =>
163
163
  query.mode && hasTransit(query.mode) && query.mode.indexOf("WALK") !== -1,
164
- default: 1207, // 3/4 mi.
164
+ default: 1609, // 1 mi.
165
165
  selector: "DROPDOWN",
166
166
  label: "Maximum Walk",
167
167
  options: [
package/src/query.js CHANGED
@@ -163,13 +163,32 @@ function isParamApplicable(paramInfo, query, config) {
163
163
  return true;
164
164
  }
165
165
 
166
+ /**
167
+ * Helper method which replaces OTP flex modes with single FLEX mode that's
168
+ * more useful and easier to work with.
169
+ */
170
+ export function reduceOtpFlexModes(modes) {
171
+ return modes.reduce((prev, cur) => {
172
+ const newModes = prev;
173
+ // Add the current mode if it is not a flex mode
174
+ if (!cur.includes("FLEX")) {
175
+ newModes.push(cur);
176
+ // If it is a flex mode, do not add it but rather add the custom flex mode
177
+ // if not already present
178
+ } else if (!newModes.includes("FLEX")) {
179
+ newModes.push("FLEX");
180
+ }
181
+ return newModes;
182
+ }, []);
183
+ }
184
+
166
185
  /**
167
186
  * Determines whether the specified query differs from the default query, i.e.,
168
187
  * whether the user has modified any trip options (including mode) from their
169
188
  * default values.
170
189
  */
171
190
  export function isNotDefaultQuery(query, config) {
172
- const activeModes = query.mode.split(",").sort();
191
+ const activeModes = reduceOtpFlexModes(query.mode.split(",").sort());
173
192
  if (
174
193
  activeModes.length !== 2 ||
175
194
  activeModes[0] !== "TRANSIT" ||
@@ -444,5 +463,12 @@ export function getRoutingParams(config, currentQuery, ignoreRealtimeUpdates) {
444
463
  params.mode += ",WALK";
445
464
  }
446
465
 
466
+ // Replace FLEX placeholder with OTP flex modes
467
+ if (params.mode) {
468
+ // Ensure query is in reduced format to avoid replacing twice
469
+ const mode = reduceOtpFlexModes(params.mode.split(",")).join(",");
470
+ params.mode = mode.replace("FLEX", "FLEX_EGRESS,FLEX_ACCESS,FLEX_DIRECT");
471
+ }
472
+
447
473
  return params;
448
474
  }
package/src/types.js CHANGED
@@ -246,7 +246,7 @@ export const legType = PropTypes.shape({
246
246
  duration: PropTypes.number.isRequired,
247
247
  endTime: PropTypes.number.isRequired,
248
248
  from: placeType.isRequired,
249
- hailedCar: PropTypes.bool.isRequired,
249
+ hailedCar: PropTypes.bool,
250
250
  headsign: PropTypes.string,
251
251
  interlineWithPreviousLeg: PropTypes.bool.isRequired,
252
252
  intermediateStops: PropTypes.arrayOf(placeType).isRequired,