hypertrack-sdk-react-native 10.0.2 → 10.0.3

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/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
4
4
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
5
 
6
+ ## [10.0.3] - 2023-08-04
7
+
8
+ ### Fixed
9
+
10
+ - Propagating Android exception stacktrace to JS API
11
+
6
12
  ## [10.0.2] - 2023-06-16
7
13
 
8
14
  ### Changed
@@ -526,6 +532,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
526
532
 
527
533
  Initial release.
528
534
 
535
+ [10.0.3]: https://github.com/hypertrack/sdk-react-native/releases/tag/10.0.3
529
536
  [10.0.2]: https://github.com/hypertrack/sdk-react-native/releases/tag/10.0.2
530
537
  [10.0.1]: https://github.com/hypertrack/sdk-react-native/releases/tag/10.0.1
531
538
  [10.0.0]: https://github.com/hypertrack/sdk-react-native/releases/tag/10.0.0
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
3
  <component name="KotlinJpsPluginSettings">
4
- <option name="version" value="1.7.0" />
4
+ <option name="version" value="1.6.21" />
5
5
  </component>
6
6
  </project>
@@ -4,5 +4,5 @@
4
4
  # Location of the SDK. This is only used by Gradle.
5
5
  # For customization when using a Version Control System, please read the
6
6
  # header note.
7
- #Thu Apr 13 16:52:01 EEST 2023
8
- sdk.dir=/Users/spqrta/Library/Android/sdk
7
+ #Thu Jul 06 15:19:21 EEST 2023
8
+ sdk.dir=/opt/homebrew/share/android-commandlinetools
@@ -26,7 +26,28 @@ internal fun <T> Result<T>.toPromise(promise: Promise) {
26
26
  }
27
27
  }
28
28
  is Failure -> {
29
- promise.reject(Exception(this.failure))
29
+ /**
30
+ * ReactNative NativeBridge converts the Exception to JS Error
31
+ * adding some additional fields (see com.facebook.react.bridge.PromiseImpl.java):
32
+ * "nativeStackAndroid": [
33
+ * {
34
+ * "lineNumber": 29,
35
+ * "file": "ReactNativeSerialization.kt",
36
+ * "methodName": "toPromise",
37
+ * "class": "com.reactnativehypertracksdk.ReactNativeSerializationKt"
38
+ * },
39
+ * ]
40
+ *
41
+ * "userInfo": {}
42
+ *
43
+ * Default ReactNative logger skips the Exception class name in logs, so we build a
44
+ * custom Exception to include the class name in the message.
45
+ *
46
+ * Default Exception.toString() will print both the class name and the message
47
+ */
48
+ val exception = Exception(this.failure.toString())
49
+ exception.stackTrace = this.failure.stackTrace
50
+ promise.reject(exception)
30
51
  }
31
52
  }
32
53
  }
@@ -33,7 +33,7 @@ internal object HyperTrackSdkWrapper {
33
33
  ): Result<HyperTrack> {
34
34
  return try {
35
35
  SdkInitParams.fromMap(args)
36
- .flatMapSuccess { initParams ->
36
+ .flatMapSuccess { initParams ->
37
37
  _sdkInstance = HyperTrack.getInstance(initParams.publishableKey)
38
38
  if (initParams.loggingEnabled) {
39
39
  HyperTrack.enableDebugLogging()
@@ -47,7 +47,7 @@ internal object HyperTrackSdkWrapper {
47
47
  Success(sdkInstance)
48
48
  }
49
49
  } catch (exception: Exception) {
50
- Failure(Exception("Hypertrack SDK initialization failed.", exception))
50
+ Failure(exception)
51
51
  }
52
52
  }
53
53
 
@@ -200,7 +200,7 @@ internal object Serialization {
200
200
  deviation: Double
201
201
  ): Map<String, Any?> {
202
202
  return mapOf(
203
- KEY_TYPE to TYPE_LOCATION,
203
+ KEY_TYPE to TYPE_LOCATION_WITH_DEVIATION,
204
204
  KEY_VALUE to mapOf(
205
205
  KEY_LOCATION to serializeLocation(location),
206
206
  KEY_DEVIATION to deviation
@@ -43,7 +43,7 @@ class HyperTrack {
43
43
  });
44
44
  return new HyperTrack();
45
45
  } catch (error) {
46
- throw new Error(error.message);
46
+ throw error;
47
47
  }
48
48
  }
49
49
 
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_HyperTrackError","EVENT_TRACKING","EVENT_AVAILABILITY","EVENT_ERROR","LINKING_ERROR","Platform","select","ios","default","HyperTrackSdk","NativeModules","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","NativeEventEmitter","HyperTrack","constructor","initialize","publishableKey","sdkInitParams","arguments","length","undefined","initializeSdk","loggingEnabled","allowMockLocations","requireBackgroundTrackingPermission","automaticallyRequestPermissions","error","message","getDeviceId","then","deviceId","value","isAvailable","setAvailability","type","isTracking","sync","startTracking","stopTracking","getLocation","locationResponse","deserializeLocationResponse","setName","name","setMetadata","data","addGeotag","_len","args","Array","_key","expectedLocation","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","subscribeToErrors","listener","addListener","rawErrors","deserializeHyperTrackErrors","subscribeToTracking","subscribeToAvailability","errors","map","HyperTrackError","response","deserializeLocationError","locationWithDeviationInternal","locationInternal","location","deviation","locationError","obj","exports"],"sources":["HyperTrack.ts"],"sourcesContent":["import { NativeModules, Platform, NativeEventEmitter } from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { SdkInitParams } from './data_types/SdkInitParams';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { DeviceName } from './data_types/internal/DeviceName';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\n\nconst EVENT_TRACKING = 'onTrackingChanged';\nconst EVENT_AVAILABILITY = 'onAvailabilityChanged';\nconst EVENT_ERROR = 'onError';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private constructor() {\n return this;\n }\n\n /**\n * Creates an SDK instance\n *\n * @param publishableKey publishable key provided in HyperTrack’s dashboard setup page\n * @param sdkInitParams\n * @returns HyperTrack instance\n */\n static async initialize(\n publishableKey: string,\n sdkInitParams: SdkInitParams = {}\n ): Promise<HyperTrack> {\n try {\n await HyperTrackSdk.initializeSdk({\n publishableKey,\n loggingEnabled: sdkInitParams.loggingEnabled ?? false,\n allowMockLocations: sdkInitParams.allowMockLocations ?? false,\n requireBackgroundTrackingPermission:\n sdkInitParams.requireBackgroundTrackingPermission ?? false,\n automaticallyRequestPermissions:\n sdkInitParams.automaticallyRequestPermissions ?? true,\n });\n return new HyperTrack();\n } catch (error: any) {\n throw new Error(error.message);\n }\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n */\n getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n isAvailable(): Promise<boolean> {\n return HyperTrackSdk.isAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n setAvailability(isAvailable: boolean) {\n HyperTrackSdk.setAvailability({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @return {boolean} Whether the user's movement data is getting tracked or not.\n */\n isTracking(): Promise<boolean> {\n return HyperTrackSdk.isTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Syncs the device state with the HyperTrack servers\n */\n sync() {\n HyperTrackSdk.sync();\n }\n\n /**\n * Expresses an intent to start location tracking for the device\n */\n startTracking() {\n HyperTrackSdk.startTracking();\n }\n\n /**\n * Stops location tracking immediately\n */\n stopTracking() {\n HyperTrackSdk.stopTracking();\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Sets the name for the device\n * @param {string} name\n */\n setName(name: string) {\n HyperTrackSdk.setName({\n type: 'deviceName',\n value: name,\n } as DeviceName);\n }\n\n /**\n * Sets the metadata for the device\n * @param {Object} data - Metadata JSON\n */\n setMetadata(data: Object) {\n HyperTrackSdk.setMetadata(data);\n }\n\n /**\n * Adds a new geotag\n *\n * @param {Object} data - Geotad data JSON\n * @returns current location if success or LocationError if failure\n */\n async addGeotag(data: Object): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotad data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (args.length === 1 && typeof args[0] === 'object') {\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n } else if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n this.isLocation(args[1])\n ) {\n let expectedLocation = args[1] as Location;\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: expectedLocation.latitude,\n longitude: expectedLocation.longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n } else {\n throw new Error('Invalid arguments');\n }\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToErrors(listener: (errors: HyperTrackError[]) => void) {\n return EventEmitter.addListener(\n EVENT_ERROR,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToTracking(listener: (isTracking: boolean) => void) {\n return EventEmitter.addListener(\n EVENT_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToAvailability(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToAvailability(listener: (isAvailable: boolean) => void) {\n return EventEmitter.addListener(\n EVENT_AVAILABILITY,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /** @ignore */\n private deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n return errors.map(\n (error: HyperTrackErrorInternal) =>\n HyperTrackError[error.value as keyof typeof HyperTrackError]\n );\n }\n\n /** @ignore */\n private deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude == 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude == 'number'\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_HyperTrackError","EVENT_TRACKING","EVENT_AVAILABILITY","EVENT_ERROR","LINKING_ERROR","Platform","select","ios","default","HyperTrackSdk","NativeModules","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","NativeEventEmitter","HyperTrack","constructor","initialize","publishableKey","sdkInitParams","arguments","length","undefined","initializeSdk","loggingEnabled","allowMockLocations","requireBackgroundTrackingPermission","automaticallyRequestPermissions","error","getDeviceId","then","deviceId","value","isAvailable","setAvailability","type","isTracking","sync","startTracking","stopTracking","getLocation","locationResponse","deserializeLocationResponse","setName","name","setMetadata","data","addGeotag","_len","args","Array","_key","expectedLocation","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","subscribeToErrors","listener","addListener","rawErrors","deserializeHyperTrackErrors","subscribeToTracking","subscribeToAvailability","errors","map","HyperTrackError","response","deserializeLocationError","locationWithDeviationInternal","locationInternal","location","deviation","locationError","obj","exports"],"sources":["HyperTrack.ts"],"sourcesContent":["import { NativeModules, Platform, NativeEventEmitter } from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { SdkInitParams } from './data_types/SdkInitParams';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { DeviceName } from './data_types/internal/DeviceName';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\n\nconst EVENT_TRACKING = 'onTrackingChanged';\nconst EVENT_AVAILABILITY = 'onAvailabilityChanged';\nconst EVENT_ERROR = 'onError';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private constructor() {\n return this;\n }\n\n /**\n * Creates an SDK instance\n *\n * @param publishableKey publishable key provided in HyperTrack’s dashboard setup page\n * @param sdkInitParams\n * @returns HyperTrack instance\n */\n static async initialize(\n publishableKey: string,\n sdkInitParams: SdkInitParams = {}\n ): Promise<HyperTrack> {\n try {\n await HyperTrackSdk.initializeSdk({\n publishableKey,\n loggingEnabled: sdkInitParams.loggingEnabled ?? false,\n allowMockLocations: sdkInitParams.allowMockLocations ?? false,\n requireBackgroundTrackingPermission:\n sdkInitParams.requireBackgroundTrackingPermission ?? false,\n automaticallyRequestPermissions:\n sdkInitParams.automaticallyRequestPermissions ?? true,\n });\n return new HyperTrack();\n } catch (error: any) {\n throw error;\n }\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n */\n getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n isAvailable(): Promise<boolean> {\n return HyperTrackSdk.isAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n setAvailability(isAvailable: boolean) {\n HyperTrackSdk.setAvailability({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @return {boolean} Whether the user's movement data is getting tracked or not.\n */\n isTracking(): Promise<boolean> {\n return HyperTrackSdk.isTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Syncs the device state with the HyperTrack servers\n */\n sync() {\n HyperTrackSdk.sync();\n }\n\n /**\n * Expresses an intent to start location tracking for the device\n */\n startTracking() {\n HyperTrackSdk.startTracking();\n }\n\n /**\n * Stops location tracking immediately\n */\n stopTracking() {\n HyperTrackSdk.stopTracking();\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Sets the name for the device\n * @param {string} name\n */\n setName(name: string) {\n HyperTrackSdk.setName({\n type: 'deviceName',\n value: name,\n } as DeviceName);\n }\n\n /**\n * Sets the metadata for the device\n * @param {Object} data - Metadata JSON\n */\n setMetadata(data: Object) {\n HyperTrackSdk.setMetadata(data);\n }\n\n /**\n * Adds a new geotag\n *\n * @param {Object} data - Geotad data JSON\n * @returns current location if success or LocationError if failure\n */\n async addGeotag(data: Object): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotad data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (args.length === 1 && typeof args[0] === 'object') {\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n } else if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n this.isLocation(args[1])\n ) {\n let expectedLocation = args[1] as Location;\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: expectedLocation.latitude,\n longitude: expectedLocation.longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n } else {\n throw new Error('Invalid arguments');\n }\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToErrors(listener: (errors: HyperTrackError[]) => void) {\n return EventEmitter.addListener(\n EVENT_ERROR,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToTracking(listener: (isTracking: boolean) => void) {\n return EventEmitter.addListener(\n EVENT_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToAvailability(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToAvailability(listener: (isAvailable: boolean) => void) {\n return EventEmitter.addListener(\n EVENT_AVAILABILITY,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /** @ignore */\n private deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n return errors.map(\n (error: HyperTrackErrorInternal) =>\n HyperTrackError[error.value as keyof typeof HyperTrackError]\n );\n }\n\n /** @ignore */\n private deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude == 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude == 'number'\n );\n }\n}\n"],"mappings":"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"}
@@ -37,7 +37,7 @@ export default class HyperTrack {
37
37
  });
38
38
  return new HyperTrack();
39
39
  } catch (error) {
40
- throw new Error(error.message);
40
+ throw error;
41
41
  }
42
42
  }
43
43
 
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","HyperTrackError","EVENT_TRACKING","EVENT_AVAILABILITY","EVENT_ERROR","LINKING_ERROR","select","ios","default","HyperTrackSdk","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","HyperTrack","constructor","initialize","publishableKey","sdkInitParams","arguments","length","undefined","initializeSdk","loggingEnabled","allowMockLocations","requireBackgroundTrackingPermission","automaticallyRequestPermissions","error","message","getDeviceId","then","deviceId","value","isAvailable","setAvailability","type","isTracking","sync","startTracking","stopTracking","getLocation","locationResponse","deserializeLocationResponse","setName","name","setMetadata","data","addGeotag","_len","args","Array","_key","expectedLocation","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","subscribeToErrors","listener","addListener","rawErrors","deserializeHyperTrackErrors","subscribeToTracking","subscribeToAvailability","errors","map","response","deserializeLocationError","locationWithDeviationInternal","locationInternal","location","deviation","locationError","obj"],"sources":["HyperTrack.ts"],"sourcesContent":["import { NativeModules, Platform, NativeEventEmitter } from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { SdkInitParams } from './data_types/SdkInitParams';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { DeviceName } from './data_types/internal/DeviceName';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\n\nconst EVENT_TRACKING = 'onTrackingChanged';\nconst EVENT_AVAILABILITY = 'onAvailabilityChanged';\nconst EVENT_ERROR = 'onError';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private constructor() {\n return this;\n }\n\n /**\n * Creates an SDK instance\n *\n * @param publishableKey publishable key provided in HyperTrack’s dashboard setup page\n * @param sdkInitParams\n * @returns HyperTrack instance\n */\n static async initialize(\n publishableKey: string,\n sdkInitParams: SdkInitParams = {}\n ): Promise<HyperTrack> {\n try {\n await HyperTrackSdk.initializeSdk({\n publishableKey,\n loggingEnabled: sdkInitParams.loggingEnabled ?? false,\n allowMockLocations: sdkInitParams.allowMockLocations ?? false,\n requireBackgroundTrackingPermission:\n sdkInitParams.requireBackgroundTrackingPermission ?? false,\n automaticallyRequestPermissions:\n sdkInitParams.automaticallyRequestPermissions ?? true,\n });\n return new HyperTrack();\n } catch (error: any) {\n throw new Error(error.message);\n }\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n */\n getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n isAvailable(): Promise<boolean> {\n return HyperTrackSdk.isAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n setAvailability(isAvailable: boolean) {\n HyperTrackSdk.setAvailability({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @return {boolean} Whether the user's movement data is getting tracked or not.\n */\n isTracking(): Promise<boolean> {\n return HyperTrackSdk.isTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Syncs the device state with the HyperTrack servers\n */\n sync() {\n HyperTrackSdk.sync();\n }\n\n /**\n * Expresses an intent to start location tracking for the device\n */\n startTracking() {\n HyperTrackSdk.startTracking();\n }\n\n /**\n * Stops location tracking immediately\n */\n stopTracking() {\n HyperTrackSdk.stopTracking();\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Sets the name for the device\n * @param {string} name\n */\n setName(name: string) {\n HyperTrackSdk.setName({\n type: 'deviceName',\n value: name,\n } as DeviceName);\n }\n\n /**\n * Sets the metadata for the device\n * @param {Object} data - Metadata JSON\n */\n setMetadata(data: Object) {\n HyperTrackSdk.setMetadata(data);\n }\n\n /**\n * Adds a new geotag\n *\n * @param {Object} data - Geotad data JSON\n * @returns current location if success or LocationError if failure\n */\n async addGeotag(data: Object): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotad data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (args.length === 1 && typeof args[0] === 'object') {\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n } else if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n this.isLocation(args[1])\n ) {\n let expectedLocation = args[1] as Location;\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: expectedLocation.latitude,\n longitude: expectedLocation.longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n } else {\n throw new Error('Invalid arguments');\n }\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToErrors(listener: (errors: HyperTrackError[]) => void) {\n return EventEmitter.addListener(\n EVENT_ERROR,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToTracking(listener: (isTracking: boolean) => void) {\n return EventEmitter.addListener(\n EVENT_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToAvailability(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToAvailability(listener: (isAvailable: boolean) => void) {\n return EventEmitter.addListener(\n EVENT_AVAILABILITY,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /** @ignore */\n private deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n return errors.map(\n (error: HyperTrackErrorInternal) =>\n HyperTrackError[error.value as keyof typeof HyperTrackError]\n );\n }\n\n /** @ignore */\n private deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude == 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude == 'number'\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","HyperTrackError","EVENT_TRACKING","EVENT_AVAILABILITY","EVENT_ERROR","LINKING_ERROR","select","ios","default","HyperTrackSdk","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","HyperTrack","constructor","initialize","publishableKey","sdkInitParams","arguments","length","undefined","initializeSdk","loggingEnabled","allowMockLocations","requireBackgroundTrackingPermission","automaticallyRequestPermissions","error","getDeviceId","then","deviceId","value","isAvailable","setAvailability","type","isTracking","sync","startTracking","stopTracking","getLocation","locationResponse","deserializeLocationResponse","setName","name","setMetadata","data","addGeotag","_len","args","Array","_key","expectedLocation","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","subscribeToErrors","listener","addListener","rawErrors","deserializeHyperTrackErrors","subscribeToTracking","subscribeToAvailability","errors","map","response","deserializeLocationError","locationWithDeviationInternal","locationInternal","location","deviation","locationError","obj"],"sources":["HyperTrack.ts"],"sourcesContent":["import { NativeModules, Platform, NativeEventEmitter } from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { SdkInitParams } from './data_types/SdkInitParams';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { DeviceName } from './data_types/internal/DeviceName';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\n\nconst EVENT_TRACKING = 'onTrackingChanged';\nconst EVENT_AVAILABILITY = 'onAvailabilityChanged';\nconst EVENT_ERROR = 'onError';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private constructor() {\n return this;\n }\n\n /**\n * Creates an SDK instance\n *\n * @param publishableKey publishable key provided in HyperTrack’s dashboard setup page\n * @param sdkInitParams\n * @returns HyperTrack instance\n */\n static async initialize(\n publishableKey: string,\n sdkInitParams: SdkInitParams = {}\n ): Promise<HyperTrack> {\n try {\n await HyperTrackSdk.initializeSdk({\n publishableKey,\n loggingEnabled: sdkInitParams.loggingEnabled ?? false,\n allowMockLocations: sdkInitParams.allowMockLocations ?? false,\n requireBackgroundTrackingPermission:\n sdkInitParams.requireBackgroundTrackingPermission ?? false,\n automaticallyRequestPermissions:\n sdkInitParams.automaticallyRequestPermissions ?? true,\n });\n return new HyperTrack();\n } catch (error: any) {\n throw error;\n }\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n */\n getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n isAvailable(): Promise<boolean> {\n return HyperTrackSdk.isAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n setAvailability(isAvailable: boolean) {\n HyperTrackSdk.setAvailability({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @return {boolean} Whether the user's movement data is getting tracked or not.\n */\n isTracking(): Promise<boolean> {\n return HyperTrackSdk.isTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Syncs the device state with the HyperTrack servers\n */\n sync() {\n HyperTrackSdk.sync();\n }\n\n /**\n * Expresses an intent to start location tracking for the device\n */\n startTracking() {\n HyperTrackSdk.startTracking();\n }\n\n /**\n * Stops location tracking immediately\n */\n stopTracking() {\n HyperTrackSdk.stopTracking();\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Sets the name for the device\n * @param {string} name\n */\n setName(name: string) {\n HyperTrackSdk.setName({\n type: 'deviceName',\n value: name,\n } as DeviceName);\n }\n\n /**\n * Sets the metadata for the device\n * @param {Object} data - Metadata JSON\n */\n setMetadata(data: Object) {\n HyperTrackSdk.setMetadata(data);\n }\n\n /**\n * Adds a new geotag\n *\n * @param {Object} data - Geotad data JSON\n * @returns current location if success or LocationError if failure\n */\n async addGeotag(data: Object): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotad data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (args.length === 1 && typeof args[0] === 'object') {\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n } else if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n this.isLocation(args[1])\n ) {\n let expectedLocation = args[1] as Location;\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: expectedLocation.latitude,\n longitude: expectedLocation.longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n } else {\n throw new Error('Invalid arguments');\n }\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToErrors(listener: (errors: HyperTrackError[]) => void) {\n return EventEmitter.addListener(\n EVENT_ERROR,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToTracking(listener: (isTracking: boolean) => void) {\n return EventEmitter.addListener(\n EVENT_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToAvailability(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToAvailability(listener: (isAvailable: boolean) => void) {\n return EventEmitter.addListener(\n EVENT_AVAILABILITY,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /** @ignore */\n private deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n return errors.map(\n (error: HyperTrackErrorInternal) =>\n HyperTrackError[error.value as keyof typeof HyperTrackError]\n );\n }\n\n /** @ignore */\n private deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude == 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude == 'number'\n );\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hypertrack-sdk-react-native",
3
- "version": "10.0.2",
3
+ "version": "10.0.3",
4
4
  "description": "React Native HyperTrack SDK is a wrapper around native iOS and Android SDKs that allows to integrate HyperTrack into React Native apps.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -66,7 +66,7 @@ export default class HyperTrack {
66
66
  });
67
67
  return new HyperTrack();
68
68
  } catch (error: any) {
69
- throw new Error(error.message);
69
+ throw error;
70
70
  }
71
71
  }
72
72