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.
- package/README.md +228 -27
- package/dist/advanced/http.d.ts +4 -4
- package/dist/advanced/http.d.ts.map +1 -1
- package/dist/advanced/http.js +4 -4
- package/dist/advanced/http.js.map +1 -1
- package/dist/advanced/parsers.d.ts +9 -4
- package/dist/advanced/parsers.d.ts.map +1 -1
- package/dist/advanced/parsers.js +6 -3
- package/dist/advanced/parsers.js.map +1 -1
- package/dist/advanced/rpc.d.ts +12 -12
- package/dist/advanced/rpc.d.ts.map +1 -1
- package/dist/advanced/rpc.js +10 -10
- package/dist/advanced/rpc.js.map +1 -1
- package/dist/advanced/services.d.ts +18 -7
- package/dist/advanced/services.d.ts.map +1 -1
- package/dist/advanced/services.js +18 -7
- package/dist/advanced/services.js.map +1 -1
- package/dist/advanced/utils.d.ts +3 -3
- package/dist/advanced/utils.d.ts.map +1 -1
- package/dist/advanced/utils.js +3 -3
- package/dist/advanced/utils.js.map +1 -1
- package/dist/advanced.d.ts +47 -10
- package/dist/advanced.d.ts.map +1 -1
- package/dist/advanced.js +13 -6
- package/dist/advanced.js.map +1 -1
- package/dist/auth/auth-status.js +2 -2
- package/dist/auth/auth-status.js.map +1 -1
- package/dist/auth/maps-tokens.js +1 -1
- package/dist/auth/session.d.ts.map +1 -1
- package/dist/auth/session.js +17 -2
- package/dist/auth/session.js.map +1 -1
- package/dist/cli/args.d.ts +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +24 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +18 -27
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/output.d.ts +19 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +82 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/run.d.ts +55 -3
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +239 -18
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/tui/app.d.ts +7 -2
- package/dist/cli/tui/app.d.ts.map +1 -1
- package/dist/cli/tui/app.js +116 -31
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/styles.d.ts.map +1 -1
- package/dist/cli/tui/styles.js +13 -10
- package/dist/cli/tui/styles.js.map +1 -1
- package/dist/cli.d.ts +1 -10
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +122 -36
- package/dist/cli.js.map +1 -1
- package/dist/client/gmaps-client.d.ts +14 -31
- package/dist/client/gmaps-client.d.ts.map +1 -1
- package/dist/client/gmaps-client.js +52 -130
- package/dist/client/gmaps-client.js.map +1 -1
- package/dist/client/http-client.d.ts.map +1 -1
- package/dist/client/http-client.js +11 -9
- package/dist/client/http-client.js.map +1 -1
- package/dist/client/intent.d.ts +2 -12
- package/dist/client/intent.d.ts.map +1 -1
- package/dist/client/intent.js +39 -18
- package/dist/client/intent.js.map +1 -1
- package/dist/client/maps-tools.d.ts +19 -3
- package/dist/client/maps-tools.d.ts.map +1 -1
- package/dist/client/maps-tools.js +57 -4
- package/dist/client/maps-tools.js.map +1 -1
- package/dist/client/namespaces.d.ts +125 -16
- package/dist/client/namespaces.d.ts.map +1 -1
- package/dist/client/namespaces.js +189 -23
- package/dist/client/namespaces.js.map +1 -1
- package/dist/client/place-enrichment.js +1 -1
- package/dist/client/place-enrichment.js.map +1 -1
- package/dist/client/place-workflows.d.ts +7 -0
- package/dist/client/place-workflows.d.ts.map +1 -0
- package/dist/client/place-workflows.js +113 -0
- package/dist/client/place-workflows.js.map +1 -0
- package/dist/index.d.ts +54 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/known-surfaces.d.ts +173 -5
- package/dist/known-surfaces.d.ts.map +1 -1
- package/dist/known-surfaces.js +173 -5
- package/dist/known-surfaces.js.map +1 -1
- package/dist/parsers/batch-url.d.ts +10 -1
- package/dist/parsers/batch-url.d.ts.map +1 -1
- package/dist/parsers/batch-url.js +30 -2
- package/dist/parsers/batch-url.js.map +1 -1
- package/dist/parsers/boq-reviews.d.ts +8 -1
- package/dist/parsers/boq-reviews.d.ts.map +1 -1
- package/dist/parsers/boq-reviews.js +50 -8
- package/dist/parsers/boq-reviews.js.map +1 -1
- package/dist/parsers/categories.d.ts.map +1 -1
- package/dist/parsers/categories.js +13 -10
- package/dist/parsers/categories.js.map +1 -1
- package/dist/parsers/directions.d.ts +18 -2
- package/dist/parsers/directions.d.ts.map +1 -1
- package/dist/parsers/directions.js +232 -18
- package/dist/parsers/directions.js.map +1 -1
- package/dist/parsers/geocode.d.ts +20 -2
- package/dist/parsers/geocode.d.ts.map +1 -1
- package/dist/parsers/geocode.js +139 -6
- package/dist/parsers/geocode.js.map +1 -1
- package/dist/parsers/knowledge.js +1 -1
- package/dist/parsers/knowledge.js.map +1 -1
- package/dist/parsers/lists.d.ts.map +1 -1
- package/dist/parsers/lists.js +29 -12
- package/dist/parsers/lists.js.map +1 -1
- package/dist/parsers/local-posts.d.ts.map +1 -1
- package/dist/parsers/local-posts.js +97 -12
- package/dist/parsers/local-posts.js.map +1 -1
- package/dist/parsers/mobility.d.ts +42 -0
- package/dist/parsers/mobility.d.ts.map +1 -0
- package/dist/parsers/mobility.js +130 -0
- package/dist/parsers/mobility.js.map +1 -0
- package/dist/parsers/panorama.d.ts +0 -1
- package/dist/parsers/panorama.d.ts.map +1 -1
- package/dist/parsers/panorama.js +117 -14
- package/dist/parsers/panorama.js.map +1 -1
- package/dist/parsers/photos.d.ts.map +1 -1
- package/dist/parsers/photos.js +15 -8
- package/dist/parsers/photos.js.map +1 -1
- package/dist/parsers/place-attributes.d.ts +12 -3
- package/dist/parsers/place-attributes.d.ts.map +1 -1
- package/dist/parsers/place-attributes.js +48 -2
- package/dist/parsers/place-attributes.js.map +1 -1
- package/dist/parsers/place-extended.d.ts +163 -0
- package/dist/parsers/place-extended.d.ts.map +1 -0
- package/dist/parsers/place-extended.js +741 -0
- package/dist/parsers/place-extended.js.map +1 -0
- package/dist/parsers/place.d.ts +15 -1
- package/dist/parsers/place.d.ts.map +1 -1
- package/dist/parsers/place.js +16 -5
- package/dist/parsers/place.js.map +1 -1
- package/dist/parsers/popular-times.d.ts +35 -0
- package/dist/parsers/popular-times.d.ts.map +1 -0
- package/dist/parsers/popular-times.js +149 -0
- package/dist/parsers/popular-times.js.map +1 -0
- package/dist/parsers/reveal.d.ts +1 -1
- package/dist/parsers/reveal.d.ts.map +1 -1
- package/dist/parsers/reveal.js +3 -2
- package/dist/parsers/reveal.js.map +1 -1
- package/dist/parsers/reviews.d.ts +24 -2
- package/dist/parsers/reviews.d.ts.map +1 -1
- package/dist/parsers/reviews.js +110 -1
- package/dist/parsers/reviews.js.map +1 -1
- package/dist/parsers/search.d.ts +17 -2
- package/dist/parsers/search.d.ts.map +1 -1
- package/dist/parsers/search.js +125 -7
- package/dist/parsers/search.js.map +1 -1
- package/dist/parsers/shared.d.ts +4 -0
- package/dist/parsers/shared.d.ts.map +1 -1
- package/dist/parsers/shared.js +10 -2
- package/dist/parsers/shared.js.map +1 -1
- package/dist/parsers/suggest.d.ts.map +1 -1
- package/dist/parsers/suggest.js +45 -6
- package/dist/parsers/suggest.js.map +1 -1
- package/dist/parsers/tiles.d.ts +13 -0
- package/dist/parsers/tiles.d.ts.map +1 -1
- package/dist/parsers/tiles.js +64 -0
- package/dist/parsers/tiles.js.map +1 -1
- package/dist/parsers/traffic.d.ts +9 -1
- package/dist/parsers/traffic.d.ts.map +1 -1
- package/dist/parsers/traffic.js +129 -2
- package/dist/parsers/traffic.js.map +1 -1
- package/dist/parsers/transit.d.ts +4 -2
- package/dist/parsers/transit.d.ts.map +1 -1
- package/dist/parsers/transit.js +385 -3
- package/dist/parsers/transit.js.map +1 -1
- package/dist/parsers/viewport.d.ts +20 -0
- package/dist/parsers/viewport.d.ts.map +1 -0
- package/dist/parsers/viewport.js +139 -0
- package/dist/parsers/viewport.js.map +1 -0
- package/dist/platform/catalog.d.ts +18 -0
- package/dist/platform/catalog.d.ts.map +1 -0
- package/dist/platform/catalog.js +329 -0
- package/dist/platform/catalog.js.map +1 -0
- package/dist/platform/parity.d.ts +12 -0
- package/dist/platform/parity.d.ts.map +1 -0
- package/dist/platform/parity.js +25 -0
- package/dist/platform/parity.js.map +1 -0
- package/dist/rpc/batch-execute.js +3 -3
- package/dist/rpc/batch-execute.js.map +1 -1
- package/dist/rpc/batch-request-builders.d.ts +12 -14
- package/dist/rpc/batch-request-builders.d.ts.map +1 -1
- package/dist/rpc/batch-request-builders.js +49 -17
- package/dist/rpc/batch-request-builders.js.map +1 -1
- package/dist/rpc/batch-rpc.js +1 -1
- package/dist/rpc/batch-services.d.ts +2 -0
- package/dist/rpc/batch-services.d.ts.map +1 -1
- package/dist/rpc/batch-services.js +4 -0
- package/dist/rpc/batch-services.js.map +1 -1
- package/dist/rpc/{descriptor-registry.d.ts → descriptors.d.ts} +29 -4
- package/dist/rpc/descriptors.d.ts.map +1 -0
- package/dist/rpc/{app-options.js → descriptors.js} +89 -5
- package/dist/rpc/descriptors.js.map +1 -0
- package/dist/rpc/earth-rocktree.d.ts +174 -0
- package/dist/rpc/earth-rocktree.d.ts.map +1 -0
- package/dist/rpc/earth-rocktree.js +468 -0
- package/dist/rpc/earth-rocktree.js.map +1 -0
- package/dist/rpc/feature-pb.d.ts +86 -0
- package/dist/rpc/feature-pb.d.ts.map +1 -0
- package/dist/rpc/feature-pb.js +112 -0
- package/dist/rpc/feature-pb.js.map +1 -0
- package/dist/rpc/feature-rpc.d.ts +15 -0
- package/dist/rpc/feature-rpc.d.ts.map +1 -1
- package/dist/rpc/feature-rpc.js +44 -0
- package/dist/rpc/feature-rpc.js.map +1 -1
- package/dist/rpc/maps-runtime.js +1 -1
- package/dist/rpc/panorama-pb.d.ts +3 -0
- package/dist/rpc/panorama-pb.d.ts.map +1 -1
- package/dist/rpc/panorama-pb.js +35 -3
- package/dist/rpc/panorama-pb.js.map +1 -1
- package/dist/rpc/pb-builders.d.ts +21 -1
- package/dist/rpc/pb-builders.d.ts.map +1 -1
- package/dist/rpc/pb-builders.js +62 -4
- package/dist/rpc/pb-builders.js.map +1 -1
- package/dist/rpc/photos-pb.d.ts +28 -1
- package/dist/rpc/photos-pb.d.ts.map +1 -1
- package/dist/rpc/photos-pb.js +96 -0
- package/dist/rpc/photos-pb.js.map +1 -1
- package/dist/rpc/rpc-methods.d.ts +0 -2
- package/dist/rpc/rpc-methods.d.ts.map +1 -1
- package/dist/rpc/rpc-methods.js +0 -38
- package/dist/rpc/rpc-methods.js.map +1 -1
- package/dist/rpc/search-filters.d.ts +0 -12
- package/dist/rpc/search-filters.d.ts.map +1 -1
- package/dist/rpc/search-filters.js +1 -11
- package/dist/rpc/search-filters.js.map +1 -1
- package/dist/rpc/tile-builders.d.ts +136 -0
- package/dist/rpc/tile-builders.d.ts.map +1 -0
- package/dist/rpc/tile-builders.js +172 -0
- package/dist/rpc/tile-builders.js.map +1 -0
- package/dist/rpc/xsrf-bootstrap.d.ts +0 -2
- package/dist/rpc/xsrf-bootstrap.d.ts.map +1 -1
- package/dist/rpc/xsrf-bootstrap.js +2 -2
- package/dist/rpc/xsrf-bootstrap.js.map +1 -1
- package/dist/services/aerial-view.d.ts +22 -0
- package/dist/services/aerial-view.d.ts.map +1 -0
- package/dist/services/aerial-view.js +107 -0
- package/dist/services/aerial-view.js.map +1 -0
- package/dist/services/ask-maps.d.ts +45 -5
- package/dist/services/ask-maps.d.ts.map +1 -1
- package/dist/services/ask-maps.js +148 -21
- package/dist/services/ask-maps.js.map +1 -1
- package/dist/services/directions.d.ts +17 -1
- package/dist/services/directions.d.ts.map +1 -1
- package/dist/services/directions.js +32 -0
- package/dist/services/directions.js.map +1 -1
- package/dist/services/distance-matrix.d.ts +1 -1
- package/dist/services/distance-matrix.d.ts.map +1 -1
- package/dist/services/distance-matrix.js +1 -1
- package/dist/services/distance-matrix.js.map +1 -1
- package/dist/services/elevation.d.ts +7 -5
- package/dist/services/elevation.d.ts.map +1 -1
- package/dist/services/elevation.js +42 -6
- package/dist/services/elevation.js.map +1 -1
- package/dist/services/environment/air-quality.d.ts +39 -0
- package/dist/services/environment/air-quality.d.ts.map +1 -0
- package/dist/services/environment/air-quality.js +86 -0
- package/dist/services/environment/air-quality.js.map +1 -0
- package/dist/services/environment/weather.d.ts +39 -0
- package/dist/services/environment/weather.d.ts.map +1 -0
- package/dist/services/environment/weather.js +54 -0
- package/dist/services/environment/weather.js.map +1 -0
- package/dist/services/geocode.d.ts +21 -1
- package/dist/services/geocode.d.ts.map +1 -1
- package/dist/services/geocode.js +103 -0
- package/dist/services/geocode.js.map +1 -1
- package/dist/services/keyed.d.ts +80 -0
- package/dist/services/keyed.d.ts.map +1 -0
- package/dist/services/keyed.js +152 -0
- package/dist/services/keyed.js.map +1 -0
- package/dist/services/knowledge.d.ts +6 -2
- package/dist/services/knowledge.d.ts.map +1 -1
- package/dist/services/knowledge.js +30 -5
- package/dist/services/knowledge.js.map +1 -1
- package/dist/services/lists.d.ts +7 -1
- package/dist/services/lists.d.ts.map +1 -1
- package/dist/services/lists.js +45 -1
- package/dist/services/lists.js.map +1 -1
- package/dist/services/map-3d.d.ts +66 -0
- package/dist/services/map-3d.d.ts.map +1 -0
- package/dist/services/map-3d.js +658 -0
- package/dist/services/map-3d.js.map +1 -0
- package/dist/services/map-layers.d.ts +33 -0
- package/dist/services/map-layers.d.ts.map +1 -0
- package/dist/services/map-layers.js +207 -0
- package/dist/services/map-layers.js.map +1 -0
- package/dist/services/meta.d.ts +71 -0
- package/dist/services/meta.d.ts.map +1 -0
- package/dist/services/meta.js +132 -0
- package/dist/services/meta.js.map +1 -0
- package/dist/services/mobility.d.ts +79 -0
- package/dist/services/mobility.d.ts.map +1 -0
- package/dist/services/mobility.js +307 -0
- package/dist/services/mobility.js.map +1 -0
- package/dist/services/nearby-search.d.ts +32 -0
- package/dist/services/nearby-search.d.ts.map +1 -0
- package/dist/services/nearby-search.js +85 -0
- package/dist/services/nearby-search.js.map +1 -0
- package/dist/services/panorama.d.ts +19 -1
- package/dist/services/panorama.d.ts.map +1 -1
- package/dist/services/panorama.js +111 -3
- package/dist/services/panorama.js.map +1 -1
- package/dist/services/photos.d.ts.map +1 -1
- package/dist/services/photos.js +12 -6
- package/dist/services/photos.js.map +1 -1
- package/dist/services/place-attributes.d.ts +31 -0
- package/dist/services/place-attributes.d.ts.map +1 -0
- package/dist/services/place-attributes.js +48 -0
- package/dist/services/place-attributes.js.map +1 -0
- package/dist/services/places.d.ts +13 -0
- package/dist/services/places.d.ts.map +1 -1
- package/dist/services/places.js +7 -4
- package/dist/services/places.js.map +1 -1
- package/dist/services/reviews.d.ts +11 -1
- package/dist/services/reviews.d.ts.map +1 -1
- package/dist/services/reviews.js +36 -12
- package/dist/services/reviews.js.map +1 -1
- package/dist/services/search-along-route.d.ts +33 -0
- package/dist/services/search-along-route.d.ts.map +1 -0
- package/dist/services/search-along-route.js +200 -0
- package/dist/services/search-along-route.js.map +1 -0
- package/dist/services/search.d.ts +29 -2
- package/dist/services/search.d.ts.map +1 -1
- package/dist/services/search.js +169 -6
- package/dist/services/search.js.map +1 -1
- package/dist/services/static-map.js +1 -1
- package/dist/services/static-map.js.map +1 -1
- package/dist/services/tiles.d.ts +39 -2
- package/dist/services/tiles.d.ts.map +1 -1
- package/dist/services/tiles.js +172 -13
- package/dist/services/tiles.js.map +1 -1
- package/dist/services/traffic.d.ts +12 -1
- package/dist/services/traffic.d.ts.map +1 -1
- package/dist/services/traffic.js +25 -2
- package/dist/services/traffic.js.map +1 -1
- package/dist/services/transit.d.ts +20 -3
- package/dist/services/transit.d.ts.map +1 -1
- package/dist/services/transit.js +69 -1
- package/dist/services/transit.js.map +1 -1
- package/dist/services/viewport.d.ts +76 -0
- package/dist/services/viewport.d.ts.map +1 -0
- package/dist/services/viewport.js +180 -0
- package/dist/services/viewport.js.map +1 -0
- package/dist/services/waypoint-optimizer.d.ts +31 -0
- package/dist/services/waypoint-optimizer.d.ts.map +1 -0
- package/dist/services/waypoint-optimizer.js +235 -0
- package/dist/services/waypoint-optimizer.js.map +1 -0
- package/dist/types/aerial-view.d.ts +39 -0
- package/dist/types/aerial-view.d.ts.map +1 -0
- package/dist/types/aerial-view.js +2 -0
- package/dist/types/aerial-view.js.map +1 -0
- package/dist/types/batch-url.d.ts +31 -0
- package/dist/types/batch-url.d.ts.map +1 -1
- package/dist/types/categories.d.ts +20 -4
- package/dist/types/categories.d.ts.map +1 -1
- package/dist/types/common.d.ts +192 -24
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/common.js +1 -1
- package/dist/types/common.js.map +1 -1
- package/dist/types/directions.d.ts +217 -3
- package/dist/types/directions.d.ts.map +1 -1
- package/dist/types/dx.d.ts +69 -11
- package/dist/types/dx.d.ts.map +1 -1
- package/dist/types/geocode.d.ts +61 -3
- package/dist/types/geocode.d.ts.map +1 -1
- package/dist/types/grid-search.d.ts +66 -0
- package/dist/types/grid-search.d.ts.map +1 -0
- package/dist/types/grid-search.js +2 -0
- package/dist/types/grid-search.js.map +1 -0
- package/dist/types/hooks.d.ts +3 -3
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/links.d.ts +3 -6
- package/dist/types/links.d.ts.map +1 -1
- package/dist/types/lists.d.ts +68 -3
- package/dist/types/lists.d.ts.map +1 -1
- package/dist/types/map-3d.d.ts +126 -0
- package/dist/types/map-3d.d.ts.map +1 -0
- package/dist/types/map-3d.js +2 -0
- package/dist/types/map-3d.js.map +1 -0
- package/dist/types/map-earth.d.ts +34 -0
- package/dist/types/map-earth.d.ts.map +1 -0
- package/dist/types/map-earth.js +2 -0
- package/dist/types/map-earth.js.map +1 -0
- package/dist/types/map-layers.d.ts +63 -0
- package/dist/types/map-layers.d.ts.map +1 -0
- package/dist/types/map-layers.js +2 -0
- package/dist/types/map-layers.js.map +1 -0
- package/dist/types/mobility.d.ts +121 -0
- package/dist/types/mobility.d.ts.map +1 -0
- package/dist/types/mobility.js +3 -0
- package/dist/types/mobility.js.map +1 -0
- package/dist/types/panorama.d.ts +123 -0
- package/dist/types/panorama.d.ts.map +1 -1
- package/dist/types/photos.d.ts +12 -0
- package/dist/types/photos.d.ts.map +1 -1
- package/dist/types/photos.js +2 -1
- package/dist/types/photos.js.map +1 -1
- package/dist/types/place-attributes.d.ts +15 -0
- package/dist/types/place-attributes.d.ts.map +1 -0
- package/dist/types/place-attributes.js +2 -0
- package/dist/types/place-attributes.js.map +1 -0
- package/dist/types/place-extended.d.ts +406 -0
- package/dist/types/place-extended.d.ts.map +1 -0
- package/dist/types/place-extended.js +18 -0
- package/dist/types/place-extended.js.map +1 -0
- package/dist/types/protobuf.d.ts +1 -1
- package/dist/types/protobuf.js +1 -1
- package/dist/types/reviews.d.ts +28 -1
- package/dist/types/reviews.d.ts.map +1 -1
- package/dist/types/reviews.js.map +1 -1
- package/dist/types/route-optimization.d.ts +56 -0
- package/dist/types/route-optimization.d.ts.map +1 -0
- package/dist/types/route-optimization.js +2 -0
- package/dist/types/route-optimization.js.map +1 -0
- package/dist/types/search-along-route.d.ts +49 -0
- package/dist/types/search-along-route.d.ts.map +1 -0
- package/dist/types/search-along-route.js +2 -0
- package/dist/types/search-along-route.js.map +1 -0
- package/dist/types/search-filters.d.ts +1 -1
- package/dist/types/search-filters.js +1 -1
- package/dist/types/suggest.d.ts +23 -2
- package/dist/types/suggest.d.ts.map +1 -1
- package/dist/types/tiles.d.ts +40 -0
- package/dist/types/tiles.d.ts.map +1 -1
- package/dist/types/traffic.d.ts +58 -1
- package/dist/types/traffic.d.ts.map +1 -1
- package/dist/types/transit.d.ts +160 -1
- package/dist/types/transit.d.ts.map +1 -1
- package/dist/types/transit.js +0 -1
- package/dist/types/transit.js.map +1 -1
- package/dist/types/viewport.d.ts +159 -0
- package/dist/types/viewport.d.ts.map +1 -0
- package/dist/types/viewport.js +3 -0
- package/dist/types/viewport.js.map +1 -0
- package/dist/utils/async.d.ts +44 -0
- package/dist/utils/async.d.ts.map +1 -0
- package/dist/utils/async.js +132 -0
- package/dist/utils/async.js.map +1 -0
- package/dist/utils/encoded-polyline.d.ts +43 -0
- package/dist/utils/encoded-polyline.d.ts.map +1 -1
- package/dist/utils/encoded-polyline.js +71 -0
- package/dist/utils/encoded-polyline.js.map +1 -1
- package/dist/utils/env.d.ts +6 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/{load-env.js → env.js} +32 -7
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/geo.d.ts +12 -0
- package/dist/utils/geo.d.ts.map +1 -1
- package/dist/utils/geo.js +20 -0
- package/dist/utils/geo.js.map +1 -1
- package/dist/utils/hooks.d.ts +2 -3
- package/dist/utils/hooks.d.ts.map +1 -1
- package/dist/utils/hooks.js +1 -1
- package/dist/utils/hooks.js.map +1 -1
- package/dist/utils/ids.d.ts +1 -0
- package/dist/utils/ids.d.ts.map +1 -1
- package/dist/utils/ids.js +10 -0
- package/dist/utils/ids.js.map +1 -1
- package/dist/utils/net.d.ts +46 -0
- package/dist/utils/net.d.ts.map +1 -0
- package/dist/utils/net.js +150 -0
- package/dist/utils/net.js.map +1 -0
- package/dist/utils/payload.d.ts +22 -0
- package/dist/utils/payload.d.ts.map +1 -0
- package/dist/utils/{chunked-decoder.js → payload.js} +80 -2
- package/dist/utils/payload.js.map +1 -0
- package/dist/utils/place-ref.d.ts +40 -3
- package/dist/utils/place-ref.d.ts.map +1 -1
- package/dist/utils/place-ref.js +94 -2
- package/dist/utils/place-ref.js.map +1 -1
- package/package.json +8 -5
- package/dist/client/product-namespaces.d.ts +0 -30
- package/dist/client/product-namespaces.d.ts.map +0 -1
- package/dist/client/product-namespaces.js +0 -47
- package/dist/client/product-namespaces.js.map +0 -1
- package/dist/parsers/elevation-directions.d.ts +0 -18
- package/dist/parsers/elevation-directions.d.ts.map +0 -1
- package/dist/parsers/elevation-directions.js +0 -102
- package/dist/parsers/elevation-directions.js.map +0 -1
- package/dist/parsers/passiveassist.d.ts +0 -10
- package/dist/parsers/passiveassist.d.ts.map +0 -1
- package/dist/parsers/passiveassist.js +0 -61
- package/dist/parsers/passiveassist.js.map +0 -1
- package/dist/parsers/review-aggregates.d.ts +0 -7
- package/dist/parsers/review-aggregates.d.ts.map +0 -1
- package/dist/parsers/review-aggregates.js +0 -18
- package/dist/parsers/review-aggregates.js.map +0 -1
- package/dist/parsers/review-client-filters.d.ts +0 -8
- package/dist/parsers/review-client-filters.d.ts.map +0 -1
- package/dist/parsers/review-client-filters.js +0 -28
- package/dist/parsers/review-client-filters.js.map +0 -1
- package/dist/parsers/search-client-filters.d.ts +0 -7
- package/dist/parsers/search-client-filters.d.ts.map +0 -1
- package/dist/parsers/search-client-filters.js +0 -44
- package/dist/parsers/search-client-filters.js.map +0 -1
- package/dist/parsers/search-pagination.d.ts +0 -12
- package/dist/parsers/search-pagination.d.ts.map +0 -1
- package/dist/parsers/search-pagination.js +0 -34
- package/dist/parsers/search-pagination.js.map +0 -1
- package/dist/parsers/timezone-geocode.d.ts +0 -20
- package/dist/parsers/timezone-geocode.d.ts.map +0 -1
- package/dist/parsers/timezone-geocode.js +0 -96
- package/dist/parsers/timezone-geocode.js.map +0 -1
- package/dist/parsers/ugc-aggregates.d.ts +0 -9
- package/dist/parsers/ugc-aggregates.d.ts.map +0 -1
- package/dist/parsers/ugc-aggregates.js +0 -23
- package/dist/parsers/ugc-aggregates.js.map +0 -1
- package/dist/rpc/app-options.d.ts +0 -25
- package/dist/rpc/app-options.d.ts.map +0 -1
- package/dist/rpc/app-options.js.map +0 -1
- package/dist/rpc/batchexecute-args.d.ts +0 -30
- package/dist/rpc/batchexecute-args.d.ts.map +0 -1
- package/dist/rpc/batchexecute-args.js +0 -35
- package/dist/rpc/batchexecute-args.js.map +0 -1
- package/dist/rpc/boq-reviews.d.ts +0 -16
- package/dist/rpc/boq-reviews.d.ts.map +0 -1
- package/dist/rpc/boq-reviews.js +0 -45
- package/dist/rpc/boq-reviews.js.map +0 -1
- package/dist/rpc/descriptor-registry.d.ts.map +0 -1
- package/dist/rpc/descriptor-registry.js +0 -47
- package/dist/rpc/descriptor-registry.js.map +0 -1
- package/dist/rpc/lists-pb.d.ts +0 -20
- package/dist/rpc/lists-pb.d.ts.map +0 -1
- package/dist/rpc/lists-pb.js +0 -20
- package/dist/rpc/lists-pb.js.map +0 -1
- package/dist/rpc/nxa.d.ts +0 -13
- package/dist/rpc/nxa.d.ts.map +0 -1
- package/dist/rpc/nxa.js +0 -44
- package/dist/rpc/nxa.js.map +0 -1
- package/dist/rpc/passiveassist-pb.d.ts +0 -21
- package/dist/rpc/passiveassist-pb.d.ts.map +0 -1
- package/dist/rpc/passiveassist-pb.js +0 -24
- package/dist/rpc/passiveassist-pb.js.map +0 -1
- package/dist/rpc/photo-category-tokens.d.ts +0 -29
- package/dist/rpc/photo-category-tokens.d.ts.map +0 -1
- package/dist/rpc/photo-category-tokens.js +0 -97
- package/dist/rpc/photo-category-tokens.js.map +0 -1
- package/dist/rpc/reveal-pb.d.ts +0 -26
- package/dist/rpc/reveal-pb.d.ts.map +0 -1
- package/dist/rpc/reveal-pb.js +0 -32
- package/dist/rpc/reveal-pb.js.map +0 -1
- package/dist/rpc/suggest-pb.d.ts +0 -34
- package/dist/rpc/suggest-pb.d.ts.map +0 -1
- package/dist/rpc/suggest-pb.js +0 -42
- package/dist/rpc/suggest-pb.js.map +0 -1
- package/dist/rpc/tiles-pb.d.ts +0 -45
- package/dist/rpc/tiles-pb.d.ts.map +0 -1
- package/dist/rpc/tiles-pb.js +0 -71
- package/dist/rpc/tiles-pb.js.map +0 -1
- package/dist/services/batch-url.d.ts +0 -18
- package/dist/services/batch-url.d.ts.map +0 -1
- package/dist/services/batch-url.js +0 -30
- package/dist/services/batch-url.js.map +0 -1
- package/dist/services/categories.d.ts +0 -21
- package/dist/services/categories.d.ts.map +0 -1
- package/dist/services/categories.js +0 -43
- package/dist/services/categories.js.map +0 -1
- package/dist/services/passiveassist.d.ts +0 -21
- package/dist/services/passiveassist.d.ts.map +0 -1
- package/dist/services/passiveassist.js +0 -70
- package/dist/services/passiveassist.js.map +0 -1
- package/dist/services/reveal.d.ts +0 -15
- package/dist/services/reveal.d.ts.map +0 -1
- package/dist/services/reveal.js +0 -41
- package/dist/services/reveal.js.map +0 -1
- package/dist/services/suggest.d.ts +0 -12
- package/dist/services/suggest.d.ts.map +0 -1
- package/dist/services/suggest.js +0 -36
- package/dist/services/suggest.js.map +0 -1
- package/dist/services/timezone.d.ts +0 -19
- package/dist/services/timezone.d.ts.map +0 -1
- package/dist/services/timezone.js +0 -91
- package/dist/services/timezone.js.map +0 -1
- package/dist/services/ugc-aggregates.d.ts +0 -17
- package/dist/services/ugc-aggregates.d.ts.map +0 -1
- package/dist/services/ugc-aggregates.js +0 -30
- package/dist/services/ugc-aggregates.js.map +0 -1
- package/dist/types/distance-matrix.d.ts +0 -40
- package/dist/types/distance-matrix.d.ts.map +0 -1
- package/dist/types/distance-matrix.js +0 -2
- package/dist/types/distance-matrix.js.map +0 -1
- package/dist/types/elevation.d.ts +0 -59
- package/dist/types/elevation.d.ts.map +0 -1
- package/dist/types/elevation.js +0 -2
- package/dist/types/elevation.js.map +0 -1
- package/dist/types/passiveassist.d.ts +0 -50
- package/dist/types/passiveassist.d.ts.map +0 -1
- package/dist/types/passiveassist.js +0 -2
- package/dist/types/passiveassist.js.map +0 -1
- package/dist/types/reveal.d.ts +0 -46
- package/dist/types/reveal.d.ts.map +0 -1
- package/dist/types/reveal.js +0 -2
- package/dist/types/reveal.js.map +0 -1
- package/dist/types/timezone.d.ts +0 -36
- package/dist/types/timezone.d.ts.map +0 -1
- package/dist/types/timezone.js +0 -2
- package/dist/types/timezone.js.map +0 -1
- package/dist/types/ugc-aggregates.d.ts +0 -14
- package/dist/types/ugc-aggregates.d.ts.map +0 -1
- package/dist/types/ugc-aggregates.js +0 -2
- package/dist/types/ugc-aggregates.js.map +0 -1
- package/dist/utils/abort.d.ts +0 -7
- package/dist/utils/abort.d.ts.map +0 -1
- package/dist/utils/abort.js +0 -43
- package/dist/utils/abort.js.map +0 -1
- package/dist/utils/chunked-decoder.d.ts +0 -9
- package/dist/utils/chunked-decoder.d.ts.map +0 -1
- package/dist/utils/chunked-decoder.js.map +0 -1
- package/dist/utils/coords.d.ts +0 -24
- package/dist/utils/coords.d.ts.map +0 -1
- package/dist/utils/coords.js +0 -37
- package/dist/utils/coords.js.map +0 -1
- package/dist/utils/feature-id.d.ts +0 -2
- package/dist/utils/feature-id.d.ts.map +0 -1
- package/dist/utils/feature-id.js +0 -11
- package/dist/utils/feature-id.js.map +0 -1
- package/dist/utils/load-env.d.ts +0 -7
- package/dist/utils/load-env.d.ts.map +0 -1
- package/dist/utils/load-env.js.map +0 -1
- package/dist/utils/pooled.d.ts +0 -8
- package/dist/utils/pooled.d.ts.map +0 -1
- package/dist/utils/pooled.js +0 -27
- package/dist/utils/pooled.js.map +0 -1
- package/dist/utils/request-context.d.ts +0 -9
- package/dist/utils/request-context.d.ts.map +0 -1
- package/dist/utils/request-context.js +0 -12
- package/dist/utils/request-context.js.map +0 -1
- package/dist/utils/request-scheduler.d.ts +0 -28
- package/dist/utils/request-scheduler.d.ts.map +0 -1
- package/dist/utils/request-scheduler.js +0 -58
- package/dist/utils/request-scheduler.js.map +0 -1
- package/dist/utils/response-parser.d.ts +0 -7
- package/dist/utils/response-parser.d.ts.map +0 -1
- package/dist/utils/response-parser.js +0 -50
- package/dist/utils/response-parser.js.map +0 -1
- package/dist/utils/retry-backoff.d.ts +0 -5
- package/dist/utils/retry-backoff.d.ts.map +0 -1
- package/dist/utils/retry-backoff.js +0 -23
- package/dist/utils/retry-backoff.js.map +0 -1
- package/dist/utils/safe-get.d.ts +0 -6
- package/dist/utils/safe-get.d.ts.map +0 -1
- package/dist/utils/safe-get.js +0 -29
- package/dist/utils/safe-get.js.map +0 -1
- package/dist/utils/throttle-detection.d.ts +0 -17
- package/dist/utils/throttle-detection.d.ts.map +0 -1
- package/dist/utils/throttle-detection.js +0 -71
- package/dist/utils/throttle-detection.js.map +0 -1
- package/dist/utils/ttl-cache.d.ts +0 -17
- package/dist/utils/ttl-cache.d.ts.map +0 -1
- package/dist/utils/ttl-cache.js +0 -43
- package/dist/utils/ttl-cache.js.map +0 -1
- /package/{assets → .github/assets}/banner.png +0 -0
package/dist/cli.js
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* googlemaps-kit CLI + TUI
|
|
4
|
-
*
|
|
5
|
-
* Interactive (Bubble Tea):
|
|
6
|
-
* npx googlemaps-kit
|
|
7
|
-
* npx googlemaps-kit tui
|
|
8
|
-
*
|
|
9
|
-
* Scripted:
|
|
10
|
-
* npx googlemaps-kit discover "cafes" --near 12.98,77.64
|
|
11
|
-
* npx googlemaps-kit resolve --query "Cubbon Park Bangalore"
|
|
12
|
-
* …
|
|
3
|
+
* googlemaps-kit CLI + TUI. Run with --help for the command reference.
|
|
13
4
|
*/
|
|
14
5
|
import { sdk } from './client/gmaps-client.js';
|
|
15
|
-
import { flag, has, positional, resolveFormat } from './cli/args.js';
|
|
16
|
-
import { emit, runCapabilities, runDiscover, runMedia, runOpinions, runPipeline, runProfile, runResolve, runRoute, } from './cli/run.js';
|
|
6
|
+
import { flag, has, numberFlag, positional, resolveFormat } from './cli/args.js';
|
|
7
|
+
import { emit, parseBounds, runCapabilities, runDiscover, runGeocode, runGrid, runMedia, runOpinions, runPipeline, runProfile, runResolve, runRoute, runStreetView, runSurfaces, runTerrain, } from './cli/run.js';
|
|
17
8
|
import { runTui } from './cli/tui/app.js';
|
|
9
|
+
import { getPackageVersion } from './utils/env.js';
|
|
18
10
|
function usage(exit = 1) {
|
|
19
11
|
console.error(`googlemaps-kit — Intent CLI + TUI
|
|
20
12
|
|
|
@@ -23,35 +15,57 @@ Interactive:
|
|
|
23
15
|
googlemaps-kit tui launch TUI
|
|
24
16
|
|
|
25
17
|
Commands:
|
|
26
|
-
googlemaps-kit discover <query> --near <lat,lng> [
|
|
27
|
-
googlemaps-kit
|
|
28
|
-
googlemaps-kit
|
|
29
|
-
googlemaps-kit
|
|
30
|
-
googlemaps-kit
|
|
31
|
-
googlemaps-kit
|
|
32
|
-
googlemaps-kit
|
|
18
|
+
googlemaps-kit discover <query> --near <lat,lng|place> [--mode fast|full] [--limit N]
|
|
19
|
+
googlemaps-kit grid <query> (--bounds <N,S,E,W> | --near <lat,lng|place> [--span km]) [options]
|
|
20
|
+
googlemaps-kit resolve (--query <text> | --url <maps-url>) [--near <lat,lng|place>]
|
|
21
|
+
googlemaps-kit profile (<hexId> | --query <text> --near <lat,lng|place>) [--name <text>] [--depth card|full|complete]
|
|
22
|
+
googlemaps-kit route --from <address|lat,lng> --to <address|lat,lng> [--mode driving|walking|bicycling|transit]
|
|
23
|
+
googlemaps-kit opinions (<hexId> | --query <text> --near <lat,lng|place>) [--pages N] [--limit N] [--aggregates]
|
|
24
|
+
googlemaps-kit media (<hexId> | --query <text> [--near <lat,lng|place>]) [--limit N]
|
|
25
|
+
googlemaps-kit geocode <address> | geocode --reverse <lat,lng>
|
|
26
|
+
googlemaps-kit streetview (--at <lat,lng|place> | "<place name>") [--radius-meters M]
|
|
27
|
+
googlemaps-kit terrain|map3d --bounds <N,S,E,W> [--planet earth|mars|moon] [--resolution low|medium|high] [--detail low|medium|high|max] [--out file.obj]
|
|
28
|
+
googlemaps-kit surfaces [--status working|auth-required|blocked|…]
|
|
29
|
+
googlemaps-kit pipeline <query> --near <lat,lng|place> [--max N] [--profile card|full|complete|false] [--opinions]
|
|
33
30
|
googlemaps-kit capabilities
|
|
31
|
+
googlemaps-kit version print the installed version
|
|
32
|
+
|
|
33
|
+
grid options:
|
|
34
|
+
--cell-zoom 10..18 grid density: 14 districts · 15 ~2km cells · 17 blocks (default 15)
|
|
35
|
+
--max-results N stop once N unique results are collected
|
|
36
|
+
--max-cells N safety cap on cells searched
|
|
37
|
+
--pages-per-cell N paginate within each cell (default 1)
|
|
34
38
|
|
|
35
39
|
Global:
|
|
36
40
|
--format table|pretty|json|csv|geojson (default: table/pretty on TTY, json when piped)
|
|
37
41
|
--json shorthand for --format json
|
|
42
|
+
--no-anim disable TUI animations (auto-off with NO_COLOR / TERM=dumb)
|
|
38
43
|
--hl <lang> --gl <region> locale (or GMAPS_HL / GMAPS_GL)
|
|
44
|
+
-h, --help show this help
|
|
45
|
+
-v, --version print the installed version
|
|
46
|
+
|
|
47
|
+
--near accepts coordinates (12.98,77.64) or a place/address (Indiranagar, Bengaluru).
|
|
48
|
+
Place names geocode to a pin; grid --span is still a square around that pin.
|
|
39
49
|
|
|
50
|
+
Piping sends JSON by default — safe to feed straight into jq or an agent.
|
|
40
51
|
TUI built with Bubble Tea (charmbracelet) via @oakoliver/bubbletea.
|
|
41
52
|
`);
|
|
42
53
|
process.exit(exit);
|
|
43
54
|
}
|
|
44
55
|
async function main() {
|
|
45
56
|
const argv = process.argv.slice(2);
|
|
57
|
+
if (has(argv, '-v') || has(argv, '--version') || argv[0] === 'version') {
|
|
58
|
+
console.log(getPackageVersion());
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
46
61
|
if (has(argv, '-h') || has(argv, '--help'))
|
|
47
62
|
usage(0);
|
|
48
|
-
// Bare invocation or explicit tui → interactive
|
|
49
63
|
if (argv.length === 0 || argv[0] === 'tui' || argv[0] === 'ui') {
|
|
50
64
|
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
51
65
|
console.error('TUI requires an interactive terminal. Use a subcommand or --help.');
|
|
52
66
|
process.exit(1);
|
|
53
67
|
}
|
|
54
|
-
await runTui();
|
|
68
|
+
await runTui(undefined, { anim: !has(argv, '--no-anim') });
|
|
55
69
|
return;
|
|
56
70
|
}
|
|
57
71
|
const cmd = argv[0];
|
|
@@ -70,7 +84,7 @@ async function main() {
|
|
|
70
84
|
usage();
|
|
71
85
|
const near = flag(rest, '--near');
|
|
72
86
|
if (!near) {
|
|
73
|
-
console.error('discover requires --near lat,lng');
|
|
87
|
+
console.error('discover requires --near <lat,lng|place>');
|
|
74
88
|
usage();
|
|
75
89
|
}
|
|
76
90
|
const format = resolveFormat(rest, 'rows', tty);
|
|
@@ -78,10 +92,10 @@ async function main() {
|
|
|
78
92
|
query,
|
|
79
93
|
near,
|
|
80
94
|
mode: flag(rest, '--mode') ?? 'fast',
|
|
81
|
-
limit:
|
|
95
|
+
limit: numberFlag(rest, '--limit'),
|
|
82
96
|
format,
|
|
83
97
|
});
|
|
84
|
-
emit(text
|
|
98
|
+
emit(text);
|
|
85
99
|
return;
|
|
86
100
|
}
|
|
87
101
|
if (cmd === 'resolve') {
|
|
@@ -96,7 +110,7 @@ async function main() {
|
|
|
96
110
|
near: flag(rest, '--near'),
|
|
97
111
|
format,
|
|
98
112
|
});
|
|
99
|
-
emit(text
|
|
113
|
+
emit(text);
|
|
100
114
|
return;
|
|
101
115
|
}
|
|
102
116
|
if (cmd === 'profile') {
|
|
@@ -113,7 +127,7 @@ async function main() {
|
|
|
113
127
|
depth,
|
|
114
128
|
format,
|
|
115
129
|
});
|
|
116
|
-
emit(text
|
|
130
|
+
emit(text);
|
|
117
131
|
return;
|
|
118
132
|
}
|
|
119
133
|
if (cmd === 'route') {
|
|
@@ -128,7 +142,7 @@ async function main() {
|
|
|
128
142
|
mode: flag(rest, '--mode'),
|
|
129
143
|
format,
|
|
130
144
|
});
|
|
131
|
-
emit(text
|
|
145
|
+
emit(text);
|
|
132
146
|
return;
|
|
133
147
|
}
|
|
134
148
|
if (cmd === 'opinions') {
|
|
@@ -139,12 +153,12 @@ async function main() {
|
|
|
139
153
|
hexId: query ? undefined : hexId,
|
|
140
154
|
query,
|
|
141
155
|
near: flag(rest, '--near'),
|
|
142
|
-
pages:
|
|
143
|
-
limit:
|
|
156
|
+
pages: numberFlag(rest, '--pages') ?? 1,
|
|
157
|
+
limit: numberFlag(rest, '--limit') ?? 5,
|
|
144
158
|
aggregates: has(rest, '--aggregates'),
|
|
145
159
|
format,
|
|
146
160
|
});
|
|
147
|
-
emit(text
|
|
161
|
+
emit(text);
|
|
148
162
|
return;
|
|
149
163
|
}
|
|
150
164
|
if (cmd === 'media') {
|
|
@@ -155,10 +169,10 @@ async function main() {
|
|
|
155
169
|
hexId: query ? undefined : hexId,
|
|
156
170
|
query,
|
|
157
171
|
near: flag(rest, '--near'),
|
|
158
|
-
limit:
|
|
172
|
+
limit: numberFlag(rest, '--limit') ?? 8,
|
|
159
173
|
format,
|
|
160
174
|
});
|
|
161
|
-
emit(text
|
|
175
|
+
emit(text);
|
|
162
176
|
return;
|
|
163
177
|
}
|
|
164
178
|
if (cmd === 'pipeline') {
|
|
@@ -167,7 +181,7 @@ async function main() {
|
|
|
167
181
|
usage();
|
|
168
182
|
const near = flag(rest, '--near');
|
|
169
183
|
if (!near) {
|
|
170
|
-
console.error('pipeline requires --near lat,lng');
|
|
184
|
+
console.error('pipeline requires --near <lat,lng|place>');
|
|
171
185
|
usage();
|
|
172
186
|
}
|
|
173
187
|
const profileFlag = flag(rest, '--profile') ?? 'card';
|
|
@@ -175,18 +189,90 @@ async function main() {
|
|
|
175
189
|
const text = await runPipeline(maps, {
|
|
176
190
|
query,
|
|
177
191
|
near,
|
|
178
|
-
max:
|
|
192
|
+
max: numberFlag(rest, '--max') ?? 3,
|
|
179
193
|
profile: profileFlag === 'false' ? false : profileFlag,
|
|
180
194
|
opinions: has(rest, '--opinions'),
|
|
181
195
|
format,
|
|
182
196
|
});
|
|
183
|
-
emit(text
|
|
197
|
+
emit(text);
|
|
184
198
|
return;
|
|
185
199
|
}
|
|
186
200
|
if (cmd === 'capabilities') {
|
|
187
201
|
const format = resolveFormat(rest, 'card', tty);
|
|
188
202
|
const text = await runCapabilities(maps, { format });
|
|
189
|
-
emit(text
|
|
203
|
+
emit(text);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
if (cmd === 'grid') {
|
|
207
|
+
const query = positional(rest);
|
|
208
|
+
if (!query)
|
|
209
|
+
usage();
|
|
210
|
+
const near = flag(rest, '--near');
|
|
211
|
+
const boundsRaw = flag(rest, '--bounds');
|
|
212
|
+
if (!near && !boundsRaw) {
|
|
213
|
+
console.error('grid requires --bounds "N,S,E,W" or --near <lat,lng|place>');
|
|
214
|
+
usage();
|
|
215
|
+
}
|
|
216
|
+
const format = resolveFormat(rest, 'rows', tty);
|
|
217
|
+
const text = await runGrid(maps, {
|
|
218
|
+
query,
|
|
219
|
+
near: near ?? undefined,
|
|
220
|
+
spanKm: numberFlag(rest, '--span'),
|
|
221
|
+
bounds: parseBounds(boundsRaw),
|
|
222
|
+
cellZoom: numberFlag(rest, '--cell-zoom'),
|
|
223
|
+
maxResults: numberFlag(rest, '--max-results'),
|
|
224
|
+
maxCells: numberFlag(rest, '--max-cells'),
|
|
225
|
+
pagesPerCell: numberFlag(rest, '--pages-per-cell'),
|
|
226
|
+
format,
|
|
227
|
+
});
|
|
228
|
+
emit(text);
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
if (cmd === 'geocode') {
|
|
232
|
+
const query = positional(rest);
|
|
233
|
+
const reverse = flag(rest, '--reverse');
|
|
234
|
+
if (!query && !reverse)
|
|
235
|
+
usage();
|
|
236
|
+
const format = resolveFormat(rest, 'card', tty);
|
|
237
|
+
const text = await runGeocode(maps, { query, reverse, format });
|
|
238
|
+
emit(text);
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
if (cmd === 'streetview') {
|
|
242
|
+
const at = flag(rest, '--at');
|
|
243
|
+
const place = positional(rest);
|
|
244
|
+
if (!at && !place)
|
|
245
|
+
usage();
|
|
246
|
+
const format = resolveFormat(rest, 'card', tty);
|
|
247
|
+
const text = await runStreetView(maps, {
|
|
248
|
+
at: at ?? undefined,
|
|
249
|
+
query: at ? undefined : place,
|
|
250
|
+
radiusMeters: numberFlag(rest, '--radius-meters'),
|
|
251
|
+
format,
|
|
252
|
+
});
|
|
253
|
+
emit(text);
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
if (cmd === 'terrain' || cmd === 'map3d') {
|
|
257
|
+
const boundsRaw = flag(rest, '--bounds');
|
|
258
|
+
if (!boundsRaw)
|
|
259
|
+
usage();
|
|
260
|
+
const format = resolveFormat(rest, 'card', tty);
|
|
261
|
+
const text = await runTerrain(maps, {
|
|
262
|
+
bounds: parseBounds(boundsRaw),
|
|
263
|
+
planet: flag(rest, '--planet'),
|
|
264
|
+
resolution: flag(rest, '--resolution'),
|
|
265
|
+
detail: flag(rest, '--detail'),
|
|
266
|
+
out: flag(rest, '--out'),
|
|
267
|
+
format,
|
|
268
|
+
});
|
|
269
|
+
emit(text);
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
if (cmd === 'surfaces') {
|
|
273
|
+
const format = resolveFormat(rest, 'rows', tty);
|
|
274
|
+
const text = await runSurfaces(maps, { status: flag(rest, '--status'), format });
|
|
275
|
+
emit(text);
|
|
190
276
|
return;
|
|
191
277
|
}
|
|
192
278
|
usage();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,15 @@
|
|
|
1
1
|
import { GMapsRpcClient } from '../rpc/rpc-client.js';
|
|
2
|
-
import { AgentNamespace, LocationNamespace, MapNamespace, MetaNamespace, PlacesNamespace, TravelNamespace } from './namespaces.js';
|
|
3
|
-
import {
|
|
4
|
-
import type {
|
|
5
|
-
import type { ClientCapabilities, DiscoverOptions, DiscoverPagesOptions, DiscoverResult, MediaManyOptions, MediaOptions, MediaResult, OpinionsOptions, OpinionsPagesOptions, OpinionsResult, PipelineOptions, PipelineResult, PlaceProfile, PlaceRef, ProfileManyOptions, ProfileOptions, ResolveOptions, ResolvedPlace, RouteOptions, RouteResult } from '../types/dx.js';
|
|
2
|
+
import { AgentNamespace, AuthNamespace, EnvironmentNamespace, LocationNamespace, MapNamespace, MetaNamespace, PlacesNamespace, SurfacesNamespace, TravelNamespace } from './namespaces.js';
|
|
3
|
+
import type { GMapsConfig } from '../types/common.js';
|
|
4
|
+
import type { ClientCapabilities, DiscoverOptions, DiscoverPagesOptions, DiscoverResult, MediaManyOptions, MediaOptions, MediaResult, OpinionsOptions, OpinionsPagesOptions, OpinionsResult, PipelineOptions, GridOptions, GridResult, PipelineResult, PlaceProfile, PlaceRef, ProfileManyOptions, ProfileOptions, ResolveOptions, ResolvedPlace, RouteOptions, RouteResult } from '../types/dx.js';
|
|
6
5
|
import { type CreateMapsToolsOptions, type MapsTools } from './maps-tools.js';
|
|
7
|
-
export interface EnrichSearchOptions extends SearchOptions {
|
|
8
|
-
/**
|
|
9
|
-
* Prefer search-row fields only (Places Text Search Enterprise parity in 1 RPC).
|
|
10
|
-
* When true, skips place-preview round-trips unless includeReviews is also set.
|
|
11
|
-
*/
|
|
12
|
-
fromSearchOnly?: boolean;
|
|
13
|
-
/** Fetch full place details for each result (gallery-scale photos, stub-retry). */
|
|
14
|
-
includeDetails?: boolean;
|
|
15
|
-
/** Fetch reviews for each result */
|
|
16
|
-
includeReviews?: boolean;
|
|
17
|
-
/** Max Boq review pages per place when includeReviews is true */
|
|
18
|
-
maxReviewPages?: number;
|
|
19
|
-
/** Max parallel enrichment requests (default 10) */
|
|
20
|
-
concurrency?: number;
|
|
21
|
-
}
|
|
22
6
|
/**
|
|
23
7
|
* Main Google Maps SDK client.
|
|
24
8
|
*
|
|
25
9
|
* Create with `sdk()` or `GMaps.create()`.
|
|
26
10
|
*
|
|
27
|
-
* **Intent:** `discover`, `resolve`, `profile`, `route`, `opinions`, `media`
|
|
28
|
-
* **Namespaces:** `places`, `location`, `travel`, `map`, `meta`, `agent`, `auth`, `surfaces`
|
|
11
|
+
* **Intent (app flows):** `discover`, `resolve`, `profile`, `route`, `opinions`, `media`, `grid`
|
|
12
|
+
* **Namespaces (full control):** `places`, `location`, `travel`, `map`, `environment`, `meta`, `agent`, `auth`, `surfaces`
|
|
29
13
|
*/
|
|
30
14
|
export declare class GMapsClient {
|
|
31
15
|
/** POI discovery & details namespace. */
|
|
@@ -36,13 +20,15 @@ export declare class GMapsClient {
|
|
|
36
20
|
readonly travel: TravelNamespace;
|
|
37
21
|
/** Tiles, static map, Street View. */
|
|
38
22
|
readonly map: MapNamespace;
|
|
23
|
+
/** Air quality, weather, solar, pollen. */
|
|
24
|
+
readonly environment: EnvironmentNamespace;
|
|
39
25
|
/** Categories, lists, links, aggregates. */
|
|
40
26
|
readonly meta: MetaNamespace;
|
|
41
27
|
/** Signed-in Ask Maps. */
|
|
42
28
|
readonly agent: AgentNamespace;
|
|
43
29
|
/** Session status (cookie presence / live probe — no secrets). */
|
|
44
30
|
readonly auth: AuthNamespace;
|
|
45
|
-
/** Catalog of Maps surfaces this kit supports. */
|
|
31
|
+
/** Catalog of Maps surfaces and platform products this kit supports. */
|
|
46
32
|
readonly surfaces: SurfacesNamespace;
|
|
47
33
|
private http;
|
|
48
34
|
private config;
|
|
@@ -88,6 +74,12 @@ export declare class GMapsClient {
|
|
|
88
74
|
mediaMany(refs: PlaceRef[], options?: MediaManyOptions): Promise<MediaResult[]>;
|
|
89
75
|
/** Discover → profile → optional opinions pipeline. */
|
|
90
76
|
pipeline(options: PipelineOptions): Promise<PipelineResult>;
|
|
77
|
+
/**
|
|
78
|
+
* Area-coverage search: split a bounding box into zoom cells and merge the
|
|
79
|
+
* per-cell results, deduped. Beats single-query pagination caps in dense
|
|
80
|
+
* cities — pass `bounds`, or `near` + `spanKm` (default 3 km square).
|
|
81
|
+
*/
|
|
82
|
+
grid(options: GridOptions): Promise<GridResult>;
|
|
91
83
|
/** Ready-made Intent tools for agents. */
|
|
92
84
|
tools(options?: CreateMapsToolsOptions): MapsTools;
|
|
93
85
|
/** Clear Intent TTL cache (no-op when cache disabled). */
|
|
@@ -98,19 +90,10 @@ export declare class GMapsClient {
|
|
|
98
90
|
rpc(): Promise<GMapsRpcClient>;
|
|
99
91
|
features(): Promise<import('../rpc/feature-rpc.js').FeatureRpcService>;
|
|
100
92
|
runtime(): Promise<import('../rpc/maps-runtime.js').MapsRuntime>;
|
|
101
|
-
getPlaceFull(options: GetPlaceFullOptions): Promise<PlaceFullResult>;
|
|
102
|
-
/**
|
|
103
|
-
* Fetch maximum available place data: rich preview, paginated Boq reviews,
|
|
104
|
-
* local posts, and knowledge entity (when available).
|
|
105
|
-
*/
|
|
106
|
-
getPlaceComplete(options: GetPlaceCompleteOptions): Promise<PlaceCompleteResult>;
|
|
107
|
-
getDirections(options: DirectionsOptions): Promise<DirectionsResult>;
|
|
108
93
|
/** Wait until the client is ready for requests. */
|
|
109
94
|
ready(): Promise<void>;
|
|
110
95
|
/** Request/session counters for harness scripts (no secrets). */
|
|
111
96
|
getHttpStats(): import("./http-client.js").HttpClientStats;
|
|
112
|
-
searchEnriched(options: EnrichSearchOptions): Promise<EnrichedSearchResult[]>;
|
|
113
|
-
private enrichSingle;
|
|
114
97
|
}
|
|
115
98
|
/**
|
|
116
99
|
* Create a Maps SDK client.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmaps-client.d.ts","sourceRoot":"","sources":["../../src/client/gmaps-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"gmaps-client.d.ts","sourceRoot":"","sources":["../../src/client/gmaps-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { HttpClient } from './http-client.js';
|
|
2
|
-
import { loadProjectEnv } from '../utils/
|
|
2
|
+
import { loadProjectEnv } from '../utils/env.js';
|
|
3
3
|
import { IntentApi } from './intent.js';
|
|
4
|
-
import { AgentNamespace, createServiceBundle, LocationNamespace, MapNamespace, MetaNamespace, PlacesNamespace, TravelNamespace, } from './namespaces.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { TtlCache } from '../utils/ttl-cache.js';
|
|
4
|
+
import { AgentNamespace, AuthNamespace, createServiceBundle, EnvironmentNamespace, LocationNamespace, MapNamespace, MetaNamespace, PlacesNamespace, SurfacesNamespace, TravelNamespace, } from './namespaces.js';
|
|
5
|
+
import { GMapsAuthError, GMapsError } from '../types/common.js';
|
|
6
|
+
import { TtlCache } from '../utils/async.js';
|
|
7
|
+
import { boundsAround } from '../utils/geo.js';
|
|
9
8
|
import { createMapsTools } from './maps-tools.js';
|
|
10
9
|
loadProjectEnv();
|
|
11
10
|
function normalizeConfig(config = {}) {
|
|
@@ -51,8 +50,8 @@ function jarHasSapisid(jar) {
|
|
|
51
50
|
*
|
|
52
51
|
* Create with `sdk()` or `GMaps.create()`.
|
|
53
52
|
*
|
|
54
|
-
* **Intent:** `discover`, `resolve`, `profile`, `route`, `opinions`, `media`
|
|
55
|
-
* **Namespaces:** `places`, `location`, `travel`, `map`, `meta`, `agent`, `auth`, `surfaces`
|
|
53
|
+
* **Intent (app flows):** `discover`, `resolve`, `profile`, `route`, `opinions`, `media`, `grid`
|
|
54
|
+
* **Namespaces (full control):** `places`, `location`, `travel`, `map`, `environment`, `meta`, `agent`, `auth`, `surfaces`
|
|
56
55
|
*/
|
|
57
56
|
export class GMapsClient {
|
|
58
57
|
/** POI discovery & details namespace. */
|
|
@@ -63,13 +62,15 @@ export class GMapsClient {
|
|
|
63
62
|
travel;
|
|
64
63
|
/** Tiles, static map, Street View. */
|
|
65
64
|
map;
|
|
65
|
+
/** Air quality, weather, solar, pollen. */
|
|
66
|
+
environment;
|
|
66
67
|
/** Categories, lists, links, aggregates. */
|
|
67
68
|
meta;
|
|
68
69
|
/** Signed-in Ask Maps. */
|
|
69
70
|
agent;
|
|
70
71
|
/** Session status (cookie presence / live probe — no secrets). */
|
|
71
72
|
auth;
|
|
72
|
-
/** Catalog of Maps surfaces this kit supports. */
|
|
73
|
+
/** Catalog of Maps surfaces and platform products this kit supports. */
|
|
73
74
|
surfaces;
|
|
74
75
|
http;
|
|
75
76
|
config;
|
|
@@ -88,15 +89,16 @@ export class GMapsClient {
|
|
|
88
89
|
}
|
|
89
90
|
this.services = createServiceBundle(this.http, this.config);
|
|
90
91
|
const signedIn = () => this.isSignedIn();
|
|
91
|
-
this.places = new PlacesNamespace(this.services);
|
|
92
|
+
this.places = new PlacesNamespace(this.services, this.config);
|
|
92
93
|
this.location = new LocationNamespace(this.services);
|
|
93
94
|
this.travel = new TravelNamespace(this.services);
|
|
94
95
|
this.map = new MapNamespace(this.services);
|
|
96
|
+
this.environment = new EnvironmentNamespace(this.services);
|
|
95
97
|
this.meta = new MetaNamespace(this.services);
|
|
96
98
|
this.agent = new AgentNamespace(this.services, signedIn);
|
|
97
99
|
this.auth = new AuthNamespace(this.http, this.config);
|
|
98
100
|
this.surfaces = new SurfacesNamespace();
|
|
99
|
-
this.intent = new IntentApi(this.services, this.config, signedIn,
|
|
101
|
+
this.intent = new IntentApi(this.services, this.config, signedIn, this.intentCache);
|
|
100
102
|
}
|
|
101
103
|
// ——— Intent API ———
|
|
102
104
|
/**
|
|
@@ -158,6 +160,44 @@ export class GMapsClient {
|
|
|
158
160
|
pipeline(options) {
|
|
159
161
|
return this.intent.pipeline(options);
|
|
160
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Area-coverage search: split a bounding box into zoom cells and merge the
|
|
165
|
+
* per-cell results, deduped. Beats single-query pagination caps in dense
|
|
166
|
+
* cities — pass `bounds`, or `near` + `spanKm` (default 3 km square).
|
|
167
|
+
*/
|
|
168
|
+
async grid(options) {
|
|
169
|
+
const start = performance.now();
|
|
170
|
+
let bounds = options.bounds;
|
|
171
|
+
if (!bounds && options.near) {
|
|
172
|
+
const pin = await this.location.geocode.resolveBias(options.near);
|
|
173
|
+
bounds = boundsAround(pin.lat, pin.lng, options.spanKm ?? 3);
|
|
174
|
+
}
|
|
175
|
+
if (!bounds) {
|
|
176
|
+
throw new GMapsError('grid() requires bounds or near (+ optional spanKm)');
|
|
177
|
+
}
|
|
178
|
+
const { onProgress } = options;
|
|
179
|
+
const result = await this.services.search.grid({
|
|
180
|
+
...options,
|
|
181
|
+
bounds,
|
|
182
|
+
onProgress: onProgress
|
|
183
|
+
? (p) => onProgress({
|
|
184
|
+
type: 'grid',
|
|
185
|
+
index: p.cell,
|
|
186
|
+
total: p.totalCells,
|
|
187
|
+
loaded: p.uniqueResults,
|
|
188
|
+
key: `${p.x}/${p.y}`,
|
|
189
|
+
})
|
|
190
|
+
: undefined,
|
|
191
|
+
});
|
|
192
|
+
return {
|
|
193
|
+
places: result.results,
|
|
194
|
+
cellsSearched: result.cellsSearched,
|
|
195
|
+
cellsTotal: result.cellsTotal,
|
|
196
|
+
requestsMade: result.requestsMade,
|
|
197
|
+
cellZoom: result.cellZoom,
|
|
198
|
+
timingMs: performance.now() - start,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
161
201
|
/** Ready-made Intent tools for agents. */
|
|
162
202
|
tools(options) {
|
|
163
203
|
return createMapsTools(this, options);
|
|
@@ -183,6 +223,7 @@ export class GMapsClient {
|
|
|
183
223
|
askMapsHistory: signedIn,
|
|
184
224
|
privateLists: signedIn,
|
|
185
225
|
legacyRpc: signedIn,
|
|
226
|
+
userPrefs: signedIn,
|
|
186
227
|
};
|
|
187
228
|
}
|
|
188
229
|
isSignedIn() {
|
|
@@ -206,41 +247,6 @@ export class GMapsClient {
|
|
|
206
247
|
}
|
|
207
248
|
return this.runtimePromise;
|
|
208
249
|
}
|
|
209
|
-
async getPlaceFull(options) {
|
|
210
|
-
return this.places.getFull(options);
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Fetch maximum available place data: rich preview, paginated Boq reviews,
|
|
214
|
-
* local posts, and knowledge entity (when available).
|
|
215
|
-
*/
|
|
216
|
-
async getPlaceComplete(options) {
|
|
217
|
-
const includeKnowledge = options.includeKnowledge !== false;
|
|
218
|
-
const maxReviewPages = options.maxReviewPages ?? 3;
|
|
219
|
-
const full = await this.getPlaceFull({
|
|
220
|
-
...options,
|
|
221
|
-
maxReviewPages,
|
|
222
|
-
richPreview: options.richPreview === true,
|
|
223
|
-
includeLocalPosts: options.includeLocalPosts !== false,
|
|
224
|
-
});
|
|
225
|
-
let knowledge;
|
|
226
|
-
if (includeKnowledge) {
|
|
227
|
-
const start = performance.now();
|
|
228
|
-
const entity = await this.places.knowledge.get({
|
|
229
|
-
hexId: options.hexId,
|
|
230
|
-
ftid: options.ftid,
|
|
231
|
-
placeId: full.details.placeId,
|
|
232
|
-
fallbackDetails: full.details,
|
|
233
|
-
});
|
|
234
|
-
full.meta.timingMs = full.meta.timingMs ?? {};
|
|
235
|
-
full.meta.timingMs.knowledge = performance.now() - start;
|
|
236
|
-
full.meta.sources.knowledge = entity != null;
|
|
237
|
-
knowledge = entity ?? undefined;
|
|
238
|
-
}
|
|
239
|
-
return { ...full, knowledge };
|
|
240
|
-
}
|
|
241
|
-
async getDirections(options) {
|
|
242
|
-
return this.travel.directions.get(options);
|
|
243
|
-
}
|
|
244
250
|
/** Wait until the client is ready for requests. */
|
|
245
251
|
ready() {
|
|
246
252
|
return this.http.warmSession();
|
|
@@ -249,90 +255,6 @@ export class GMapsClient {
|
|
|
249
255
|
getHttpStats() {
|
|
250
256
|
return this.http.getStats();
|
|
251
257
|
}
|
|
252
|
-
async searchEnriched(options) {
|
|
253
|
-
const results = await this.places.search.search(options);
|
|
254
|
-
if (options.fromSearchOnly || (!options.includeDetails && !options.includeReviews)) {
|
|
255
|
-
return results.map((result) => ({
|
|
256
|
-
...result,
|
|
257
|
-
details: searchResultToPlaceDetails(result),
|
|
258
|
-
}));
|
|
259
|
-
}
|
|
260
|
-
const concurrency = options.concurrency ?? this.config.concurrency ?? 10;
|
|
261
|
-
const enriched = [];
|
|
262
|
-
for (let i = 0; i < results.length; i += concurrency) {
|
|
263
|
-
const chunk = results.slice(i, i + concurrency);
|
|
264
|
-
const batch = await Promise.all(chunk.map((result) => this.enrichSingle(result, options)));
|
|
265
|
-
enriched.push(...batch);
|
|
266
|
-
}
|
|
267
|
-
return enriched;
|
|
268
|
-
}
|
|
269
|
-
async enrichSingle(result, options) {
|
|
270
|
-
const enriched = {
|
|
271
|
-
...result,
|
|
272
|
-
details: searchResultToPlaceDetails(result),
|
|
273
|
-
};
|
|
274
|
-
if (!result.hexId || !result.name) {
|
|
275
|
-
return enriched;
|
|
276
|
-
}
|
|
277
|
-
const lat = result.lat ?? result.latitude ?? options.location?.lat ?? options.near?.lat;
|
|
278
|
-
const lng = result.lng ?? result.longitude ?? options.location?.lng ?? options.near?.lng;
|
|
279
|
-
if (options.includeDetails && options.includeReviews) {
|
|
280
|
-
const full = await this.getPlaceFull({
|
|
281
|
-
hexId: result.hexId,
|
|
282
|
-
name: result.name,
|
|
283
|
-
lat,
|
|
284
|
-
lng,
|
|
285
|
-
ftid: result.ftid,
|
|
286
|
-
maxReviewPages: options.maxReviewPages ?? 1,
|
|
287
|
-
});
|
|
288
|
-
enriched.details = {
|
|
289
|
-
...enriched.details,
|
|
290
|
-
...full.details,
|
|
291
|
-
photos: full.details.photos && full.details.photos.length > 0
|
|
292
|
-
? full.details.photos
|
|
293
|
-
: enriched.details?.photos,
|
|
294
|
-
reviewCount: full.details.reviewCount ?? enriched.details?.reviewCount,
|
|
295
|
-
phone: full.details.phone ?? enriched.details?.phone,
|
|
296
|
-
openStatus: full.details.openStatus ?? enriched.details?.openStatus,
|
|
297
|
-
openingSchedule: full.details.openingSchedule ?? enriched.details?.openingSchedule,
|
|
298
|
-
};
|
|
299
|
-
enriched.reviews = full.reviews;
|
|
300
|
-
enriched.localPosts = full.localPosts;
|
|
301
|
-
return enriched;
|
|
302
|
-
}
|
|
303
|
-
if (options.includeDetails) {
|
|
304
|
-
const preview = await this.places.get({
|
|
305
|
-
hexId: result.hexId,
|
|
306
|
-
name: result.name,
|
|
307
|
-
lat,
|
|
308
|
-
lng,
|
|
309
|
-
ftid: result.ftid,
|
|
310
|
-
mode: 'live',
|
|
311
|
-
});
|
|
312
|
-
enriched.details = {
|
|
313
|
-
...enriched.details,
|
|
314
|
-
...preview,
|
|
315
|
-
photos: preview.photos && preview.photos.length > 0
|
|
316
|
-
? preview.photos
|
|
317
|
-
: enriched.details?.photos,
|
|
318
|
-
reviewCount: preview.reviewCount ?? enriched.details?.reviewCount,
|
|
319
|
-
phone: preview.phone ?? enriched.details?.phone,
|
|
320
|
-
openStatus: preview.openStatus ?? enriched.details?.openStatus,
|
|
321
|
-
openingSchedule: preview.openingSchedule ?? enriched.details?.openingSchedule,
|
|
322
|
-
};
|
|
323
|
-
}
|
|
324
|
-
if (options.includeReviews) {
|
|
325
|
-
enriched.reviews = await this.places.reviews.list({
|
|
326
|
-
hexId: result.hexId,
|
|
327
|
-
name: result.name,
|
|
328
|
-
lat,
|
|
329
|
-
lng,
|
|
330
|
-
ftid: result.ftid,
|
|
331
|
-
limit: 10,
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
return enriched;
|
|
335
|
-
}
|
|
336
258
|
}
|
|
337
259
|
/**
|
|
338
260
|
* Create a Maps SDK client.
|