googlemaps-kit 0.4.0 → 0.5.0

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.
Files changed (621) hide show
  1. package/README.md +226 -26
  2. package/dist/advanced/http.d.ts +4 -4
  3. package/dist/advanced/http.d.ts.map +1 -1
  4. package/dist/advanced/http.js +4 -4
  5. package/dist/advanced/http.js.map +1 -1
  6. package/dist/advanced/parsers.d.ts +9 -4
  7. package/dist/advanced/parsers.d.ts.map +1 -1
  8. package/dist/advanced/parsers.js +6 -3
  9. package/dist/advanced/parsers.js.map +1 -1
  10. package/dist/advanced/rpc.d.ts +12 -12
  11. package/dist/advanced/rpc.d.ts.map +1 -1
  12. package/dist/advanced/rpc.js +10 -10
  13. package/dist/advanced/rpc.js.map +1 -1
  14. package/dist/advanced/services.d.ts +18 -7
  15. package/dist/advanced/services.d.ts.map +1 -1
  16. package/dist/advanced/services.js +18 -7
  17. package/dist/advanced/services.js.map +1 -1
  18. package/dist/advanced/utils.d.ts +3 -3
  19. package/dist/advanced/utils.d.ts.map +1 -1
  20. package/dist/advanced/utils.js +3 -3
  21. package/dist/advanced/utils.js.map +1 -1
  22. package/dist/advanced.d.ts +46 -9
  23. package/dist/advanced.d.ts.map +1 -1
  24. package/dist/advanced.js +13 -6
  25. package/dist/advanced.js.map +1 -1
  26. package/dist/auth/auth-status.js +2 -2
  27. package/dist/auth/auth-status.js.map +1 -1
  28. package/dist/auth/maps-tokens.js +1 -1
  29. package/dist/auth/session.d.ts.map +1 -1
  30. package/dist/auth/session.js +17 -2
  31. package/dist/auth/session.js.map +1 -1
  32. package/dist/cli/args.d.ts +1 -0
  33. package/dist/cli/args.d.ts.map +1 -1
  34. package/dist/cli/args.js +24 -0
  35. package/dist/cli/args.js.map +1 -1
  36. package/dist/cli/format.d.ts.map +1 -1
  37. package/dist/cli/format.js +18 -27
  38. package/dist/cli/format.js.map +1 -1
  39. package/dist/cli/output.d.ts +19 -0
  40. package/dist/cli/output.d.ts.map +1 -0
  41. package/dist/cli/output.js +82 -0
  42. package/dist/cli/output.js.map +1 -0
  43. package/dist/cli/run.d.ts +55 -3
  44. package/dist/cli/run.d.ts.map +1 -1
  45. package/dist/cli/run.js +235 -12
  46. package/dist/cli/run.js.map +1 -1
  47. package/dist/cli/tui/app.d.ts +7 -2
  48. package/dist/cli/tui/app.d.ts.map +1 -1
  49. package/dist/cli/tui/app.js +111 -26
  50. package/dist/cli/tui/app.js.map +1 -1
  51. package/dist/cli/tui/styles.d.ts.map +1 -1
  52. package/dist/cli/tui/styles.js +13 -10
  53. package/dist/cli/tui/styles.js.map +1 -1
  54. package/dist/cli.d.ts +1 -10
  55. package/dist/cli.d.ts.map +1 -1
  56. package/dist/cli.js +117 -34
  57. package/dist/cli.js.map +1 -1
  58. package/dist/client/gmaps-client.d.ts +8 -3
  59. package/dist/client/gmaps-client.d.ts.map +1 -1
  60. package/dist/client/gmaps-client.js +43 -5
  61. package/dist/client/gmaps-client.js.map +1 -1
  62. package/dist/client/http-client.d.ts.map +1 -1
  63. package/dist/client/http-client.js +11 -9
  64. package/dist/client/http-client.js.map +1 -1
  65. package/dist/client/intent.d.ts +1 -1
  66. package/dist/client/intent.d.ts.map +1 -1
  67. package/dist/client/intent.js +22 -5
  68. package/dist/client/intent.js.map +1 -1
  69. package/dist/client/maps-tools.d.ts +13 -1
  70. package/dist/client/maps-tools.d.ts.map +1 -1
  71. package/dist/client/maps-tools.js +44 -0
  72. package/dist/client/maps-tools.js.map +1 -1
  73. package/dist/client/namespaces.d.ts +84 -10
  74. package/dist/client/namespaces.d.ts.map +1 -1
  75. package/dist/client/namespaces.js +119 -11
  76. package/dist/client/namespaces.js.map +1 -1
  77. package/dist/client/place-enrichment.js +1 -1
  78. package/dist/client/place-enrichment.js.map +1 -1
  79. package/dist/index.d.ts +46 -16
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +5 -3
  82. package/dist/index.js.map +1 -1
  83. package/dist/known-surfaces.d.ts +134 -2
  84. package/dist/known-surfaces.d.ts.map +1 -1
  85. package/dist/known-surfaces.js +134 -2
  86. package/dist/known-surfaces.js.map +1 -1
  87. package/dist/parsers/batch-url.d.ts +10 -1
  88. package/dist/parsers/batch-url.d.ts.map +1 -1
  89. package/dist/parsers/batch-url.js +30 -2
  90. package/dist/parsers/batch-url.js.map +1 -1
  91. package/dist/parsers/boq-reviews.d.ts +8 -1
  92. package/dist/parsers/boq-reviews.d.ts.map +1 -1
  93. package/dist/parsers/boq-reviews.js +50 -8
  94. package/dist/parsers/boq-reviews.js.map +1 -1
  95. package/dist/parsers/categories.d.ts.map +1 -1
  96. package/dist/parsers/categories.js +13 -10
  97. package/dist/parsers/categories.js.map +1 -1
  98. package/dist/parsers/directions.d.ts +18 -2
  99. package/dist/parsers/directions.d.ts.map +1 -1
  100. package/dist/parsers/directions.js +232 -18
  101. package/dist/parsers/directions.js.map +1 -1
  102. package/dist/parsers/geocode.d.ts +20 -2
  103. package/dist/parsers/geocode.d.ts.map +1 -1
  104. package/dist/parsers/geocode.js +110 -6
  105. package/dist/parsers/geocode.js.map +1 -1
  106. package/dist/parsers/knowledge.js +1 -1
  107. package/dist/parsers/knowledge.js.map +1 -1
  108. package/dist/parsers/lists.d.ts.map +1 -1
  109. package/dist/parsers/lists.js +29 -12
  110. package/dist/parsers/lists.js.map +1 -1
  111. package/dist/parsers/local-posts.d.ts.map +1 -1
  112. package/dist/parsers/local-posts.js +97 -12
  113. package/dist/parsers/local-posts.js.map +1 -1
  114. package/dist/parsers/mobility.d.ts +42 -0
  115. package/dist/parsers/mobility.d.ts.map +1 -0
  116. package/dist/parsers/mobility.js +130 -0
  117. package/dist/parsers/mobility.js.map +1 -0
  118. package/dist/parsers/panorama.d.ts +0 -1
  119. package/dist/parsers/panorama.d.ts.map +1 -1
  120. package/dist/parsers/panorama.js +117 -14
  121. package/dist/parsers/panorama.js.map +1 -1
  122. package/dist/parsers/photos.d.ts.map +1 -1
  123. package/dist/parsers/photos.js +15 -8
  124. package/dist/parsers/photos.js.map +1 -1
  125. package/dist/parsers/place-attributes.d.ts +12 -3
  126. package/dist/parsers/place-attributes.d.ts.map +1 -1
  127. package/dist/parsers/place-attributes.js +48 -2
  128. package/dist/parsers/place-attributes.js.map +1 -1
  129. package/dist/parsers/place-extended.d.ts +163 -0
  130. package/dist/parsers/place-extended.d.ts.map +1 -0
  131. package/dist/parsers/place-extended.js +741 -0
  132. package/dist/parsers/place-extended.js.map +1 -0
  133. package/dist/parsers/place.d.ts +15 -1
  134. package/dist/parsers/place.d.ts.map +1 -1
  135. package/dist/parsers/place.js +16 -5
  136. package/dist/parsers/place.js.map +1 -1
  137. package/dist/parsers/popular-times.d.ts +35 -0
  138. package/dist/parsers/popular-times.d.ts.map +1 -0
  139. package/dist/parsers/popular-times.js +149 -0
  140. package/dist/parsers/popular-times.js.map +1 -0
  141. package/dist/parsers/reveal.d.ts +1 -1
  142. package/dist/parsers/reveal.d.ts.map +1 -1
  143. package/dist/parsers/reveal.js +3 -2
  144. package/dist/parsers/reveal.js.map +1 -1
  145. package/dist/parsers/reviews.d.ts +17 -2
  146. package/dist/parsers/reviews.d.ts.map +1 -1
  147. package/dist/parsers/reviews.js +73 -1
  148. package/dist/parsers/reviews.js.map +1 -1
  149. package/dist/parsers/search.d.ts +17 -2
  150. package/dist/parsers/search.d.ts.map +1 -1
  151. package/dist/parsers/search.js +125 -7
  152. package/dist/parsers/search.js.map +1 -1
  153. package/dist/parsers/shared.d.ts +4 -0
  154. package/dist/parsers/shared.d.ts.map +1 -1
  155. package/dist/parsers/shared.js +10 -2
  156. package/dist/parsers/shared.js.map +1 -1
  157. package/dist/parsers/suggest.d.ts.map +1 -1
  158. package/dist/parsers/suggest.js +45 -6
  159. package/dist/parsers/suggest.js.map +1 -1
  160. package/dist/parsers/tiles.d.ts +13 -0
  161. package/dist/parsers/tiles.d.ts.map +1 -1
  162. package/dist/parsers/tiles.js +64 -0
  163. package/dist/parsers/tiles.js.map +1 -1
  164. package/dist/parsers/traffic.d.ts +9 -1
  165. package/dist/parsers/traffic.d.ts.map +1 -1
  166. package/dist/parsers/traffic.js +129 -2
  167. package/dist/parsers/traffic.js.map +1 -1
  168. package/dist/parsers/transit.d.ts +4 -2
  169. package/dist/parsers/transit.d.ts.map +1 -1
  170. package/dist/parsers/transit.js +385 -3
  171. package/dist/parsers/transit.js.map +1 -1
  172. package/dist/parsers/viewport.d.ts +20 -0
  173. package/dist/parsers/viewport.d.ts.map +1 -0
  174. package/dist/parsers/viewport.js +139 -0
  175. package/dist/parsers/viewport.js.map +1 -0
  176. package/dist/rpc/batch-execute.js +3 -3
  177. package/dist/rpc/batch-execute.js.map +1 -1
  178. package/dist/rpc/batch-request-builders.d.ts +12 -14
  179. package/dist/rpc/batch-request-builders.d.ts.map +1 -1
  180. package/dist/rpc/batch-request-builders.js +49 -17
  181. package/dist/rpc/batch-request-builders.js.map +1 -1
  182. package/dist/rpc/batch-rpc.js +1 -1
  183. package/dist/rpc/batch-services.d.ts +2 -0
  184. package/dist/rpc/batch-services.d.ts.map +1 -1
  185. package/dist/rpc/batch-services.js +4 -0
  186. package/dist/rpc/batch-services.js.map +1 -1
  187. package/dist/rpc/{descriptor-registry.d.ts → descriptors.d.ts} +29 -4
  188. package/dist/rpc/descriptors.d.ts.map +1 -0
  189. package/dist/rpc/{app-options.js → descriptors.js} +89 -5
  190. package/dist/rpc/descriptors.js.map +1 -0
  191. package/dist/rpc/earth-rocktree.d.ts +174 -0
  192. package/dist/rpc/earth-rocktree.d.ts.map +1 -0
  193. package/dist/rpc/earth-rocktree.js +468 -0
  194. package/dist/rpc/earth-rocktree.js.map +1 -0
  195. package/dist/rpc/feature-pb.d.ts +86 -0
  196. package/dist/rpc/feature-pb.d.ts.map +1 -0
  197. package/dist/rpc/feature-pb.js +112 -0
  198. package/dist/rpc/feature-pb.js.map +1 -0
  199. package/dist/rpc/feature-rpc.d.ts +15 -0
  200. package/dist/rpc/feature-rpc.d.ts.map +1 -1
  201. package/dist/rpc/feature-rpc.js +44 -0
  202. package/dist/rpc/feature-rpc.js.map +1 -1
  203. package/dist/rpc/maps-runtime.js +1 -1
  204. package/dist/rpc/panorama-pb.d.ts +3 -0
  205. package/dist/rpc/panorama-pb.d.ts.map +1 -1
  206. package/dist/rpc/panorama-pb.js +35 -3
  207. package/dist/rpc/panorama-pb.js.map +1 -1
  208. package/dist/rpc/pb-builders.d.ts +21 -1
  209. package/dist/rpc/pb-builders.d.ts.map +1 -1
  210. package/dist/rpc/pb-builders.js +62 -4
  211. package/dist/rpc/pb-builders.js.map +1 -1
  212. package/dist/rpc/photos-pb.d.ts +28 -1
  213. package/dist/rpc/photos-pb.d.ts.map +1 -1
  214. package/dist/rpc/photos-pb.js +96 -0
  215. package/dist/rpc/photos-pb.js.map +1 -1
  216. package/dist/rpc/rpc-methods.d.ts +0 -2
  217. package/dist/rpc/rpc-methods.d.ts.map +1 -1
  218. package/dist/rpc/rpc-methods.js +0 -38
  219. package/dist/rpc/rpc-methods.js.map +1 -1
  220. package/dist/rpc/search-filters.d.ts +0 -12
  221. package/dist/rpc/search-filters.d.ts.map +1 -1
  222. package/dist/rpc/search-filters.js +1 -11
  223. package/dist/rpc/search-filters.js.map +1 -1
  224. package/dist/rpc/tile-builders.d.ts +136 -0
  225. package/dist/rpc/tile-builders.d.ts.map +1 -0
  226. package/dist/rpc/tile-builders.js +172 -0
  227. package/dist/rpc/tile-builders.js.map +1 -0
  228. package/dist/rpc/xsrf-bootstrap.d.ts +0 -2
  229. package/dist/rpc/xsrf-bootstrap.d.ts.map +1 -1
  230. package/dist/rpc/xsrf-bootstrap.js +2 -2
  231. package/dist/rpc/xsrf-bootstrap.js.map +1 -1
  232. package/dist/services/ask-maps.d.ts +45 -5
  233. package/dist/services/ask-maps.d.ts.map +1 -1
  234. package/dist/services/ask-maps.js +148 -21
  235. package/dist/services/ask-maps.js.map +1 -1
  236. package/dist/services/directions.d.ts +17 -1
  237. package/dist/services/directions.d.ts.map +1 -1
  238. package/dist/services/directions.js +32 -0
  239. package/dist/services/directions.js.map +1 -1
  240. package/dist/services/distance-matrix.d.ts +1 -1
  241. package/dist/services/distance-matrix.d.ts.map +1 -1
  242. package/dist/services/distance-matrix.js +1 -1
  243. package/dist/services/distance-matrix.js.map +1 -1
  244. package/dist/services/elevation.d.ts +1 -1
  245. package/dist/services/elevation.d.ts.map +1 -1
  246. package/dist/services/elevation.js +3 -2
  247. package/dist/services/elevation.js.map +1 -1
  248. package/dist/services/geocode.d.ts +16 -0
  249. package/dist/services/geocode.d.ts.map +1 -1
  250. package/dist/services/geocode.js +90 -0
  251. package/dist/services/geocode.js.map +1 -1
  252. package/dist/services/lists.d.ts +7 -1
  253. package/dist/services/lists.d.ts.map +1 -1
  254. package/dist/services/lists.js +45 -1
  255. package/dist/services/lists.js.map +1 -1
  256. package/dist/services/map-3d.d.ts +66 -0
  257. package/dist/services/map-3d.d.ts.map +1 -0
  258. package/dist/services/map-3d.js +658 -0
  259. package/dist/services/map-3d.js.map +1 -0
  260. package/dist/services/map-layers.d.ts +33 -0
  261. package/dist/services/map-layers.d.ts.map +1 -0
  262. package/dist/services/map-layers.js +207 -0
  263. package/dist/services/map-layers.js.map +1 -0
  264. package/dist/services/meta.d.ts +71 -0
  265. package/dist/services/meta.d.ts.map +1 -0
  266. package/dist/services/meta.js +132 -0
  267. package/dist/services/meta.js.map +1 -0
  268. package/dist/services/mobility.d.ts +79 -0
  269. package/dist/services/mobility.d.ts.map +1 -0
  270. package/dist/services/mobility.js +296 -0
  271. package/dist/services/mobility.js.map +1 -0
  272. package/dist/services/panorama.d.ts +12 -1
  273. package/dist/services/panorama.d.ts.map +1 -1
  274. package/dist/services/panorama.js +63 -3
  275. package/dist/services/panorama.js.map +1 -1
  276. package/dist/services/photos.d.ts.map +1 -1
  277. package/dist/services/photos.js +3 -4
  278. package/dist/services/photos.js.map +1 -1
  279. package/dist/services/place-attributes.d.ts +31 -0
  280. package/dist/services/place-attributes.d.ts.map +1 -0
  281. package/dist/services/place-attributes.js +48 -0
  282. package/dist/services/place-attributes.js.map +1 -0
  283. package/dist/services/places.d.ts +13 -0
  284. package/dist/services/places.d.ts.map +1 -1
  285. package/dist/services/places.js +6 -4
  286. package/dist/services/places.js.map +1 -1
  287. package/dist/services/reviews.d.ts +11 -1
  288. package/dist/services/reviews.d.ts.map +1 -1
  289. package/dist/services/reviews.js +36 -12
  290. package/dist/services/reviews.js.map +1 -1
  291. package/dist/services/search-along-route.d.ts +33 -0
  292. package/dist/services/search-along-route.d.ts.map +1 -0
  293. package/dist/services/search-along-route.js +200 -0
  294. package/dist/services/search-along-route.js.map +1 -0
  295. package/dist/services/search.d.ts +23 -1
  296. package/dist/services/search.d.ts.map +1 -1
  297. package/dist/services/search.js +147 -3
  298. package/dist/services/search.js.map +1 -1
  299. package/dist/services/static-map.js +1 -1
  300. package/dist/services/static-map.js.map +1 -1
  301. package/dist/services/tiles.d.ts +39 -2
  302. package/dist/services/tiles.d.ts.map +1 -1
  303. package/dist/services/tiles.js +172 -13
  304. package/dist/services/tiles.js.map +1 -1
  305. package/dist/services/traffic.d.ts +12 -1
  306. package/dist/services/traffic.d.ts.map +1 -1
  307. package/dist/services/traffic.js +25 -2
  308. package/dist/services/traffic.js.map +1 -1
  309. package/dist/services/transit.d.ts +20 -3
  310. package/dist/services/transit.d.ts.map +1 -1
  311. package/dist/services/transit.js +69 -1
  312. package/dist/services/transit.js.map +1 -1
  313. package/dist/services/viewport.d.ts +76 -0
  314. package/dist/services/viewport.d.ts.map +1 -0
  315. package/dist/services/viewport.js +180 -0
  316. package/dist/services/viewport.js.map +1 -0
  317. package/dist/services/waypoint-optimizer.d.ts +31 -0
  318. package/dist/services/waypoint-optimizer.d.ts.map +1 -0
  319. package/dist/services/waypoint-optimizer.js +235 -0
  320. package/dist/services/waypoint-optimizer.js.map +1 -0
  321. package/dist/types/batch-url.d.ts +31 -0
  322. package/dist/types/batch-url.d.ts.map +1 -1
  323. package/dist/types/categories.d.ts +20 -4
  324. package/dist/types/categories.d.ts.map +1 -1
  325. package/dist/types/common.d.ts +162 -22
  326. package/dist/types/common.d.ts.map +1 -1
  327. package/dist/types/common.js +1 -1
  328. package/dist/types/common.js.map +1 -1
  329. package/dist/types/directions.d.ts +217 -3
  330. package/dist/types/directions.d.ts.map +1 -1
  331. package/dist/types/dx.d.ts +48 -3
  332. package/dist/types/dx.d.ts.map +1 -1
  333. package/dist/types/geocode.d.ts +61 -3
  334. package/dist/types/geocode.d.ts.map +1 -1
  335. package/dist/types/grid-search.d.ts +66 -0
  336. package/dist/types/grid-search.d.ts.map +1 -0
  337. package/dist/types/grid-search.js +2 -0
  338. package/dist/types/grid-search.js.map +1 -0
  339. package/dist/types/hooks.d.ts +3 -3
  340. package/dist/types/hooks.d.ts.map +1 -1
  341. package/dist/types/links.d.ts +3 -6
  342. package/dist/types/links.d.ts.map +1 -1
  343. package/dist/types/lists.d.ts +68 -3
  344. package/dist/types/lists.d.ts.map +1 -1
  345. package/dist/types/map-3d.d.ts +126 -0
  346. package/dist/types/map-3d.d.ts.map +1 -0
  347. package/dist/types/map-3d.js +2 -0
  348. package/dist/types/map-3d.js.map +1 -0
  349. package/dist/types/map-earth.d.ts +34 -0
  350. package/dist/types/map-earth.d.ts.map +1 -0
  351. package/dist/types/map-earth.js +2 -0
  352. package/dist/types/map-earth.js.map +1 -0
  353. package/dist/types/map-layers.d.ts +63 -0
  354. package/dist/types/map-layers.d.ts.map +1 -0
  355. package/dist/types/map-layers.js +2 -0
  356. package/dist/types/map-layers.js.map +1 -0
  357. package/dist/types/mobility.d.ts +121 -0
  358. package/dist/types/mobility.d.ts.map +1 -0
  359. package/dist/types/mobility.js +3 -0
  360. package/dist/types/mobility.js.map +1 -0
  361. package/dist/types/panorama.d.ts +104 -0
  362. package/dist/types/panorama.d.ts.map +1 -1
  363. package/dist/types/photos.d.ts +12 -0
  364. package/dist/types/photos.d.ts.map +1 -1
  365. package/dist/types/photos.js +2 -1
  366. package/dist/types/photos.js.map +1 -1
  367. package/dist/types/place-attributes.d.ts +15 -0
  368. package/dist/types/place-attributes.d.ts.map +1 -0
  369. package/dist/types/place-attributes.js +2 -0
  370. package/dist/types/place-attributes.js.map +1 -0
  371. package/dist/types/place-extended.d.ts +406 -0
  372. package/dist/types/place-extended.d.ts.map +1 -0
  373. package/dist/types/place-extended.js +18 -0
  374. package/dist/types/place-extended.js.map +1 -0
  375. package/dist/types/protobuf.d.ts +1 -1
  376. package/dist/types/protobuf.js +1 -1
  377. package/dist/types/reviews.d.ts +28 -0
  378. package/dist/types/reviews.d.ts.map +1 -1
  379. package/dist/types/reviews.js.map +1 -1
  380. package/dist/types/route-optimization.d.ts +56 -0
  381. package/dist/types/route-optimization.d.ts.map +1 -0
  382. package/dist/types/route-optimization.js +2 -0
  383. package/dist/types/route-optimization.js.map +1 -0
  384. package/dist/types/search-along-route.d.ts +49 -0
  385. package/dist/types/search-along-route.d.ts.map +1 -0
  386. package/dist/types/search-along-route.js +2 -0
  387. package/dist/types/search-along-route.js.map +1 -0
  388. package/dist/types/search-filters.d.ts +1 -1
  389. package/dist/types/search-filters.js +1 -1
  390. package/dist/types/suggest.d.ts +25 -2
  391. package/dist/types/suggest.d.ts.map +1 -1
  392. package/dist/types/tiles.d.ts +40 -0
  393. package/dist/types/tiles.d.ts.map +1 -1
  394. package/dist/types/traffic.d.ts +58 -1
  395. package/dist/types/traffic.d.ts.map +1 -1
  396. package/dist/types/transit.d.ts +160 -1
  397. package/dist/types/transit.d.ts.map +1 -1
  398. package/dist/types/transit.js +0 -1
  399. package/dist/types/transit.js.map +1 -1
  400. package/dist/types/viewport.d.ts +159 -0
  401. package/dist/types/viewport.d.ts.map +1 -0
  402. package/dist/types/viewport.js +3 -0
  403. package/dist/types/viewport.js.map +1 -0
  404. package/dist/utils/async.d.ts +44 -0
  405. package/dist/utils/async.d.ts.map +1 -0
  406. package/dist/utils/async.js +132 -0
  407. package/dist/utils/async.js.map +1 -0
  408. package/dist/utils/encoded-polyline.d.ts +43 -0
  409. package/dist/utils/encoded-polyline.d.ts.map +1 -1
  410. package/dist/utils/encoded-polyline.js +71 -0
  411. package/dist/utils/encoded-polyline.js.map +1 -1
  412. package/dist/utils/env.d.ts +6 -0
  413. package/dist/utils/env.d.ts.map +1 -0
  414. package/dist/utils/{load-env.js → env.js} +32 -7
  415. package/dist/utils/env.js.map +1 -0
  416. package/dist/utils/geo.d.ts +12 -0
  417. package/dist/utils/geo.d.ts.map +1 -1
  418. package/dist/utils/geo.js +20 -0
  419. package/dist/utils/geo.js.map +1 -1
  420. package/dist/utils/hooks.d.ts +2 -3
  421. package/dist/utils/hooks.d.ts.map +1 -1
  422. package/dist/utils/hooks.js +1 -1
  423. package/dist/utils/hooks.js.map +1 -1
  424. package/dist/utils/ids.d.ts +1 -0
  425. package/dist/utils/ids.d.ts.map +1 -1
  426. package/dist/utils/ids.js +10 -0
  427. package/dist/utils/ids.js.map +1 -1
  428. package/dist/utils/net.d.ts +46 -0
  429. package/dist/utils/net.d.ts.map +1 -0
  430. package/dist/utils/net.js +150 -0
  431. package/dist/utils/net.js.map +1 -0
  432. package/dist/utils/payload.d.ts +22 -0
  433. package/dist/utils/payload.d.ts.map +1 -0
  434. package/dist/utils/{chunked-decoder.js → payload.js} +80 -2
  435. package/dist/utils/payload.js.map +1 -0
  436. package/dist/utils/place-ref.d.ts +27 -0
  437. package/dist/utils/place-ref.d.ts.map +1 -1
  438. package/dist/utils/place-ref.js +45 -1
  439. package/dist/utils/place-ref.js.map +1 -1
  440. package/package.json +8 -5
  441. package/dist/client/product-namespaces.d.ts +0 -30
  442. package/dist/client/product-namespaces.d.ts.map +0 -1
  443. package/dist/client/product-namespaces.js +0 -47
  444. package/dist/client/product-namespaces.js.map +0 -1
  445. package/dist/parsers/elevation-directions.d.ts +0 -18
  446. package/dist/parsers/elevation-directions.d.ts.map +0 -1
  447. package/dist/parsers/elevation-directions.js +0 -102
  448. package/dist/parsers/elevation-directions.js.map +0 -1
  449. package/dist/parsers/passiveassist.d.ts +0 -10
  450. package/dist/parsers/passiveassist.d.ts.map +0 -1
  451. package/dist/parsers/passiveassist.js +0 -61
  452. package/dist/parsers/passiveassist.js.map +0 -1
  453. package/dist/parsers/review-aggregates.d.ts +0 -7
  454. package/dist/parsers/review-aggregates.d.ts.map +0 -1
  455. package/dist/parsers/review-aggregates.js +0 -18
  456. package/dist/parsers/review-aggregates.js.map +0 -1
  457. package/dist/parsers/review-client-filters.d.ts +0 -8
  458. package/dist/parsers/review-client-filters.d.ts.map +0 -1
  459. package/dist/parsers/review-client-filters.js +0 -28
  460. package/dist/parsers/review-client-filters.js.map +0 -1
  461. package/dist/parsers/search-client-filters.d.ts +0 -7
  462. package/dist/parsers/search-client-filters.d.ts.map +0 -1
  463. package/dist/parsers/search-client-filters.js +0 -44
  464. package/dist/parsers/search-client-filters.js.map +0 -1
  465. package/dist/parsers/search-pagination.d.ts +0 -12
  466. package/dist/parsers/search-pagination.d.ts.map +0 -1
  467. package/dist/parsers/search-pagination.js +0 -34
  468. package/dist/parsers/search-pagination.js.map +0 -1
  469. package/dist/parsers/timezone-geocode.d.ts +0 -20
  470. package/dist/parsers/timezone-geocode.d.ts.map +0 -1
  471. package/dist/parsers/timezone-geocode.js +0 -96
  472. package/dist/parsers/timezone-geocode.js.map +0 -1
  473. package/dist/parsers/ugc-aggregates.d.ts +0 -9
  474. package/dist/parsers/ugc-aggregates.d.ts.map +0 -1
  475. package/dist/parsers/ugc-aggregates.js +0 -23
  476. package/dist/parsers/ugc-aggregates.js.map +0 -1
  477. package/dist/rpc/app-options.d.ts +0 -25
  478. package/dist/rpc/app-options.d.ts.map +0 -1
  479. package/dist/rpc/app-options.js.map +0 -1
  480. package/dist/rpc/batchexecute-args.d.ts +0 -30
  481. package/dist/rpc/batchexecute-args.d.ts.map +0 -1
  482. package/dist/rpc/batchexecute-args.js +0 -35
  483. package/dist/rpc/batchexecute-args.js.map +0 -1
  484. package/dist/rpc/boq-reviews.d.ts +0 -16
  485. package/dist/rpc/boq-reviews.d.ts.map +0 -1
  486. package/dist/rpc/boq-reviews.js +0 -45
  487. package/dist/rpc/boq-reviews.js.map +0 -1
  488. package/dist/rpc/descriptor-registry.d.ts.map +0 -1
  489. package/dist/rpc/descriptor-registry.js +0 -47
  490. package/dist/rpc/descriptor-registry.js.map +0 -1
  491. package/dist/rpc/lists-pb.d.ts +0 -20
  492. package/dist/rpc/lists-pb.d.ts.map +0 -1
  493. package/dist/rpc/lists-pb.js +0 -20
  494. package/dist/rpc/lists-pb.js.map +0 -1
  495. package/dist/rpc/nxa.d.ts +0 -13
  496. package/dist/rpc/nxa.d.ts.map +0 -1
  497. package/dist/rpc/nxa.js +0 -44
  498. package/dist/rpc/nxa.js.map +0 -1
  499. package/dist/rpc/passiveassist-pb.d.ts +0 -21
  500. package/dist/rpc/passiveassist-pb.d.ts.map +0 -1
  501. package/dist/rpc/passiveassist-pb.js +0 -24
  502. package/dist/rpc/passiveassist-pb.js.map +0 -1
  503. package/dist/rpc/photo-category-tokens.d.ts +0 -29
  504. package/dist/rpc/photo-category-tokens.d.ts.map +0 -1
  505. package/dist/rpc/photo-category-tokens.js +0 -97
  506. package/dist/rpc/photo-category-tokens.js.map +0 -1
  507. package/dist/rpc/reveal-pb.d.ts +0 -26
  508. package/dist/rpc/reveal-pb.d.ts.map +0 -1
  509. package/dist/rpc/reveal-pb.js +0 -32
  510. package/dist/rpc/reveal-pb.js.map +0 -1
  511. package/dist/rpc/suggest-pb.d.ts +0 -34
  512. package/dist/rpc/suggest-pb.d.ts.map +0 -1
  513. package/dist/rpc/suggest-pb.js +0 -42
  514. package/dist/rpc/suggest-pb.js.map +0 -1
  515. package/dist/rpc/tiles-pb.d.ts +0 -45
  516. package/dist/rpc/tiles-pb.d.ts.map +0 -1
  517. package/dist/rpc/tiles-pb.js +0 -71
  518. package/dist/rpc/tiles-pb.js.map +0 -1
  519. package/dist/services/batch-url.d.ts +0 -18
  520. package/dist/services/batch-url.d.ts.map +0 -1
  521. package/dist/services/batch-url.js +0 -30
  522. package/dist/services/batch-url.js.map +0 -1
  523. package/dist/services/categories.d.ts +0 -21
  524. package/dist/services/categories.d.ts.map +0 -1
  525. package/dist/services/categories.js +0 -43
  526. package/dist/services/categories.js.map +0 -1
  527. package/dist/services/passiveassist.d.ts +0 -21
  528. package/dist/services/passiveassist.d.ts.map +0 -1
  529. package/dist/services/passiveassist.js +0 -70
  530. package/dist/services/passiveassist.js.map +0 -1
  531. package/dist/services/reveal.d.ts +0 -15
  532. package/dist/services/reveal.d.ts.map +0 -1
  533. package/dist/services/reveal.js +0 -41
  534. package/dist/services/reveal.js.map +0 -1
  535. package/dist/services/suggest.d.ts +0 -12
  536. package/dist/services/suggest.d.ts.map +0 -1
  537. package/dist/services/suggest.js +0 -36
  538. package/dist/services/suggest.js.map +0 -1
  539. package/dist/services/timezone.d.ts +0 -19
  540. package/dist/services/timezone.d.ts.map +0 -1
  541. package/dist/services/timezone.js +0 -91
  542. package/dist/services/timezone.js.map +0 -1
  543. package/dist/services/ugc-aggregates.d.ts +0 -17
  544. package/dist/services/ugc-aggregates.d.ts.map +0 -1
  545. package/dist/services/ugc-aggregates.js +0 -30
  546. package/dist/services/ugc-aggregates.js.map +0 -1
  547. package/dist/types/distance-matrix.d.ts +0 -40
  548. package/dist/types/distance-matrix.d.ts.map +0 -1
  549. package/dist/types/distance-matrix.js +0 -2
  550. package/dist/types/distance-matrix.js.map +0 -1
  551. package/dist/types/elevation.d.ts +0 -59
  552. package/dist/types/elevation.d.ts.map +0 -1
  553. package/dist/types/elevation.js +0 -2
  554. package/dist/types/elevation.js.map +0 -1
  555. package/dist/types/passiveassist.d.ts +0 -50
  556. package/dist/types/passiveassist.d.ts.map +0 -1
  557. package/dist/types/passiveassist.js +0 -2
  558. package/dist/types/passiveassist.js.map +0 -1
  559. package/dist/types/reveal.d.ts +0 -46
  560. package/dist/types/reveal.d.ts.map +0 -1
  561. package/dist/types/reveal.js +0 -2
  562. package/dist/types/reveal.js.map +0 -1
  563. package/dist/types/timezone.d.ts +0 -36
  564. package/dist/types/timezone.d.ts.map +0 -1
  565. package/dist/types/timezone.js +0 -2
  566. package/dist/types/timezone.js.map +0 -1
  567. package/dist/types/ugc-aggregates.d.ts +0 -14
  568. package/dist/types/ugc-aggregates.d.ts.map +0 -1
  569. package/dist/types/ugc-aggregates.js +0 -2
  570. package/dist/types/ugc-aggregates.js.map +0 -1
  571. package/dist/utils/abort.d.ts +0 -7
  572. package/dist/utils/abort.d.ts.map +0 -1
  573. package/dist/utils/abort.js +0 -43
  574. package/dist/utils/abort.js.map +0 -1
  575. package/dist/utils/chunked-decoder.d.ts +0 -9
  576. package/dist/utils/chunked-decoder.d.ts.map +0 -1
  577. package/dist/utils/chunked-decoder.js.map +0 -1
  578. package/dist/utils/coords.d.ts +0 -24
  579. package/dist/utils/coords.d.ts.map +0 -1
  580. package/dist/utils/coords.js +0 -37
  581. package/dist/utils/coords.js.map +0 -1
  582. package/dist/utils/feature-id.d.ts +0 -2
  583. package/dist/utils/feature-id.d.ts.map +0 -1
  584. package/dist/utils/feature-id.js +0 -11
  585. package/dist/utils/feature-id.js.map +0 -1
  586. package/dist/utils/load-env.d.ts +0 -7
  587. package/dist/utils/load-env.d.ts.map +0 -1
  588. package/dist/utils/load-env.js.map +0 -1
  589. package/dist/utils/pooled.d.ts +0 -8
  590. package/dist/utils/pooled.d.ts.map +0 -1
  591. package/dist/utils/pooled.js +0 -27
  592. package/dist/utils/pooled.js.map +0 -1
  593. package/dist/utils/request-context.d.ts +0 -9
  594. package/dist/utils/request-context.d.ts.map +0 -1
  595. package/dist/utils/request-context.js +0 -12
  596. package/dist/utils/request-context.js.map +0 -1
  597. package/dist/utils/request-scheduler.d.ts +0 -28
  598. package/dist/utils/request-scheduler.d.ts.map +0 -1
  599. package/dist/utils/request-scheduler.js +0 -58
  600. package/dist/utils/request-scheduler.js.map +0 -1
  601. package/dist/utils/response-parser.d.ts +0 -7
  602. package/dist/utils/response-parser.d.ts.map +0 -1
  603. package/dist/utils/response-parser.js +0 -50
  604. package/dist/utils/response-parser.js.map +0 -1
  605. package/dist/utils/retry-backoff.d.ts +0 -5
  606. package/dist/utils/retry-backoff.d.ts.map +0 -1
  607. package/dist/utils/retry-backoff.js +0 -23
  608. package/dist/utils/retry-backoff.js.map +0 -1
  609. package/dist/utils/safe-get.d.ts +0 -6
  610. package/dist/utils/safe-get.d.ts.map +0 -1
  611. package/dist/utils/safe-get.js +0 -29
  612. package/dist/utils/safe-get.js.map +0 -1
  613. package/dist/utils/throttle-detection.d.ts +0 -17
  614. package/dist/utils/throttle-detection.d.ts.map +0 -1
  615. package/dist/utils/throttle-detection.js +0 -71
  616. package/dist/utils/throttle-detection.js.map +0 -1
  617. package/dist/utils/ttl-cache.d.ts +0 -17
  618. package/dist/utils/ttl-cache.d.ts.map +0 -1
  619. package/dist/utils/ttl-cache.js +0 -43
  620. package/dist/utils/ttl-cache.js.map +0 -1
  621. /package/{assets → .github/assets}/banner.png +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/services/traffic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,cAAc;IACjB,IAAI,CAAa;IACjB,MAAM,CAAc;IAE5B,YAAY,IAAgB,EAAE,SAAsB,EAAE;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CACzB,cAAc,CAAC,YAAY,EAC3B,oBAAoB,CAAC;YACnB,GAAG;YACH,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CACH,CAAC;QAEF,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,wDAAwD,EAAE;YACjF,OAAO,EAAE;gBACP,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjD,MAAM,EAAE,WAAW;aACpB;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/services/traffic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,cAAc;IACjB,IAAI,CAAa;IACjB,MAAM,CAAc;IAE5B,YAAY,IAAgB,EAAE,SAAsB,EAAE;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CACzB,cAAc,CAAC,YAAY,EAC3B,oBAAoB,CAAC;YACnB,GAAG;YACH,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CACH,CAAC;QAEF,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAAC,OAAgC;QACjD,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CACzB,cAAc,CAAC,YAAY,EAC3B,oBAAoB,CAAC;YACnB,GAAG;YACH,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CACH,CAAC;QAEF,OAAO,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,wDAAwD,EAAE;YACjF,OAAO,EAAE;gBACP,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjD,MAAM,EAAE,WAAW;aACpB;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC;IACjD,CAAC;CACF"}
@@ -1,22 +1,39 @@
1
1
  import { HttpClient } from '../client/http-client.js';
2
2
  import type { GMapsConfig } from '../types/common.js';
3
- import type { GetStationDeparturesOptions, ListTransitLinesOptions, TransitStationBoard } from '../types/transit.js';
4
- import type { MapsPreviewPlaceResponse } from '../types/protobuf.js';
3
+ import type { GetStationDeparturesOptions, ListTransitLinesOptions, TransitRouteOptions, TransitRouteResult, TransitStationBoard } from '../types/transit.js';
5
4
  export declare class TransitService {
6
5
  private http;
7
6
  private config;
8
7
  private places;
8
+ private directions;
9
+ private geocode;
9
10
  constructor(http: HttpClient, config?: GMapsConfig);
10
11
  /**
11
12
  * Live departure board for a transit station (place preview placeData[62]).
12
13
  * Requires a rich/detail preview with coordinates for full schedule rows.
13
14
  */
14
15
  getStationDepartures(options: GetStationDeparturesOptions): Promise<TransitStationBoard>;
16
+ /**
17
+ * Full transit routing from origin to destination.
18
+ * Returns all transit routes with transfers, stops, and line information.
19
+ */
20
+ /**
21
+ * Transit itineraries between two points.
22
+ *
23
+ * Backed by `/maps/preview/directions` in transit mode. The request carries
24
+ * the page session token, without which Google returns travel-time chips and
25
+ * no routes at all. Returns every itinerary Google offers, each with its legs,
26
+ * lines, stops, fare and service alerts.
27
+ *
28
+ * String endpoints are geocoded first.
29
+ */
30
+ getRoute(options: TransitRouteOptions): Promise<TransitRouteResult>;
31
+ /** Coordinates for an endpoint, geocoding a string when needed. */
32
+ private resolveEndpoint;
15
33
  /**
16
34
  * Probe ListTransitLines batchexecute (currently returns error [3] for anonymous callers).
17
35
  * Exposed for research scripts; prefer getStationDepartures for live schedules.
18
36
  */
19
37
  probeListTransitLines(options: ListTransitLinesOptions): Promise<unknown>;
20
38
  }
21
- export declare function extractTransitBoardFromPreview(data: MapsPreviewPlaceResponse): TransitStationBoard | undefined;
22
39
  //# sourceMappingURL=transit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transit.d.ts","sourceRoot":"","sources":["../../src/services/transit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,wBAAwB,EAAiB,MAAM,sBAAsB,CAAC;AAGpF,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAgB;gBAElB,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,WAAgB;IAMtD;;;OAGG;IACG,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsB9F;;;OAGG;IACG,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;CAiBhF;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,wBAAwB,GAAG,mBAAmB,GAAG,SAAS,CAI9G"}
1
+ {"version":3,"file":"transit.d.ts","sourceRoot":"","sources":["../../src/services/transit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAUtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EAEvB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAkB7B,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAiB;gBAEpB,IAAI,EAAE,UAAU,EAAE,MAAM,GAAE,WAAgB;IAQtD;;;OAGG;IACG,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsB9F;;;OAGG;IACH;;;;;;;;;OASG;IACG,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4BzE,mEAAmE;YACrD,eAAe;IAa7B;;;OAGG;IACG,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;CAiBhF"}
@@ -2,15 +2,35 @@ import { extractTransitStationBoard } from '../parsers/transit.js';
2
2
  import { buildListTransitLinesArgs } from '../rpc/batch-request-builders.js';
3
3
  import { BATCH_SERVICES } from '../rpc/batch-services.js';
4
4
  import { createRpcClient, isBatchErrorCode, parseBatchPayload } from '../rpc/batch-rpc.js';
5
+ import { buildDirectionsUrls } from '../rpc/pb-builders.js';
6
+ import { extractTransitRoutes } from '../parsers/transit.js';
7
+ import { DirectionsService } from './directions.js';
8
+ import { GeocodeService } from './geocode.js';
9
+ import { GMapsError } from '../types/common.js';
5
10
  import { PlacesService } from './places.js';
11
+ /** Map the transit preference list onto the single pb routing-preference slot. */
12
+ function toRoutingPreference(preferences) {
13
+ if (!preferences?.length)
14
+ return undefined;
15
+ if (preferences.includes('fewerTransfers'))
16
+ return 'fewer_transfers';
17
+ if (preferences.includes('avoidSurface') || preferences.includes('preferRail')) {
18
+ return 'less_walking';
19
+ }
20
+ return undefined;
21
+ }
6
22
  export class TransitService {
7
23
  http;
8
24
  config;
9
25
  places;
26
+ directions;
27
+ geocode;
10
28
  constructor(http, config = {}) {
11
29
  this.http = http;
12
30
  this.config = config;
13
31
  this.places = new PlacesService(http, config);
32
+ this.directions = new DirectionsService(http, config);
33
+ this.geocode = new GeocodeService(http, config);
14
34
  }
15
35
  /**
16
36
  * Live departure board for a transit station (place preview placeData[62]).
@@ -34,6 +54,54 @@ export class TransitService {
34
54
  }
35
55
  return board;
36
56
  }
57
+ /**
58
+ * Full transit routing from origin to destination.
59
+ * Returns all transit routes with transfers, stops, and line information.
60
+ */
61
+ /**
62
+ * Transit itineraries between two points.
63
+ *
64
+ * Backed by `/maps/preview/directions` in transit mode. The request carries
65
+ * the page session token, without which Google returns travel-time chips and
66
+ * no routes at all. Returns every itinerary Google offers, each with its legs,
67
+ * lines, stops, fare and service alerts.
68
+ *
69
+ * String endpoints are geocoded first.
70
+ */
71
+ async getRoute(options) {
72
+ const start = performance.now();
73
+ const origin = await this.resolveEndpoint(options.origin);
74
+ const destination = await this.resolveEndpoint(options.destination);
75
+ const sessionToken = await this.directions.sessionToken(origin);
76
+ const [url] = buildDirectionsUrls({
77
+ origin,
78
+ destination,
79
+ mode: 'transit',
80
+ hl: this.config.hl ?? 'en',
81
+ gl: this.config.gl ?? 'us',
82
+ departureTime: options.departureTime ? Math.floor(options.departureTime.getTime() / 1000) : undefined,
83
+ arrivalTime: options.arrivalTime ? Math.floor(options.arrivalTime.getTime() / 1000) : undefined,
84
+ transitModes: options.modes,
85
+ transitRoutingPreference: toRoutingPreference(options.preferences),
86
+ sessionToken,
87
+ });
88
+ const data = (await this.http.get(url, {
89
+ referer: 'https://www.google.com/maps/',
90
+ includeOrigin: true,
91
+ }));
92
+ return { routes: extractTransitRoutes(data), timingMs: performance.now() - start };
93
+ }
94
+ /** Coordinates for an endpoint, geocoding a string when needed. */
95
+ async resolveEndpoint(value) {
96
+ if (typeof value !== 'string')
97
+ return value;
98
+ const response = await this.geocode.geocode(value);
99
+ const hit = response.result ?? response.alternatives[0];
100
+ if (!hit) {
101
+ throw new GMapsError(`Could not resolve transit endpoint: ${value}`);
102
+ }
103
+ return { lat: hit.lat, lng: hit.lng };
104
+ }
37
105
  /**
38
106
  * Probe ListTransitLines batchexecute (currently returns error [3] for anonymous callers).
39
107
  * Exposed for research scripts; prefer getStationDepartures for live schedules.
@@ -53,7 +121,7 @@ export class TransitService {
53
121
  return parsed;
54
122
  }
55
123
  }
56
- export function extractTransitBoardFromPreview(data) {
124
+ function extractTransitBoardFromPreview(data) {
57
125
  const placeData = data[6];
58
126
  if (!placeData)
59
127
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"transit.js","sourceRoot":"","sources":["../../src/services/transit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQ3F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,cAAc;IACjB,IAAI,CAAa;IACjB,MAAM,CAAc;IACpB,MAAM,CAAgB;IAE9B,YAAY,IAAgB,EAAE,SAAsB,EAAE;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAAoC;QAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC7C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;SAC7B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAA8B,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,KAAK,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACjG,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAgC;QAC1D,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CACzB,cAAc,CAAC,kBAAkB,EACjC,yBAAyB,CAAC;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CACH,CAAC;QACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,iDAAiD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,MAAM,UAAU,8BAA8B,CAAC,IAA8B;IAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAA8B,CAAC;IACvD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"transit.js","sourceRoot":"","sources":["../../src/services/transit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { HttpClient } from '../client/http-client.js';
2
+ import { type GMapsConfig } from '../types/common.js';
3
+ import type { AdminRegion, GeoArea, NearbyAreasOptions, PassiveAssistOptions, PassiveAssistResult, RevealPlaceOptions, RevealPlaceResult } from '../types/viewport.js';
4
+ /**
5
+ * Viewport-surface services: passive-assist chips, neighbourhood context, click reveal.
6
+ */
7
+ export declare class PassiveAssistService {
8
+ private http;
9
+ private hl;
10
+ private gl;
11
+ constructor(http: HttpClient, config: GMapsConfig);
12
+ /**
13
+ * Viewport POI chips for the map camera (weather, events, neighbourhood labels).
14
+ *
15
+ * Needs an in-page viewport psi: bootstrap kEI / fetchSessionPsi tokens return
16
+ * the ~212 B cache-metadata stub, and only a token from a live viewport
17
+ * passiveassist request yields chips. Such a token is portable — it replays over
18
+ * plain Node fetch and stays valid for at least a few minutes — but minting one
19
+ * requires a browser, so pass `psi` yourself or supply a `psiProvider`. This
20
+ * service will not start a browser on your behalf.
21
+ */
22
+ getViewportChips(options: PassiveAssistOptions): Promise<PassiveAssistResult>;
23
+ }
24
+ /**
25
+ * Administrative context for a coordinate.
26
+ *
27
+ * Backed by reverse geocode — the only anonymous Maps surface that names the
28
+ * region hierarchy containing a point.
29
+ */
30
+ export declare class LocationContextService {
31
+ private geocode;
32
+ constructor(http: HttpClient, config: GMapsConfig);
33
+ /**
34
+ * Not available.
35
+ *
36
+ * Maps renders neighbourhood and district polygons from vector tiles rather
37
+ * than any queryable surface, and place search returns businesses instead of
38
+ * areas. Use {@link getRegions} for the administrative hierarchy.
39
+ *
40
+ * @throws {GMapsError} always
41
+ */
42
+ getNearby(_options: NearbyAreasOptions): Promise<GeoArea[]>;
43
+ /**
44
+ * Not available — alias of {@link getNearby}.
45
+ *
46
+ * @throws {GMapsError} always
47
+ */
48
+ getAreas(coordinates: {
49
+ lat: number;
50
+ lng: number;
51
+ }): Promise<GeoArea[]>;
52
+ /**
53
+ * Administrative regions containing a point, most specific first
54
+ * (e.g. `Bengaluru` → `Karnataka` → `India`).
55
+ *
56
+ * Reverse geocode names the hierarchy but reports no polygons, so
57
+ * {@link AdminRegion.bounds} is absent.
58
+ */
59
+ getRegions(coordinates: {
60
+ lat: number;
61
+ lng: number;
62
+ }): Promise<AdminRegion[]>;
63
+ private regionsFor;
64
+ }
65
+ export declare class RevealService {
66
+ private http;
67
+ private hl;
68
+ private gl;
69
+ constructor(http: HttpClient, config: GMapsConfig);
70
+ /**
71
+ * Reveal a hidden POI at a map click location.
72
+ * Requires a feature id (`ftid`) from search/suggest or place preview.
73
+ */
74
+ revealAtClick(options: RevealPlaceOptions): Promise<RevealPlaceResult>;
75
+ }
76
+ //# sourceMappingURL=viewport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../src/services/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMvK;;GAEG;AAEH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;gBAEP,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW;IAMjD;;;;;;;;;OASG;IACG,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAoDpF;AAQD;;;;;GAKG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAiB;gBAEpB,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW;IAIjD;;;;;;;;OAQG;IACG,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAOjE;;;;OAIG;IACG,QAAQ,CAAC,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI7E;;;;;;OAMG;IACG,UAAU,CAAC,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAarE,UAAU;CASzB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,EAAE,CAAS;gBAEP,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW;IAMjD;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA2B7E"}
@@ -0,0 +1,180 @@
1
+ import { extractAdminRegions, extractPassiveAssistChips } from '../parsers/viewport.js';
2
+ import { buildPassiveAssistUrl } from '../rpc/feature-pb.js';
3
+ import { GMapsError } from '../types/common.js';
4
+ import { GeocodeService } from './geocode.js';
5
+ import { extractRevealPlace } from '../parsers/reveal.js';
6
+ import { buildRevealUrl, normalizeRevealFtid } from '../rpc/feature-pb.js';
7
+ /**
8
+ * Viewport-surface services: passive-assist chips, neighbourhood context, click reveal.
9
+ */
10
+ export class PassiveAssistService {
11
+ http;
12
+ hl;
13
+ gl;
14
+ constructor(http, config) {
15
+ this.http = http;
16
+ this.hl = config.hl ?? 'en';
17
+ this.gl = config.gl ?? 'us';
18
+ }
19
+ /**
20
+ * Viewport POI chips for the map camera (weather, events, neighbourhood labels).
21
+ *
22
+ * Needs an in-page viewport psi: bootstrap kEI / fetchSessionPsi tokens return
23
+ * the ~212 B cache-metadata stub, and only a token from a live viewport
24
+ * passiveassist request yields chips. Such a token is portable — it replays over
25
+ * plain Node fetch and stays valid for at least a few minutes — but minting one
26
+ * requires a browser, so pass `psi` yourself or supply a `psiProvider`. This
27
+ * service will not start a browser on your behalf.
28
+ */
29
+ async getViewportChips(options) {
30
+ const hl = options.hl ?? this.hl;
31
+ const gl = options.gl ?? this.gl;
32
+ let psi = options.psi;
33
+ let url;
34
+ if (!psi && options.psiProvider) {
35
+ const minted = await options.psiProvider({
36
+ lat: options.lat,
37
+ lng: options.lng,
38
+ zoom: options.zoom,
39
+ hl,
40
+ gl,
41
+ });
42
+ if (typeof minted === 'string') {
43
+ psi = minted;
44
+ }
45
+ else {
46
+ psi = minted.psi;
47
+ url = minted.passiveAssistUrl;
48
+ }
49
+ }
50
+ if (!psi) {
51
+ throw new GMapsError('passiveassist needs an in-page viewport psi: pass `psi`, or a `psiProvider` ' +
52
+ '(see mintViewportPsi in scripts/lib/mint-viewport-psi.ts, which uses a headless browser). ' +
53
+ 'Bootstrap tokens only return the cache-metadata stub.');
54
+ }
55
+ if (!url) {
56
+ url = buildPassiveAssistUrl({
57
+ lat: options.lat,
58
+ lng: options.lng,
59
+ zoom: options.zoom,
60
+ psi,
61
+ width: options.width,
62
+ height: options.height,
63
+ chipLimit: options.chipLimit,
64
+ hl,
65
+ gl,
66
+ });
67
+ }
68
+ const data = await this.http.get(url, {
69
+ referer: 'https://www.google.com/maps/',
70
+ includeOrigin: true,
71
+ allowShortBody: true,
72
+ });
73
+ return extractPassiveAssistChips(data);
74
+ }
75
+ }
76
+ /**
77
+ * Request regions to probe from. The first is used alone unless it comes back
78
+ * without a country, which happens when the point lies in that same country.
79
+ */
80
+ const REGION_PROBE_ORDER = ['us', 'jp'];
81
+ /**
82
+ * Administrative context for a coordinate.
83
+ *
84
+ * Backed by reverse geocode — the only anonymous Maps surface that names the
85
+ * region hierarchy containing a point.
86
+ */
87
+ export class LocationContextService {
88
+ geocode;
89
+ constructor(http, config) {
90
+ this.geocode = new GeocodeService(http, config);
91
+ }
92
+ /**
93
+ * Not available.
94
+ *
95
+ * Maps renders neighbourhood and district polygons from vector tiles rather
96
+ * than any queryable surface, and place search returns businesses instead of
97
+ * areas. Use {@link getRegions} for the administrative hierarchy.
98
+ *
99
+ * @throws {GMapsError} always
100
+ */
101
+ async getNearby(_options) {
102
+ throw new GMapsError('Nearby area lookup is not exposed by any public Maps surface — ' +
103
+ 'getRegions() returns the administrative hierarchy for a point.');
104
+ }
105
+ /**
106
+ * Not available — alias of {@link getNearby}.
107
+ *
108
+ * @throws {GMapsError} always
109
+ */
110
+ async getAreas(coordinates) {
111
+ return this.getNearby({ location: coordinates });
112
+ }
113
+ /**
114
+ * Administrative regions containing a point, most specific first
115
+ * (e.g. `Bengaluru` → `Karnataka` → `India`).
116
+ *
117
+ * Reverse geocode names the hierarchy but reports no polygons, so
118
+ * {@link AdminRegion.bounds} is absent.
119
+ */
120
+ async getRegions(coordinates) {
121
+ // Google omits the country when the request region matches the place's own,
122
+ // so probe from a second region and keep whichever answer is more complete.
123
+ let best = [];
124
+ for (const gl of REGION_PROBE_ORDER) {
125
+ const regions = await this.regionsFor(coordinates, gl);
126
+ if (regions.length > best.length)
127
+ best = regions;
128
+ // A full city → state → country chain is as much as this surface gives.
129
+ if (best.length >= 3)
130
+ break;
131
+ }
132
+ return best;
133
+ }
134
+ async regionsFor(coordinates, gl) {
135
+ const response = await this.geocode.reverseGeocode(coordinates.lat, coordinates.lng, { gl });
136
+ const result = response.result ?? response.alternatives[0];
137
+ if (!result)
138
+ return [];
139
+ return extractAdminRegions(result.plusCodeAddress ?? result.formattedAddress);
140
+ }
141
+ }
142
+ export class RevealService {
143
+ http;
144
+ hl;
145
+ gl;
146
+ constructor(http, config) {
147
+ this.http = http;
148
+ this.hl = config.hl ?? 'en';
149
+ this.gl = config.gl ?? 'us';
150
+ }
151
+ /**
152
+ * Reveal a hidden POI at a map click location.
153
+ * Requires a feature id (`ftid`) from search/suggest or place preview.
154
+ */
155
+ async revealAtClick(options) {
156
+ if (!options.ftid) {
157
+ return {};
158
+ }
159
+ const url = buildRevealUrl({
160
+ camLat: options.camLat,
161
+ camLng: options.camLng,
162
+ camZoom: options.camZoom,
163
+ hitLat: options.hitLat,
164
+ hitLng: options.hitLng,
165
+ ftid: normalizeRevealFtid(options.ftid),
166
+ width: options.width,
167
+ height: options.height,
168
+ tileX: options.tileX,
169
+ tileY: options.tileY,
170
+ hl: this.hl,
171
+ gl: this.gl,
172
+ });
173
+ const data = await this.http.get(url, {
174
+ referer: 'https://www.google.com/maps/',
175
+ includeOrigin: true,
176
+ });
177
+ return extractRevealPlace(data);
178
+ }
179
+ }
180
+ //# sourceMappingURL=viewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../src/services/viewport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAoB,MAAM,oBAAoB,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3E;;GAEG;AAEH,MAAM,OAAO,oBAAoB;IACvB,IAAI,CAAa;IACjB,EAAE,CAAS;IACX,EAAE,CAAS;IAEnB,YAAY,IAAgB,EAAE,MAAmB;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAA6B;QAClD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACjC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACtB,IAAI,GAAuB,CAAC;QAE5B,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACvC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE;gBACF,EAAE;aACH,CAAC,CAAC;YACH,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,GAAG,GAAG,MAAM,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBACjB,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,UAAU,CAClB,8EAA8E;gBAC5E,4FAA4F;gBAC5F,uDAAuD,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,qBAAqB,CAAC;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG;gBACH,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,EAAE;gBACF,EAAE;aACH,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,GAAG,EAAE;YAC5C,OAAO,EAAE,8BAA8B;YACvC,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACzB,OAAO,CAAiB;IAEhC,YAAY,IAAgB,EAAE,MAAmB;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CAAC,QAA4B;QAC1C,MAAM,IAAI,UAAU,CAClB,iEAAiE;YAC/D,gEAAgE,CACnE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAyC;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,WAAyC;QACxD,4EAA4E;QAC5E,4EAA4E;QAC5E,IAAI,IAAI,GAAkB,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;gBAAE,IAAI,GAAG,OAAO,CAAC;YACjD,wEAAwE;YACxE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;gBAAE,MAAM;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,WAAyC,EACzC,EAAU;QAEV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,mBAAmB,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChF,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IAChB,IAAI,CAAa;IACjB,EAAE,CAAS;IACX,EAAE,CAAS;IAEnB,YAAY,IAAgB,EAAE,MAAmB;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAA2B;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;YACvC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACpC,OAAO,EAAE,8BAA8B;YACvC,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,OAAO,kBAAkB,CAAC,IAA6C,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Waypoint order optimization.
3
+ *
4
+ * Consumer Maps has no `optimize:true` equivalent, so this composes the
5
+ * anonymous directions-fan-out distance matrix with a travelling-salesman
6
+ * heuristic: nearest-neighbour construction followed by 2-opt improvement.
7
+ * Fixed origin/destination are respected; open tours (no fixed ends) try
8
+ * every stop as a starting point and keep the best tour after 2-opt.
9
+ */
10
+ import { GeocodeService } from './geocode.js';
11
+ import { DirectionsService } from './directions.js';
12
+ import { DistanceMatrixService } from './distance-matrix.js';
13
+ import type { OptimizeWaypointsOptions, OptimizeWaypointsResult } from '../types/route-optimization.js';
14
+ export declare class WaypointOptimizerService {
15
+ private matrix;
16
+ private directions;
17
+ private geocode;
18
+ constructor(matrix: DistanceMatrixService, directions: DirectionsService, geocode: GeocodeService);
19
+ /**
20
+ * Reorder `stops` into an efficient visiting order.
21
+ *
22
+ * Costs come from real driving durations/distances via the directions
23
+ * fan-out matrix. With ~N stops the matrix costs N² unique pairs, so this
24
+ * suits up to roughly a dozen stops; larger lists still work but take
25
+ * proportionally longer.
26
+ */
27
+ optimize(options: OptimizeWaypointsOptions): Promise<OptimizeWaypointsResult>;
28
+ /** Coordinates for any node, geocoding address strings once. */
29
+ private resolve;
30
+ }
31
+ //# sourceMappingURL=waypoint-optimizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waypoint-optimizer.d.ts","sourceRoot":"","sources":["../../src/services/waypoint-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,OAAO,KAAK,EAEV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAKxC,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAiB;gBAG9B,MAAM,EAAE,qBAAqB,EAC7B,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,cAAc;IAOzB;;;;;;;OAOG;IACG,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgJnF,gEAAgE;YAClD,OAAO;CAStB"}