googlemaps-kit 0.4.0 → 0.6.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 (661) hide show
  1. package/README.md +228 -27
  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 +47 -10
  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 +239 -18
  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 +116 -31
  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 +122 -36
  57. package/dist/cli.js.map +1 -1
  58. package/dist/client/gmaps-client.d.ts +14 -31
  59. package/dist/client/gmaps-client.d.ts.map +1 -1
  60. package/dist/client/gmaps-client.js +52 -130
  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 +2 -12
  66. package/dist/client/intent.d.ts.map +1 -1
  67. package/dist/client/intent.js +39 -18
  68. package/dist/client/intent.js.map +1 -1
  69. package/dist/client/maps-tools.d.ts +19 -3
  70. package/dist/client/maps-tools.d.ts.map +1 -1
  71. package/dist/client/maps-tools.js +57 -4
  72. package/dist/client/maps-tools.js.map +1 -1
  73. package/dist/client/namespaces.d.ts +125 -16
  74. package/dist/client/namespaces.d.ts.map +1 -1
  75. package/dist/client/namespaces.js +189 -23
  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/client/place-workflows.d.ts +7 -0
  80. package/dist/client/place-workflows.d.ts.map +1 -0
  81. package/dist/client/place-workflows.js +113 -0
  82. package/dist/client/place-workflows.js.map +1 -0
  83. package/dist/index.d.ts +54 -19
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +8 -4
  86. package/dist/index.js.map +1 -1
  87. package/dist/known-surfaces.d.ts +173 -5
  88. package/dist/known-surfaces.d.ts.map +1 -1
  89. package/dist/known-surfaces.js +173 -5
  90. package/dist/known-surfaces.js.map +1 -1
  91. package/dist/parsers/batch-url.d.ts +10 -1
  92. package/dist/parsers/batch-url.d.ts.map +1 -1
  93. package/dist/parsers/batch-url.js +30 -2
  94. package/dist/parsers/batch-url.js.map +1 -1
  95. package/dist/parsers/boq-reviews.d.ts +8 -1
  96. package/dist/parsers/boq-reviews.d.ts.map +1 -1
  97. package/dist/parsers/boq-reviews.js +50 -8
  98. package/dist/parsers/boq-reviews.js.map +1 -1
  99. package/dist/parsers/categories.d.ts.map +1 -1
  100. package/dist/parsers/categories.js +13 -10
  101. package/dist/parsers/categories.js.map +1 -1
  102. package/dist/parsers/directions.d.ts +18 -2
  103. package/dist/parsers/directions.d.ts.map +1 -1
  104. package/dist/parsers/directions.js +232 -18
  105. package/dist/parsers/directions.js.map +1 -1
  106. package/dist/parsers/geocode.d.ts +20 -2
  107. package/dist/parsers/geocode.d.ts.map +1 -1
  108. package/dist/parsers/geocode.js +139 -6
  109. package/dist/parsers/geocode.js.map +1 -1
  110. package/dist/parsers/knowledge.js +1 -1
  111. package/dist/parsers/knowledge.js.map +1 -1
  112. package/dist/parsers/lists.d.ts.map +1 -1
  113. package/dist/parsers/lists.js +29 -12
  114. package/dist/parsers/lists.js.map +1 -1
  115. package/dist/parsers/local-posts.d.ts.map +1 -1
  116. package/dist/parsers/local-posts.js +97 -12
  117. package/dist/parsers/local-posts.js.map +1 -1
  118. package/dist/parsers/mobility.d.ts +42 -0
  119. package/dist/parsers/mobility.d.ts.map +1 -0
  120. package/dist/parsers/mobility.js +130 -0
  121. package/dist/parsers/mobility.js.map +1 -0
  122. package/dist/parsers/panorama.d.ts +0 -1
  123. package/dist/parsers/panorama.d.ts.map +1 -1
  124. package/dist/parsers/panorama.js +117 -14
  125. package/dist/parsers/panorama.js.map +1 -1
  126. package/dist/parsers/photos.d.ts.map +1 -1
  127. package/dist/parsers/photos.js +15 -8
  128. package/dist/parsers/photos.js.map +1 -1
  129. package/dist/parsers/place-attributes.d.ts +12 -3
  130. package/dist/parsers/place-attributes.d.ts.map +1 -1
  131. package/dist/parsers/place-attributes.js +48 -2
  132. package/dist/parsers/place-attributes.js.map +1 -1
  133. package/dist/parsers/place-extended.d.ts +163 -0
  134. package/dist/parsers/place-extended.d.ts.map +1 -0
  135. package/dist/parsers/place-extended.js +741 -0
  136. package/dist/parsers/place-extended.js.map +1 -0
  137. package/dist/parsers/place.d.ts +15 -1
  138. package/dist/parsers/place.d.ts.map +1 -1
  139. package/dist/parsers/place.js +16 -5
  140. package/dist/parsers/place.js.map +1 -1
  141. package/dist/parsers/popular-times.d.ts +35 -0
  142. package/dist/parsers/popular-times.d.ts.map +1 -0
  143. package/dist/parsers/popular-times.js +149 -0
  144. package/dist/parsers/popular-times.js.map +1 -0
  145. package/dist/parsers/reveal.d.ts +1 -1
  146. package/dist/parsers/reveal.d.ts.map +1 -1
  147. package/dist/parsers/reveal.js +3 -2
  148. package/dist/parsers/reveal.js.map +1 -1
  149. package/dist/parsers/reviews.d.ts +24 -2
  150. package/dist/parsers/reviews.d.ts.map +1 -1
  151. package/dist/parsers/reviews.js +110 -1
  152. package/dist/parsers/reviews.js.map +1 -1
  153. package/dist/parsers/search.d.ts +17 -2
  154. package/dist/parsers/search.d.ts.map +1 -1
  155. package/dist/parsers/search.js +125 -7
  156. package/dist/parsers/search.js.map +1 -1
  157. package/dist/parsers/shared.d.ts +4 -0
  158. package/dist/parsers/shared.d.ts.map +1 -1
  159. package/dist/parsers/shared.js +10 -2
  160. package/dist/parsers/shared.js.map +1 -1
  161. package/dist/parsers/suggest.d.ts.map +1 -1
  162. package/dist/parsers/suggest.js +45 -6
  163. package/dist/parsers/suggest.js.map +1 -1
  164. package/dist/parsers/tiles.d.ts +13 -0
  165. package/dist/parsers/tiles.d.ts.map +1 -1
  166. package/dist/parsers/tiles.js +64 -0
  167. package/dist/parsers/tiles.js.map +1 -1
  168. package/dist/parsers/traffic.d.ts +9 -1
  169. package/dist/parsers/traffic.d.ts.map +1 -1
  170. package/dist/parsers/traffic.js +129 -2
  171. package/dist/parsers/traffic.js.map +1 -1
  172. package/dist/parsers/transit.d.ts +4 -2
  173. package/dist/parsers/transit.d.ts.map +1 -1
  174. package/dist/parsers/transit.js +385 -3
  175. package/dist/parsers/transit.js.map +1 -1
  176. package/dist/parsers/viewport.d.ts +20 -0
  177. package/dist/parsers/viewport.d.ts.map +1 -0
  178. package/dist/parsers/viewport.js +139 -0
  179. package/dist/parsers/viewport.js.map +1 -0
  180. package/dist/platform/catalog.d.ts +18 -0
  181. package/dist/platform/catalog.d.ts.map +1 -0
  182. package/dist/platform/catalog.js +329 -0
  183. package/dist/platform/catalog.js.map +1 -0
  184. package/dist/platform/parity.d.ts +12 -0
  185. package/dist/platform/parity.d.ts.map +1 -0
  186. package/dist/platform/parity.js +25 -0
  187. package/dist/platform/parity.js.map +1 -0
  188. package/dist/rpc/batch-execute.js +3 -3
  189. package/dist/rpc/batch-execute.js.map +1 -1
  190. package/dist/rpc/batch-request-builders.d.ts +12 -14
  191. package/dist/rpc/batch-request-builders.d.ts.map +1 -1
  192. package/dist/rpc/batch-request-builders.js +49 -17
  193. package/dist/rpc/batch-request-builders.js.map +1 -1
  194. package/dist/rpc/batch-rpc.js +1 -1
  195. package/dist/rpc/batch-services.d.ts +2 -0
  196. package/dist/rpc/batch-services.d.ts.map +1 -1
  197. package/dist/rpc/batch-services.js +4 -0
  198. package/dist/rpc/batch-services.js.map +1 -1
  199. package/dist/rpc/{descriptor-registry.d.ts → descriptors.d.ts} +29 -4
  200. package/dist/rpc/descriptors.d.ts.map +1 -0
  201. package/dist/rpc/{app-options.js → descriptors.js} +89 -5
  202. package/dist/rpc/descriptors.js.map +1 -0
  203. package/dist/rpc/earth-rocktree.d.ts +174 -0
  204. package/dist/rpc/earth-rocktree.d.ts.map +1 -0
  205. package/dist/rpc/earth-rocktree.js +468 -0
  206. package/dist/rpc/earth-rocktree.js.map +1 -0
  207. package/dist/rpc/feature-pb.d.ts +86 -0
  208. package/dist/rpc/feature-pb.d.ts.map +1 -0
  209. package/dist/rpc/feature-pb.js +112 -0
  210. package/dist/rpc/feature-pb.js.map +1 -0
  211. package/dist/rpc/feature-rpc.d.ts +15 -0
  212. package/dist/rpc/feature-rpc.d.ts.map +1 -1
  213. package/dist/rpc/feature-rpc.js +44 -0
  214. package/dist/rpc/feature-rpc.js.map +1 -1
  215. package/dist/rpc/maps-runtime.js +1 -1
  216. package/dist/rpc/panorama-pb.d.ts +3 -0
  217. package/dist/rpc/panorama-pb.d.ts.map +1 -1
  218. package/dist/rpc/panorama-pb.js +35 -3
  219. package/dist/rpc/panorama-pb.js.map +1 -1
  220. package/dist/rpc/pb-builders.d.ts +21 -1
  221. package/dist/rpc/pb-builders.d.ts.map +1 -1
  222. package/dist/rpc/pb-builders.js +62 -4
  223. package/dist/rpc/pb-builders.js.map +1 -1
  224. package/dist/rpc/photos-pb.d.ts +28 -1
  225. package/dist/rpc/photos-pb.d.ts.map +1 -1
  226. package/dist/rpc/photos-pb.js +96 -0
  227. package/dist/rpc/photos-pb.js.map +1 -1
  228. package/dist/rpc/rpc-methods.d.ts +0 -2
  229. package/dist/rpc/rpc-methods.d.ts.map +1 -1
  230. package/dist/rpc/rpc-methods.js +0 -38
  231. package/dist/rpc/rpc-methods.js.map +1 -1
  232. package/dist/rpc/search-filters.d.ts +0 -12
  233. package/dist/rpc/search-filters.d.ts.map +1 -1
  234. package/dist/rpc/search-filters.js +1 -11
  235. package/dist/rpc/search-filters.js.map +1 -1
  236. package/dist/rpc/tile-builders.d.ts +136 -0
  237. package/dist/rpc/tile-builders.d.ts.map +1 -0
  238. package/dist/rpc/tile-builders.js +172 -0
  239. package/dist/rpc/tile-builders.js.map +1 -0
  240. package/dist/rpc/xsrf-bootstrap.d.ts +0 -2
  241. package/dist/rpc/xsrf-bootstrap.d.ts.map +1 -1
  242. package/dist/rpc/xsrf-bootstrap.js +2 -2
  243. package/dist/rpc/xsrf-bootstrap.js.map +1 -1
  244. package/dist/services/aerial-view.d.ts +22 -0
  245. package/dist/services/aerial-view.d.ts.map +1 -0
  246. package/dist/services/aerial-view.js +107 -0
  247. package/dist/services/aerial-view.js.map +1 -0
  248. package/dist/services/ask-maps.d.ts +45 -5
  249. package/dist/services/ask-maps.d.ts.map +1 -1
  250. package/dist/services/ask-maps.js +148 -21
  251. package/dist/services/ask-maps.js.map +1 -1
  252. package/dist/services/directions.d.ts +17 -1
  253. package/dist/services/directions.d.ts.map +1 -1
  254. package/dist/services/directions.js +32 -0
  255. package/dist/services/directions.js.map +1 -1
  256. package/dist/services/distance-matrix.d.ts +1 -1
  257. package/dist/services/distance-matrix.d.ts.map +1 -1
  258. package/dist/services/distance-matrix.js +1 -1
  259. package/dist/services/distance-matrix.js.map +1 -1
  260. package/dist/services/elevation.d.ts +7 -5
  261. package/dist/services/elevation.d.ts.map +1 -1
  262. package/dist/services/elevation.js +42 -6
  263. package/dist/services/elevation.js.map +1 -1
  264. package/dist/services/environment/air-quality.d.ts +39 -0
  265. package/dist/services/environment/air-quality.d.ts.map +1 -0
  266. package/dist/services/environment/air-quality.js +86 -0
  267. package/dist/services/environment/air-quality.js.map +1 -0
  268. package/dist/services/environment/weather.d.ts +39 -0
  269. package/dist/services/environment/weather.d.ts.map +1 -0
  270. package/dist/services/environment/weather.js +54 -0
  271. package/dist/services/environment/weather.js.map +1 -0
  272. package/dist/services/geocode.d.ts +21 -1
  273. package/dist/services/geocode.d.ts.map +1 -1
  274. package/dist/services/geocode.js +103 -0
  275. package/dist/services/geocode.js.map +1 -1
  276. package/dist/services/keyed.d.ts +80 -0
  277. package/dist/services/keyed.d.ts.map +1 -0
  278. package/dist/services/keyed.js +152 -0
  279. package/dist/services/keyed.js.map +1 -0
  280. package/dist/services/knowledge.d.ts +6 -2
  281. package/dist/services/knowledge.d.ts.map +1 -1
  282. package/dist/services/knowledge.js +30 -5
  283. package/dist/services/knowledge.js.map +1 -1
  284. package/dist/services/lists.d.ts +7 -1
  285. package/dist/services/lists.d.ts.map +1 -1
  286. package/dist/services/lists.js +45 -1
  287. package/dist/services/lists.js.map +1 -1
  288. package/dist/services/map-3d.d.ts +66 -0
  289. package/dist/services/map-3d.d.ts.map +1 -0
  290. package/dist/services/map-3d.js +658 -0
  291. package/dist/services/map-3d.js.map +1 -0
  292. package/dist/services/map-layers.d.ts +33 -0
  293. package/dist/services/map-layers.d.ts.map +1 -0
  294. package/dist/services/map-layers.js +207 -0
  295. package/dist/services/map-layers.js.map +1 -0
  296. package/dist/services/meta.d.ts +71 -0
  297. package/dist/services/meta.d.ts.map +1 -0
  298. package/dist/services/meta.js +132 -0
  299. package/dist/services/meta.js.map +1 -0
  300. package/dist/services/mobility.d.ts +79 -0
  301. package/dist/services/mobility.d.ts.map +1 -0
  302. package/dist/services/mobility.js +307 -0
  303. package/dist/services/mobility.js.map +1 -0
  304. package/dist/services/nearby-search.d.ts +32 -0
  305. package/dist/services/nearby-search.d.ts.map +1 -0
  306. package/dist/services/nearby-search.js +85 -0
  307. package/dist/services/nearby-search.js.map +1 -0
  308. package/dist/services/panorama.d.ts +19 -1
  309. package/dist/services/panorama.d.ts.map +1 -1
  310. package/dist/services/panorama.js +111 -3
  311. package/dist/services/panorama.js.map +1 -1
  312. package/dist/services/photos.d.ts.map +1 -1
  313. package/dist/services/photos.js +12 -6
  314. package/dist/services/photos.js.map +1 -1
  315. package/dist/services/place-attributes.d.ts +31 -0
  316. package/dist/services/place-attributes.d.ts.map +1 -0
  317. package/dist/services/place-attributes.js +48 -0
  318. package/dist/services/place-attributes.js.map +1 -0
  319. package/dist/services/places.d.ts +13 -0
  320. package/dist/services/places.d.ts.map +1 -1
  321. package/dist/services/places.js +7 -4
  322. package/dist/services/places.js.map +1 -1
  323. package/dist/services/reviews.d.ts +11 -1
  324. package/dist/services/reviews.d.ts.map +1 -1
  325. package/dist/services/reviews.js +36 -12
  326. package/dist/services/reviews.js.map +1 -1
  327. package/dist/services/search-along-route.d.ts +33 -0
  328. package/dist/services/search-along-route.d.ts.map +1 -0
  329. package/dist/services/search-along-route.js +200 -0
  330. package/dist/services/search-along-route.js.map +1 -0
  331. package/dist/services/search.d.ts +29 -2
  332. package/dist/services/search.d.ts.map +1 -1
  333. package/dist/services/search.js +169 -6
  334. package/dist/services/search.js.map +1 -1
  335. package/dist/services/static-map.js +1 -1
  336. package/dist/services/static-map.js.map +1 -1
  337. package/dist/services/tiles.d.ts +39 -2
  338. package/dist/services/tiles.d.ts.map +1 -1
  339. package/dist/services/tiles.js +172 -13
  340. package/dist/services/tiles.js.map +1 -1
  341. package/dist/services/traffic.d.ts +12 -1
  342. package/dist/services/traffic.d.ts.map +1 -1
  343. package/dist/services/traffic.js +25 -2
  344. package/dist/services/traffic.js.map +1 -1
  345. package/dist/services/transit.d.ts +20 -3
  346. package/dist/services/transit.d.ts.map +1 -1
  347. package/dist/services/transit.js +69 -1
  348. package/dist/services/transit.js.map +1 -1
  349. package/dist/services/viewport.d.ts +76 -0
  350. package/dist/services/viewport.d.ts.map +1 -0
  351. package/dist/services/viewport.js +180 -0
  352. package/dist/services/viewport.js.map +1 -0
  353. package/dist/services/waypoint-optimizer.d.ts +31 -0
  354. package/dist/services/waypoint-optimizer.d.ts.map +1 -0
  355. package/dist/services/waypoint-optimizer.js +235 -0
  356. package/dist/services/waypoint-optimizer.js.map +1 -0
  357. package/dist/types/aerial-view.d.ts +39 -0
  358. package/dist/types/aerial-view.d.ts.map +1 -0
  359. package/dist/types/aerial-view.js +2 -0
  360. package/dist/types/aerial-view.js.map +1 -0
  361. package/dist/types/batch-url.d.ts +31 -0
  362. package/dist/types/batch-url.d.ts.map +1 -1
  363. package/dist/types/categories.d.ts +20 -4
  364. package/dist/types/categories.d.ts.map +1 -1
  365. package/dist/types/common.d.ts +192 -24
  366. package/dist/types/common.d.ts.map +1 -1
  367. package/dist/types/common.js +1 -1
  368. package/dist/types/common.js.map +1 -1
  369. package/dist/types/directions.d.ts +217 -3
  370. package/dist/types/directions.d.ts.map +1 -1
  371. package/dist/types/dx.d.ts +69 -11
  372. package/dist/types/dx.d.ts.map +1 -1
  373. package/dist/types/geocode.d.ts +61 -3
  374. package/dist/types/geocode.d.ts.map +1 -1
  375. package/dist/types/grid-search.d.ts +66 -0
  376. package/dist/types/grid-search.d.ts.map +1 -0
  377. package/dist/types/grid-search.js +2 -0
  378. package/dist/types/grid-search.js.map +1 -0
  379. package/dist/types/hooks.d.ts +3 -3
  380. package/dist/types/hooks.d.ts.map +1 -1
  381. package/dist/types/links.d.ts +3 -6
  382. package/dist/types/links.d.ts.map +1 -1
  383. package/dist/types/lists.d.ts +68 -3
  384. package/dist/types/lists.d.ts.map +1 -1
  385. package/dist/types/map-3d.d.ts +126 -0
  386. package/dist/types/map-3d.d.ts.map +1 -0
  387. package/dist/types/map-3d.js +2 -0
  388. package/dist/types/map-3d.js.map +1 -0
  389. package/dist/types/map-earth.d.ts +34 -0
  390. package/dist/types/map-earth.d.ts.map +1 -0
  391. package/dist/types/map-earth.js +2 -0
  392. package/dist/types/map-earth.js.map +1 -0
  393. package/dist/types/map-layers.d.ts +63 -0
  394. package/dist/types/map-layers.d.ts.map +1 -0
  395. package/dist/types/map-layers.js +2 -0
  396. package/dist/types/map-layers.js.map +1 -0
  397. package/dist/types/mobility.d.ts +121 -0
  398. package/dist/types/mobility.d.ts.map +1 -0
  399. package/dist/types/mobility.js +3 -0
  400. package/dist/types/mobility.js.map +1 -0
  401. package/dist/types/panorama.d.ts +123 -0
  402. package/dist/types/panorama.d.ts.map +1 -1
  403. package/dist/types/photos.d.ts +12 -0
  404. package/dist/types/photos.d.ts.map +1 -1
  405. package/dist/types/photos.js +2 -1
  406. package/dist/types/photos.js.map +1 -1
  407. package/dist/types/place-attributes.d.ts +15 -0
  408. package/dist/types/place-attributes.d.ts.map +1 -0
  409. package/dist/types/place-attributes.js +2 -0
  410. package/dist/types/place-attributes.js.map +1 -0
  411. package/dist/types/place-extended.d.ts +406 -0
  412. package/dist/types/place-extended.d.ts.map +1 -0
  413. package/dist/types/place-extended.js +18 -0
  414. package/dist/types/place-extended.js.map +1 -0
  415. package/dist/types/protobuf.d.ts +1 -1
  416. package/dist/types/protobuf.js +1 -1
  417. package/dist/types/reviews.d.ts +28 -1
  418. package/dist/types/reviews.d.ts.map +1 -1
  419. package/dist/types/reviews.js.map +1 -1
  420. package/dist/types/route-optimization.d.ts +56 -0
  421. package/dist/types/route-optimization.d.ts.map +1 -0
  422. package/dist/types/route-optimization.js +2 -0
  423. package/dist/types/route-optimization.js.map +1 -0
  424. package/dist/types/search-along-route.d.ts +49 -0
  425. package/dist/types/search-along-route.d.ts.map +1 -0
  426. package/dist/types/search-along-route.js +2 -0
  427. package/dist/types/search-along-route.js.map +1 -0
  428. package/dist/types/search-filters.d.ts +1 -1
  429. package/dist/types/search-filters.js +1 -1
  430. package/dist/types/suggest.d.ts +23 -2
  431. package/dist/types/suggest.d.ts.map +1 -1
  432. package/dist/types/tiles.d.ts +40 -0
  433. package/dist/types/tiles.d.ts.map +1 -1
  434. package/dist/types/traffic.d.ts +58 -1
  435. package/dist/types/traffic.d.ts.map +1 -1
  436. package/dist/types/transit.d.ts +160 -1
  437. package/dist/types/transit.d.ts.map +1 -1
  438. package/dist/types/transit.js +0 -1
  439. package/dist/types/transit.js.map +1 -1
  440. package/dist/types/viewport.d.ts +159 -0
  441. package/dist/types/viewport.d.ts.map +1 -0
  442. package/dist/types/viewport.js +3 -0
  443. package/dist/types/viewport.js.map +1 -0
  444. package/dist/utils/async.d.ts +44 -0
  445. package/dist/utils/async.d.ts.map +1 -0
  446. package/dist/utils/async.js +132 -0
  447. package/dist/utils/async.js.map +1 -0
  448. package/dist/utils/encoded-polyline.d.ts +43 -0
  449. package/dist/utils/encoded-polyline.d.ts.map +1 -1
  450. package/dist/utils/encoded-polyline.js +71 -0
  451. package/dist/utils/encoded-polyline.js.map +1 -1
  452. package/dist/utils/env.d.ts +6 -0
  453. package/dist/utils/env.d.ts.map +1 -0
  454. package/dist/utils/{load-env.js → env.js} +32 -7
  455. package/dist/utils/env.js.map +1 -0
  456. package/dist/utils/geo.d.ts +12 -0
  457. package/dist/utils/geo.d.ts.map +1 -1
  458. package/dist/utils/geo.js +20 -0
  459. package/dist/utils/geo.js.map +1 -1
  460. package/dist/utils/hooks.d.ts +2 -3
  461. package/dist/utils/hooks.d.ts.map +1 -1
  462. package/dist/utils/hooks.js +1 -1
  463. package/dist/utils/hooks.js.map +1 -1
  464. package/dist/utils/ids.d.ts +1 -0
  465. package/dist/utils/ids.d.ts.map +1 -1
  466. package/dist/utils/ids.js +10 -0
  467. package/dist/utils/ids.js.map +1 -1
  468. package/dist/utils/net.d.ts +46 -0
  469. package/dist/utils/net.d.ts.map +1 -0
  470. package/dist/utils/net.js +150 -0
  471. package/dist/utils/net.js.map +1 -0
  472. package/dist/utils/payload.d.ts +22 -0
  473. package/dist/utils/payload.d.ts.map +1 -0
  474. package/dist/utils/{chunked-decoder.js → payload.js} +80 -2
  475. package/dist/utils/payload.js.map +1 -0
  476. package/dist/utils/place-ref.d.ts +40 -3
  477. package/dist/utils/place-ref.d.ts.map +1 -1
  478. package/dist/utils/place-ref.js +94 -2
  479. package/dist/utils/place-ref.js.map +1 -1
  480. package/package.json +8 -5
  481. package/dist/client/product-namespaces.d.ts +0 -30
  482. package/dist/client/product-namespaces.d.ts.map +0 -1
  483. package/dist/client/product-namespaces.js +0 -47
  484. package/dist/client/product-namespaces.js.map +0 -1
  485. package/dist/parsers/elevation-directions.d.ts +0 -18
  486. package/dist/parsers/elevation-directions.d.ts.map +0 -1
  487. package/dist/parsers/elevation-directions.js +0 -102
  488. package/dist/parsers/elevation-directions.js.map +0 -1
  489. package/dist/parsers/passiveassist.d.ts +0 -10
  490. package/dist/parsers/passiveassist.d.ts.map +0 -1
  491. package/dist/parsers/passiveassist.js +0 -61
  492. package/dist/parsers/passiveassist.js.map +0 -1
  493. package/dist/parsers/review-aggregates.d.ts +0 -7
  494. package/dist/parsers/review-aggregates.d.ts.map +0 -1
  495. package/dist/parsers/review-aggregates.js +0 -18
  496. package/dist/parsers/review-aggregates.js.map +0 -1
  497. package/dist/parsers/review-client-filters.d.ts +0 -8
  498. package/dist/parsers/review-client-filters.d.ts.map +0 -1
  499. package/dist/parsers/review-client-filters.js +0 -28
  500. package/dist/parsers/review-client-filters.js.map +0 -1
  501. package/dist/parsers/search-client-filters.d.ts +0 -7
  502. package/dist/parsers/search-client-filters.d.ts.map +0 -1
  503. package/dist/parsers/search-client-filters.js +0 -44
  504. package/dist/parsers/search-client-filters.js.map +0 -1
  505. package/dist/parsers/search-pagination.d.ts +0 -12
  506. package/dist/parsers/search-pagination.d.ts.map +0 -1
  507. package/dist/parsers/search-pagination.js +0 -34
  508. package/dist/parsers/search-pagination.js.map +0 -1
  509. package/dist/parsers/timezone-geocode.d.ts +0 -20
  510. package/dist/parsers/timezone-geocode.d.ts.map +0 -1
  511. package/dist/parsers/timezone-geocode.js +0 -96
  512. package/dist/parsers/timezone-geocode.js.map +0 -1
  513. package/dist/parsers/ugc-aggregates.d.ts +0 -9
  514. package/dist/parsers/ugc-aggregates.d.ts.map +0 -1
  515. package/dist/parsers/ugc-aggregates.js +0 -23
  516. package/dist/parsers/ugc-aggregates.js.map +0 -1
  517. package/dist/rpc/app-options.d.ts +0 -25
  518. package/dist/rpc/app-options.d.ts.map +0 -1
  519. package/dist/rpc/app-options.js.map +0 -1
  520. package/dist/rpc/batchexecute-args.d.ts +0 -30
  521. package/dist/rpc/batchexecute-args.d.ts.map +0 -1
  522. package/dist/rpc/batchexecute-args.js +0 -35
  523. package/dist/rpc/batchexecute-args.js.map +0 -1
  524. package/dist/rpc/boq-reviews.d.ts +0 -16
  525. package/dist/rpc/boq-reviews.d.ts.map +0 -1
  526. package/dist/rpc/boq-reviews.js +0 -45
  527. package/dist/rpc/boq-reviews.js.map +0 -1
  528. package/dist/rpc/descriptor-registry.d.ts.map +0 -1
  529. package/dist/rpc/descriptor-registry.js +0 -47
  530. package/dist/rpc/descriptor-registry.js.map +0 -1
  531. package/dist/rpc/lists-pb.d.ts +0 -20
  532. package/dist/rpc/lists-pb.d.ts.map +0 -1
  533. package/dist/rpc/lists-pb.js +0 -20
  534. package/dist/rpc/lists-pb.js.map +0 -1
  535. package/dist/rpc/nxa.d.ts +0 -13
  536. package/dist/rpc/nxa.d.ts.map +0 -1
  537. package/dist/rpc/nxa.js +0 -44
  538. package/dist/rpc/nxa.js.map +0 -1
  539. package/dist/rpc/passiveassist-pb.d.ts +0 -21
  540. package/dist/rpc/passiveassist-pb.d.ts.map +0 -1
  541. package/dist/rpc/passiveassist-pb.js +0 -24
  542. package/dist/rpc/passiveassist-pb.js.map +0 -1
  543. package/dist/rpc/photo-category-tokens.d.ts +0 -29
  544. package/dist/rpc/photo-category-tokens.d.ts.map +0 -1
  545. package/dist/rpc/photo-category-tokens.js +0 -97
  546. package/dist/rpc/photo-category-tokens.js.map +0 -1
  547. package/dist/rpc/reveal-pb.d.ts +0 -26
  548. package/dist/rpc/reveal-pb.d.ts.map +0 -1
  549. package/dist/rpc/reveal-pb.js +0 -32
  550. package/dist/rpc/reveal-pb.js.map +0 -1
  551. package/dist/rpc/suggest-pb.d.ts +0 -34
  552. package/dist/rpc/suggest-pb.d.ts.map +0 -1
  553. package/dist/rpc/suggest-pb.js +0 -42
  554. package/dist/rpc/suggest-pb.js.map +0 -1
  555. package/dist/rpc/tiles-pb.d.ts +0 -45
  556. package/dist/rpc/tiles-pb.d.ts.map +0 -1
  557. package/dist/rpc/tiles-pb.js +0 -71
  558. package/dist/rpc/tiles-pb.js.map +0 -1
  559. package/dist/services/batch-url.d.ts +0 -18
  560. package/dist/services/batch-url.d.ts.map +0 -1
  561. package/dist/services/batch-url.js +0 -30
  562. package/dist/services/batch-url.js.map +0 -1
  563. package/dist/services/categories.d.ts +0 -21
  564. package/dist/services/categories.d.ts.map +0 -1
  565. package/dist/services/categories.js +0 -43
  566. package/dist/services/categories.js.map +0 -1
  567. package/dist/services/passiveassist.d.ts +0 -21
  568. package/dist/services/passiveassist.d.ts.map +0 -1
  569. package/dist/services/passiveassist.js +0 -70
  570. package/dist/services/passiveassist.js.map +0 -1
  571. package/dist/services/reveal.d.ts +0 -15
  572. package/dist/services/reveal.d.ts.map +0 -1
  573. package/dist/services/reveal.js +0 -41
  574. package/dist/services/reveal.js.map +0 -1
  575. package/dist/services/suggest.d.ts +0 -12
  576. package/dist/services/suggest.d.ts.map +0 -1
  577. package/dist/services/suggest.js +0 -36
  578. package/dist/services/suggest.js.map +0 -1
  579. package/dist/services/timezone.d.ts +0 -19
  580. package/dist/services/timezone.d.ts.map +0 -1
  581. package/dist/services/timezone.js +0 -91
  582. package/dist/services/timezone.js.map +0 -1
  583. package/dist/services/ugc-aggregates.d.ts +0 -17
  584. package/dist/services/ugc-aggregates.d.ts.map +0 -1
  585. package/dist/services/ugc-aggregates.js +0 -30
  586. package/dist/services/ugc-aggregates.js.map +0 -1
  587. package/dist/types/distance-matrix.d.ts +0 -40
  588. package/dist/types/distance-matrix.d.ts.map +0 -1
  589. package/dist/types/distance-matrix.js +0 -2
  590. package/dist/types/distance-matrix.js.map +0 -1
  591. package/dist/types/elevation.d.ts +0 -59
  592. package/dist/types/elevation.d.ts.map +0 -1
  593. package/dist/types/elevation.js +0 -2
  594. package/dist/types/elevation.js.map +0 -1
  595. package/dist/types/passiveassist.d.ts +0 -50
  596. package/dist/types/passiveassist.d.ts.map +0 -1
  597. package/dist/types/passiveassist.js +0 -2
  598. package/dist/types/passiveassist.js.map +0 -1
  599. package/dist/types/reveal.d.ts +0 -46
  600. package/dist/types/reveal.d.ts.map +0 -1
  601. package/dist/types/reveal.js +0 -2
  602. package/dist/types/reveal.js.map +0 -1
  603. package/dist/types/timezone.d.ts +0 -36
  604. package/dist/types/timezone.d.ts.map +0 -1
  605. package/dist/types/timezone.js +0 -2
  606. package/dist/types/timezone.js.map +0 -1
  607. package/dist/types/ugc-aggregates.d.ts +0 -14
  608. package/dist/types/ugc-aggregates.d.ts.map +0 -1
  609. package/dist/types/ugc-aggregates.js +0 -2
  610. package/dist/types/ugc-aggregates.js.map +0 -1
  611. package/dist/utils/abort.d.ts +0 -7
  612. package/dist/utils/abort.d.ts.map +0 -1
  613. package/dist/utils/abort.js +0 -43
  614. package/dist/utils/abort.js.map +0 -1
  615. package/dist/utils/chunked-decoder.d.ts +0 -9
  616. package/dist/utils/chunked-decoder.d.ts.map +0 -1
  617. package/dist/utils/chunked-decoder.js.map +0 -1
  618. package/dist/utils/coords.d.ts +0 -24
  619. package/dist/utils/coords.d.ts.map +0 -1
  620. package/dist/utils/coords.js +0 -37
  621. package/dist/utils/coords.js.map +0 -1
  622. package/dist/utils/feature-id.d.ts +0 -2
  623. package/dist/utils/feature-id.d.ts.map +0 -1
  624. package/dist/utils/feature-id.js +0 -11
  625. package/dist/utils/feature-id.js.map +0 -1
  626. package/dist/utils/load-env.d.ts +0 -7
  627. package/dist/utils/load-env.d.ts.map +0 -1
  628. package/dist/utils/load-env.js.map +0 -1
  629. package/dist/utils/pooled.d.ts +0 -8
  630. package/dist/utils/pooled.d.ts.map +0 -1
  631. package/dist/utils/pooled.js +0 -27
  632. package/dist/utils/pooled.js.map +0 -1
  633. package/dist/utils/request-context.d.ts +0 -9
  634. package/dist/utils/request-context.d.ts.map +0 -1
  635. package/dist/utils/request-context.js +0 -12
  636. package/dist/utils/request-context.js.map +0 -1
  637. package/dist/utils/request-scheduler.d.ts +0 -28
  638. package/dist/utils/request-scheduler.d.ts.map +0 -1
  639. package/dist/utils/request-scheduler.js +0 -58
  640. package/dist/utils/request-scheduler.js.map +0 -1
  641. package/dist/utils/response-parser.d.ts +0 -7
  642. package/dist/utils/response-parser.d.ts.map +0 -1
  643. package/dist/utils/response-parser.js +0 -50
  644. package/dist/utils/response-parser.js.map +0 -1
  645. package/dist/utils/retry-backoff.d.ts +0 -5
  646. package/dist/utils/retry-backoff.d.ts.map +0 -1
  647. package/dist/utils/retry-backoff.js +0 -23
  648. package/dist/utils/retry-backoff.js.map +0 -1
  649. package/dist/utils/safe-get.d.ts +0 -6
  650. package/dist/utils/safe-get.d.ts.map +0 -1
  651. package/dist/utils/safe-get.js +0 -29
  652. package/dist/utils/safe-get.js.map +0 -1
  653. package/dist/utils/throttle-detection.d.ts +0 -17
  654. package/dist/utils/throttle-detection.d.ts.map +0 -1
  655. package/dist/utils/throttle-detection.js +0 -71
  656. package/dist/utils/throttle-detection.js.map +0 -1
  657. package/dist/utils/ttl-cache.d.ts +0 -17
  658. package/dist/utils/ttl-cache.d.ts.map +0 -1
  659. package/dist/utils/ttl-cache.js +0 -43
  660. package/dist/utils/ttl-cache.js.map +0 -1
  661. /package/{assets → .github/assets}/banner.png +0 -0
@@ -1,4 +1,4 @@
1
- import { safeGet } from '../utils/safe-get.js';
1
+ import { safeGet } from '../utils/payload.js';
2
2
  import { parseBatchPayload } from '../rpc/batch-rpc.js';
3
3
  function parseCategoryNode(node) {
4
4
  if (!Array.isArray(node))
@@ -9,6 +9,7 @@ function parseCategoryNode(node) {
9
9
  const result = {
10
10
  name,
11
11
  id: safeGet(node, 2),
12
+ raw: node,
12
13
  };
13
14
  const pair = safeGet(node, 1);
14
15
  if (Array.isArray(pair) && typeof pair[0] === 'string' && typeof pair[1] === 'string') {
@@ -28,7 +29,7 @@ function parseCategoryNode(node) {
28
29
  continue;
29
30
  }
30
31
  if (Array.isArray(child) && typeof child[0] === 'string' && typeof child[1] === 'string') {
31
- children.push({ name: child[0], gcid: child[1] });
32
+ children.push({ name: child[0], gcid: child[1], raw: child });
32
33
  }
33
34
  }
34
35
  if (children.length > 0)
@@ -63,7 +64,7 @@ export function extractCategorySuggestions(data) {
63
64
  const gcid = item[0];
64
65
  const label = item[1];
65
66
  if (typeof gcid === 'string' && typeof label === 'string') {
66
- out.push({ gcid, label });
67
+ out.push({ gcid, label, raw: item });
67
68
  }
68
69
  }
69
70
  return out;
@@ -73,7 +74,7 @@ export function extractPlaceInfo(data) {
73
74
  const root = parseBatchPayload(data);
74
75
  const directHex = safeGet(root, 0, 1);
75
76
  if (directHex?.startsWith('0x')) {
76
- return { hexId: directHex, entries: [{ hexId: directHex }] };
77
+ return { hexId: directHex, entries: [{ hexId: directHex, raw: root }], raw: root };
77
78
  }
78
79
  const entries = [];
79
80
  const row = safeGet(root, 0);
@@ -84,10 +85,11 @@ export function extractPlaceInfo(data) {
84
85
  entries.push({
85
86
  hexId: safeGet(item, 1),
86
87
  label: safeGet(item, 0) ?? undefined,
88
+ raw: item,
87
89
  });
88
90
  }
89
91
  }
90
- return { hexId: entries[0]?.hexId, entries };
92
+ return { hexId: entries[0]?.hexId, entries, raw: root };
91
93
  }
92
94
  /** Parse GetPotentialDuplicates — candidates at [0][*]: [hex, name, category, address, …]. */
93
95
  export function extractPotentialDuplicates(data, options) {
@@ -102,18 +104,19 @@ export function extractPotentialDuplicates(data, options) {
102
104
  const hexId = item[0];
103
105
  if (!hexId.startsWith('0x'))
104
106
  continue;
107
+ const name = safeGet(item, 1);
108
+ if (!name)
109
+ continue;
105
110
  out.push({
106
111
  hexId,
107
- name: safeGet(item, 1) ?? '',
112
+ name,
108
113
  category: safeGet(item, 2),
109
114
  address: safeGet(item, 3),
110
115
  rating: safeGet(item, 4, 0),
111
116
  reviewCount: safeGet(item, 4, 4),
117
+ raw: options?.raw ? item : undefined,
112
118
  });
113
119
  }
114
- if (options?.raw && out.length > 0) {
115
- out[0].raw = root;
116
- }
117
120
  return out;
118
121
  }
119
122
  /** Parse GetSignedUrl — signed path at [0]. */
@@ -123,6 +126,6 @@ export function extractSignedPlaceUrl(data) {
123
126
  if (!signed)
124
127
  return null;
125
128
  const hexId = signed.split('?')[0] ?? signed;
126
- return { hexId, signedPath: signed };
129
+ return { hexId, signedPath: signed, raw: root };
127
130
  }
128
131
  //# sourceMappingURL=categories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/parsers/categories.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,MAAM,GAAiB;QAC3B,IAAI;QACJ,EAAE,EAAE,OAAO,CAAS,IAAI,EAAE,CAAC,CAAC;KAC7B,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtF,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAK,IAAI,CAAC,CAAC,CAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;IAClC,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC9E,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,MAAM;oBAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACtD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,wBAAwB,CAAC,IAAa;IACpD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,OAAO,CAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,0BAA0B,CAAC,IAAa;IACtD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAS,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,IAAI,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YACnC,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,OAAO,CAAS,IAAI,EAAE,CAAC,CAAC;gBAC/B,KAAK,EAAE,OAAO,CAAS,IAAI,EAAE,CAAC,CAAC,IAAI,SAAS;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,0BAA0B,CAAC,IAAa,EAAE,OAA2B;IACnF,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAAE,SAAS;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,GAAG,CAAC,IAAI,CAAC;YACP,KAAK;YACL,IAAI,EAAE,OAAO,CAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACpC,QAAQ,EAAE,OAAO,CAAS,IAAI,EAAE,CAAC,CAAC;YAClC,OAAO,EAAE,OAAO,CAAS,IAAI,EAAE,CAAC,CAAC;YACjC,MAAM,EAAE,OAAO,CAAS,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,WAAW,EAAE,OAAO,CAAS,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,CAAC,CAA4C,CAAC,GAAG,GAAG,IAAI,CAAC;IAChE,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAC7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/parsers/categories.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,22 @@
1
- import type { DirectionsResult, DirectionsStep } from '../types/directions.js';
2
- import type { PbNode } from '../types/protobuf.js';
1
+ import { type DirectionsResult, type DirectionsStep } from '../types/directions.js';
2
+ import { type PbNode } from '../types/protobuf.js';
3
+ import { type ElevationProfileSample, type ElevationStatus, type ElevationSummary } from '../types/directions.js';
3
4
  export declare function extractDirections(data: PbNode): DirectionsResult;
4
5
  /** Collect steps by finding every node whose [1] is `<step …>` markup. */
5
6
  export declare function parseStepMarkup(markup: string): DirectionsStep;
7
+ /** Delta-decode cumulative distances encoded in directions elevation slot [16][2][6]. */
8
+ export declare function decodeCumulativeDistances(encoded: number[]): number[];
9
+ /**
10
+ * Extract bicycling/walking elevation data from `/maps/preview/directions` payload.
11
+ *
12
+ * Primary block: route alternative `[0][1][i][0][16][2]`.
13
+ * Fallback duplicate: `[0][1][i][17]` (partial on some walking routes).
14
+ */
15
+ export declare function extractDirectionsElevation(data: PbNode): {
16
+ status: ElevationStatus;
17
+ summary?: ElevationSummary;
18
+ profile?: ElevationProfileSample[];
19
+ pathDistanceMeters?: number;
20
+ startElevationMeters?: number;
21
+ };
6
22
  //# sourceMappingURL=directions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"directions.d.ts","sourceRoot":"","sources":["../../src/parsers/directions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAEhB,cAAc,EAGf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAuBnD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAqBhE;AAgSD,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAc9D"}
1
+ {"version":3,"file":"directions.d.ts","sourceRoot":"","sources":["../../src/parsers/directions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,gBAAgB,EAAwB,KAAK,cAAc,EAAoD,MAAM,wBAAwB,CAAC;AAEhL,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAwBlH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CA0BhE;AAwYD,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAmB9D;AAqED,yFAAyF;AACzF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CASrE;AAyDD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG;IACxD,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CA6BA"}
@@ -1,5 +1,6 @@
1
1
  import { encodePolyline } from '../utils/encoded-polyline.js';
2
- import { safeGet } from '../utils/safe-get.js';
2
+ import { parseDistanceToMeters, parseDurationToSeconds } from '../utils/directions-metrics.js';
3
+ import { safeGet } from '../utils/payload.js';
3
4
  /**
4
5
  * Parse `/maps/preview/directions`.
5
6
  *
@@ -12,6 +13,9 @@ import { safeGet } from '../utils/safe-get.js';
12
13
  * Turn-by-turn steps: any node whose `[1]` is `<step …>` markup; per-step distance `[2][1]`,
13
14
  * duration `[3][1]`, lat/lng path `[7][1]` / `[7][2]`, maneuver CSS `[2][1]` when `dir-tt-*`.
14
15
  * Note: `[7][5][0]` is a Street View panoid, not an encoded polyline.
16
+ *
17
+ * Transit step extras: departure stop `[8][1]`, arrival stop `[8][3]`, departure Unix `[8][5][0]`,
18
+ * arrival Unix `[8][5][1]`, line colour `[6][0]`, vehicle icon `[6][2][4][0][0]`.
15
19
  */
16
20
  const DURATION_RE = /^\d[\d.,]*\s*(min|mins|minute|minutes|hr|hrs|hour|hours|h|days?)\b/i;
17
21
  const DISTANCE_RE = /^\d[\d.,]*\s*(km|m|mi|ft|miles?)$/i;
@@ -29,12 +33,17 @@ export function extractDirections(data) {
29
33
  const primary = result.routes[0];
30
34
  if (primary) {
31
35
  result.distance = primary.distance;
36
+ result.distanceMeters = primary.distanceMeters;
32
37
  result.duration = primary.duration;
38
+ result.durationSeconds = primary.durationSeconds;
33
39
  result.summary = primary.summary;
34
40
  result.durationInTraffic = primary.durationInTraffic;
41
+ result.durationInTrafficSeconds = primary.durationInTrafficSeconds;
35
42
  result.bounds = primary.bounds;
36
43
  result.warnings = primary.warnings;
37
44
  result.legs = primary.legs;
45
+ result.polyline = primary.polyline;
46
+ result.path = primary.path;
38
47
  }
39
48
  return result;
40
49
  }
@@ -106,26 +115,43 @@ function parseRoute(node) {
106
115
  if (!distance && !duration && steps.length === 0 && legs.length === 0)
107
116
  return null;
108
117
  if (legs.length === 0 && steps.length > 0) {
109
- legs.push({ distance, duration, summary: derivedSummary, steps });
118
+ legs.push({
119
+ distance,
120
+ distanceMeters: parseDistanceToMeters(distance),
121
+ duration,
122
+ durationSeconds: parseDurationToSeconds(duration),
123
+ summary: derivedSummary,
124
+ steps,
125
+ });
110
126
  }
111
127
  // We model a route as one leg spanning every step, so its totals are the
112
128
  // route totals; without this the leg's distance/duration are always unset.
113
129
  const soleLeg = legs.length === 1 ? legs[0] : undefined;
114
130
  if (soleLeg) {
115
131
  soleLeg.distance ??= distance;
132
+ soleLeg.distanceMeters ??= parseDistanceToMeters(soleLeg.distance);
116
133
  soleLeg.duration ??= duration;
134
+ soleLeg.durationSeconds ??= parseDurationToSeconds(soleLeg.duration);
117
135
  soleLeg.summary ??= derivedSummary;
118
136
  }
137
+ const distanceMeters = parseDistanceToMeters(distance);
138
+ const durationSeconds = parseDurationToSeconds(duration);
139
+ const durationInTrafficSeconds = parseDurationToSeconds(durationInTraffic);
140
+ const humanPath = pathToHuman(routePolyline.path);
119
141
  return {
120
142
  distance,
143
+ distanceMeters,
121
144
  duration,
145
+ durationSeconds,
122
146
  summary: derivedSummary,
123
147
  durationInTraffic,
148
+ durationInTrafficSeconds,
124
149
  bounds,
125
150
  warnings: warnings.length > 0 ? warnings : undefined,
126
151
  legs,
127
152
  polyline: routePolyline.encoded,
128
153
  path: routePolyline.path,
154
+ humanPath,
129
155
  };
130
156
  }
131
157
  function parseDurationInTraffic(header) {
@@ -148,7 +174,8 @@ function parseBounds(header) {
148
174
  const ne = coordFromNode(safeGet(box, 3));
149
175
  if (!sw || !ne)
150
176
  return undefined;
151
- return { southwest: sw, northeast: ne };
177
+ const label = `SW(${sw.lat.toFixed(5)}°, ${sw.lng.toFixed(5)}°) → NE(${ne.lat.toFixed(5)}°, ${ne.lng.toFixed(5)}°)`;
178
+ return { southwest: sw, northeast: ne, label };
152
179
  }
153
180
  function coordFromNode(node) {
154
181
  if (!Array.isArray(node))
@@ -187,12 +214,23 @@ function parseSteps(route) {
187
214
  if (typeof markup !== 'string')
188
215
  continue;
189
216
  const step = parseStepMarkup(markup);
190
- const distance = stringAt(holder, [2, 1], DISTANCE_RE);
191
- const duration = stringAt(holder, [3, 1], DURATION_RE);
192
- if (distance)
193
- step.distance = distance;
194
- if (duration)
195
- step.duration = duration;
217
+ // Distance — slot [2][1] or step markup meters attr fallback
218
+ const distStr = stringAt(holder, [2, 1], DISTANCE_RE);
219
+ if (distStr) {
220
+ step.distance = distStr;
221
+ step.distanceMeters = parseDistanceToMeters(distStr);
222
+ }
223
+ else if (step.meters != null) {
224
+ step.distance = `${step.meters} m`;
225
+ step.distanceMeters = step.meters;
226
+ }
227
+ // Duration — slot [3][1]
228
+ const durStr = stringAt(holder, [3, 1], DURATION_RE);
229
+ if (durStr) {
230
+ step.duration = durStr;
231
+ step.durationSeconds = parseDurationToSeconds(durStr);
232
+ }
233
+ // Turn hint — dir-tt-* CSS class at slot [2][1] (when present instead of distance)
196
234
  const css = safeGet(holder, 2, 1);
197
235
  if (typeof css === 'string' && css.startsWith('dir-tt')) {
198
236
  step.turn = parseTurnFromCss(css);
@@ -258,19 +296,85 @@ function parseTransitDetails(holder) {
258
296
  if (!Array.isArray(holder))
259
297
  return undefined;
260
298
  const details = {};
299
+ // Rich transit block at holder[8], preferred over the text heuristics below.
300
+ // Layout (from Maps web pb): [8][1] = departure stop, [8][3] = arrival stop,
301
+ // [8][5][0] = departure unix, [8][5][1] = arrival unix,
302
+ // [8][7] = num stops, [8][0] = line/route info block.
303
+ const transitBlock = safeGet(holder, 8);
304
+ if (Array.isArray(transitBlock)) {
305
+ const depStop = safeGet(transitBlock, 1);
306
+ const arrStop = safeGet(transitBlock, 3);
307
+ if (depStop)
308
+ details.departureStop = depStop;
309
+ if (arrStop)
310
+ details.arrivalStop = arrStop;
311
+ const numStops = safeGet(transitBlock, 7);
312
+ if (typeof numStops === 'number')
313
+ details.numStops = numStops;
314
+ const depUnix = safeGet(transitBlock, 5, 0);
315
+ const arrUnix = safeGet(transitBlock, 5, 1);
316
+ if (typeof depUnix === 'number' && depUnix > 0) {
317
+ details.departureAt = new Date(depUnix * 1000).toISOString();
318
+ details.departureTime = new Date(depUnix * 1000).toLocaleTimeString('en-US', {
319
+ hour: '2-digit',
320
+ minute: '2-digit',
321
+ hour12: true,
322
+ });
323
+ }
324
+ if (typeof arrUnix === 'number' && arrUnix > 0) {
325
+ details.arrivalAt = new Date(arrUnix * 1000).toISOString();
326
+ details.arrivalTime = new Date(arrUnix * 1000).toLocaleTimeString('en-US', {
327
+ hour: '2-digit',
328
+ minute: '2-digit',
329
+ hour12: true,
330
+ });
331
+ }
332
+ // Line/route block at [8][0]: [0] = route short name, [1] = line name,
333
+ // [2] = line colour, [3] = text colour, [4] = agency name.
334
+ const lineBlock = safeGet(transitBlock, 0);
335
+ if (Array.isArray(lineBlock)) {
336
+ const routeShort = safeGet(lineBlock, 0);
337
+ const lineName = safeGet(lineBlock, 1);
338
+ const lineColor = safeGet(lineBlock, 2);
339
+ const lineTextColor = safeGet(lineBlock, 3);
340
+ const agency = safeGet(lineBlock, 4);
341
+ if (routeShort)
342
+ details.routeShortName = routeShort;
343
+ if (lineName)
344
+ details.line = lineName;
345
+ if (lineColor)
346
+ details.lineColor = lineColor;
347
+ if (lineTextColor)
348
+ details.lineTextColor = lineTextColor;
349
+ if (agency)
350
+ details.agency = agency;
351
+ }
352
+ // Vehicle block at [8][6]: [3] = type, [4][0][0] = icon URL.
353
+ const vehicleBlock = safeGet(transitBlock, 6);
354
+ if (Array.isArray(vehicleBlock)) {
355
+ const vType = safeGet(vehicleBlock, 3);
356
+ const vIcon = safeGet(vehicleBlock, 4, 0, 0);
357
+ if (vType)
358
+ details.vehicleType = vType;
359
+ if (vIcon)
360
+ details.vehicleIconUrl = vIcon;
361
+ }
362
+ }
363
+ // Fallback: heuristic scan of text nodes for the step.
261
364
  const texts = [];
262
365
  collectStrings(holder, texts);
263
366
  for (const text of texts) {
264
- if (/^(bus|metro|train|tram|subway|ferry|walk)/i.test(text))
265
- details.line = details.line ?? text;
266
- if (/toward|towards/i.test(text))
367
+ if (!details.line && /^(bus|metro|train|tram|subway|ferry|walk)/i.test(text)) {
368
+ details.line = text;
369
+ }
370
+ if (!details.headsign && /toward|towards/i.test(text))
267
371
  details.headsign = text;
268
- if (/^\d+\s*stop/i.test(text)) {
269
- const num = Number(text.match(/(\d+)/)?.[1]);
270
- if (Number.isFinite(num))
271
- details.numStops = num;
372
+ if (details.numStops == null) {
373
+ const stopMatch = text.match(/^(\d+)\s*stop/i);
374
+ if (stopMatch)
375
+ details.numStops = Number(stopMatch[1]);
272
376
  }
273
- if (/^₹|^\$|€|fare/i.test(text))
377
+ if (!details.fare && /^₹|^\$|€|fare/i.test(text))
274
378
  details.fare = text;
275
379
  }
276
380
  return Object.keys(details).length > 0 ? details : undefined;
@@ -315,6 +419,12 @@ function stitchPolylines(steps) {
315
419
  return {};
316
420
  return { path, encoded: encodePolyline(path) };
317
421
  }
422
+ /** Convert a path to an array of human-readable "lat, lng" strings (5dp). */
423
+ function pathToHuman(path) {
424
+ if (!path || path.length === 0)
425
+ return undefined;
426
+ return path.map((p) => `${p.lat.toFixed(5)}, ${p.lng.toFixed(5)}`);
427
+ }
318
428
  /** Collect steps by finding every node whose [1] is `<step …>` markup. */
319
429
  export function parseStepMarkup(markup) {
320
430
  const step = {};
@@ -322,8 +432,12 @@ export function parseStepMarkup(markup) {
322
432
  if (maneuver)
323
433
  step.maneuver = maneuver;
324
434
  const meters = markup.match(/<step[^>]*\bmeters='(\d+)'/)?.[1];
325
- if (meters)
435
+ if (meters) {
326
436
  step.meters = Number(meters);
437
+ // Pre-populate distanceMeters from meters attr as a bootstrap value;
438
+ // will be overwritten by the slot-based distance string when available.
439
+ step.distanceMeters ??= Number(meters);
440
+ }
327
441
  const roads = [...markup.matchAll(/<road\b[^>]*>([^<]+)<\/road>/g)].map((match) => match[1].trim());
328
442
  if (roads.length > 0)
329
443
  step.roads = roads;
@@ -385,4 +499,104 @@ function findFirst(node, predicate, depth = 0) {
385
499
  }
386
500
  return undefined;
387
501
  }
502
+ function parseTriplet(node) {
503
+ if (!Array.isArray(node) || typeof node[0] !== 'number' || !Number.isFinite(node[0])) {
504
+ return undefined;
505
+ }
506
+ const text = typeof node[1] === 'string' ? node[1] : undefined;
507
+ return { meters: node[0], text };
508
+ }
509
+ /** Delta-decode cumulative distances encoded in directions elevation slot [16][2][6]. */
510
+ export function decodeCumulativeDistances(encoded) {
511
+ if (encoded.length === 0)
512
+ return [];
513
+ let current = encoded[0];
514
+ const out = [current];
515
+ for (let i = 1; i < encoded.length; i++) {
516
+ current += encoded[i];
517
+ out.push(current);
518
+ }
519
+ return out;
520
+ }
521
+ function buildSummary(block) {
522
+ const min = parseTriplet(block[0]);
523
+ const max = parseTriplet(block[1]);
524
+ const start = parseTriplet(block[2]);
525
+ const end = parseTriplet(block[3]);
526
+ const gain = parseTriplet(block[4]);
527
+ const loss = parseTriplet(block[5]);
528
+ if (!min || !max || !start || !end || !gain || !loss)
529
+ return undefined;
530
+ return {
531
+ minElevationMeters: min.meters,
532
+ maxElevationMeters: max.meters,
533
+ startElevationMeters: start.meters,
534
+ endElevationMeters: end.meters,
535
+ gainMeters: gain.meters,
536
+ lossMeters: loss.meters,
537
+ minElevationText: min.text,
538
+ maxElevationText: max.text,
539
+ };
540
+ }
541
+ function buildProfile(block) {
542
+ const encoded = safeGet(block, 6);
543
+ const grades = safeGet(block, 7);
544
+ if (!encoded || encoded.length === 0)
545
+ return undefined;
546
+ const distances = decodeCumulativeDistances(encoded);
547
+ const samples = distances.map((distanceMeters, index) => ({
548
+ distanceMeters,
549
+ gradePercent: grades?.[index],
550
+ }));
551
+ return samples.length > 0 ? samples : undefined;
552
+ }
553
+ function isElevationBlock(block) {
554
+ if (!Array.isArray(block))
555
+ return false;
556
+ const hasStats = parseTriplet(block[0]) != null && parseTriplet(block[2]) != null;
557
+ const hasProfile = Array.isArray(block[6]) && block[6].length > 0;
558
+ return hasStats || hasProfile;
559
+ }
560
+ function collectElevationBlocks(routeInner) {
561
+ const blocks = [];
562
+ const nested = safeGet(routeInner, 16, 2);
563
+ if (isElevationBlock(nested))
564
+ blocks.push(nested);
565
+ const flat = safeGet(routeInner, 17);
566
+ if (isElevationBlock(flat))
567
+ blocks.push(flat);
568
+ return blocks;
569
+ }
570
+ /**
571
+ * Extract bicycling/walking elevation data from `/maps/preview/directions` payload.
572
+ *
573
+ * Primary block: route alternative `[0][1][i][0][16][2]`.
574
+ * Fallback duplicate: `[0][1][i][17]` (partial on some walking routes).
575
+ */
576
+ export function extractDirectionsElevation(data) {
577
+ const alternatives = safeGet(data, 0, 1);
578
+ if (!Array.isArray(alternatives)) {
579
+ return { status: 'UNAVAILABLE' };
580
+ }
581
+ for (const alt of alternatives) {
582
+ const routeInner = safeGet(alt, 0);
583
+ if (!routeInner)
584
+ continue;
585
+ for (const block of collectElevationBlocks(routeInner)) {
586
+ const summary = buildSummary(block);
587
+ const profile = buildProfile(block);
588
+ if (!summary && !profile)
589
+ continue;
590
+ const pathDistanceMeters = profile && profile.length > 0 ? profile[profile.length - 1].distanceMeters : undefined;
591
+ return {
592
+ status: 'OK',
593
+ summary,
594
+ profile,
595
+ pathDistanceMeters,
596
+ startElevationMeters: summary?.startElevationMeters,
597
+ };
598
+ }
599
+ }
600
+ return { status: 'UNAVAILABLE' };
601
+ }
388
602
  //# sourceMappingURL=directions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"directions.js","sourceRoot":"","sources":["../../src/parsers/directions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directions.js","sourceRoot":"","sources":["../../src/parsers/directions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,GAAG,qEAAqE,CAAC;AAC1F,MAAM,WAAW,GAAG,oCAAoC,CAAC;AACzD,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,UAAU,GAAG,qDAAqD,CAAC;AAEzE,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK;YAAE,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnC,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC/C,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnC,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QACjD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACrD,MAAM,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;QACnE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/B,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAc;IAC3C,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAW,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7D,OAAO,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;QACpD,OAAO,QAAQ,GAAG,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAChG,OAAO,OAAO,CAAC,QAAQ,IAAI,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,KAAK,IAAI,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,KAAe,CAAC;IACpE,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,CACL,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,IAAI;QAC3C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,IAAI;QAC3C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,IAAI,CAC5C,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GACZ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACzC,MAAM,QAAQ,GACZ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QACtC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAS,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ;QAC/B,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9B,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC;YACR,QAAQ;YACR,cAAc,EAAE,qBAAqB,CAAC,QAAQ,CAAC;YAC/C,QAAQ;YACR,eAAe,EAAE,sBAAsB,CAAC,QAAQ,CAAC;YACjD,OAAO,EAAE,cAAc;YACvB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC9B,OAAO,CAAC,cAAc,KAAK,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC9B,OAAO,CAAC,eAAe,KAAK,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,OAAO,CAAC,OAAO,KAAK,cAAc,CAAC;IACrC,CAAC;IAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAElD,OAAO;QACL,QAAQ;QACR,cAAc;QACd,QAAQ;QACR,eAAe;QACf,OAAO,EAAE,cAAc;QACvB,iBAAiB;QACjB,wBAAwB;QACxB,MAAM;QACN,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACpD,IAAI;QACJ,QAAQ,EAAE,aAAa,CAAC,OAAO;QAC/B,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG;QACjB,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QACzC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;KAC1C,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;IAC/C,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,GAAG,GAAG,OAAO,CAAW,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,EAAE,GAAG,aAAa,CAAC,OAAO,CAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,aAAa,CAAC,OAAO,CAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACpH,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,IAAwB;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,SAAS;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,SAAS;QAEzC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAErC,6DAA6D;QAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;QACpC,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,mFAAmF;QACnF,MAAM,GAAG,GAAG,OAAO,CAAS,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEpC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACjD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,KAAK,GAAG,OAAO,CAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAW,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhC,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAqB;IACjD,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;YAAE,SAAS;QACvE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,OAAO,GAA6B,EAAE,CAAC;IAE7C,6EAA6E;IAC7E,6EAA6E;IAC7E,wDAAwD;IACxD,sDAAsD;IACtD,MAAM,YAAY,GAAG,OAAO,CAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,OAAO,CAAS,YAAY,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAS,YAAY,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,OAAO;YAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7C,IAAI,OAAO;YAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;QAE3C,MAAM,QAAQ,GAAG,OAAO,CAAS,YAAY,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE9D,MAAM,OAAO,GAAG,OAAO,CAAS,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,OAAO,CAAS,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7D,OAAO,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBAC3E,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3D,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBACzE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,2DAA2D;QAC3D,MAAM,SAAS,GAAG,OAAO,CAAS,YAAY,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,OAAO,CAAS,SAAS,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,OAAO,CAAS,SAAS,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,OAAO,CAAS,SAAS,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,OAAO,CAAS,SAAS,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,OAAO,CAAS,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,UAAU;gBAAE,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC;YACpD,IAAI,QAAQ;gBAAE,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;YACtC,IAAI,SAAS;gBAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAC7C,IAAI,aAAa;gBAAE,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;YACzD,IAAI,MAAM;gBAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QACtC,CAAC;QAED,6DAA6D;QAC7D,MAAM,YAAY,GAAG,OAAO,CAAS,YAAY,EAAE,CAAC,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAS,YAAY,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,OAAO,CAAS,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,KAAK;gBAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YACvC,IAAI,KAAK;gBAAE,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,4CAA4C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/E,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC/C,IAAI,SAAS;gBAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACxE,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,GAAa,EAAE,KAAK,GAAG,CAAC;IAC5D,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO;IACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,IAAI;YAAE,cAAc,CAAC,KAAe,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3E,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAuB;IAC9C,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,6EAA6E;AAC7E,SAAS,WAAW,CAAC,IAA+B;IAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,IAAI,GAAmB,EAAE,CAAC;IAEhC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,qEAAqE;QACrE,wEAAwE;QACxE,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACrG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAEzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,MAAM;SACV,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,aAAa,CAAC,KAAuB;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAc,EAAE,OAAe;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAS,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,SAAoC,EAAE,GAAa,EAAE,KAAK,GAAG,CAAC;IAC3F,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO;IACvB,IAAI,SAAS,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,IAAI;YAAE,OAAO,CAAC,KAAe,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,SAAoC,EAAE,KAAK,GAAG,CAAC;IAC9E,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,SAAS,CAAC;IACjC,IAAI,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAe,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/D,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD,SAAS,YAAY,CAAC,IAAa;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,yBAAyB,CAAC,OAAiB;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,KAAgB;IACpC,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAEvE,OAAO;QACL,kBAAkB,EAAE,GAAG,CAAC,MAAM;QAC9B,kBAAkB,EAAE,GAAG,CAAC,MAAM;QAC9B,oBAAoB,EAAE,KAAK,CAAC,MAAM;QAClC,kBAAkB,EAAE,GAAG,CAAC,MAAM;QAC9B,UAAU,EAAE,IAAI,CAAC,MAAM;QACvB,UAAU,EAAE,IAAI,CAAC,MAAM;QACvB,gBAAgB,EAAE,GAAG,CAAC,IAAI;QAC1B,gBAAgB,EAAE,GAAG,CAAC,IAAI;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAgB;IACpC,MAAM,OAAO,GAAG,OAAO,CAAW,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAW,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEvD,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,OAAO,GAA6B,SAAS,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAClF,cAAc;QACd,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC;KAC9B,CAAC,CAAC,CAAC;IAEJ,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAClF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClE,OAAO,QAAQ,IAAI,UAAU,CAAC;AAChC,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB;IAChD,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAY,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrD,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,OAAO,CAAY,UAAU,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,gBAAgB,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAY;IAOrD,MAAM,YAAY,GAAG,OAAO,CAAW,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAS,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,KAAK,MAAM,KAAK,IAAI,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEnC,MAAM,kBAAkB,GACtB,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1F,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO;gBACP,OAAO;gBACP,kBAAkB;gBAClB,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;aACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACnC,CAAC"}
@@ -1,5 +1,6 @@
1
- import type { GeocodeResult } from '../types/geocode.js';
2
- import type { PbNode } from '../types/protobuf.js';
1
+ import { type GeocodeResult } from '../types/geocode.js';
2
+ import { type PbNode } from '../types/protobuf.js';
3
+ import { type TimezoneOffsetSource, type TimezoneResult } from '../types/geocode.js';
3
4
  /** Extract geocode results from `search?tbm=map` protobuf-over-JSON response. */
4
5
  export declare function extractGeocodeResults(data: PbNode): GeocodeResult[];
5
6
  /** Split parsed rows into best match and alternates. */
@@ -8,4 +9,21 @@ export declare function toGeocodeResponse(results: GeocodeResult[], raw?: unknow
8
9
  alternatives: GeocodeResult[];
9
10
  raw?: unknown;
10
11
  };
12
+ /** Pick the first IANA timezone from geocode rows. */
13
+ export declare function extractTimezoneFromGeocodeResults(results: Array<GeocodeResult | null | undefined>): string | undefined;
14
+ /**
15
+ * Build forward-geocode queries from a reverse hit's plus-code address.
16
+ * e.g. `46J5+FPF Sydney, New South Wales, Australia` → `Sydney, Australia`.
17
+ */
18
+ export declare function localityQueriesFromReverseHit(hit: GeocodeResult): string[];
19
+ export interface DerivedTimezoneOffset {
20
+ rawOffsetMinutes: number;
21
+ dstOffsetMinutes: number;
22
+ totalOffsetMinutes: number;
23
+ isDst: boolean;
24
+ offsetSource: TimezoneOffsetSource;
25
+ }
26
+ /** Derive UTC offset for an IANA timezone at `at` using Intl (not from Google payload). */
27
+ export declare function deriveTimezoneOffset(timeZoneId: string, at?: Date): DerivedTimezoneOffset | undefined;
28
+ export declare function buildTimezoneResult(lat: number, lng: number, timeZoneId: string | undefined, at?: Date): TimezoneResult;
11
29
  //# sourceMappingURL=geocode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"geocode.d.ts","sourceRoot":"","sources":["../../src/parsers/geocode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAiB,MAAM,EAAyB,MAAM,sBAAsB,CAAC;AA4FzF,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAenE;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EAAE,EACxB,GAAG,CAAC,EAAE,OAAO,GACZ;IAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,aAAa,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAOhF"}
1
+ {"version":3,"file":"geocode.d.ts","sourceRoot":"","sources":["../../src/parsers/geocode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,KAAK,MAAM,EAAiF,MAAM,sBAAsB,CAAC;AAIlI,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA0HrF,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAenE;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EAAE,EACxB,GAAG,CAAC,EAAE,OAAO,GACZ;IAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,aAAa,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,CAOhF;AAID,sDAAsD;AACtD,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,MAAM,GAAG,SAAS,CAKpB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,EAAE,CAmB1E;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,oBAAoB,CAAC;CACpC;AAED,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,EAAE,GAAE,IAAiB,GACpB,qBAAqB,GAAG,SAAS,CAiCnC;AAgBD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,EAAE,GAAE,IAAiB,GACpB,cAAc,CAiBhB"}