googlemaps-kit 0.1.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.
- package/LICENSE +21 -0
- package/README.md +249 -0
- package/dist/auth/auth-status.d.ts +30 -0
- package/dist/auth/auth-status.d.ts.map +1 -0
- package/dist/auth/auth-status.js +169 -0
- package/dist/auth/auth-status.js.map +1 -0
- package/dist/auth/google-auth.d.ts +9 -0
- package/dist/auth/google-auth.d.ts.map +1 -0
- package/dist/auth/google-auth.js +40 -0
- package/dist/auth/google-auth.js.map +1 -0
- package/dist/auth/maps-tokens.d.ts +6 -0
- package/dist/auth/maps-tokens.d.ts.map +1 -0
- package/dist/auth/maps-tokens.js +18 -0
- package/dist/auth/maps-tokens.js.map +1 -0
- package/dist/auth/session.d.ts +28 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +104 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/client/gmaps-client.d.ts +92 -0
- package/dist/client/gmaps-client.d.ts.map +1 -0
- package/dist/client/gmaps-client.js +254 -0
- package/dist/client/gmaps-client.js.map +1 -0
- package/dist/client/http-client.d.ts +91 -0
- package/dist/client/http-client.d.ts.map +1 -0
- package/dist/client/http-client.js +393 -0
- package/dist/client/http-client.js.map +1 -0
- package/dist/index.d.ts +64 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +140 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +97 -0
- package/dist/internal.js.map +1 -0
- package/dist/known-surfaces.d.ts +280 -0
- package/dist/known-surfaces.d.ts.map +1 -0
- package/dist/known-surfaces.js +276 -0
- package/dist/known-surfaces.js.map +1 -0
- package/dist/parsers/batch-url.d.ts +13 -0
- package/dist/parsers/batch-url.d.ts.map +1 -0
- package/dist/parsers/batch-url.js +42 -0
- package/dist/parsers/batch-url.js.map +1 -0
- package/dist/parsers/boq-reviews.d.ts +8 -0
- package/dist/parsers/boq-reviews.d.ts.map +1 -0
- package/dist/parsers/boq-reviews.js +254 -0
- package/dist/parsers/boq-reviews.js.map +1 -0
- package/dist/parsers/categories.d.ts +14 -0
- package/dist/parsers/categories.d.ts.map +1 -0
- package/dist/parsers/categories.js +128 -0
- package/dist/parsers/categories.js.map +1 -0
- package/dist/parsers/directions.d.ts +6 -0
- package/dist/parsers/directions.d.ts.map +1 -0
- package/dist/parsers/directions.js +388 -0
- package/dist/parsers/directions.js.map +1 -0
- package/dist/parsers/elevation-directions.d.ts +18 -0
- package/dist/parsers/elevation-directions.d.ts.map +1 -0
- package/dist/parsers/elevation-directions.js +102 -0
- package/dist/parsers/elevation-directions.js.map +1 -0
- package/dist/parsers/geocode.d.ts +11 -0
- package/dist/parsers/geocode.d.ts.map +1 -0
- package/dist/parsers/geocode.js +104 -0
- package/dist/parsers/geocode.js.map +1 -0
- package/dist/parsers/knowledge.d.ts +13 -0
- package/dist/parsers/knowledge.d.ts.map +1 -0
- package/dist/parsers/knowledge.js +93 -0
- package/dist/parsers/knowledge.js.map +1 -0
- package/dist/parsers/lists.d.ts +23 -0
- package/dist/parsers/lists.d.ts.map +1 -0
- package/dist/parsers/lists.js +219 -0
- package/dist/parsers/lists.js.map +1 -0
- package/dist/parsers/local-posts.d.ts +12 -0
- package/dist/parsers/local-posts.d.ts.map +1 -0
- package/dist/parsers/local-posts.js +112 -0
- package/dist/parsers/local-posts.js.map +1 -0
- package/dist/parsers/maps-url.d.ts +15 -0
- package/dist/parsers/maps-url.d.ts.map +1 -0
- package/dist/parsers/maps-url.js +326 -0
- package/dist/parsers/maps-url.js.map +1 -0
- package/dist/parsers/panorama.d.ts +24 -0
- package/dist/parsers/panorama.d.ts.map +1 -0
- package/dist/parsers/panorama.js +161 -0
- package/dist/parsers/panorama.js.map +1 -0
- package/dist/parsers/passiveassist.d.ts +10 -0
- package/dist/parsers/passiveassist.d.ts.map +1 -0
- package/dist/parsers/passiveassist.js +61 -0
- package/dist/parsers/passiveassist.js.map +1 -0
- package/dist/parsers/photos.d.ts +21 -0
- package/dist/parsers/photos.d.ts.map +1 -0
- package/dist/parsers/photos.js +287 -0
- package/dist/parsers/photos.js.map +1 -0
- package/dist/parsers/place-attributes.d.ts +25 -0
- package/dist/parsers/place-attributes.d.ts.map +1 -0
- package/dist/parsers/place-attributes.js +266 -0
- package/dist/parsers/place-attributes.js.map +1 -0
- package/dist/parsers/place.d.ts +9 -0
- package/dist/parsers/place.d.ts.map +1 -0
- package/dist/parsers/place.js +291 -0
- package/dist/parsers/place.js.map +1 -0
- package/dist/parsers/reveal.d.ts +5 -0
- package/dist/parsers/reveal.d.ts.map +1 -0
- package/dist/parsers/reveal.js +99 -0
- package/dist/parsers/reveal.js.map +1 -0
- package/dist/parsers/review-aggregates.d.ts +7 -0
- package/dist/parsers/review-aggregates.d.ts.map +1 -0
- package/dist/parsers/review-aggregates.js +18 -0
- package/dist/parsers/review-aggregates.js.map +1 -0
- package/dist/parsers/review-client-filters.d.ts +8 -0
- package/dist/parsers/review-client-filters.d.ts.map +1 -0
- package/dist/parsers/review-client-filters.js +28 -0
- package/dist/parsers/review-client-filters.js.map +1 -0
- package/dist/parsers/reviews.d.ts +8 -0
- package/dist/parsers/reviews.d.ts.map +1 -0
- package/dist/parsers/reviews.js +55 -0
- package/dist/parsers/reviews.js.map +1 -0
- package/dist/parsers/search-client-filters.d.ts +7 -0
- package/dist/parsers/search-client-filters.d.ts.map +1 -0
- package/dist/parsers/search-client-filters.js +44 -0
- package/dist/parsers/search-client-filters.js.map +1 -0
- package/dist/parsers/search-pagination.d.ts +12 -0
- package/dist/parsers/search-pagination.d.ts.map +1 -0
- package/dist/parsers/search-pagination.js +34 -0
- package/dist/parsers/search-pagination.js.map +1 -0
- package/dist/parsers/search.d.ts +5 -0
- package/dist/parsers/search.d.ts.map +1 -0
- package/dist/parsers/search.js +187 -0
- package/dist/parsers/search.js.map +1 -0
- package/dist/parsers/shared.d.ts +24 -0
- package/dist/parsers/shared.d.ts.map +1 -0
- package/dist/parsers/shared.js +147 -0
- package/dist/parsers/shared.js.map +1 -0
- package/dist/parsers/suggest.d.ts +10 -0
- package/dist/parsers/suggest.d.ts.map +1 -0
- package/dist/parsers/suggest.js +153 -0
- package/dist/parsers/suggest.js.map +1 -0
- package/dist/parsers/tiles.d.ts +22 -0
- package/dist/parsers/tiles.d.ts.map +1 -0
- package/dist/parsers/tiles.js +70 -0
- package/dist/parsers/tiles.js.map +1 -0
- package/dist/parsers/timezone-geocode.d.ts +20 -0
- package/dist/parsers/timezone-geocode.d.ts.map +1 -0
- package/dist/parsers/timezone-geocode.js +96 -0
- package/dist/parsers/timezone-geocode.js.map +1 -0
- package/dist/parsers/traffic.d.ts +10 -0
- package/dist/parsers/traffic.d.ts.map +1 -0
- package/dist/parsers/traffic.js +38 -0
- package/dist/parsers/traffic.js.map +1 -0
- package/dist/parsers/transit.d.ts +12 -0
- package/dist/parsers/transit.d.ts.map +1 -0
- package/dist/parsers/transit.js +77 -0
- package/dist/parsers/transit.js.map +1 -0
- package/dist/parsers/ugc-aggregates.d.ts +9 -0
- package/dist/parsers/ugc-aggregates.d.ts.map +1 -0
- package/dist/parsers/ugc-aggregates.js +23 -0
- package/dist/parsers/ugc-aggregates.js.map +1 -0
- package/dist/rpc/app-options.d.ts +25 -0
- package/dist/rpc/app-options.d.ts.map +1 -0
- package/dist/rpc/app-options.js +147 -0
- package/dist/rpc/app-options.js.map +1 -0
- package/dist/rpc/batch-execute.d.ts +30 -0
- package/dist/rpc/batch-execute.d.ts.map +1 -0
- package/dist/rpc/batch-execute.js +217 -0
- package/dist/rpc/batch-execute.js.map +1 -0
- package/dist/rpc/batch-request-builders.d.ts +65 -0
- package/dist/rpc/batch-request-builders.d.ts.map +1 -0
- package/dist/rpc/batch-request-builders.js +174 -0
- package/dist/rpc/batch-request-builders.js.map +1 -0
- package/dist/rpc/batch-rpc.d.ts +34 -0
- package/dist/rpc/batch-rpc.d.ts.map +1 -0
- package/dist/rpc/batch-rpc.js +70 -0
- package/dist/rpc/batch-rpc.js.map +1 -0
- package/dist/rpc/batch-services.d.ts +38 -0
- package/dist/rpc/batch-services.d.ts.map +1 -0
- package/dist/rpc/batch-services.js +69 -0
- package/dist/rpc/batch-services.js.map +1 -0
- package/dist/rpc/batchexecute-args.d.ts +30 -0
- package/dist/rpc/batchexecute-args.d.ts.map +1 -0
- package/dist/rpc/batchexecute-args.js +35 -0
- package/dist/rpc/batchexecute-args.js.map +1 -0
- package/dist/rpc/boq-reviews.d.ts +16 -0
- package/dist/rpc/boq-reviews.d.ts.map +1 -0
- package/dist/rpc/boq-reviews.js +45 -0
- package/dist/rpc/boq-reviews.js.map +1 -0
- package/dist/rpc/descriptor-registry.d.ts +61 -0
- package/dist/rpc/descriptor-registry.d.ts.map +1 -0
- package/dist/rpc/descriptor-registry.js +47 -0
- package/dist/rpc/descriptor-registry.js.map +1 -0
- package/dist/rpc/feature-rpc.d.ts +27 -0
- package/dist/rpc/feature-rpc.d.ts.map +1 -0
- package/dist/rpc/feature-rpc.js +44 -0
- package/dist/rpc/feature-rpc.js.map +1 -0
- package/dist/rpc/lists-pb.d.ts +20 -0
- package/dist/rpc/lists-pb.d.ts.map +1 -0
- package/dist/rpc/lists-pb.js +20 -0
- package/dist/rpc/lists-pb.js.map +1 -0
- package/dist/rpc/maps-endpoint-registry.json +185 -0
- package/dist/rpc/maps-runtime.d.ts +42 -0
- package/dist/rpc/maps-runtime.d.ts.map +1 -0
- package/dist/rpc/maps-runtime.js +140 -0
- package/dist/rpc/maps-runtime.js.map +1 -0
- package/dist/rpc/maps-url-builders.d.ts +35 -0
- package/dist/rpc/maps-url-builders.d.ts.map +1 -0
- package/dist/rpc/maps-url-builders.js +266 -0
- package/dist/rpc/maps-url-builders.js.map +1 -0
- package/dist/rpc/nxa.d.ts +13 -0
- package/dist/rpc/nxa.d.ts.map +1 -0
- package/dist/rpc/nxa.js +44 -0
- package/dist/rpc/nxa.js.map +1 -0
- package/dist/rpc/panorama-pb.d.ts +60 -0
- package/dist/rpc/panorama-pb.d.ts.map +1 -0
- package/dist/rpc/panorama-pb.js +71 -0
- package/dist/rpc/panorama-pb.js.map +1 -0
- package/dist/rpc/passiveassist-pb.d.ts +21 -0
- package/dist/rpc/passiveassist-pb.d.ts.map +1 -0
- package/dist/rpc/passiveassist-pb.js +24 -0
- package/dist/rpc/passiveassist-pb.js.map +1 -0
- package/dist/rpc/pb-builders.d.ts +136 -0
- package/dist/rpc/pb-builders.d.ts.map +1 -0
- package/dist/rpc/pb-builders.js +290 -0
- package/dist/rpc/pb-builders.js.map +1 -0
- package/dist/rpc/photo-category-tokens.d.ts +29 -0
- package/dist/rpc/photo-category-tokens.d.ts.map +1 -0
- package/dist/rpc/photo-category-tokens.js +97 -0
- package/dist/rpc/photo-category-tokens.js.map +1 -0
- package/dist/rpc/photos-pb.d.ts +29 -0
- package/dist/rpc/photos-pb.d.ts.map +1 -0
- package/dist/rpc/photos-pb.js +73 -0
- package/dist/rpc/photos-pb.js.map +1 -0
- package/dist/rpc/reveal-pb.d.ts +26 -0
- package/dist/rpc/reveal-pb.d.ts.map +1 -0
- package/dist/rpc/reveal-pb.js +32 -0
- package/dist/rpc/reveal-pb.js.map +1 -0
- package/dist/rpc/rpc-client.d.ts +50 -0
- package/dist/rpc/rpc-client.d.ts.map +1 -0
- package/dist/rpc/rpc-client.js +136 -0
- package/dist/rpc/rpc-client.js.map +1 -0
- package/dist/rpc/rpc-descriptor-registry.json +776 -0
- package/dist/rpc/rpc-methods.d.ts +75 -0
- package/dist/rpc/rpc-methods.d.ts.map +1 -0
- package/dist/rpc/rpc-methods.js +130 -0
- package/dist/rpc/rpc-methods.js.map +1 -0
- package/dist/rpc/search-filters.d.ts +43 -0
- package/dist/rpc/search-filters.d.ts.map +1 -0
- package/dist/rpc/search-filters.js +92 -0
- package/dist/rpc/search-filters.js.map +1 -0
- package/dist/rpc/suggest-pb.d.ts +34 -0
- package/dist/rpc/suggest-pb.d.ts.map +1 -0
- package/dist/rpc/suggest-pb.js +42 -0
- package/dist/rpc/suggest-pb.js.map +1 -0
- package/dist/rpc/tiles-pb.d.ts +45 -0
- package/dist/rpc/tiles-pb.d.ts.map +1 -0
- package/dist/rpc/tiles-pb.js +71 -0
- package/dist/rpc/tiles-pb.js.map +1 -0
- package/dist/rpc/xsrf-bootstrap.d.ts +24 -0
- package/dist/rpc/xsrf-bootstrap.d.ts.map +1 -0
- package/dist/rpc/xsrf-bootstrap.js +63 -0
- package/dist/rpc/xsrf-bootstrap.js.map +1 -0
- package/dist/server/api-server.d.ts +9 -0
- package/dist/server/api-server.d.ts.map +1 -0
- package/dist/server/api-server.js +293 -0
- package/dist/server/api-server.js.map +1 -0
- package/dist/services/ask-maps.d.ts +91 -0
- package/dist/services/ask-maps.d.ts.map +1 -0
- package/dist/services/ask-maps.js +221 -0
- package/dist/services/ask-maps.js.map +1 -0
- package/dist/services/batch-url.d.ts +18 -0
- package/dist/services/batch-url.d.ts.map +1 -0
- package/dist/services/batch-url.js +30 -0
- package/dist/services/batch-url.js.map +1 -0
- package/dist/services/categories.d.ts +21 -0
- package/dist/services/categories.d.ts.map +1 -0
- package/dist/services/categories.js +43 -0
- package/dist/services/categories.js.map +1 -0
- package/dist/services/directions.d.ts +26 -0
- package/dist/services/directions.d.ts.map +1 -0
- package/dist/services/directions.js +104 -0
- package/dist/services/directions.js.map +1 -0
- package/dist/services/distance-matrix.d.ts +17 -0
- package/dist/services/distance-matrix.d.ts.map +1 -0
- package/dist/services/distance-matrix.js +144 -0
- package/dist/services/distance-matrix.js.map +1 -0
- package/dist/services/elevation.d.ts +30 -0
- package/dist/services/elevation.d.ts.map +1 -0
- package/dist/services/elevation.js +149 -0
- package/dist/services/elevation.js.map +1 -0
- package/dist/services/geocode.d.ts +20 -0
- package/dist/services/geocode.d.ts.map +1 -0
- package/dist/services/geocode.js +63 -0
- package/dist/services/geocode.js.map +1 -0
- package/dist/services/knowledge.d.ts +25 -0
- package/dist/services/knowledge.d.ts.map +1 -0
- package/dist/services/knowledge.js +58 -0
- package/dist/services/knowledge.js.map +1 -0
- package/dist/services/links.d.ts +22 -0
- package/dist/services/links.d.ts.map +1 -0
- package/dist/services/links.js +145 -0
- package/dist/services/links.js.map +1 -0
- package/dist/services/lists.d.ts +20 -0
- package/dist/services/lists.d.ts.map +1 -0
- package/dist/services/lists.js +74 -0
- package/dist/services/lists.js.map +1 -0
- package/dist/services/local-posts.d.ts +14 -0
- package/dist/services/local-posts.d.ts.map +1 -0
- package/dist/services/local-posts.js +32 -0
- package/dist/services/local-posts.js.map +1 -0
- package/dist/services/panorama.d.ts +39 -0
- package/dist/services/panorama.d.ts.map +1 -0
- package/dist/services/panorama.js +175 -0
- package/dist/services/panorama.js.map +1 -0
- package/dist/services/passiveassist.d.ts +21 -0
- package/dist/services/passiveassist.d.ts.map +1 -0
- package/dist/services/passiveassist.js +70 -0
- package/dist/services/passiveassist.js.map +1 -0
- package/dist/services/photos.d.ts +46 -0
- package/dist/services/photos.d.ts.map +1 -0
- package/dist/services/photos.js +341 -0
- package/dist/services/photos.js.map +1 -0
- package/dist/services/places.d.ts +58 -0
- package/dist/services/places.d.ts.map +1 -0
- package/dist/services/places.js +240 -0
- package/dist/services/places.js.map +1 -0
- package/dist/services/reveal.d.ts +15 -0
- package/dist/services/reveal.d.ts.map +1 -0
- package/dist/services/reveal.js +41 -0
- package/dist/services/reveal.js.map +1 -0
- package/dist/services/reviews.d.ts +70 -0
- package/dist/services/reviews.d.ts.map +1 -0
- package/dist/services/reviews.js +245 -0
- package/dist/services/reviews.js.map +1 -0
- package/dist/services/search.d.ts +25 -0
- package/dist/services/search.d.ts.map +1 -0
- package/dist/services/search.js +130 -0
- package/dist/services/search.js.map +1 -0
- package/dist/services/static-map.d.ts +14 -0
- package/dist/services/static-map.d.ts.map +1 -0
- package/dist/services/static-map.js +182 -0
- package/dist/services/static-map.js.map +1 -0
- package/dist/services/suggest.d.ts +12 -0
- package/dist/services/suggest.d.ts.map +1 -0
- package/dist/services/suggest.js +36 -0
- package/dist/services/suggest.js.map +1 -0
- package/dist/services/tiles.d.ts +19 -0
- package/dist/services/tiles.d.ts.map +1 -0
- package/dist/services/tiles.js +77 -0
- package/dist/services/tiles.js.map +1 -0
- package/dist/services/timezone.d.ts +19 -0
- package/dist/services/timezone.d.ts.map +1 -0
- package/dist/services/timezone.js +91 -0
- package/dist/services/timezone.js.map +1 -0
- package/dist/services/traffic.d.ts +12 -0
- package/dist/services/traffic.d.ts.map +1 -0
- package/dist/services/traffic.js +40 -0
- package/dist/services/traffic.js.map +1 -0
- package/dist/services/transit.d.ts +22 -0
- package/dist/services/transit.d.ts.map +1 -0
- package/dist/services/transit.js +62 -0
- package/dist/services/transit.js.map +1 -0
- package/dist/services/ugc-aggregates.d.ts +17 -0
- package/dist/services/ugc-aggregates.d.ts.map +1 -0
- package/dist/services/ugc-aggregates.js +46 -0
- package/dist/services/ugc-aggregates.js.map +1 -0
- package/dist/types/batch-url.d.ts +21 -0
- package/dist/types/batch-url.d.ts.map +1 -0
- package/dist/types/batch-url.js +2 -0
- package/dist/types/batch-url.js.map +1 -0
- package/dist/types/categories.d.ts +43 -0
- package/dist/types/categories.d.ts.map +1 -0
- package/dist/types/categories.js +2 -0
- package/dist/types/categories.js.map +1 -0
- package/dist/types/common.d.ts +538 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +77 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/directions.d.ts +88 -0
- package/dist/types/directions.d.ts.map +1 -0
- package/dist/types/directions.js +2 -0
- package/dist/types/directions.js.map +1 -0
- package/dist/types/distance-matrix.d.ts +40 -0
- package/dist/types/distance-matrix.d.ts.map +1 -0
- package/dist/types/distance-matrix.js +2 -0
- package/dist/types/distance-matrix.js.map +1 -0
- package/dist/types/elevation.d.ts +59 -0
- package/dist/types/elevation.d.ts.map +1 -0
- package/dist/types/elevation.js +2 -0
- package/dist/types/elevation.js.map +1 -0
- package/dist/types/geocode.d.ts +60 -0
- package/dist/types/geocode.d.ts.map +1 -0
- package/dist/types/geocode.js +2 -0
- package/dist/types/geocode.js.map +1 -0
- package/dist/types/links.d.ts +74 -0
- package/dist/types/links.d.ts.map +1 -0
- package/dist/types/links.js +2 -0
- package/dist/types/links.js.map +1 -0
- package/dist/types/lists.d.ts +41 -0
- package/dist/types/lists.d.ts.map +1 -0
- package/dist/types/lists.js +2 -0
- package/dist/types/lists.js.map +1 -0
- package/dist/types/maps-urls.d.ts +78 -0
- package/dist/types/maps-urls.d.ts.map +1 -0
- package/dist/types/maps-urls.js +2 -0
- package/dist/types/maps-urls.js.map +1 -0
- package/dist/types/panorama.d.ts +74 -0
- package/dist/types/panorama.d.ts.map +1 -0
- package/dist/types/panorama.js +2 -0
- package/dist/types/panorama.js.map +1 -0
- package/dist/types/passiveassist.d.ts +50 -0
- package/dist/types/passiveassist.d.ts.map +1 -0
- package/dist/types/passiveassist.js +2 -0
- package/dist/types/passiveassist.js.map +1 -0
- package/dist/types/photos.d.ts +101 -0
- package/dist/types/photos.d.ts.map +1 -0
- package/dist/types/photos.js +75 -0
- package/dist/types/photos.js.map +1 -0
- package/dist/types/protobuf.d.ts +33 -0
- package/dist/types/protobuf.d.ts.map +1 -0
- package/dist/types/protobuf.js +25 -0
- package/dist/types/protobuf.js.map +1 -0
- package/dist/types/reveal.d.ts +46 -0
- package/dist/types/reveal.d.ts.map +1 -0
- package/dist/types/reveal.js +2 -0
- package/dist/types/reveal.js.map +1 -0
- package/dist/types/reviews.d.ts +79 -0
- package/dist/types/reviews.d.ts.map +1 -0
- package/dist/types/reviews.js +5 -0
- package/dist/types/reviews.js.map +1 -0
- package/dist/types/search-filters.d.ts +59 -0
- package/dist/types/search-filters.d.ts.map +1 -0
- package/dist/types/search-filters.js +35 -0
- package/dist/types/search-filters.js.map +1 -0
- package/dist/types/static-map.d.ts +61 -0
- package/dist/types/static-map.d.ts.map +1 -0
- package/dist/types/static-map.js +2 -0
- package/dist/types/static-map.js.map +1 -0
- package/dist/types/suggest.d.ts +57 -0
- package/dist/types/suggest.d.ts.map +1 -0
- package/dist/types/suggest.js +2 -0
- package/dist/types/suggest.js.map +1 -0
- package/dist/types/tiles.d.ts +65 -0
- package/dist/types/tiles.d.ts.map +1 -0
- package/dist/types/tiles.js +2 -0
- package/dist/types/tiles.js.map +1 -0
- package/dist/types/timezone.d.ts +36 -0
- package/dist/types/timezone.d.ts.map +1 -0
- package/dist/types/timezone.js +2 -0
- package/dist/types/timezone.js.map +1 -0
- package/dist/types/traffic.d.ts +22 -0
- package/dist/types/traffic.d.ts.map +1 -0
- package/dist/types/traffic.js +2 -0
- package/dist/types/traffic.js.map +1 -0
- package/dist/types/transit.d.ts +46 -0
- package/dist/types/transit.d.ts.map +1 -0
- package/dist/types/transit.js +3 -0
- package/dist/types/transit.js.map +1 -0
- package/dist/types/ugc-aggregates.d.ts +14 -0
- package/dist/types/ugc-aggregates.d.ts.map +1 -0
- package/dist/types/ugc-aggregates.js +2 -0
- package/dist/types/ugc-aggregates.js.map +1 -0
- package/dist/utils/chunked-decoder.d.ts +9 -0
- package/dist/utils/chunked-decoder.d.ts.map +1 -0
- package/dist/utils/chunked-decoder.js +175 -0
- package/dist/utils/chunked-decoder.js.map +1 -0
- package/dist/utils/directions-metrics.d.ts +5 -0
- package/dist/utils/directions-metrics.d.ts.map +1 -0
- package/dist/utils/directions-metrics.js +62 -0
- package/dist/utils/directions-metrics.js.map +1 -0
- package/dist/utils/encoded-polyline.d.ts +9 -0
- package/dist/utils/encoded-polyline.d.ts.map +1 -0
- package/dist/utils/encoded-polyline.js +67 -0
- package/dist/utils/encoded-polyline.js.map +1 -0
- package/dist/utils/feature-id.d.ts +2 -0
- package/dist/utils/feature-id.d.ts.map +1 -0
- package/dist/utils/feature-id.js +11 -0
- package/dist/utils/feature-id.js.map +1 -0
- package/dist/utils/geo.d.ts +18 -0
- package/dist/utils/geo.d.ts.map +1 -0
- package/dist/utils/geo.js +40 -0
- package/dist/utils/geo.js.map +1 -0
- package/dist/utils/ids.d.ts +23 -0
- package/dist/utils/ids.d.ts.map +1 -0
- package/dist/utils/ids.js +81 -0
- package/dist/utils/ids.js.map +1 -0
- package/dist/utils/load-env.d.ts +7 -0
- package/dist/utils/load-env.d.ts.map +1 -0
- package/dist/utils/load-env.js +49 -0
- package/dist/utils/load-env.js.map +1 -0
- package/dist/utils/photo-url.d.ts +4 -0
- package/dist/utils/photo-url.d.ts.map +1 -0
- package/dist/utils/photo-url.js +35 -0
- package/dist/utils/photo-url.js.map +1 -0
- package/dist/utils/plus-code.d.ts +11 -0
- package/dist/utils/plus-code.d.ts.map +1 -0
- package/dist/utils/plus-code.js +83 -0
- package/dist/utils/plus-code.js.map +1 -0
- package/dist/utils/png.d.ts +25 -0
- package/dist/utils/png.d.ts.map +1 -0
- package/dist/utils/png.js +314 -0
- package/dist/utils/png.js.map +1 -0
- package/dist/utils/pooled.d.ts +6 -0
- package/dist/utils/pooled.d.ts.map +1 -0
- package/dist/utils/pooled.js +19 -0
- package/dist/utils/pooled.js.map +1 -0
- package/dist/utils/request-scheduler.d.ts +28 -0
- package/dist/utils/request-scheduler.d.ts.map +1 -0
- package/dist/utils/request-scheduler.js +58 -0
- package/dist/utils/request-scheduler.js.map +1 -0
- package/dist/utils/response-parser.d.ts +7 -0
- package/dist/utils/response-parser.d.ts.map +1 -0
- package/dist/utils/response-parser.js +50 -0
- package/dist/utils/response-parser.js.map +1 -0
- package/dist/utils/retry-backoff.d.ts +5 -0
- package/dist/utils/retry-backoff.d.ts.map +1 -0
- package/dist/utils/retry-backoff.js +23 -0
- package/dist/utils/retry-backoff.js.map +1 -0
- package/dist/utils/safe-get.d.ts +6 -0
- package/dist/utils/safe-get.d.ts.map +1 -0
- package/dist/utils/safe-get.js +29 -0
- package/dist/utils/safe-get.js.map +1 -0
- package/dist/utils/static-map-grid.d.ts +71 -0
- package/dist/utils/static-map-grid.d.ts.map +1 -0
- package/dist/utils/static-map-grid.js +103 -0
- package/dist/utils/static-map-grid.js.map +1 -0
- package/dist/utils/throttle-detection.d.ts +17 -0
- package/dist/utils/throttle-detection.d.ts.map +1 -0
- package/dist/utils/throttle-detection.js +71 -0
- package/dist/utils/throttle-detection.js.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { safeGet } from '../utils/safe-get.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parse transit station departure boards from place preview placeData[62].
|
|
4
|
+
*
|
|
5
|
+
* Verified on King's Cross (2026-07-31): mode tabs at [62][1][*][1], departure rows at
|
|
6
|
+
* [62][1][mode][2][*]. Per row: headsign [1][0][0], time block [1][0][3][0][0][0]
|
|
7
|
+
* (unix, tz, label), trip id [1][0][3][0][0][7], platform [1][0][3][0][0][8],
|
|
8
|
+
* line hex [4], operator/colour [5][1][1].
|
|
9
|
+
*/
|
|
10
|
+
export function extractTransitStationBoard(placeData) {
|
|
11
|
+
const block = safeGet(placeData, 62);
|
|
12
|
+
if (!Array.isArray(block))
|
|
13
|
+
return undefined;
|
|
14
|
+
const stationName = safeGet(block, 0) ?? undefined;
|
|
15
|
+
const hexId = safeGet(block, 8) ?? undefined;
|
|
16
|
+
const lat = safeGet(block, 10, 2) ?? undefined;
|
|
17
|
+
const lng = safeGet(block, 10, 3) ?? undefined;
|
|
18
|
+
const timezone = safeGet(block, 15) ?? undefined;
|
|
19
|
+
const modeTabs = safeGet(block, 1);
|
|
20
|
+
if (!Array.isArray(modeTabs) || modeTabs.length === 0)
|
|
21
|
+
return undefined;
|
|
22
|
+
const modes = [];
|
|
23
|
+
for (const tab of modeTabs) {
|
|
24
|
+
const mode = safeGet(tab, 1);
|
|
25
|
+
const groups = safeGet(tab, 2);
|
|
26
|
+
if (!mode || !Array.isArray(groups))
|
|
27
|
+
continue;
|
|
28
|
+
const departures = [];
|
|
29
|
+
for (const group of groups) {
|
|
30
|
+
const parsed = parseDepartureGroup(group, timezone);
|
|
31
|
+
if (parsed)
|
|
32
|
+
departures.push(parsed);
|
|
33
|
+
}
|
|
34
|
+
if (departures.length > 0) {
|
|
35
|
+
modes.push({ mode, departures });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (modes.length === 0)
|
|
39
|
+
return undefined;
|
|
40
|
+
return { stationName, hexId, lat, lng, timezone, modes };
|
|
41
|
+
}
|
|
42
|
+
function parseDepartureGroup(group, fallbackTz) {
|
|
43
|
+
if (!Array.isArray(group))
|
|
44
|
+
return undefined;
|
|
45
|
+
const headsign = safeGet(group, 1, 0, 0);
|
|
46
|
+
if (!headsign)
|
|
47
|
+
return undefined;
|
|
48
|
+
const timeBlock = safeGet(group, 1, 0, 3, 0, 0, 0);
|
|
49
|
+
const scheduledUnix = safeGet(timeBlock, 0) ?? undefined;
|
|
50
|
+
const timezone = safeGet(timeBlock, 1) ?? fallbackTz;
|
|
51
|
+
const scheduledTime = safeGet(timeBlock, 2) ?? undefined;
|
|
52
|
+
const platform = safeGet(group, 1, 0, 3, 0, 0, 8) ?? undefined;
|
|
53
|
+
const tripId = safeGet(group, 1, 0, 3, 0, 0, 7) ?? undefined;
|
|
54
|
+
const lineHexId = safeGet(group, 4) ?? undefined;
|
|
55
|
+
const lineStyle = safeGet(group, 5, 1, 1);
|
|
56
|
+
const lineName = safeGet(lineStyle, 0) ?? undefined;
|
|
57
|
+
const lineColor = safeGet(lineStyle, 2) ?? undefined;
|
|
58
|
+
const lineTextColor = safeGet(lineStyle, 3) ?? undefined;
|
|
59
|
+
const vehicleBlock = safeGet(group, 5, 0, 2);
|
|
60
|
+
const vehicleType = safeGet(vehicleBlock, 3) ?? undefined;
|
|
61
|
+
const vehicleIconUrl = safeGet(vehicleBlock, 4, 0, 0) ?? undefined;
|
|
62
|
+
return {
|
|
63
|
+
headsign,
|
|
64
|
+
scheduledTime,
|
|
65
|
+
scheduledUnix,
|
|
66
|
+
timezone,
|
|
67
|
+
platform,
|
|
68
|
+
tripId,
|
|
69
|
+
lineHexId,
|
|
70
|
+
lineName,
|
|
71
|
+
lineColor,
|
|
72
|
+
lineTextColor,
|
|
73
|
+
vehicleType,
|
|
74
|
+
vehicleIconUrl,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=transit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transit.js","sourceRoot":"","sources":["../../src/parsers/transit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PlaceUgcAggregates } from '../types/ugc-aggregates.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parse GetPlaceUgcPostAggregates batchexecute response.
|
|
4
|
+
* Verified: rating [3][0], distribution [3][1], total [3][2] (Kake Di Hatti live + duplicates fixture).
|
|
5
|
+
*/
|
|
6
|
+
export declare function extractPlaceUgcAggregates(data: unknown, options?: {
|
|
7
|
+
raw?: boolean;
|
|
8
|
+
}): PlaceUgcAggregates;
|
|
9
|
+
//# sourceMappingURL=ugc-aggregates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ugc-aggregates.d.ts","sourceRoot":"","sources":["../../src/parsers/ugc-aggregates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAKrE;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,kBAAkB,CAiBxG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { safeGet } from '../utils/safe-get.js';
|
|
2
|
+
import { parseBatchPayload } from '../rpc/batch-rpc.js';
|
|
3
|
+
/**
|
|
4
|
+
* Parse GetPlaceUgcPostAggregates batchexecute response.
|
|
5
|
+
* Verified: rating [3][0], distribution [3][1], total [3][2] (Kake Di Hatti live + duplicates fixture).
|
|
6
|
+
*/
|
|
7
|
+
export function extractPlaceUgcAggregates(data, options) {
|
|
8
|
+
const root = parseBatchPayload(data);
|
|
9
|
+
const block = safeGet(root, 3);
|
|
10
|
+
if (!Array.isArray(block)) {
|
|
11
|
+
return { raw: options?.raw ? root : undefined };
|
|
12
|
+
}
|
|
13
|
+
const rating = safeGet(block, 0);
|
|
14
|
+
const distribution = safeGet(block, 1);
|
|
15
|
+
const totalCount = safeGet(block, 2);
|
|
16
|
+
return {
|
|
17
|
+
rating: typeof rating === 'number' ? rating : undefined,
|
|
18
|
+
ratingDistribution: Array.isArray(distribution) ? distribution : undefined,
|
|
19
|
+
totalCount: typeof totalCount === 'number' ? totalCount : undefined,
|
|
20
|
+
raw: options?.raw ? root : undefined,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ugc-aggregates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ugc-aggregates.js","sourceRoot":"","sources":["../../src/parsers/ugc-aggregates.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAa,EAAE,OAA2B;IAClF,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAS,KAAK,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,OAAO,CAAW,KAAK,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAS,KAAK,EAAE,CAAC,CAAC,CAAC;IAE7C,OAAO;QACL,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACvD,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC1E,UAAU,EAAE,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACnE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse Google Maps APP_OPTIONS and WIZ_global_data from bootstrap HTML.
|
|
3
|
+
*/
|
|
4
|
+
import type { MapsEndpointRegistry, MapsPageTokens } from '../types/common.js';
|
|
5
|
+
/** Extract a single string field from WIZ_global_data without parsing the full JSON blob. */
|
|
6
|
+
export declare function extractWizGlobalString(html: string, key: string): string | undefined;
|
|
7
|
+
/** Build label (`bl` query param) — not always present as cfb2h in Maps HTML. */
|
|
8
|
+
export declare function extractBuildLabel(html: string): string | undefined;
|
|
9
|
+
/** Session id (`f.sid`) — Maps may use FdrFJe, S06Grb, or Set-Cookie. */
|
|
10
|
+
export declare function extractSessionId(html: string): string | undefined;
|
|
11
|
+
export declare function extractPathsFromHtml(html: string): string[];
|
|
12
|
+
export declare function parseMapsPageTokens(html: string): MapsPageTokens;
|
|
13
|
+
/** Extract psi session token from APP_OPTIONS bootstrap (index 11). */
|
|
14
|
+
export declare function extractAppOptionsPsi(html: string): string | undefined;
|
|
15
|
+
export declare function buildEndpointRegistry(html: string): MapsEndpointRegistry;
|
|
16
|
+
/** Extract lazy module manifest from _ModuleManager_initialize in a JS bundle. */
|
|
17
|
+
export declare function extractModuleManifest(js: string): {
|
|
18
|
+
manifest: string;
|
|
19
|
+
moduleIds: string[];
|
|
20
|
+
} | null;
|
|
21
|
+
/** Extract protobuf service descriptor IDs (prototype.Jd) from a JS bundle. */
|
|
22
|
+
export declare function extractProtoServiceIds(js: string): string[];
|
|
23
|
+
/** Extract 6-char closure module registrations (_.Sc). */
|
|
24
|
+
export declare function extractClosureModuleIds(js: string): string[];
|
|
25
|
+
//# sourceMappingURL=app-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-options.d.ts","sourceRoot":"","sources":["../../src/rpc/app-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAK/E,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpF;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMjE;AAeD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI3D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAoBhE;AAED,uEAAuE;AACvE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYrE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CA6CxE;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,IAAI,CAeP;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAM3D;AAED,0DAA0D;AAC1D,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5D"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse Google Maps APP_OPTIONS and WIZ_global_data from bootstrap HTML.
|
|
3
|
+
*/
|
|
4
|
+
const KEI_RE = /kEI='([^']+)'/;
|
|
5
|
+
const JS_VERSION_RE = /"(\d{8}\.\d+)"/;
|
|
6
|
+
/** Extract a single string field from WIZ_global_data without parsing the full JSON blob. */
|
|
7
|
+
export function extractWizGlobalString(html, key) {
|
|
8
|
+
const m = html.match(new RegExp(`"${key}"\\s*:\\s*"([^"]*)"`));
|
|
9
|
+
return m?.[1];
|
|
10
|
+
}
|
|
11
|
+
/** Build label (`bl` query param) — not always present as cfb2h in Maps HTML. */
|
|
12
|
+
export function extractBuildLabel(html) {
|
|
13
|
+
return (extractWizGlobalString(html, 'cfb2h') ??
|
|
14
|
+
html.match(/\/maps\/_\/js\/[^"']*\/rs=([A-Za-z0-9_-]+)/)?.[1] ??
|
|
15
|
+
html.match(/\/maps\/_\/js\/[^"']*[?&]bl=([A-Za-z0-9_-]+)/)?.[1]);
|
|
16
|
+
}
|
|
17
|
+
/** Session id (`f.sid`) — Maps may use FdrFJe, S06Grb, or Set-Cookie. */
|
|
18
|
+
export function extractSessionId(html) {
|
|
19
|
+
return (html.match(/"FdrFJe"\s*:\s*"(-?\d+)"/)?.[1] ??
|
|
20
|
+
extractWizGlobalString(html, 'S06Grb')?.match(/^-?\d+$/)?.[0] ??
|
|
21
|
+
html.match(/f\.sid=(-?\d+)/)?.[1]);
|
|
22
|
+
}
|
|
23
|
+
function decodeHtmlEscapes(text) {
|
|
24
|
+
return text
|
|
25
|
+
.replace(/\\u003d/g, '=')
|
|
26
|
+
.replace(/\\u0026/g, '&')
|
|
27
|
+
.replace(/\\u003c/g, '<')
|
|
28
|
+
.replace(/\\u003e/g, '>')
|
|
29
|
+
.replace(/\\u0027/g, "'")
|
|
30
|
+
.replace(/\\u0022/g, '"')
|
|
31
|
+
.replace(/\\x([0-9a-fA-F]{2})/g, (_, hex) => String.fromCharCode(parseInt(hex, 16)));
|
|
32
|
+
}
|
|
33
|
+
export function extractPathsFromHtml(html) {
|
|
34
|
+
const decoded = decodeHtmlEscapes(html);
|
|
35
|
+
const matches = decoded.match(/\/(?:maps|search)[a-zA-Z0-9_./?=&%-]{2,120}/g) ?? [];
|
|
36
|
+
return [...new Set(matches.map((path) => path.split('"')[0]))];
|
|
37
|
+
}
|
|
38
|
+
export function parseMapsPageTokens(html) {
|
|
39
|
+
const authToken = extractWizGlobalString(html, 'SNlM0e') ?? '';
|
|
40
|
+
const appPath = extractWizGlobalString(html, 'Im6cmf');
|
|
41
|
+
const batchExecutePath = extractWizGlobalString(html, 'eptZe');
|
|
42
|
+
const buildLabel = extractBuildLabel(html);
|
|
43
|
+
const sessionId = extractSessionId(html);
|
|
44
|
+
const kEI = html.match(KEI_RE)?.[1] ?? extractWizGlobalString(html, 'kEI');
|
|
45
|
+
const jsVersion = html.match(JS_VERSION_RE)?.[1];
|
|
46
|
+
const psi = extractAppOptionsPsi(html);
|
|
47
|
+
return {
|
|
48
|
+
authToken,
|
|
49
|
+
buildLabel,
|
|
50
|
+
sessionId,
|
|
51
|
+
appPath,
|
|
52
|
+
batchExecutePath,
|
|
53
|
+
kEI,
|
|
54
|
+
jsVersion,
|
|
55
|
+
psi,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/** Extract psi session token from APP_OPTIONS bootstrap (index 11). */
|
|
59
|
+
export function extractAppOptionsPsi(html) {
|
|
60
|
+
const match = html.match(/APP_OPTIONS=\[([^\]]{0,8000})\]/s);
|
|
61
|
+
if (!match?.[1])
|
|
62
|
+
return undefined;
|
|
63
|
+
try {
|
|
64
|
+
const options = JSON.parse(`[${match[1]}]`);
|
|
65
|
+
const psi = options[11];
|
|
66
|
+
return typeof psi === 'string' && psi.length > 8 ? psi : undefined;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
const fallback = html.match(/APP_OPTIONS=\[[^\]]*,\s*"([A-Za-z0-9_-]{16,})"/);
|
|
70
|
+
return fallback?.[1];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export function buildEndpointRegistry(html) {
|
|
74
|
+
const paths = extractPathsFromHtml(html);
|
|
75
|
+
const tokens = parseMapsPageTokens(html);
|
|
76
|
+
const batchPath = tokens.batchExecutePath ?? '/maps/_/MapsWizUi/';
|
|
77
|
+
return {
|
|
78
|
+
batchexecute: {
|
|
79
|
+
appPath: batchPath,
|
|
80
|
+
url: `https://www.google.com${batchPath.replace(/\/?$/, '/')}data/batchexecute`,
|
|
81
|
+
wizKey: 'eptZe',
|
|
82
|
+
authKey: 'SNlM0e',
|
|
83
|
+
},
|
|
84
|
+
preview: paths
|
|
85
|
+
.filter((path) => path.startsWith('/maps/preview/'))
|
|
86
|
+
.sort(),
|
|
87
|
+
rpc: paths
|
|
88
|
+
.filter((path) => path.includes('/rpc/'))
|
|
89
|
+
.sort(),
|
|
90
|
+
search: paths
|
|
91
|
+
.filter((path) => path.startsWith('/search') || path.startsWith('/s?'))
|
|
92
|
+
.sort(),
|
|
93
|
+
httpservice: [
|
|
94
|
+
'https://www.google.com/httpservice/web/PrivateLocalSearchUiDataService/GetLocalBoqProxy',
|
|
95
|
+
],
|
|
96
|
+
modules: {
|
|
97
|
+
initial: [
|
|
98
|
+
'GfLzUe',
|
|
99
|
+
'tNOPW',
|
|
100
|
+
'cZ2KIb',
|
|
101
|
+
'Rq2f7d',
|
|
102
|
+
'omhq0',
|
|
103
|
+
'MJcXSb',
|
|
104
|
+
'WEtKm',
|
|
105
|
+
'B863O',
|
|
106
|
+
'bEpRLd',
|
|
107
|
+
'ItB2Fd',
|
|
108
|
+
'pwd',
|
|
109
|
+
'dw',
|
|
110
|
+
'dEsJDd',
|
|
111
|
+
'iDMycd',
|
|
112
|
+
],
|
|
113
|
+
lazyCount: 0,
|
|
114
|
+
lazySample: [],
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/** Extract lazy module manifest from _ModuleManager_initialize in a JS bundle. */
|
|
119
|
+
export function extractModuleManifest(js) {
|
|
120
|
+
const match = js.match(/_\._ModuleManager_initialize\('([^']+)'/);
|
|
121
|
+
if (!match?.[1]) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
const manifest = match[1];
|
|
125
|
+
const tokens = manifest.split(/[/:,]/);
|
|
126
|
+
const moduleIds = [
|
|
127
|
+
...new Set(tokens.filter((token) => /^[a-zA-Z][a-zA-Z0-9]{2,7}$/.test(token))),
|
|
128
|
+
];
|
|
129
|
+
return { manifest, moduleIds };
|
|
130
|
+
}
|
|
131
|
+
/** Extract protobuf service descriptor IDs (prototype.Jd) from a JS bundle. */
|
|
132
|
+
export function extractProtoServiceIds(js) {
|
|
133
|
+
const matches = js.match(/\.prototype\.Jd\s*=\s*"([^"]+)"/g) ?? [];
|
|
134
|
+
const ids = matches
|
|
135
|
+
.map((entry) => entry.match(/"([^"]+)"/)?.[1])
|
|
136
|
+
.filter((id) => Boolean(id));
|
|
137
|
+
return [...new Set(ids)].sort();
|
|
138
|
+
}
|
|
139
|
+
/** Extract 6-char closure module registrations (_.Sc). */
|
|
140
|
+
export function extractClosureModuleIds(js) {
|
|
141
|
+
const matches = js.match(/_\.Sc\("([a-zA-Z]{6})"/g) ?? [];
|
|
142
|
+
const ids = matches
|
|
143
|
+
.map((entry) => entry.match(/"([^"]+)"/)?.[1])
|
|
144
|
+
.filter((id) => Boolean(id));
|
|
145
|
+
return [...new Set(ids)].sort();
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=app-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-options.js","sourceRoot":"","sources":["../../src/rpc/app-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* batchexecute client for Google Maps UI RPC calls.
|
|
3
|
+
* Mirrors notebooklm-kit's BatchExecuteClient.
|
|
4
|
+
*/
|
|
5
|
+
import type { BatchExecuteConfig, RPCCall, RPCResponse } from '../types/common.js';
|
|
6
|
+
export declare class BatchExecuteClient {
|
|
7
|
+
private config;
|
|
8
|
+
private readonly reqIdGenerator;
|
|
9
|
+
constructor(config: BatchExecuteConfig);
|
|
10
|
+
updateCookies(cookies: string): void;
|
|
11
|
+
updateAuthToken(authToken: string): void;
|
|
12
|
+
do(rpc: RPCCall): Promise<RPCResponse>;
|
|
13
|
+
execute(rpcs: RPCCall[]): Promise<RPCResponse[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Builds one envelope entry.
|
|
16
|
+
*
|
|
17
|
+
* The trailing field is a per-request sequence id. A lone RPC uses `'generic'`, but when
|
|
18
|
+
* several share an envelope each needs a distinct id — reusing `'generic'` makes the
|
|
19
|
+
* server reject the whole batch with HTTP 500 (verified against the wire).
|
|
20
|
+
*/
|
|
21
|
+
private buildRpcData;
|
|
22
|
+
private resolveUrlRpcids;
|
|
23
|
+
private tryDecodeResponse;
|
|
24
|
+
private decodeResponse;
|
|
25
|
+
private isRetryableError;
|
|
26
|
+
private isRetryableStatus;
|
|
27
|
+
private sleep;
|
|
28
|
+
private resolveBatchExecuteUrl;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=batch-execute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-execute.d.ts","sourceRoot":"","sources":["../../src/rpc/batch-execute.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAoBnF,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;gBAE3C,MAAM,EAAE,kBAAkB;IAStC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIlC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAKtC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAwFtD;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,cAAc;IAoDtB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,sBAAsB;CAY/B"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* batchexecute client for Google Maps UI RPC calls.
|
|
3
|
+
* Mirrors notebooklm-kit's BatchExecuteClient.
|
|
4
|
+
*/
|
|
5
|
+
import { GMapsAuthError, GMapsError, GMapsNetworkError } from '../types/common.js';
|
|
6
|
+
import { isServicePath, rpcidForService } from './batch-services.js';
|
|
7
|
+
import { parseChunkedResponse } from '../utils/chunked-decoder.js';
|
|
8
|
+
class ReqIdGenerator {
|
|
9
|
+
base;
|
|
10
|
+
sequence = 0;
|
|
11
|
+
constructor() {
|
|
12
|
+
this.base = Math.floor(Math.random() * 9000) + 1000;
|
|
13
|
+
}
|
|
14
|
+
next() {
|
|
15
|
+
const reqid = this.base + this.sequence * 100000;
|
|
16
|
+
this.sequence++;
|
|
17
|
+
return reqid.toString();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class BatchExecuteClient {
|
|
21
|
+
config;
|
|
22
|
+
reqIdGenerator = new ReqIdGenerator();
|
|
23
|
+
constructor(config) {
|
|
24
|
+
this.config = {
|
|
25
|
+
maxRetries: 1,
|
|
26
|
+
retryDelay: 1000,
|
|
27
|
+
retryMaxDelay: 5000,
|
|
28
|
+
...config,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
updateCookies(cookies) {
|
|
32
|
+
this.config.cookies = cookies;
|
|
33
|
+
}
|
|
34
|
+
updateAuthToken(authToken) {
|
|
35
|
+
this.config.authToken = authToken;
|
|
36
|
+
}
|
|
37
|
+
async do(rpc) {
|
|
38
|
+
const responses = await this.execute([rpc]);
|
|
39
|
+
return responses[0];
|
|
40
|
+
}
|
|
41
|
+
async execute(rpcs) {
|
|
42
|
+
const url = new URL(this.resolveBatchExecuteUrl());
|
|
43
|
+
const primary = rpcs[0];
|
|
44
|
+
if (!primary) {
|
|
45
|
+
throw new GMapsError('batchexecute requires at least one RPC');
|
|
46
|
+
}
|
|
47
|
+
url.searchParams.set('rpcids', this.resolveUrlRpcids(rpcs));
|
|
48
|
+
url.searchParams.set('_reqid', this.reqIdGenerator.next());
|
|
49
|
+
for (const [key, value] of Object.entries(this.config.urlParams ?? {})) {
|
|
50
|
+
url.searchParams.set(key, value);
|
|
51
|
+
}
|
|
52
|
+
if (primary.urlParams) {
|
|
53
|
+
for (const [key, value] of Object.entries(primary.urlParams)) {
|
|
54
|
+
url.searchParams.set(key, value);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const envelope = rpcs.map((rpc, index) => this.buildRpcData(rpc, index, rpcs.length));
|
|
58
|
+
const formData = new URLSearchParams();
|
|
59
|
+
formData.set('f.req', JSON.stringify([envelope]));
|
|
60
|
+
if (this.config.authToken) {
|
|
61
|
+
formData.set('at', this.config.authToken);
|
|
62
|
+
}
|
|
63
|
+
const maxRetries = this.config.maxRetries ?? 1;
|
|
64
|
+
const retryDelay = this.config.retryDelay ?? 1000;
|
|
65
|
+
const retryMaxDelay = this.config.retryMaxDelay ?? 5000;
|
|
66
|
+
let lastError = null;
|
|
67
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
68
|
+
if (attempt > 0) {
|
|
69
|
+
const delay = Math.min(retryDelay * Math.pow(2, attempt - 1), retryMaxDelay);
|
|
70
|
+
await this.sleep(delay);
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
const schedule = this.config.schedule ?? ((fn) => fn());
|
|
74
|
+
const { response, body } = await schedule(async () => {
|
|
75
|
+
const res = await fetch(url.toString(), {
|
|
76
|
+
method: 'POST',
|
|
77
|
+
headers: {
|
|
78
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
79
|
+
Cookie: this.config.cookies,
|
|
80
|
+
...this.config.headers,
|
|
81
|
+
},
|
|
82
|
+
body: formData.toString(),
|
|
83
|
+
});
|
|
84
|
+
return { response: res, body: await res.text() };
|
|
85
|
+
});
|
|
86
|
+
if (response.status === 401) {
|
|
87
|
+
throw new GMapsAuthError('batchexecute authentication failed (401)');
|
|
88
|
+
}
|
|
89
|
+
if (!response.ok) {
|
|
90
|
+
const decoded = this.tryDecodeResponse(body);
|
|
91
|
+
if (decoded) {
|
|
92
|
+
if (decoded.isError) {
|
|
93
|
+
throw new GMapsError(`batchexecute application error: ${decoded.errorCode ?? response.status}`, response.status);
|
|
94
|
+
}
|
|
95
|
+
return decoded.responses;
|
|
96
|
+
}
|
|
97
|
+
if (this.isRetryableStatus(response.status) && attempt < maxRetries) {
|
|
98
|
+
lastError = new GMapsError(`batchexecute HTTP ${response.status}`, response.status);
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
throw new GMapsError(`batchexecute failed: ${response.status} ${response.statusText}`, response.status);
|
|
102
|
+
}
|
|
103
|
+
return this.decodeResponse(body);
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
107
|
+
if (this.isRetryableError(lastError) && attempt < maxRetries) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
throw new GMapsNetworkError(`batchexecute retries exhausted: ${lastError?.message ?? 'unknown error'}`);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Builds one envelope entry.
|
|
117
|
+
*
|
|
118
|
+
* The trailing field is a per-request sequence id. A lone RPC uses `'generic'`, but when
|
|
119
|
+
* several share an envelope each needs a distinct id — reusing `'generic'` makes the
|
|
120
|
+
* server reject the whole batch with HTTP 500 (verified against the wire).
|
|
121
|
+
*/
|
|
122
|
+
buildRpcData(rpc, index = 0, total = 1) {
|
|
123
|
+
const servicePath = isServicePath(rpc.id) ? rpc.id : undefined;
|
|
124
|
+
const rpcKey = servicePath ?? rpc.id;
|
|
125
|
+
const argsJson = JSON.stringify(rpc.args);
|
|
126
|
+
const sequenceId = total > 1 ? String(index + 1) : 'generic';
|
|
127
|
+
return [rpcKey, argsJson, null, sequenceId];
|
|
128
|
+
}
|
|
129
|
+
resolveUrlRpcids(rpcs) {
|
|
130
|
+
return rpcs
|
|
131
|
+
.map((rpc) => {
|
|
132
|
+
if (isServicePath(rpc.id)) {
|
|
133
|
+
return rpcidForService(rpc.id) ?? rpc.id.slice(rpc.id.lastIndexOf('/') + 1);
|
|
134
|
+
}
|
|
135
|
+
return rpc.id;
|
|
136
|
+
})
|
|
137
|
+
.join(',');
|
|
138
|
+
}
|
|
139
|
+
tryDecodeResponse(raw) {
|
|
140
|
+
try {
|
|
141
|
+
if (raw.includes('["er"')) {
|
|
142
|
+
const codeMatch = raw.match(/\["er",null,null,null,null,(\d+)/);
|
|
143
|
+
return { responses: [], isError: true, errorCode: codeMatch ? Number(codeMatch[1]) : undefined };
|
|
144
|
+
}
|
|
145
|
+
return { responses: this.decodeResponse(raw), isError: false };
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
decodeResponse(raw) {
|
|
152
|
+
const trimmed = raw.trim().replace(/^\)\]\}'/, '');
|
|
153
|
+
if (!trimmed) {
|
|
154
|
+
throw new GMapsError('Empty batchexecute response');
|
|
155
|
+
}
|
|
156
|
+
if (/^\d/.test(trimmed) || /\n\d+\n/.test(trimmed) || trimmed.includes('wrb.fr')) {
|
|
157
|
+
return parseChunkedResponse(raw, this.config.debug);
|
|
158
|
+
}
|
|
159
|
+
let responses;
|
|
160
|
+
try {
|
|
161
|
+
responses = JSON.parse(trimmed);
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
return parseChunkedResponse(raw, this.config.debug);
|
|
165
|
+
}
|
|
166
|
+
const result = [];
|
|
167
|
+
for (const rpcData of responses) {
|
|
168
|
+
if (!Array.isArray(rpcData) || rpcData.length < 3) {
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
if (rpcData[0] === 'wrb.fr') {
|
|
172
|
+
const response = {
|
|
173
|
+
id: rpcData[1],
|
|
174
|
+
index: 0,
|
|
175
|
+
data: rpcData[2] ?? rpcData[5] ?? null,
|
|
176
|
+
};
|
|
177
|
+
if (rpcData[6] === 'generic') {
|
|
178
|
+
response.index = 0;
|
|
179
|
+
}
|
|
180
|
+
else if (typeof rpcData[6] === 'string') {
|
|
181
|
+
response.index = parseInt(rpcData[6], 10) || 0;
|
|
182
|
+
}
|
|
183
|
+
result.push(response);
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
if (rpcData[0] !== 'wrb.fr' && rpcData.length >= 7 && typeof rpcData[1] === 'string') {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (result.length === 0) {
|
|
191
|
+
throw new GMapsError('No wrb.fr responses in batchexecute payload');
|
|
192
|
+
}
|
|
193
|
+
return result;
|
|
194
|
+
}
|
|
195
|
+
isRetryableError(error) {
|
|
196
|
+
const message = error.message.toLowerCase();
|
|
197
|
+
return ['timeout', 'econnreset', 'network', 'fetch failed'].some((pattern) => message.includes(pattern));
|
|
198
|
+
}
|
|
199
|
+
isRetryableStatus(status) {
|
|
200
|
+
return [429, 500, 502, 503, 504].includes(status);
|
|
201
|
+
}
|
|
202
|
+
sleep(ms) {
|
|
203
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
204
|
+
}
|
|
205
|
+
resolveBatchExecuteUrl() {
|
|
206
|
+
const host = this.config.host;
|
|
207
|
+
if (this.config.basePath) {
|
|
208
|
+
const normalized = this.config.basePath.endsWith('/')
|
|
209
|
+
? this.config.basePath
|
|
210
|
+
: `${this.config.basePath}/`;
|
|
211
|
+
return `https://${host}${normalized}data/batchexecute`;
|
|
212
|
+
}
|
|
213
|
+
const app = this.config.app ?? 'MapsWizUi';
|
|
214
|
+
return `https://${host}/_/${app}/data/batchexecute`;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=batch-execute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-execute.js","sourceRoot":"","sources":["../../src/rpc/batch-execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* batchexecute request argument builders (field-index JSON arrays from Maps JS).
|
|
3
|
+
*/
|
|
4
|
+
export declare function buildAreaTrafficArgs(params: {
|
|
5
|
+
psi: string;
|
|
6
|
+
swLat: number;
|
|
7
|
+
swLng: number;
|
|
8
|
+
neLat: number;
|
|
9
|
+
neLng: number;
|
|
10
|
+
}): unknown[];
|
|
11
|
+
export declare function buildViewportMetadataArgs(params: {
|
|
12
|
+
psi: string;
|
|
13
|
+
scale: number;
|
|
14
|
+
lng: number;
|
|
15
|
+
lat: number;
|
|
16
|
+
width?: number;
|
|
17
|
+
height?: number;
|
|
18
|
+
zoom?: number;
|
|
19
|
+
}): unknown[];
|
|
20
|
+
export declare function buildMerchantStatusArgs(psi: string): unknown[];
|
|
21
|
+
export declare function buildPlaceUgcAggregatesArgs(hexId: string, psi: string): unknown[];
|
|
22
|
+
export declare function buildCategorySuggestionsArgs(query: string): unknown[];
|
|
23
|
+
export declare function buildPlaceInfoArgs(hexId: string): unknown[];
|
|
24
|
+
export declare function buildPotentialDuplicatesArgs(hexId: string): unknown[];
|
|
25
|
+
export declare function buildSignedUrlArgs(hexId: string): unknown[];
|
|
26
|
+
export declare function buildDecodeUrlArgs(url: string): unknown[];
|
|
27
|
+
export declare function buildCreateShortUrlArgs(url: string, psi?: string): unknown[];
|
|
28
|
+
export interface ListEntityPhotosBatchParams {
|
|
29
|
+
hexId: string;
|
|
30
|
+
psi: string;
|
|
31
|
+
featureId?: string;
|
|
32
|
+
pageSize?: number;
|
|
33
|
+
pageToken?: string;
|
|
34
|
+
/** Base64 category token from gallery tab (e.g. CgIYIA== for Food & drink). */
|
|
35
|
+
categoryToken?: string;
|
|
36
|
+
thumbnailWidth?: number;
|
|
37
|
+
thumbnailHeight?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* MapsPhotoService.ListEntityPhotos batchexecute args — shape from headless capture 2026-07-31.
|
|
41
|
+
* Mode 2 = entity gallery; arg[4] carries pagination token at [2][2] and category at [24].
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildListEntityPhotosBatchArgs(params: ListEntityPhotosBatchParams): unknown[];
|
|
44
|
+
export declare function buildKnowledgeEntityArgs(params: {
|
|
45
|
+
entityId: string;
|
|
46
|
+
type?: number;
|
|
47
|
+
}): unknown[];
|
|
48
|
+
export declare function buildListUgcPostsArgs(params: {
|
|
49
|
+
hexId: string;
|
|
50
|
+
psi: string;
|
|
51
|
+
limit?: number;
|
|
52
|
+
}): unknown[];
|
|
53
|
+
/**
|
|
54
|
+
* MapsTransitService.ListTransitLines (rpcid gY1uwe).
|
|
55
|
+
* Request shape from f0N97d.js: repeated Pqh at field 1 — Pqh.Nc enum + Oqh payload;
|
|
56
|
+
* Oqh.rb (field 1) = line hex id, Oqh.U (field 13) = stop list with lat/lng at Nqh paths.
|
|
57
|
+
* Returns error [3] anonymously as of 2026-07-31 — kept for probe scripts.
|
|
58
|
+
*/
|
|
59
|
+
export declare function buildListTransitLinesArgs(params: {
|
|
60
|
+
lineHexId: string;
|
|
61
|
+
lat?: number;
|
|
62
|
+
lng?: number;
|
|
63
|
+
requestType?: number;
|
|
64
|
+
}): unknown[];
|
|
65
|
+
//# sourceMappingURL=batch-request-builders.d.ts.map
|