hypertrack-sdk-react-native 9.2.2 → 10.0.1

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,23 @@
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.1] - 2023-06-13
7
+
8
+ ### Changed
9
+
10
+ - Updated HyperTrack Android SDK to 6.4.2
11
+
12
+ ## [10.0.0] - 2023-06-06
13
+
14
+ ### Changed
15
+
16
+ - Updated HyperTrack Android SDK to 6.4.1
17
+ - `getLocation` return type to `Result<Location, LocationError>`
18
+
19
+ ### Fixed
20
+
21
+ - `addGeotag` and `getLocation` wrong return type that is different from the one in the API docs (introduced in 9.2.0)
22
+
6
23
  ## [9.2.2] - 2023-06-01
7
24
 
8
25
  ### Changed
@@ -17,14 +34,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
34
 
18
35
  ## [9.2.0] - 2023-05-18
19
36
 
20
- ### Added
21
-
22
- - `addGeotag` with expected location
23
-
24
37
  ### Changed
25
38
 
39
+ - **Breaking change:** Changed `addGeotag` return type to `Result<Location, LocationError>`
26
40
  - HyperTrack iOS SDK updated to 4.15.0
27
41
 
42
+ ### Added
43
+
44
+ - `addGeotag` with expected location
45
+
28
46
  ## [9.1.1] - 2023-03-30
29
47
 
30
48
  ### Fixed
@@ -48,6 +66,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
48
66
  - `syncDeviceSettings()` renamed to `sync()`
49
67
  - `setDeviceName()` renamed to `setName()`
50
68
  - `subscribeToErrors()` callback now has param type (`HyperTrackError`)
69
+ - `getLocation` return type
51
70
  - `LocationError` now has different structure
52
71
 
53
72
  ### Added
@@ -74,7 +93,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
74
93
 
75
94
  ### Fixed
76
95
 
77
- - enableDebugLogging() now doesn't cause an infinite loop when called.
96
+ - `enableDebugLogging()` now doesn't cause an infinite loop when called.
78
97
 
79
98
  ## [8.2.0] - 2022-09-23
80
99
 
@@ -501,6 +520,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
501
520
 
502
521
  Initial release.
503
522
 
523
+ [10.0.1]: https://github.com/hypertrack/sdk-react-native/releases/tag/10.0.1
524
+ [10.0.0]: https://github.com/hypertrack/sdk-react-native/releases/tag/10.0.0
504
525
  [9.2.2]: https://github.com/hypertrack/sdk-react-native/releases/tag/9.2.2
505
526
  [9.2.1]: https://github.com/hypertrack/sdk-react-native/releases/tag/9.2.1
506
527
  [9.2.0]: https://github.com/hypertrack/sdk-react-native/releases/tag/9.2.0
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  ![GitHub](https://img.shields.io/github/license/hypertrack/sdk-react-native.svg)
4
4
  ![npm](https://img.shields.io/npm/v/hypertrack-sdk-react-native.svg)
5
5
  ![iOS SDK](https://img.shields.io/badge/iOS%20SDK-4.16.0-brightgreen.svg)
6
- ![Android SDK](https://img.shields.io/badge/Android%20SDK-6.4.0-brightgreen.svg)
6
+ ![Android SDK](https://img.shields.io/badge/Android%20SDK-6.4.2-brightgreen.svg)
7
7
 
8
8
  [HyperTrack](https://www.hypertrack.com) lets you add live location tracking to your mobile app. Live location is made available along with ongoing activity, tracking controls and tracking outage with reasons.
9
9
 
@@ -1,6 +1,6 @@
1
- HyperTrackSdk_kotlinVersion=1.7.0
1
+ HyperTrackSdk_kotlinVersion=1.6.21
2
2
  HyperTrackSdk_minSdkVersion=23
3
3
  HyperTrackSdk_targetSdkVersion=30
4
4
  HyperTrackSdk_compileSdkVersion=31
5
- HyperTrackSdk_HyperTrackSDKVersion=6.4.0
5
+ HyperTrackSdk_HyperTrackSDKVersion=6.4.2
6
6
  android.useAndroidX=true
@@ -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<LocationError | Location> {\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","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 +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<LocationError | Location> {\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","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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"}
@@ -51,7 +51,7 @@ export default class HyperTrack {
51
51
  /**
52
52
  * Reflects the current location of the user or an outage reason
53
53
  */
54
- getLocation(): Promise<LocationError | Location>;
54
+ getLocation(): Promise<Result<Location, LocationError>>;
55
55
  /**
56
56
  * Sets the name for the device
57
57
  * @param {string} name
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hypertrack-sdk-react-native",
3
- "version": "9.2.2",
3
+ "version": "10.0.1",
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",
@@ -137,7 +137,7 @@ export default class HyperTrack {
137
137
  /**
138
138
  * Reflects the current location of the user or an outage reason
139
139
  */
140
- getLocation(): Promise<LocationError | Location> {
140
+ getLocation(): Promise<Result<Location, LocationError>> {
141
141
  return HyperTrackSdk.getLocation().then(
142
142
  (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {
143
143
  return this.deserializeLocationResponse(locationResponse);