api/locationInformationRequest.ts (view raw)
1import { get } from "../lib/func.ts";
2import { getLocationInformationRequest } from "./api.ts";
3
4export const findStopByName = async (textInput: string): Promise<Stop[]> => {
5 const { result } = await getLocationInformationRequest(textInput);
6 const placeResult = get<object[]>(
7 result,
8 "OJP.OJPResponse.siri:ServiceDelivery.OJPLocationInformationDelivery.PlaceResult"
9 );
10 return placeResult.map(item => ({
11 name: get(item, "Place.StopPlace.StopPlaceName.Text.#text"),
12 stopRef: get(item, "Place.StopPlace.StopPlaceRef"),
13 geoPosition: {
14 latitude: get(item, "Place.GeoPosition.siri:Latitude"),
15 longitude: get(item, "Place.GeoPosition.siri:Longitude"),
16 },
17 }));
18};