UNPKG

ttc-api

Version:

A fully typed Tbilisi Transport Company API Wrapper

2 lines (1 loc) 2.31 kB
"use strict";var u=Object.create;var n=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var g=(t,a)=>{for(var o in a)n(t,o,{get:a[o],enumerable:!0})},i=(t,a,o,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of p(a))!f.call(t,r)&&r!==o&&n(t,r,{get:()=>a[r],enumerable:!(s=T(a,r))||s.enumerable});return t};var m=(t,a,o)=>(o=t!=null?u(d(t)):{},i(a||!t||!t.__esModule?n(o,"default",{value:t,enumerable:!0}):o,t)),w=t=>i(n({},"__esModule",{value:!0}),t);var P={};g(P,{ttc:()=>C});module.exports=w(P);var c=m(require("requestly"),1),e=c.default.create({baseUrl:"https://transit.ttc.com.ge/pis-gateway/api/v2",params:{locale:"ka"},headers:{"X-Api-Key":"c0a2f304-551a-4d08-b8df-2c53ecd57f9f"}}),C={setLocale:y,stops:L,stop:b,routes:S,plan:B,busPolyline:$,locations:v,stopRoutes:h,busRoutes:A,arrivalTimes:I};function y(t){e.params={...e.params,locale:t}}async function L(t){let{data:a}=await e.get("/stops",{params:t});return a}async function b(t){let{data:a}=await e.get(`/stops/1:${t}`);return a}async function S(t){let{data:a}=await e.get("/routes",{params:{...t,modes:"BUS"}});return a}async function B({from:t,to:a,locale:o="en"}){let{data:s}=await e.get("/plan",{params:{fromPlace:t.join(","),toPlace:a.join(","),departMode:"leaveNow",modes:"WALK,BUS",optimize:"quick",locale:o}});return s}async function $({busId:t,forward:a=!0}){let{data:o}=await e.get(`/routes/1:${t}/polyline`,{params:{forward:a.toString()}});return o}async function v({busId:t,forward:a=!0}){let{data:o}=await e.get(`/routes/1:${t}/positions`,{params:{forward:a.toString()}});return o}async function h({stopId:t,locale:a="en"}){let{data:o}=await e.get(`/stops/1:${t}/routes`,{params:{locale:a}});return o}async function A({busId:t,forward:a,locale:o="en"}){let{data:s,ok:r,status:l}=await e.get(`/routes/1:${t}/stops`,{params:{locale:o,forward:(a??!1).toString()}});if(!r)throw new Error(`request failed with status code ${l}: ${typeof s=="object"?JSON.stringify(s,null,2):s}`);return s}async function I({stopId:t,locale:a="en",ignoreScheduledArrivalTimes:o=!1}){let{data:s}=await e.get(`/stops/1:${t}/arrival-times`,{params:{locale:a,ignoreScheduledArrivalTimes:o.toString()}});return s}0&&(module.exports={ttc});