hypertrack-sdk-react-native 9.2.2 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -5
- package/android/gradle.properties +2 -2
- package/lib/commonjs/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/module/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/typescript/HyperTrack/HyperTrack.d.ts +1 -1
- package/package.json +1 -1
- package/src/HyperTrack/HyperTrack.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
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.0] - 2023-06-06
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- `getLocation` return type to `Result<Location, LocationError>`
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- `addGeotag` and `getLocation` wrong return type that is different from the one in the API docs (introduced in 9.2.0)
|
|
15
|
+
|
|
6
16
|
## [9.2.2] - 2023-06-01
|
|
7
17
|
|
|
8
18
|
### Changed
|
|
@@ -17,14 +27,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
17
27
|
|
|
18
28
|
## [9.2.0] - 2023-05-18
|
|
19
29
|
|
|
20
|
-
### Added
|
|
21
|
-
|
|
22
|
-
- `addGeotag` with expected location
|
|
23
|
-
|
|
24
30
|
### Changed
|
|
25
31
|
|
|
32
|
+
- **Breaking change:** Changed `addGeotag` return type to `Result<Location, LocationError>`
|
|
26
33
|
- HyperTrack iOS SDK updated to 4.15.0
|
|
27
34
|
|
|
35
|
+
### Added
|
|
36
|
+
|
|
37
|
+
- `addGeotag` with expected location
|
|
38
|
+
|
|
28
39
|
## [9.1.1] - 2023-03-30
|
|
29
40
|
|
|
30
41
|
### Fixed
|
|
@@ -48,6 +59,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
48
59
|
- `syncDeviceSettings()` renamed to `sync()`
|
|
49
60
|
- `setDeviceName()` renamed to `setName()`
|
|
50
61
|
- `subscribeToErrors()` callback now has param type (`HyperTrackError`)
|
|
62
|
+
- `getLocation` return type
|
|
51
63
|
- `LocationError` now has different structure
|
|
52
64
|
|
|
53
65
|
### Added
|
|
@@ -74,7 +86,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
74
86
|
|
|
75
87
|
### Fixed
|
|
76
88
|
|
|
77
|
-
- enableDebugLogging() now doesn't cause an infinite loop when called.
|
|
89
|
+
- `enableDebugLogging()` now doesn't cause an infinite loop when called.
|
|
78
90
|
|
|
79
91
|
## [8.2.0] - 2022-09-23
|
|
80
92
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
HyperTrackSdk_kotlinVersion=1.
|
|
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.
|
|
5
|
+
HyperTrackSdk_HyperTrackSDKVersion=6.4.1
|
|
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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAgBA,MAAME,cAAc,GAAG,mBAAmB;AAC1C,MAAMC,kBAAkB,GAAG,uBAAuB;AAClD,MAAMC,WAAW,GAAG,SAAS;AAE7B,MAAMC,aAAa,GAChB,sFAAqF,GACtFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;AAE/C,MAAMC,aAAa,GAAGC,0BAAa,CAACC,2BAA2B,GAC3DD,0BAAa,CAACC,2BAA2B,GACzC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACV,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMW,YAAY,GAAG,IAAIC,+BAAkB,CAACP,aAAa,CAAC;AAE3C,MAAMQ,UAAU,CAAC;EACtBC,WAAWA,CAAA,EAAG;IACpB,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,aAAaC,UAAUA,CACrBC,cAAsB,EAED;IAAA,IADrBC,aAA4B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAEjC,IAAI;MACF,MAAMb,aAAa,CAACgB,aAAa,CAAC;QAChCL,cAAc;QACdM,cAAc,EAAEL,aAAa,CAACK,cAAc,IAAI,KAAK;QACrDC,kBAAkB,EAAEN,aAAa,CAACM,kBAAkB,IAAI,KAAK;QAC7DC,mCAAmC,EACjCP,aAAa,CAACO,mCAAmC,IAAI,KAAK;QAC5DC,+BAA+B,EAC7BR,aAAa,CAACQ,+BAA+B,IAAI;MACrD,CAAC,CAAC;MACF,OAAO,IAAIZ,UAAU,CAAC,CAAC;IACzB,CAAC,CAAC,OAAOa,KAAU,EAAE;MACnB,MAAM,IAAIhB,KAAK,CAACgB,KAAK,CAACC,OAAO,CAAC;IAChC;EACF;;EAEA;AACF;AACA;EACEC,WAAWA,CAAA,EAAoB;IAC7B,OAAOvB,aAAa,CAACuB,WAAW,CAAC,CAAC,CAACC,IAAI,CACpCC,QAAkB,IAAKA,QAAQ,CAACC,KACnC,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAAA,EAAqB;IAC9B,OAAO3B,aAAa,CAAC2B,WAAW,CAAC,CAAC,CAACH,IAAI,CACpCG,WAAwB,IAAKA,WAAW,CAACD,KAC5C,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACEE,eAAeA,CAACD,WAAoB,EAAE;IACpC3B,aAAa,CAAC4B,eAAe,CAAC;MAC5BC,IAAI,EAAE,aAAa;MACnBH,KAAK,EAAEC;IACT,CAAgB,CAAC;EACnB;;EAEA;AACF;AACA;AACA;AACA;EACEG,UAAUA,CAAA,EAAqB;IAC7B,OAAO9B,aAAa,CAAC8B,UAAU,CAAC,CAAC,CAACN,IAAI,CACnCM,UAAsB,IAAKA,UAAU,CAACJ,KACzC,CAAC;EACH;;EAEA;AACF;AACA;EACEK,IAAIA,CAAA,EAAG;IACL/B,aAAa,CAAC+B,IAAI,CAAC,CAAC;EACtB;;EAEA;AACF;AACA;EACEC,aAAaA,CAAA,EAAG;IACdhC,aAAa,CAACgC,aAAa,CAAC,CAAC;EAC/B;;EAEA;AACF;AACA;EACEC,YAAYA,CAAA,EAAG;IACbjC,aAAa,CAACiC,YAAY,CAAC,CAAC;EAC9B;;EAEA;AACF;AACA;EACEC,WAAWA,CAAA,EAA6C;IACtD,OAAOlC,aAAa,CAACkC,WAAW,CAAC,CAAC,CAACV,IAAI,CACpCW,gBAAiE,IAAK;MACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;IAC3D,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACEE,OAAOA,CAACC,IAAY,EAAE;IACpBtC,aAAa,CAACqC,OAAO,CAAC;MACpBR,IAAI,EAAE,YAAY;MAClBH,KAAK,EAAEY;IACT,CAAe,CAAC;EAClB;;EAEA;AACF;AACA;AACA;EACEC,WAAWA,CAACC,IAAY,EAAE;IACxBxC,aAAa,CAACuC,WAAW,CAACC,IAAI,CAAC;EACjC;;EAEA;AACF;AACA;AACA;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;AACA;AACA;;EAME,MAAMC,SAASA,CAAA,EAEqD;IAAA,SAAAC,IAAA,GAAA7B,SAAA,CAAAC,MAAA,EAD/D6B,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAhC,SAAA,CAAAgC,IAAA;IAAA;IAEP,IAAIF,IAAI,CAAC7B,MAAM,KAAK,CAAC,IAAI,OAAO6B,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;MACpD,OAAO3C,aAAa,CAACyC,SAAS,CAAC;QAC7BD,IAAI,EAAEG,IAAI,CAAC,CAAC,CAAC;QACbG,gBAAgB,EAAE/B;MACpB,CAAe,CAAC,CAACS,IAAI,CAClBW,gBAAiE,IAAK;QACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;MAC3D,CACF,CAAC;IACH,CAAC,MAAM,IACLQ,IAAI,CAAC7B,MAAM,KAAK,CAAC,IACjB,OAAO6B,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3B,IAAI,CAACI,UAAU,CAACJ,IAAI,CAAC,CAAC,CAAC,CAAC,EACxB;MACA,IAAIG,gBAAgB,GAAGH,IAAI,CAAC,CAAC,CAAa;MAC1C,OAAO3C,aAAa,CAACyC,SAAS,CAAC;QAC7BD,IAAI,EAAEG,IAAI,CAAC,CAAC,CAAC;QACbG,gBAAgB,EAAE;UAChBjB,IAAI,EAAE,UAAU;UAChBH,KAAK,EAAE;YACLsB,QAAQ,EAAEF,gBAAgB,CAACE,QAAQ;YACnCC,SAAS,EAAEH,gBAAgB,CAACG;UAC9B;QACF;MACF,CAAe,CAAC,CAACzB,IAAI,CAEjBW,gBAGC,IACE;QACH,OAAO,IAAI,CAACe,wCAAwC,CAClDf,gBACF,CAAC;MACH,CACF,CAAC;IACH,CAAC,MAAM;MACL,MAAM,IAAI9B,KAAK,CAAC,mBAAmB,CAAC;IACtC;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE8C,iBAAiBA,CAACC,QAA6C,EAAE;IAC/D,OAAO9C,YAAY,CAAC+C,WAAW,CAC7B3D,WAAW,EACV4D,SAAoC,IAAK;MACxCF,QAAQ,CAAC,IAAI,CAACG,2BAA2B,CAACD,SAAS,CAAC,CAAC;IACvD,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEE,mBAAmBA,CAACJ,QAAuC,EAAE;IAC3D,OAAO9C,YAAY,CAAC+C,WAAW,CAC7B7D,cAAc,EACbsC,UAAsB,IAAK;MAC1BsB,QAAQ,CAACtB,UAAU,CAACJ,KAAK,CAAC;IAC5B,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE+B,uBAAuBA,CAACL,QAAwC,EAAE;IAChE,OAAO9C,YAAY,CAAC+C,WAAW,CAC7B5D,kBAAkB,EACjBkC,WAAwB,IAAK;MAC5ByB,QAAQ,CAACzB,WAAW,CAACD,KAAK,CAAC;IAC7B,CACF,CAAC;EACH;;EAEA;EACQ6B,2BAA2BA,CACjCG,MAAiC,EACd;IACnB,OAAOA,MAAM,CAACC,GAAG,CACdtC,KAA8B,IAC7BuC,gCAAe,CAACvC,KAAK,CAACK,KAAK,CAC/B,CAAC;EACH;;EAEA;EACQU,2BAA2BA,CACjCyB,QAAyD,EACxB;IACjC,QAAQA,QAAQ,CAAChC,IAAI;MACnB,KAAK,SAAS;QACZ,OAAO;UACLA,IAAI,EAAE,SAAS;UACfH,KAAK,EAAEmC,QAAQ,CAACnC,KAAK,CAACA;QACxB,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLG,IAAI,EAAE,SAAS;UACfH,KAAK,EAAE,IAAI,CAACoC,wBAAwB,CAACD,QAAQ,CAACnC,KAAK;QACrD,CAAC;IACL;EACF;;EAEA;EACQwB,wCAAwCA,CAC9CW,QAAsE,EACxB;IAC9C,QAAQA,QAAQ,CAAChC,IAAI;MACnB,KAAK,SAAS;QACZ,MAAMkC,6BAA4D,GAChEF,QAAQ,CAACnC,KAAK;QAChB,MAAMsC,gBAAkC,GACtCD,6BAA6B,CAACrC,KAAK,CAACuC,QAAQ;QAE9C,OAAO;UACLpC,IAAI,EAAE,SAAS;UACfH,KAAK,EAAE;YACLuC,QAAQ,EAAED,gBAAgB,CAACtC,KAAK;YAChCwC,SAAS,EAAEH,6BAA6B,CAACrC,KAAK,CAACwC;UACjD;QACF,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLrC,IAAI,EAAE,SAAS;UACfH,KAAK,EAAE,IAAI,CAACoC,wBAAwB,CAACD,QAAQ,CAACnC,KAAK;QACrD,CAAC;IACL;EACF;;EAEA;EACQoC,wBAAwBA,CAC9BK,aAAoC,EACrB;IACf,QAAQA,aAAa,CAACtC,IAAI;MACxB,KAAK,YAAY;MACjB,KAAK,UAAU;QACb,OAAOsC,aAAa;MACtB,KAAK,QAAQ;QACX,OAAO;UACLtC,IAAI,EAAE,QAAQ;UACdH,KAAK,EAAE,IAAI,CAAC6B,2BAA2B,CAACY,aAAa,CAACzC,KAAK;QAC7D,CAAC;IACL;EACF;;EAEA;EACQqB,UAAUA,CAACqB,GAAa,EAAmB;IACjD,OACE,UAAU,IAAIA,GAAG,IACjB,OAAOA,GAAG,CAACpB,QAAQ,IAAI,QAAQ,IAC/B,WAAW,IAAIoB,GAAG,IAClB,OAAOA,GAAG,CAACnB,SAAS,IAAI,QAAQ;EAEpC;AACF;AAACoB,OAAA,CAAAtE,OAAA,GAAAS,UAAA"}
|
|
@@ -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
|
|
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": "
|
|
3
|
+
"version": "10.0.0",
|
|
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
|
|
140
|
+
getLocation(): Promise<Result<Location, LocationError>> {
|
|
141
141
|
return HyperTrackSdk.getLocation().then(
|
|
142
142
|
(locationResponse: Result<LocationInternal, LocationErrorInternal>) => {
|
|
143
143
|
return this.deserializeLocationResponse(locationResponse);
|