UNPKG

@vis.gl/react-google-maps

Version:

React components and hooks for the Google Maps JavaScript API

204 lines (195 loc) 4.77 kB
// FIXME: remove once we can update to the new @googlemaps/jest-mocks version export const importLibraryMock = jest.fn(async (name: string) => { switch (name) { case 'core': { const { ControlPosition, event, LatLng, LatLngAltitude, LatLngBounds, MapsNetworkError, MapsNetworkErrorEndpoint, MapsRequestError, MapsServerError, MVCArray, MVCObject, Point, Settings, Size, SymbolPath, UnitSystem } = google.maps; return { ControlPosition, event, LatLng, LatLngAltitude, LatLngBounds, MapsNetworkError, MapsNetworkErrorEndpoint, MapsRequestError, MapsServerError, MVCArray, MVCObject, Point, Settings, Size, SymbolPath, UnitSystem } as google.maps.CoreLibrary; } case 'maps': { const { BicyclingLayer, Circle, Data, FeatureType, GroundOverlay, ImageMapType, InfoWindow, KmlLayer, KmlLayerStatus, Map, MapTypeControlStyle, MapTypeId, MapTypeRegistry, MaxZoomService, MaxZoomStatus, OverlayView, Polygon, Polyline, Rectangle, RenderingType, StrokePosition, StyledMapType, TrafficLayer, TransitLayer, WebGLOverlayView } = google.maps; return { BicyclingLayer, Circle, Data, FeatureType, GroundOverlay, ImageMapType, InfoWindow, KmlLayer, KmlLayerStatus, Map, MapTypeControlStyle, MapTypeId, MapTypeRegistry, MaxZoomService, MaxZoomStatus, OverlayView, Polygon, Polyline, Rectangle, RenderingType, StrokePosition, StyledMapType, TrafficLayer, TransitLayer, WebGLOverlayView } as google.maps.MapsLibrary; } case 'places': return google.maps.places as google.maps.PlacesLibrary; case 'geocoding': { const {Geocoder, GeocoderLocationType, GeocoderStatus} = google.maps; return { Geocoder, GeocoderLocationType, GeocoderStatus } as google.maps.GeocodingLibrary; } case 'routes': { const { DirectionsRenderer, DirectionsService, DirectionsStatus, DistanceMatrixElementStatus, DistanceMatrixService, DistanceMatrixStatus, TrafficModel, TransitMode, TransitRoutePreference, TravelMode, VehicleType } = google.maps; return { DirectionsRenderer, DirectionsService, DirectionsStatus, DistanceMatrixElementStatus, DistanceMatrixService, DistanceMatrixStatus, TrafficModel, TransitMode, TransitRoutePreference, TravelMode, VehicleType } as google.maps.RoutesLibrary; } case 'marker': { const { Animation, CollisionBehavior, Marker, marker: {AdvancedMarkerClickEvent, AdvancedMarkerElement, PinElement} } = google.maps; return { AdvancedMarkerClickEvent, AdvancedMarkerElement, Animation, CollisionBehavior, Marker, PinElement } as google.maps.MarkerLibrary; } case 'geometry': { return google.maps.geometry as google.maps.GeometryLibrary; } case 'elevation': { const {ElevationService, ElevationStatus} = google.maps; return { ElevationService, ElevationStatus } as google.maps.ElevationLibrary; } case 'streetView': { const { InfoWindow, OverlayView, StreetViewCoverageLayer, StreetViewPanorama, StreetViewPreference, StreetViewService, StreetViewSource, StreetViewStatus } = google.maps; return { InfoWindow, OverlayView, StreetViewCoverageLayer, StreetViewPanorama, StreetViewPreference, StreetViewService, StreetViewSource, StreetViewStatus } as google.maps.StreetViewLibrary; } case 'journeySharing': { return google.maps.journeySharing as google.maps.JourneySharingLibrary; } case 'drawing': { return google.maps.drawing as google.maps.DrawingLibrary; } case 'visualization': { return google.maps.visualization as google.maps.VisualizationLibrary; } } throw new TypeError(`unknown library name: ${name}`); });