@aws-amplify/geo 3.0.22-unstable.f6055cb.0 → 3.0.22
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/dist/cjs/Geo.js +6 -5
- package/dist/cjs/Geo.js.map +1 -1
- package/dist/cjs/providers/location-service/AmazonLocationServiceProvider.js +36 -22
- package/dist/cjs/providers/location-service/AmazonLocationServiceProvider.js.map +1 -1
- package/dist/cjs/util.js +7 -7
- package/dist/cjs/util.js.map +1 -1
- package/dist/esm/Geo.d.ts +4 -4
- package/dist/esm/Geo.mjs +6 -5
- package/dist/esm/Geo.mjs.map +1 -1
- package/dist/esm/providers/location-service/AmazonLocationServiceProvider.d.ts +4 -4
- package/dist/esm/providers/location-service/AmazonLocationServiceProvider.mjs +36 -22
- package/dist/esm/providers/location-service/AmazonLocationServiceProvider.mjs.map +1 -1
- package/dist/esm/types/AmazonLocationServiceProvider.d.ts +1 -1
- package/dist/esm/types/Geo.d.ts +24 -24
- package/dist/esm/types/Provider.d.ts +1 -1
- package/dist/esm/util.d.ts +1 -1
- package/dist/esm/util.mjs +7 -7
- package/dist/esm/util.mjs.map +1 -1
- package/package.json +88 -89
- package/src/Geo.ts +16 -16
- package/src/providers/location-service/AmazonLocationServiceProvider.ts +65 -69
- package/src/types/AmazonLocationServiceProvider.ts +4 -4
- package/src/types/Geo.ts +24 -24
- package/src/types/Provider.ts +6 -6
- package/src/util.ts +9 -10
package/dist/esm/Geo.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Coordinates,
|
|
1
|
+
import { Place, Coordinates, SearchByTextOptions, SearchByCoordinatesOptions, GeoProvider, MapStyle, GeofenceId, GeofenceInput, GeofenceOptions, SaveGeofencesResults, Geofence, ListGeofenceOptions, ListGeofenceResults, DeleteGeofencesResults, searchByPlaceIdOptions } from './types';
|
|
2
2
|
export declare class GeoClass {
|
|
3
3
|
static MODULE: string;
|
|
4
4
|
/**
|
|
@@ -50,9 +50,9 @@ export declare class GeoClass {
|
|
|
50
50
|
* Search for search term suggestions based on input text
|
|
51
51
|
* @param {string} text The text string that is to be search for
|
|
52
52
|
* @param {SearchByTextOptions} options Optional parameters to the search
|
|
53
|
-
* @returns
|
|
53
|
+
* @returns {Promise<SearchForSuggestionsResults>} - Resolves to an array of search suggestion strings
|
|
54
54
|
*/
|
|
55
|
-
searchForSuggestions(text: string, options?: SearchByTextOptions): Promise<SearchForSuggestionsResults>;
|
|
55
|
+
searchForSuggestions(text: string, options?: SearchByTextOptions): Promise<import("./types").SearchForSuggestionsResults>;
|
|
56
56
|
/**
|
|
57
57
|
* Search for location by unique ID
|
|
58
58
|
* @param {string} placeId Unique ID of the location that is to be searched for
|
|
@@ -86,7 +86,7 @@ export declare class GeoClass {
|
|
|
86
86
|
/**
|
|
87
87
|
* List geofences
|
|
88
88
|
* @param options ListGeofenceOptions
|
|
89
|
-
* @returns
|
|
89
|
+
* @returns {Promise<ListGeofencesResults>} - Promise that resolves to an object with:
|
|
90
90
|
* entries: list of geofences - 100 geofences are listed per page
|
|
91
91
|
* nextToken: token for next page of geofences
|
|
92
92
|
*/
|
package/dist/esm/Geo.mjs
CHANGED
|
@@ -37,13 +37,13 @@ class GeoClass {
|
|
|
37
37
|
* @param providerName the name of the plugin
|
|
38
38
|
*/
|
|
39
39
|
getPluggable(providerName) {
|
|
40
|
-
const
|
|
41
|
-
if (
|
|
40
|
+
const pluggable = this._pluggables.find(pluggable => pluggable.getProviderName() === providerName);
|
|
41
|
+
if (pluggable === undefined) {
|
|
42
42
|
logger.debug('No plugin found with providerName', providerName);
|
|
43
43
|
throw new Error('No plugin found in Geo for the provider');
|
|
44
44
|
}
|
|
45
45
|
else
|
|
46
|
-
return
|
|
46
|
+
return pluggable;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Remove the plugin object
|
|
@@ -51,6 +51,7 @@ class GeoClass {
|
|
|
51
51
|
*/
|
|
52
52
|
removePluggable(providerName) {
|
|
53
53
|
this._pluggables = this._pluggables.filter(pluggable => pluggable.getProviderName() !== providerName);
|
|
54
|
+
return;
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* Get the map resources that are currently available through the provider
|
|
@@ -91,7 +92,7 @@ class GeoClass {
|
|
|
91
92
|
* Search for search term suggestions based on input text
|
|
92
93
|
* @param {string} text The text string that is to be search for
|
|
93
94
|
* @param {SearchByTextOptions} options Optional parameters to the search
|
|
94
|
-
* @returns
|
|
95
|
+
* @returns {Promise<SearchForSuggestionsResults>} - Resolves to an array of search suggestion strings
|
|
95
96
|
*/
|
|
96
97
|
async searchForSuggestions(text, options) {
|
|
97
98
|
const { providerName = DEFAULT_PROVIDER } = options || {};
|
|
@@ -187,7 +188,7 @@ class GeoClass {
|
|
|
187
188
|
/**
|
|
188
189
|
* List geofences
|
|
189
190
|
* @param options ListGeofenceOptions
|
|
190
|
-
* @returns
|
|
191
|
+
* @returns {Promise<ListGeofencesResults>} - Promise that resolves to an object with:
|
|
191
192
|
* entries: list of geofences - 100 geofences are listed per page
|
|
192
193
|
* nextToken: token for next page of geofences
|
|
193
194
|
*/
|
package/dist/esm/Geo.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Geo.mjs","sources":["../../src/Geo.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, ConsoleLogger } from '@aws-amplify/core';\nimport { AmazonLocationServiceProvider } from './providers/location-service/AmazonLocationServiceProvider';\nimport { validateCoordinates } from './util';\nconst logger = new ConsoleLogger('Geo');\nconst DEFAULT_PROVIDER = 'AmazonLocationService';\nexport class GeoClass {\n constructor() {\n this._config = undefined;\n this._pluggables = [];\n const amplifyConfig = Amplify.getConfig() ?? {};\n this._config = Object.assign({}, this._config, amplifyConfig.Geo);\n const locationProvider = new AmazonLocationServiceProvider(amplifyConfig.Geo);\n this._pluggables.push(locationProvider);\n logger.debug('Geo Options', this._config);\n }\n /**\n * get the name of the module category\n * @returns {string} name of the module category\n */\n getModuleName() {\n return GeoClass.MODULE;\n }\n /**\n * add plugin into Geo category\n * @param {Object} pluggable an instance of the plugin\n */\n addPluggable(pluggable) {\n if (pluggable && pluggable.getCategory() === 'Geo') {\n this._pluggables.push(pluggable);\n }\n }\n /**\n * Get the plugin object\n * @param providerName the name of the plugin\n */\n getPluggable(providerName) {\n const targetPluggable = this._pluggables.find(pluggable => pluggable.getProviderName() === providerName);\n if (targetPluggable === undefined) {\n logger.debug('No plugin found with providerName', providerName);\n throw new Error('No plugin found in Geo for the provider');\n }\n else\n return targetPluggable;\n }\n /**\n * Remove the plugin object\n * @param providerName the name of the plugin\n */\n removePluggable(providerName) {\n this._pluggables = this._pluggables.filter(pluggable => pluggable.getProviderName() !== providerName);\n }\n /**\n * Get the map resources that are currently available through the provider\n * @param {string} provider\n * @returns - Array of available map resources\n */\n getAvailableMaps(provider = DEFAULT_PROVIDER) {\n const prov = this.getPluggable(provider);\n return prov.getAvailableMaps();\n }\n /**\n * Get the map resource set as default in amplify config\n * @param {string} provider\n * @returns - Map resource set as the default in amplify config\n */\n getDefaultMap(provider = DEFAULT_PROVIDER) {\n const prov = this.getPluggable(provider);\n return prov.getDefaultMap();\n }\n /**\n * Search by text input with optional parameters\n * @param {string} text The text string that is to be searched for\n * @param {SearchByTextOptions} options Optional parameters to the search\n * @returns {Promise<Place[]>} - Promise resolves to a list of Places that match search parameters\n */\n async searchByText(text, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n try {\n return await prov.searchByText(text, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Search for search term suggestions based on input text\n * @param {string} text The text string that is to be search for\n * @param {SearchByTextOptions} options Optional parameters to the search\n * @returns a `Promise` of {@link SearchForSuggestionsResults} that resolves to an array of search suggestion strings\n */\n async searchForSuggestions(text, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n try {\n return await prov.searchForSuggestions(text, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Search for location by unique ID\n * @param {string} placeId Unique ID of the location that is to be searched for\n * @param {searchByPlaceIdOptions} options Optional parameters to the search\n * @returns {Promise<Place>} - Resolves to a place with the given placeId\n */\n async searchByPlaceId(placeId, options) {\n const providerName = DEFAULT_PROVIDER;\n const prov = this.getPluggable(providerName);\n try {\n return await prov.searchByPlaceId(placeId, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Reverse geocoding search via a coordinate point on the map\n * @param coordinates Coordinates array for the search input\n * @param options Options parameters for the search\n * @returns {Promise<Place>} - Promise that resolves to a place matching search coordinates\n */\n async searchByCoordinates(coordinates, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n const [lng, lat] = coordinates;\n try {\n validateCoordinates(lng, lat);\n return await prov.searchByCoordinates(coordinates, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Create geofences\n * @param geofences Single or array of geofence objects to create\n * @param options Optional parameters for creating geofences\n * @returns {Promise<SaveGeofencesResults>} - Promise that resolves to an object with:\n * successes: list of geofences successfully created\n * errors: list of geofences that failed to create\n */\n async saveGeofences(geofences, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n // If single geofence input, make it an array for batch call\n let geofenceInputArray;\n if (!Array.isArray(geofences)) {\n geofenceInputArray = [geofences];\n }\n else {\n geofenceInputArray = geofences;\n }\n try {\n return await prov.saveGeofences(geofenceInputArray, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Get a single geofence by geofenceId\n * @param geofenceId The string id of the geofence to get\n * @param options Optional parameters for getting a geofence\n * @returns Promise<Geofence> - Promise that resolves to a geofence object\n */\n async getGeofence(geofenceId, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n try {\n return await prov.getGeofence(geofenceId, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * List geofences\n * @param options ListGeofenceOptions\n * @returns a promise that resolves to an object that conforms to {@link ListGeofenceResults}:\n * entries: list of geofences - 100 geofences are listed per page\n * nextToken: token for next page of geofences\n */\n async listGeofences(options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n try {\n return await prov.listGeofences(options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Delete geofences\n * @param geofenceIds string|string[]\n * @param options GeofenceOptions\n * @returns {Promise<DeleteGeofencesResults>} - Promise that resolves to an object with:\n * successes: list of geofences successfully deleted\n * errors: list of geofences that failed to delete\n */\n async deleteGeofences(geofenceIds, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n // If single geofence input, make it an array for batch call\n let geofenceIdsInputArray;\n if (!Array.isArray(geofenceIds)) {\n geofenceIdsInputArray = [geofenceIds];\n }\n else {\n geofenceIdsInputArray = geofenceIds;\n }\n // Delete geofences\n try {\n return await prov.deleteGeofences(geofenceIdsInputArray, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n}\nGeoClass.MODULE = 'Geo';\nexport const Geo = new GeoClass();\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Geo.mjs","sources":["../../src/Geo.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, ConsoleLogger } from '@aws-amplify/core';\nimport { AmazonLocationServiceProvider } from './providers/location-service/AmazonLocationServiceProvider';\nimport { validateCoordinates } from './util';\nconst logger = new ConsoleLogger('Geo');\nconst DEFAULT_PROVIDER = 'AmazonLocationService';\nexport class GeoClass {\n constructor() {\n this._config = undefined;\n this._pluggables = [];\n const amplifyConfig = Amplify.getConfig() ?? {};\n this._config = Object.assign({}, this._config, amplifyConfig.Geo);\n const locationProvider = new AmazonLocationServiceProvider(amplifyConfig.Geo);\n this._pluggables.push(locationProvider);\n logger.debug('Geo Options', this._config);\n }\n /**\n * get the name of the module category\n * @returns {string} name of the module category\n */\n getModuleName() {\n return GeoClass.MODULE;\n }\n /**\n * add plugin into Geo category\n * @param {Object} pluggable an instance of the plugin\n */\n addPluggable(pluggable) {\n if (pluggable && pluggable.getCategory() === 'Geo') {\n this._pluggables.push(pluggable);\n }\n }\n /**\n * Get the plugin object\n * @param providerName the name of the plugin\n */\n getPluggable(providerName) {\n const pluggable = this._pluggables.find(pluggable => pluggable.getProviderName() === providerName);\n if (pluggable === undefined) {\n logger.debug('No plugin found with providerName', providerName);\n throw new Error('No plugin found in Geo for the provider');\n }\n else\n return pluggable;\n }\n /**\n * Remove the plugin object\n * @param providerName the name of the plugin\n */\n removePluggable(providerName) {\n this._pluggables = this._pluggables.filter(pluggable => pluggable.getProviderName() !== providerName);\n return;\n }\n /**\n * Get the map resources that are currently available through the provider\n * @param {string} provider\n * @returns - Array of available map resources\n */\n getAvailableMaps(provider = DEFAULT_PROVIDER) {\n const prov = this.getPluggable(provider);\n return prov.getAvailableMaps();\n }\n /**\n * Get the map resource set as default in amplify config\n * @param {string} provider\n * @returns - Map resource set as the default in amplify config\n */\n getDefaultMap(provider = DEFAULT_PROVIDER) {\n const prov = this.getPluggable(provider);\n return prov.getDefaultMap();\n }\n /**\n * Search by text input with optional parameters\n * @param {string} text The text string that is to be searched for\n * @param {SearchByTextOptions} options Optional parameters to the search\n * @returns {Promise<Place[]>} - Promise resolves to a list of Places that match search parameters\n */\n async searchByText(text, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n try {\n return await prov.searchByText(text, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Search for search term suggestions based on input text\n * @param {string} text The text string that is to be search for\n * @param {SearchByTextOptions} options Optional parameters to the search\n * @returns {Promise<SearchForSuggestionsResults>} - Resolves to an array of search suggestion strings\n */\n async searchForSuggestions(text, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n try {\n return await prov.searchForSuggestions(text, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Search for location by unique ID\n * @param {string} placeId Unique ID of the location that is to be searched for\n * @param {searchByPlaceIdOptions} options Optional parameters to the search\n * @returns {Promise<Place>} - Resolves to a place with the given placeId\n */\n async searchByPlaceId(placeId, options) {\n const providerName = DEFAULT_PROVIDER;\n const prov = this.getPluggable(providerName);\n try {\n return await prov.searchByPlaceId(placeId, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Reverse geocoding search via a coordinate point on the map\n * @param coordinates Coordinates array for the search input\n * @param options Options parameters for the search\n * @returns {Promise<Place>} - Promise that resolves to a place matching search coordinates\n */\n async searchByCoordinates(coordinates, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n const [lng, lat] = coordinates;\n try {\n validateCoordinates(lng, lat);\n return await prov.searchByCoordinates(coordinates, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Create geofences\n * @param geofences Single or array of geofence objects to create\n * @param options Optional parameters for creating geofences\n * @returns {Promise<SaveGeofencesResults>} - Promise that resolves to an object with:\n * successes: list of geofences successfully created\n * errors: list of geofences that failed to create\n */\n async saveGeofences(geofences, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n // If single geofence input, make it an array for batch call\n let geofenceInputArray;\n if (!Array.isArray(geofences)) {\n geofenceInputArray = [geofences];\n }\n else {\n geofenceInputArray = geofences;\n }\n try {\n return await prov.saveGeofences(geofenceInputArray, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Get a single geofence by geofenceId\n * @param geofenceId The string id of the geofence to get\n * @param options Optional parameters for getting a geofence\n * @returns Promise<Geofence> - Promise that resolves to a geofence object\n */\n async getGeofence(geofenceId, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n try {\n return await prov.getGeofence(geofenceId, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * List geofences\n * @param options ListGeofenceOptions\n * @returns {Promise<ListGeofencesResults>} - Promise that resolves to an object with:\n * entries: list of geofences - 100 geofences are listed per page\n * nextToken: token for next page of geofences\n */\n async listGeofences(options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n try {\n return await prov.listGeofences(options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n /**\n * Delete geofences\n * @param geofenceIds string|string[]\n * @param options GeofenceOptions\n * @returns {Promise<DeleteGeofencesResults>} - Promise that resolves to an object with:\n * successes: list of geofences successfully deleted\n * errors: list of geofences that failed to delete\n */\n async deleteGeofences(geofenceIds, options) {\n const { providerName = DEFAULT_PROVIDER } = options || {};\n const prov = this.getPluggable(providerName);\n // If single geofence input, make it an array for batch call\n let geofenceIdsInputArray;\n if (!Array.isArray(geofenceIds)) {\n geofenceIdsInputArray = [geofenceIds];\n }\n else {\n geofenceIdsInputArray = geofenceIds;\n }\n // Delete geofences\n try {\n return await prov.deleteGeofences(geofenceIdsInputArray, options);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n }\n}\nGeoClass.MODULE = 'Geo';\nexport const Geo = new GeoClass();\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GeoConfig, SearchByTextOptions, SearchByCoordinatesOptions, GeoProvider, Place, AmazonLocationServiceMapStyle, Coordinates, SearchForSuggestionsResults, GeofenceId, GeofenceInput, AmazonLocationServiceGeofenceOptions, AmazonLocationServiceListGeofenceOptions, ListGeofenceResults, SaveGeofencesResults, AmazonLocationServiceGeofence, AmazonLocationServiceDeleteGeofencesResults, searchByPlaceIdOptions } from '../../types';
|
|
2
2
|
export declare class AmazonLocationServiceProvider implements GeoProvider {
|
|
3
3
|
static CATEGORY: string;
|
|
4
4
|
static PROVIDER_NAME: string;
|
|
@@ -59,7 +59,7 @@ export declare class AmazonLocationServiceProvider implements GeoProvider {
|
|
|
59
59
|
* Create geofences inside of a geofence collection
|
|
60
60
|
* @param geofences Array of geofence objects to create
|
|
61
61
|
* @param options Optional parameters for creating geofences
|
|
62
|
-
* @returns
|
|
62
|
+
* @returns {Promise<AmazonLocationServiceSaveGeofencesResults>} - Promise that resolves to an object with:
|
|
63
63
|
* successes: list of geofences successfully created
|
|
64
64
|
* errors: list of geofences that failed to create
|
|
65
65
|
*/
|
|
@@ -74,7 +74,7 @@ export declare class AmazonLocationServiceProvider implements GeoProvider {
|
|
|
74
74
|
/**
|
|
75
75
|
* List geofences from a geofence collection
|
|
76
76
|
* @param options ListGeofenceOptions
|
|
77
|
-
* @returns
|
|
77
|
+
* @returns {Promise<ListGeofencesResults>} - Promise that resolves to an object with:
|
|
78
78
|
* entries: list of geofences - 100 geofences are listed per page
|
|
79
79
|
* nextToken: token for next page of geofences
|
|
80
80
|
*/
|
|
@@ -83,7 +83,7 @@ export declare class AmazonLocationServiceProvider implements GeoProvider {
|
|
|
83
83
|
* Delete geofences from a geofence collection
|
|
84
84
|
* @param geofenceIds string|string[]
|
|
85
85
|
* @param options GeofenceOptions
|
|
86
|
-
* @returns
|
|
86
|
+
* @returns {Promise<DeleteGeofencesResults>} - Promise that resolves to an object with:
|
|
87
87
|
* successes: list of geofences successfully deleted
|
|
88
88
|
* errors: list of geofences that failed to delete
|
|
89
89
|
*/
|
|
@@ -13,7 +13,7 @@ class AmazonLocationServiceProvider {
|
|
|
13
13
|
* @param {Object} config - Configuration object for Geo
|
|
14
14
|
*/
|
|
15
15
|
constructor(config) {
|
|
16
|
-
this._config = config
|
|
16
|
+
this._config = config ? config : {};
|
|
17
17
|
logger.debug('Geo Options', this._config);
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
@@ -38,9 +38,9 @@ class AmazonLocationServiceProvider {
|
|
|
38
38
|
this._verifyMapResources();
|
|
39
39
|
const mapStyles = [];
|
|
40
40
|
const availableMaps = this._config.maps.items;
|
|
41
|
-
const
|
|
41
|
+
const region = this._config.region;
|
|
42
42
|
for (const mapName in availableMaps) {
|
|
43
|
-
const
|
|
43
|
+
const style = availableMaps[mapName].style;
|
|
44
44
|
mapStyles.push({ mapName, style, region });
|
|
45
45
|
}
|
|
46
46
|
return mapStyles;
|
|
@@ -52,8 +52,8 @@ class AmazonLocationServiceProvider {
|
|
|
52
52
|
getDefaultMap() {
|
|
53
53
|
this._verifyMapResources();
|
|
54
54
|
const mapName = this._config.maps.default;
|
|
55
|
-
const
|
|
56
|
-
const
|
|
55
|
+
const style = this._config.maps.items[mapName].style;
|
|
56
|
+
const region = this._config.region;
|
|
57
57
|
return { mapName, style, region };
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
@@ -196,6 +196,7 @@ class AmazonLocationServiceProvider {
|
|
|
196
196
|
if (place) {
|
|
197
197
|
return camelcaseKeys(place, { deep: true });
|
|
198
198
|
}
|
|
199
|
+
return;
|
|
199
200
|
}
|
|
200
201
|
/**
|
|
201
202
|
* Reverse geocoding search via a coordinate point on the map
|
|
@@ -248,7 +249,7 @@ class AmazonLocationServiceProvider {
|
|
|
248
249
|
* Create geofences inside of a geofence collection
|
|
249
250
|
* @param geofences Array of geofence objects to create
|
|
250
251
|
* @param options Optional parameters for creating geofences
|
|
251
|
-
* @returns
|
|
252
|
+
* @returns {Promise<AmazonLocationServiceSaveGeofencesResults>} - Promise that resolves to an object with:
|
|
252
253
|
* successes: list of geofences successfully created
|
|
253
254
|
* errors: list of geofences that failed to create
|
|
254
255
|
*/
|
|
@@ -309,23 +310,23 @@ class AmazonLocationServiceProvider {
|
|
|
309
310
|
}
|
|
310
311
|
// Push all successes to results
|
|
311
312
|
response.Successes?.forEach(success => {
|
|
312
|
-
const { GeofenceId
|
|
313
|
+
const { GeofenceId, CreateTime, UpdateTime } = success;
|
|
313
314
|
results.successes.push({
|
|
314
|
-
geofenceId:
|
|
315
|
+
geofenceId: GeofenceId,
|
|
315
316
|
createTime: CreateTime,
|
|
316
317
|
updateTime: UpdateTime,
|
|
317
318
|
});
|
|
318
319
|
});
|
|
319
320
|
// Push all errors to results
|
|
320
321
|
response.Errors?.forEach(error => {
|
|
321
|
-
const { Error, GeofenceId
|
|
322
|
+
const { Error, GeofenceId } = error;
|
|
322
323
|
const { Code, Message } = Error;
|
|
323
324
|
results.errors.push({
|
|
324
325
|
error: {
|
|
325
326
|
code: Code,
|
|
326
327
|
message: Message,
|
|
327
328
|
},
|
|
328
|
-
geofenceId:
|
|
329
|
+
geofenceId: GeofenceId,
|
|
329
330
|
});
|
|
330
331
|
});
|
|
331
332
|
}));
|
|
@@ -373,10 +374,10 @@ class AmazonLocationServiceProvider {
|
|
|
373
374
|
throw error;
|
|
374
375
|
}
|
|
375
376
|
// Convert response to camelCase for return
|
|
376
|
-
const { GeofenceId
|
|
377
|
+
const { GeofenceId, CreateTime, UpdateTime, Status, Geometry } = response;
|
|
377
378
|
const geofence = {
|
|
378
379
|
createTime: CreateTime,
|
|
379
|
-
geofenceId:
|
|
380
|
+
geofenceId: GeofenceId,
|
|
380
381
|
geometry: {
|
|
381
382
|
polygon: Geometry.Polygon,
|
|
382
383
|
},
|
|
@@ -388,7 +389,7 @@ class AmazonLocationServiceProvider {
|
|
|
388
389
|
/**
|
|
389
390
|
* List geofences from a geofence collection
|
|
390
391
|
* @param options ListGeofenceOptions
|
|
391
|
-
* @returns
|
|
392
|
+
* @returns {Promise<ListGeofencesResults>} - Promise that resolves to an object with:
|
|
392
393
|
* entries: list of geofences - 100 geofences are listed per page
|
|
393
394
|
* nextToken: token for next page of geofences
|
|
394
395
|
*/
|
|
@@ -430,9 +431,9 @@ class AmazonLocationServiceProvider {
|
|
|
430
431
|
// Convert response to camelCase for return
|
|
431
432
|
const { NextToken, Entries } = response;
|
|
432
433
|
const results = {
|
|
433
|
-
entries: Entries.map(({ GeofenceId
|
|
434
|
+
entries: Entries.map(({ GeofenceId, CreateTime, UpdateTime, Status, Geometry }) => {
|
|
434
435
|
return {
|
|
435
|
-
geofenceId:
|
|
436
|
+
geofenceId: GeofenceId,
|
|
436
437
|
createTime: CreateTime,
|
|
437
438
|
updateTime: UpdateTime,
|
|
438
439
|
status: Status,
|
|
@@ -449,7 +450,7 @@ class AmazonLocationServiceProvider {
|
|
|
449
450
|
* Delete geofences from a geofence collection
|
|
450
451
|
* @param geofenceIds string|string[]
|
|
451
452
|
* @param options GeofenceOptions
|
|
452
|
-
* @returns
|
|
453
|
+
* @returns {Promise<DeleteGeofencesResults>} - Promise that resolves to an object with:
|
|
453
454
|
* successes: list of geofences successfully deleted
|
|
454
455
|
* errors: list of geofences that failed to delete
|
|
455
456
|
*/
|
|
@@ -470,7 +471,6 @@ class AmazonLocationServiceProvider {
|
|
|
470
471
|
catch (error) {
|
|
471
472
|
return true;
|
|
472
473
|
}
|
|
473
|
-
return false;
|
|
474
474
|
});
|
|
475
475
|
if (badGeofenceIds.length > 0) {
|
|
476
476
|
throw new Error(`Invalid geofence ids: ${badGeofenceIds.join(', ')}`);
|
|
@@ -505,8 +505,8 @@ class AmazonLocationServiceProvider {
|
|
|
505
505
|
});
|
|
506
506
|
return;
|
|
507
507
|
}
|
|
508
|
-
const
|
|
509
|
-
results.successes.push(...batch.filter(Id => !
|
|
508
|
+
const badGeofenceIds = response.Errors.map(({ geofenceId }) => geofenceId);
|
|
509
|
+
results.successes.push(...batch.filter(Id => !badGeofenceIds.includes(Id)));
|
|
510
510
|
}));
|
|
511
511
|
return results;
|
|
512
512
|
}
|
|
@@ -515,7 +515,7 @@ class AmazonLocationServiceProvider {
|
|
|
515
515
|
*/
|
|
516
516
|
async _ensureCredentials() {
|
|
517
517
|
try {
|
|
518
|
-
const
|
|
518
|
+
const credentials = (await fetchAuthSession()).credentials;
|
|
519
519
|
if (!credentials)
|
|
520
520
|
return false;
|
|
521
521
|
logger.debug('Set credentials for storage. Credentials are:', credentials);
|
|
@@ -579,7 +579,14 @@ class AmazonLocationServiceProvider {
|
|
|
579
579
|
customUserAgent: getGeoUserAgent(GeoAction.SaveGeofences),
|
|
580
580
|
});
|
|
581
581
|
const command = new BatchPutGeofenceCommand(geofenceInput);
|
|
582
|
-
|
|
582
|
+
let response;
|
|
583
|
+
try {
|
|
584
|
+
response = await client.send(command);
|
|
585
|
+
}
|
|
586
|
+
catch (error) {
|
|
587
|
+
throw error;
|
|
588
|
+
}
|
|
589
|
+
return response;
|
|
583
590
|
}
|
|
584
591
|
async _AmazonLocationServiceBatchDeleteGeofenceCall(geofenceIds, collectionName) {
|
|
585
592
|
// Create the BatchDeleteGeofence input
|
|
@@ -593,7 +600,14 @@ class AmazonLocationServiceProvider {
|
|
|
593
600
|
customUserAgent: getGeoUserAgent(GeoAction.DeleteGeofences),
|
|
594
601
|
});
|
|
595
602
|
const command = new BatchDeleteGeofenceCommand(deleteGeofencesInput);
|
|
596
|
-
|
|
603
|
+
let response;
|
|
604
|
+
try {
|
|
605
|
+
response = await client.send(command);
|
|
606
|
+
}
|
|
607
|
+
catch (error) {
|
|
608
|
+
throw error;
|
|
609
|
+
}
|
|
610
|
+
return response;
|
|
597
611
|
}
|
|
598
612
|
}
|
|
599
613
|
AmazonLocationServiceProvider.CATEGORY = 'Geo';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmazonLocationServiceProvider.mjs","sources":["../../../../src/providers/location-service/AmazonLocationServiceProvider.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport camelcaseKeys from 'camelcase-keys';\nimport { Amplify, ConsoleLogger, fetchAuthSession } from '@aws-amplify/core';\nimport { GeoAction } from '@aws-amplify/core/internals/utils';\nimport { BatchDeleteGeofenceCommand, BatchPutGeofenceCommand, GetGeofenceCommand, GetPlaceCommand, ListGeofencesCommand, LocationClient, SearchPlaceIndexForPositionCommand, SearchPlaceIndexForSuggestionsCommand, SearchPlaceIndexForTextCommand, } from '@aws-sdk/client-location';\nimport { getGeoUserAgent, mapSearchOptions, validateGeofenceId, validateGeofencesInput, } from '../../util';\nconst logger = new ConsoleLogger('AmazonLocationServiceProvider');\nexport class AmazonLocationServiceProvider {\n /**\n * Initialize Geo with AWS configurations\n * @param {Object} config - Configuration object for Geo\n */\n constructor(config) {\n this._config = config || {};\n logger.debug('Geo Options', this._config);\n }\n /**\n * get the category of the plugin\n * @returns {string} name of the category\n */\n getCategory() {\n return AmazonLocationServiceProvider.CATEGORY;\n }\n /**\n * get provider name of the plugin\n * @returns {string} name of the provider\n */\n getProviderName() {\n return AmazonLocationServiceProvider.PROVIDER_NAME;\n }\n /**\n * Get the map resources that are currently available through the provider\n * @returns {AmazonLocationServiceMapStyle[]}- Array of available map resources\n */\n getAvailableMaps() {\n this._verifyMapResources();\n const mapStyles = [];\n const availableMaps = this._config.maps.items;\n const { region } = this._config;\n for (const mapName in availableMaps) {\n const { style } = availableMaps[mapName];\n mapStyles.push({ mapName, style, region });\n }\n return mapStyles;\n }\n /**\n * Get the map resource set as default in amplify config\n * @returns {AmazonLocationServiceMapStyle} - Map resource set as the default in amplify config\n */\n getDefaultMap() {\n this._verifyMapResources();\n const mapName = this._config.maps.default;\n const { style } = this._config.maps.items[mapName];\n const { region } = this._config;\n return { mapName, style, region };\n }\n /**\n * Search by text input with optional parameters\n * @param {string} text The text string that is to be searched for\n * @param {SearchByTextOptions} options Optional parameters to the search\n * @returns {Promise<Place[]>} - Promise resolves to a list of Places that match search parameters\n */\n async searchByText(text, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifySearchIndex(options?.searchIndexName);\n /**\n * Setup the searchInput\n */\n let locationServiceInput = {\n Text: text,\n IndexName: this._config.search_indices.default,\n };\n /**\n * Map search options to Amazon Location Service input object\n */\n if (options) {\n locationServiceInput = {\n ...locationServiceInput,\n ...mapSearchOptions(options, locationServiceInput),\n };\n }\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SearchByText),\n });\n const command = new SearchPlaceIndexForTextCommand(locationServiceInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n /**\n * The response from Amazon Location Service is a \"Results\" array of objects with a single `Place` item,\n * which are Place objects in PascalCase.\n * Here we want to flatten that to an array of results and change them to camelCase\n */\n const PascalResults = response.Results.map(result => result.Place);\n const results = camelcaseKeys(PascalResults, {\n deep: true,\n });\n return results;\n }\n /**\n * Search for suggestions based on the input text\n * @param {string} text The text string that is to be searched for\n * @param {SearchByTextOptions} options Optional parameters to the search\n * @returns {Promise<SearchForSuggestionsResults>} - Resolves to an array of search suggestion strings\n */\n async searchForSuggestions(text, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifySearchIndex(options?.searchIndexName);\n /**\n * Setup the searchInput\n */\n let locationServiceInput = {\n Text: text,\n IndexName: this._config.search_indices.default,\n };\n /**\n * Map search options to Amazon Location Service input object\n */\n if (options) {\n locationServiceInput = {\n ...locationServiceInput,\n ...mapSearchOptions(options, locationServiceInput),\n };\n }\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SearchForSuggestions),\n });\n const command = new SearchPlaceIndexForSuggestionsCommand(locationServiceInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n /**\n * The response from Amazon Location Service is a \"Results\" array of objects with `Text` and `PlaceId`.\n */\n const results = response.Results.map(result => ({\n text: result.Text,\n placeId: result.PlaceId,\n }));\n return results;\n }\n _verifyPlaceId(placeId) {\n if (placeId.length === 0) {\n const errorString = 'PlaceId cannot be an empty string.';\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n async searchByPlaceId(placeId, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifySearchIndex(options?.searchIndexName);\n this._verifyPlaceId(placeId);\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SearchByPlaceId),\n });\n const searchByPlaceIdInput = {\n PlaceId: placeId,\n IndexName: options?.searchIndexName || this._config.search_indices.default,\n };\n const command = new GetPlaceCommand(searchByPlaceIdInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n const place = response.Place;\n if (place) {\n return camelcaseKeys(place, { deep: true });\n }\n }\n /**\n * Reverse geocoding search via a coordinate point on the map\n * @param coordinates Coordinates array for the search input\n * @param options Options parameters for the search\n * @returns {Promise<Place>} - Promise that resolves to a place matching search coordinates\n */\n async searchByCoordinates(coordinates, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifySearchIndex(options?.searchIndexName);\n const locationServiceInput = {\n Position: coordinates,\n IndexName: this._config.search_indices.default,\n };\n if (options) {\n if (options.searchIndexName) {\n locationServiceInput.IndexName = options.searchIndexName;\n }\n locationServiceInput.MaxResults = options.maxResults;\n }\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SearchByCoordinates),\n });\n const command = new SearchPlaceIndexForPositionCommand(locationServiceInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n /**\n * The response from Amazon Location Service is a \"Results\" array with a single `Place` object\n * which are Place objects in PascalCase.\n * Here we want to flatten that to an array of results and change them to camelCase\n */\n const PascalResults = response.Results.map(result => result.Place);\n const results = camelcaseKeys(PascalResults[0], {\n deep: true,\n });\n return results;\n }\n /**\n * Create geofences inside of a geofence collection\n * @param geofences Array of geofence objects to create\n * @param options Optional parameters for creating geofences\n * @returns a promise that resolves to an object that conforms to {@link SaveGeofencesResults}:\n * successes: list of geofences successfully created\n * errors: list of geofences that failed to create\n */\n async saveGeofences(geofences, options) {\n if (geofences.length < 1) {\n throw new Error('Geofence input array is empty');\n }\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n // Verify geofence collection exists in aws-config.js\n try {\n this._verifyGeofenceCollections(options?.collectionName);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n validateGeofencesInput(geofences);\n // Convert geofences to PascalCase for Amazon Location Service format\n const PascalGeofences = geofences.map(({ geofenceId, geometry: { polygon } }) => {\n return {\n GeofenceId: geofenceId,\n Geometry: {\n Polygon: polygon,\n },\n };\n });\n const results = {\n successes: [],\n errors: [],\n };\n const geofenceBatches = [];\n while (PascalGeofences.length > 0) {\n // Splice off 10 geofences from input clone due to Amazon Location Service API limit\n const apiLimit = 10;\n geofenceBatches.push(PascalGeofences.splice(0, apiLimit));\n }\n await Promise.all(geofenceBatches.map(async (batch) => {\n // Make API call for the 10 geofences\n let response;\n try {\n response = await this._AmazonLocationServiceBatchPutGeofenceCall(batch, options?.collectionName || this._config.geofenceCollections.default);\n }\n catch (error) {\n // If the API call fails, add the geofences to the errors array and move to next batch\n batch.forEach(geofence => {\n results.errors.push({\n geofenceId: geofence.GeofenceId,\n error: {\n code: 'APIConnectionError',\n message: error.message,\n },\n });\n });\n return;\n }\n // Push all successes to results\n response.Successes?.forEach(success => {\n const { GeofenceId: geofenceId, CreateTime, UpdateTime } = success;\n results.successes.push({\n geofenceId: geofenceId,\n createTime: CreateTime,\n updateTime: UpdateTime,\n });\n });\n // Push all errors to results\n response.Errors?.forEach(error => {\n const { Error, GeofenceId: geofenceId } = error;\n const { Code, Message } = Error;\n results.errors.push({\n error: {\n code: Code,\n message: Message,\n },\n geofenceId: geofenceId,\n });\n });\n }));\n return results;\n }\n /**\n * Get geofence from a geofence collection\n * @param geofenceId string\n * @param options Optional parameters for getGeofence\n * @returns {Promise<AmazonLocationServiceGeofence>} - Promise that resolves to a geofence object\n */\n async getGeofence(geofenceId, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n // Verify geofence collection exists in aws-config.js\n try {\n this._verifyGeofenceCollections(options?.collectionName);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n validateGeofenceId(geofenceId);\n // Create Amazon Location Service Client\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.GetGeofence),\n });\n // Create Amazon Location Service command\n const commandInput = {\n GeofenceId: geofenceId,\n CollectionName: options?.collectionName || this._config.geofenceCollections.default,\n };\n const command = new GetGeofenceCommand(commandInput);\n // Make API call\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n // Convert response to camelCase for return\n const { GeofenceId: responseGeofenceId, CreateTime, UpdateTime, Status, Geometry, } = response;\n const geofence = {\n createTime: CreateTime,\n geofenceId: responseGeofenceId,\n geometry: {\n polygon: Geometry.Polygon,\n },\n status: Status,\n updateTime: UpdateTime,\n };\n return geofence;\n }\n /**\n * List geofences from a geofence collection\n * @param options ListGeofenceOptions\n * @returns a promise that resolves to an object that conforms to {@link ListGeofenceResults}:\n * entries: list of geofences - 100 geofences are listed per page\n * nextToken: token for next page of geofences\n */\n async listGeofences(options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n // Verify geofence collection exists in aws-config.js\n try {\n this._verifyGeofenceCollections(options?.collectionName);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n // Create Amazon Location Service Client\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.ListGeofences),\n });\n // Create Amazon Location Service input\n const listGeofencesInput = {\n NextToken: options?.nextToken,\n CollectionName: options?.collectionName || this._config.geofenceCollections.default,\n };\n // Create Amazon Location Service command\n const command = new ListGeofencesCommand(listGeofencesInput);\n // Make API call\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n // Convert response to camelCase for return\n const { NextToken, Entries } = response;\n const results = {\n entries: Entries.map(({ GeofenceId: geofenceId, CreateTime, UpdateTime, Status, Geometry, }) => {\n return {\n geofenceId: geofenceId,\n createTime: CreateTime,\n updateTime: UpdateTime,\n status: Status,\n geometry: {\n polygon: Geometry.Polygon,\n },\n };\n }),\n nextToken: NextToken,\n };\n return results;\n }\n /**\n * Delete geofences from a geofence collection\n * @param geofenceIds string|string[]\n * @param options GeofenceOptions\n * @returns a promise that resolves to an object that conforms to {@link AmazonLocationServiceDeleteGeofencesResults}:\n * successes: list of geofences successfully deleted\n * errors: list of geofences that failed to delete\n */\n async deleteGeofences(geofenceIds, options) {\n if (geofenceIds.length < 1) {\n throw new Error('GeofenceId input array is empty');\n }\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifyGeofenceCollections(options?.collectionName);\n // Validate all geofenceIds are valid\n const badGeofenceIds = geofenceIds.filter(geofenceId => {\n try {\n validateGeofenceId(geofenceId);\n }\n catch (error) {\n return true;\n }\n return false;\n });\n if (badGeofenceIds.length > 0) {\n throw new Error(`Invalid geofence ids: ${badGeofenceIds.join(', ')}`);\n }\n const results = {\n successes: [],\n errors: [],\n };\n const geofenceIdBatches = [];\n let count = 0;\n while (count < geofenceIds.length) {\n geofenceIdBatches.push(geofenceIds.slice(count, (count += 10)));\n }\n await Promise.all(geofenceIdBatches.map(async (batch) => {\n let response;\n try {\n response = await this._AmazonLocationServiceBatchDeleteGeofenceCall(batch, options?.collectionName || this._config.geofenceCollections.default);\n }\n catch (error) {\n // If the API call fails, add the geofences to the errors array and move to next batch\n batch.forEach(geofenceId => {\n const errorObject = {\n geofenceId,\n error: {\n code: error\n .message,\n message: error\n .message,\n },\n };\n results.errors.push(errorObject);\n });\n return;\n }\n const targetBadGeofenceIds = response.Errors.map(({ geofenceId }) => geofenceId);\n results.successes.push(...batch.filter(Id => !targetBadGeofenceIds.includes(Id)));\n }));\n return results;\n }\n /**\n * @private\n */\n async _ensureCredentials() {\n try {\n const { credentials } = await fetchAuthSession();\n if (!credentials)\n return false;\n logger.debug('Set credentials for storage. Credentials are:', credentials);\n this._credentials = credentials;\n return true;\n }\n catch (error) {\n logger.debug('Ensure credentials error. Credentials are:', error);\n return false;\n }\n }\n _refreshConfig() {\n this._config = Amplify.getConfig().Geo?.LocationService;\n if (!this._config) {\n const errorString = \"No Geo configuration found in amplify config, run 'amplify add geo' to create one and run `amplify push` after\";\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n _verifyMapResources() {\n this._refreshConfig();\n if (!this._config.maps) {\n const errorString = \"No map resources found in amplify config, run 'amplify add geo' to create one and run `amplify push` after\";\n logger.debug(errorString);\n throw new Error(errorString);\n }\n if (!this._config.maps.default) {\n const errorString = \"No default map resource found in amplify config, run 'amplify add geo' to create one and run `amplify push` after\";\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n _verifySearchIndex(optionalSearchIndex) {\n this._refreshConfig();\n if ((!this._config.searchIndices || !this._config.searchIndices.default) &&\n !optionalSearchIndex) {\n const errorString = 'No Search Index found in amplify config, please run `amplify add geo` to create one and run `amplify push` after.';\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n _verifyGeofenceCollections(optionalGeofenceCollectionName) {\n this._refreshConfig();\n if ((!this._config.geofenceCollections ||\n !this._config.geofenceCollections.default) &&\n !optionalGeofenceCollectionName) {\n const errorString = 'No Geofence Collections found, please run `amplify add geo` to create one and run `amplify push` after.';\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n async _AmazonLocationServiceBatchPutGeofenceCall(PascalGeofences, collectionName) {\n // Create the BatchPutGeofence input\n const geofenceInput = {\n Entries: PascalGeofences,\n CollectionName: collectionName || this._config.geofenceCollections.default,\n };\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SaveGeofences),\n });\n const command = new BatchPutGeofenceCommand(geofenceInput);\n return client.send(command);\n }\n async _AmazonLocationServiceBatchDeleteGeofenceCall(geofenceIds, collectionName) {\n // Create the BatchDeleteGeofence input\n const deleteGeofencesInput = {\n GeofenceIds: geofenceIds,\n CollectionName: collectionName || this._config.geofenceCollections.default,\n };\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.DeleteGeofences),\n });\n const command = new BatchDeleteGeofenceCommand(deleteGeofencesInput);\n return client.send(command);\n }\n}\nAmazonLocationServiceProvider.CATEGORY = 'Geo';\nAmazonLocationServiceProvider.PROVIDER_NAME = 'AmazonLocationService';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AmazonLocationServiceProvider.mjs","sources":["../../../../src/providers/location-service/AmazonLocationServiceProvider.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport camelcaseKeys from 'camelcase-keys';\nimport { Amplify, fetchAuthSession, ConsoleLogger } from '@aws-amplify/core';\nimport { GeoAction } from '@aws-amplify/core/internals/utils';\nimport { LocationClient, SearchPlaceIndexForTextCommand, SearchPlaceIndexForSuggestionsCommand, SearchPlaceIndexForPositionCommand, BatchPutGeofenceCommand, GetPlaceCommand, GetGeofenceCommand, ListGeofencesCommand, BatchDeleteGeofenceCommand, } from '@aws-sdk/client-location';\nimport { getGeoUserAgent, mapSearchOptions, validateGeofenceId, validateGeofencesInput, } from '../../util';\nconst logger = new ConsoleLogger('AmazonLocationServiceProvider');\nexport class AmazonLocationServiceProvider {\n /**\n * Initialize Geo with AWS configurations\n * @param {Object} config - Configuration object for Geo\n */\n constructor(config) {\n this._config = config ? config : {};\n logger.debug('Geo Options', this._config);\n }\n /**\n * get the category of the plugin\n * @returns {string} name of the category\n */\n getCategory() {\n return AmazonLocationServiceProvider.CATEGORY;\n }\n /**\n * get provider name of the plugin\n * @returns {string} name of the provider\n */\n getProviderName() {\n return AmazonLocationServiceProvider.PROVIDER_NAME;\n }\n /**\n * Get the map resources that are currently available through the provider\n * @returns {AmazonLocationServiceMapStyle[]}- Array of available map resources\n */\n getAvailableMaps() {\n this._verifyMapResources();\n const mapStyles = [];\n const availableMaps = this._config.maps.items;\n const region = this._config.region;\n for (const mapName in availableMaps) {\n const style = availableMaps[mapName].style;\n mapStyles.push({ mapName, style, region });\n }\n return mapStyles;\n }\n /**\n * Get the map resource set as default in amplify config\n * @returns {AmazonLocationServiceMapStyle} - Map resource set as the default in amplify config\n */\n getDefaultMap() {\n this._verifyMapResources();\n const mapName = this._config.maps.default;\n const style = this._config.maps.items[mapName].style;\n const region = this._config.region;\n return { mapName, style, region };\n }\n /**\n * Search by text input with optional parameters\n * @param {string} text The text string that is to be searched for\n * @param {SearchByTextOptions} options Optional parameters to the search\n * @returns {Promise<Place[]>} - Promise resolves to a list of Places that match search parameters\n */\n async searchByText(text, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifySearchIndex(options?.searchIndexName);\n /**\n * Setup the searchInput\n */\n let locationServiceInput = {\n Text: text,\n IndexName: this._config.search_indices.default,\n };\n /**\n * Map search options to Amazon Location Service input object\n */\n if (options) {\n locationServiceInput = {\n ...locationServiceInput,\n ...mapSearchOptions(options, locationServiceInput),\n };\n }\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SearchByText),\n });\n const command = new SearchPlaceIndexForTextCommand(locationServiceInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n /**\n * The response from Amazon Location Service is a \"Results\" array of objects with a single `Place` item,\n * which are Place objects in PascalCase.\n * Here we want to flatten that to an array of results and change them to camelCase\n */\n const PascalResults = response.Results.map(result => result.Place);\n const results = camelcaseKeys(PascalResults, {\n deep: true,\n });\n return results;\n }\n /**\n * Search for suggestions based on the input text\n * @param {string} text The text string that is to be searched for\n * @param {SearchByTextOptions} options Optional parameters to the search\n * @returns {Promise<SearchForSuggestionsResults>} - Resolves to an array of search suggestion strings\n */\n async searchForSuggestions(text, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifySearchIndex(options?.searchIndexName);\n /**\n * Setup the searchInput\n */\n let locationServiceInput = {\n Text: text,\n IndexName: this._config.search_indices.default,\n };\n /**\n * Map search options to Amazon Location Service input object\n */\n if (options) {\n locationServiceInput = {\n ...locationServiceInput,\n ...mapSearchOptions(options, locationServiceInput),\n };\n }\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SearchForSuggestions),\n });\n const command = new SearchPlaceIndexForSuggestionsCommand(locationServiceInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n /**\n * The response from Amazon Location Service is a \"Results\" array of objects with `Text` and `PlaceId`.\n */\n const results = response.Results.map(result => ({\n text: result.Text,\n placeId: result.PlaceId,\n }));\n return results;\n }\n _verifyPlaceId(placeId) {\n if (placeId.length === 0) {\n const errorString = 'PlaceId cannot be an empty string.';\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n async searchByPlaceId(placeId, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifySearchIndex(options?.searchIndexName);\n this._verifyPlaceId(placeId);\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SearchByPlaceId),\n });\n const searchByPlaceIdInput = {\n PlaceId: placeId,\n IndexName: options?.searchIndexName || this._config.search_indices.default,\n };\n const command = new GetPlaceCommand(searchByPlaceIdInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n const place = response.Place;\n if (place) {\n return camelcaseKeys(place, { deep: true });\n }\n return;\n }\n /**\n * Reverse geocoding search via a coordinate point on the map\n * @param coordinates Coordinates array for the search input\n * @param options Options parameters for the search\n * @returns {Promise<Place>} - Promise that resolves to a place matching search coordinates\n */\n async searchByCoordinates(coordinates, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifySearchIndex(options?.searchIndexName);\n const locationServiceInput = {\n Position: coordinates,\n IndexName: this._config.search_indices.default,\n };\n if (options) {\n if (options.searchIndexName) {\n locationServiceInput.IndexName = options.searchIndexName;\n }\n locationServiceInput.MaxResults = options.maxResults;\n }\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SearchByCoordinates),\n });\n const command = new SearchPlaceIndexForPositionCommand(locationServiceInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n /**\n * The response from Amazon Location Service is a \"Results\" array with a single `Place` object\n * which are Place objects in PascalCase.\n * Here we want to flatten that to an array of results and change them to camelCase\n */\n const PascalResults = response.Results.map(result => result.Place);\n const results = camelcaseKeys(PascalResults[0], {\n deep: true,\n });\n return results;\n }\n /**\n * Create geofences inside of a geofence collection\n * @param geofences Array of geofence objects to create\n * @param options Optional parameters for creating geofences\n * @returns {Promise<AmazonLocationServiceSaveGeofencesResults>} - Promise that resolves to an object with:\n * successes: list of geofences successfully created\n * errors: list of geofences that failed to create\n */\n async saveGeofences(geofences, options) {\n if (geofences.length < 1) {\n throw new Error('Geofence input array is empty');\n }\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n // Verify geofence collection exists in aws-config.js\n try {\n this._verifyGeofenceCollections(options?.collectionName);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n validateGeofencesInput(geofences);\n // Convert geofences to PascalCase for Amazon Location Service format\n const PascalGeofences = geofences.map(({ geofenceId, geometry: { polygon } }) => {\n return {\n GeofenceId: geofenceId,\n Geometry: {\n Polygon: polygon,\n },\n };\n });\n const results = {\n successes: [],\n errors: [],\n };\n const geofenceBatches = [];\n while (PascalGeofences.length > 0) {\n // Splice off 10 geofences from input clone due to Amazon Location Service API limit\n const apiLimit = 10;\n geofenceBatches.push(PascalGeofences.splice(0, apiLimit));\n }\n await Promise.all(geofenceBatches.map(async (batch) => {\n // Make API call for the 10 geofences\n let response;\n try {\n response = await this._AmazonLocationServiceBatchPutGeofenceCall(batch, options?.collectionName || this._config.geofenceCollections.default);\n }\n catch (error) {\n // If the API call fails, add the geofences to the errors array and move to next batch\n batch.forEach(geofence => {\n results.errors.push({\n geofenceId: geofence.GeofenceId,\n error: {\n code: 'APIConnectionError',\n message: error.message,\n },\n });\n });\n return;\n }\n // Push all successes to results\n response.Successes?.forEach(success => {\n const { GeofenceId, CreateTime, UpdateTime } = success;\n results.successes.push({\n geofenceId: GeofenceId,\n createTime: CreateTime,\n updateTime: UpdateTime,\n });\n });\n // Push all errors to results\n response.Errors?.forEach(error => {\n const { Error, GeofenceId } = error;\n const { Code, Message } = Error;\n results.errors.push({\n error: {\n code: Code,\n message: Message,\n },\n geofenceId: GeofenceId,\n });\n });\n }));\n return results;\n }\n /**\n * Get geofence from a geofence collection\n * @param geofenceId string\n * @param options Optional parameters for getGeofence\n * @returns {Promise<AmazonLocationServiceGeofence>} - Promise that resolves to a geofence object\n */\n async getGeofence(geofenceId, options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n // Verify geofence collection exists in aws-config.js\n try {\n this._verifyGeofenceCollections(options?.collectionName);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n validateGeofenceId(geofenceId);\n // Create Amazon Location Service Client\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.GetGeofence),\n });\n // Create Amazon Location Service command\n const commandInput = {\n GeofenceId: geofenceId,\n CollectionName: options?.collectionName || this._config.geofenceCollections.default,\n };\n const command = new GetGeofenceCommand(commandInput);\n // Make API call\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n // Convert response to camelCase for return\n const { GeofenceId, CreateTime, UpdateTime, Status, Geometry } = response;\n const geofence = {\n createTime: CreateTime,\n geofenceId: GeofenceId,\n geometry: {\n polygon: Geometry.Polygon,\n },\n status: Status,\n updateTime: UpdateTime,\n };\n return geofence;\n }\n /**\n * List geofences from a geofence collection\n * @param options ListGeofenceOptions\n * @returns {Promise<ListGeofencesResults>} - Promise that resolves to an object with:\n * entries: list of geofences - 100 geofences are listed per page\n * nextToken: token for next page of geofences\n */\n async listGeofences(options) {\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n // Verify geofence collection exists in aws-config.js\n try {\n this._verifyGeofenceCollections(options?.collectionName);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n // Create Amazon Location Service Client\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.ListGeofences),\n });\n // Create Amazon Location Service input\n const listGeofencesInput = {\n NextToken: options?.nextToken,\n CollectionName: options?.collectionName || this._config.geofenceCollections.default,\n };\n // Create Amazon Location Service command\n const command = new ListGeofencesCommand(listGeofencesInput);\n // Make API call\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n logger.debug(error);\n throw error;\n }\n // Convert response to camelCase for return\n const { NextToken, Entries } = response;\n const results = {\n entries: Entries.map(({ GeofenceId, CreateTime, UpdateTime, Status, Geometry }) => {\n return {\n geofenceId: GeofenceId,\n createTime: CreateTime,\n updateTime: UpdateTime,\n status: Status,\n geometry: {\n polygon: Geometry.Polygon,\n },\n };\n }),\n nextToken: NextToken,\n };\n return results;\n }\n /**\n * Delete geofences from a geofence collection\n * @param geofenceIds string|string[]\n * @param options GeofenceOptions\n * @returns {Promise<DeleteGeofencesResults>} - Promise that resolves to an object with:\n * successes: list of geofences successfully deleted\n * errors: list of geofences that failed to delete\n */\n async deleteGeofences(geofenceIds, options) {\n if (geofenceIds.length < 1) {\n throw new Error('GeofenceId input array is empty');\n }\n const credentialsOK = await this._ensureCredentials();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n this._verifyGeofenceCollections(options?.collectionName);\n // Validate all geofenceIds are valid\n const badGeofenceIds = geofenceIds.filter(geofenceId => {\n try {\n validateGeofenceId(geofenceId);\n }\n catch (error) {\n return true;\n }\n });\n if (badGeofenceIds.length > 0) {\n throw new Error(`Invalid geofence ids: ${badGeofenceIds.join(', ')}`);\n }\n const results = {\n successes: [],\n errors: [],\n };\n const geofenceIdBatches = [];\n let count = 0;\n while (count < geofenceIds.length) {\n geofenceIdBatches.push(geofenceIds.slice(count, (count += 10)));\n }\n await Promise.all(geofenceIdBatches.map(async (batch) => {\n let response;\n try {\n response = await this._AmazonLocationServiceBatchDeleteGeofenceCall(batch, options?.collectionName || this._config.geofenceCollections.default);\n }\n catch (error) {\n // If the API call fails, add the geofences to the errors array and move to next batch\n batch.forEach(geofenceId => {\n const errorObject = {\n geofenceId,\n error: {\n code: error\n .message,\n message: error\n .message,\n },\n };\n results.errors.push(errorObject);\n });\n return;\n }\n const badGeofenceIds = response.Errors.map(({ geofenceId }) => geofenceId);\n results.successes.push(...batch.filter(Id => !badGeofenceIds.includes(Id)));\n }));\n return results;\n }\n /**\n * @private\n */\n async _ensureCredentials() {\n try {\n const credentials = (await fetchAuthSession()).credentials;\n if (!credentials)\n return false;\n logger.debug('Set credentials for storage. Credentials are:', credentials);\n this._credentials = credentials;\n return true;\n }\n catch (error) {\n logger.debug('Ensure credentials error. Credentials are:', error);\n return false;\n }\n }\n _refreshConfig() {\n this._config = Amplify.getConfig().Geo?.LocationService;\n if (!this._config) {\n const errorString = \"No Geo configuration found in amplify config, run 'amplify add geo' to create one and run `amplify push` after\";\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n _verifyMapResources() {\n this._refreshConfig();\n if (!this._config.maps) {\n const errorString = \"No map resources found in amplify config, run 'amplify add geo' to create one and run `amplify push` after\";\n logger.debug(errorString);\n throw new Error(errorString);\n }\n if (!this._config.maps.default) {\n const errorString = \"No default map resource found in amplify config, run 'amplify add geo' to create one and run `amplify push` after\";\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n _verifySearchIndex(optionalSearchIndex) {\n this._refreshConfig();\n if ((!this._config.searchIndices || !this._config.searchIndices.default) &&\n !optionalSearchIndex) {\n const errorString = 'No Search Index found in amplify config, please run `amplify add geo` to create one and run `amplify push` after.';\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n _verifyGeofenceCollections(optionalGeofenceCollectionName) {\n this._refreshConfig();\n if ((!this._config.geofenceCollections ||\n !this._config.geofenceCollections.default) &&\n !optionalGeofenceCollectionName) {\n const errorString = 'No Geofence Collections found, please run `amplify add geo` to create one and run `amplify push` after.';\n logger.debug(errorString);\n throw new Error(errorString);\n }\n }\n async _AmazonLocationServiceBatchPutGeofenceCall(PascalGeofences, collectionName) {\n // Create the BatchPutGeofence input\n const geofenceInput = {\n Entries: PascalGeofences,\n CollectionName: collectionName || this._config.geofenceCollections.default,\n };\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.SaveGeofences),\n });\n const command = new BatchPutGeofenceCommand(geofenceInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n throw error;\n }\n return response;\n }\n async _AmazonLocationServiceBatchDeleteGeofenceCall(geofenceIds, collectionName) {\n // Create the BatchDeleteGeofence input\n const deleteGeofencesInput = {\n GeofenceIds: geofenceIds,\n CollectionName: collectionName || this._config.geofenceCollections.default,\n };\n const client = new LocationClient({\n credentials: this._credentials,\n region: this._config.region,\n customUserAgent: getGeoUserAgent(GeoAction.DeleteGeofences),\n });\n const command = new BatchDeleteGeofenceCommand(deleteGeofencesInput);\n let response;\n try {\n response = await client.send(command);\n }\n catch (error) {\n throw error;\n }\n return response;\n }\n}\nAmazonLocationServiceProvider.CATEGORY = 'Geo';\nAmazonLocationServiceProvider.PROVIDER_NAME = 'AmazonLocationService';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MapStyle, GeofenceOptions, ListGeofenceOptions, Geofence, DeleteGeofencesResults, GeofenceError } from './Geo';
|
|
2
2
|
export interface AmazonLocationServiceMapStyle extends MapStyle {
|
|
3
3
|
region: string;
|
|
4
4
|
}
|