hypertrack-sdk-react-native 13.3.5 → 13.4.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/android/gradle.properties +1 -1
- package/android/src/main/java/com/reactnativehypertracksdk/HyperTrackReactNativePlugin.kt +10 -0
- package/android/src/main/java/com/reactnativehypertracksdk/common/HyperTrackSdkWrapper.kt +15 -0
- package/android/src/main/java/com/reactnativehypertracksdk/common/SdkMethod.kt +2 -0
- package/android/src/main/java/com/reactnativehypertracksdk/common/Serialization.kt +19 -2
- package/ios/HyperTrackReactNativePlugin.m +7 -0
- package/ios/HyperTrackReactNativePlugin.swift +30 -3
- package/ios/common/HyperTrackSDKWrapper.swift +20 -10
- package/ios/common/SDKMethod.swift +2 -0
- package/ios/common/Serialization.swift +22 -4
- package/lib/commonjs/HyperTrack/HyperTrack.js +27 -0
- package/lib/commonjs/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/commonjs/HyperTrack/data_types/internal/WorkerHandle.js +2 -0
- package/lib/commonjs/HyperTrack/data_types/internal/WorkerHandle.js.map +1 -0
- package/lib/module/HyperTrack/HyperTrack.js +27 -0
- package/lib/module/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/module/HyperTrack/data_types/internal/WorkerHandle.js +2 -0
- package/lib/module/HyperTrack/data_types/internal/WorkerHandle.js.map +1 -0
- package/lib/typescript/HyperTrack/HyperTrack.d.ts +18 -0
- package/lib/typescript/HyperTrack/data_types/internal/WorkerHandle.d.ts +4 -0
- package/package.json +1 -1
- package/src/HyperTrack/HyperTrack.ts +30 -0
- package/src/HyperTrack/data_types/internal/WorkerHandle.ts +4 -0
|
@@ -111,6 +111,11 @@ class HyperTrackReactNativePlugin(reactContext: ReactApplicationContext?) :
|
|
|
111
111
|
HyperTrackSdkWrapper.getName().toPromise(promise)
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
+
@ReactMethod
|
|
115
|
+
fun getWorkerHandle(promise: Promise) {
|
|
116
|
+
HyperTrackSdkWrapper.getWorkerHandle().toPromise(promise)
|
|
117
|
+
}
|
|
118
|
+
|
|
114
119
|
@ReactMethod
|
|
115
120
|
fun locate(promise: Promise) {
|
|
116
121
|
locateSubscription?.cancel()
|
|
@@ -146,6 +151,11 @@ class HyperTrackReactNativePlugin(reactContext: ReactApplicationContext?) :
|
|
|
146
151
|
HyperTrackSdkWrapper.setName(args.toHashMap())
|
|
147
152
|
}
|
|
148
153
|
|
|
154
|
+
@ReactMethod
|
|
155
|
+
fun setWorkerHandle(args: ReadableMap) {
|
|
156
|
+
HyperTrackSdkWrapper.setWorkerHandle(args.toHashMap())
|
|
157
|
+
}
|
|
158
|
+
|
|
149
159
|
private fun initListeners(): List<HyperTrack.Cancellable> {
|
|
150
160
|
return mutableListOf<HyperTrack.Cancellable>().also { result ->
|
|
151
161
|
HyperTrack.subscribeToErrors {
|
|
@@ -9,6 +9,7 @@ import com.reactnativehypertracksdk.common.Serialization.deserializeIsAvailable
|
|
|
9
9
|
import com.reactnativehypertracksdk.common.Serialization.deserializeIsTracking
|
|
10
10
|
import com.reactnativehypertracksdk.common.Serialization.deserializeMetadata
|
|
11
11
|
import com.reactnativehypertracksdk.common.Serialization.deserializeName
|
|
12
|
+
import com.reactnativehypertracksdk.common.Serialization.deserializeWorkerHandle
|
|
12
13
|
import com.reactnativehypertracksdk.common.Serialization.serializeDeviceId
|
|
13
14
|
import com.reactnativehypertracksdk.common.Serialization.serializeDynamicPublishableKey
|
|
14
15
|
import com.reactnativehypertracksdk.common.Serialization.serializeErrors
|
|
@@ -20,6 +21,7 @@ import com.reactnativehypertracksdk.common.Serialization.serializeLocationSucces
|
|
|
20
21
|
import com.reactnativehypertracksdk.common.Serialization.serializeLocationWithDeviationSuccess
|
|
21
22
|
import com.reactnativehypertracksdk.common.Serialization.serializeMetadata
|
|
22
23
|
import com.reactnativehypertracksdk.common.Serialization.serializeName
|
|
24
|
+
import com.reactnativehypertracksdk.common.Serialization.serializeWorkerHandle
|
|
23
25
|
|
|
24
26
|
typealias Serialized = Map<String, Any?>
|
|
25
27
|
|
|
@@ -137,6 +139,12 @@ internal object HyperTrackSdkWrapper {
|
|
|
137
139
|
)
|
|
138
140
|
}
|
|
139
141
|
|
|
142
|
+
fun getWorkerHandle(): WrapperResult<Serialized> {
|
|
143
|
+
return Success(
|
|
144
|
+
serializeWorkerHandle(HyperTrack.workerHandle),
|
|
145
|
+
)
|
|
146
|
+
}
|
|
147
|
+
|
|
140
148
|
fun setDynamicPublishableKey(args: Serialized): WrapperResult<Unit> {
|
|
141
149
|
return deserializeDynamicPublishableKey(args)
|
|
142
150
|
.mapSuccess { publishableKey ->
|
|
@@ -174,4 +182,11 @@ internal object HyperTrackSdkWrapper {
|
|
|
174
182
|
HyperTrack.name = name
|
|
175
183
|
}
|
|
176
184
|
}
|
|
185
|
+
|
|
186
|
+
fun setWorkerHandle(args: Serialized): WrapperResult<Unit> {
|
|
187
|
+
return deserializeWorkerHandle(args)
|
|
188
|
+
.mapSuccess { workerHandle ->
|
|
189
|
+
HyperTrack.workerHandle = workerHandle
|
|
190
|
+
}
|
|
191
|
+
}
|
|
177
192
|
}
|
|
@@ -87,6 +87,15 @@ internal object Serialization {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
fun deserializeWorkerHandle(map: Map<String, Any?>): WrapperResult<String> {
|
|
91
|
+
return parse(map) {
|
|
92
|
+
it.assertValue<String>(key = KEY_TYPE, value = TYPE_WORKER_HANDLE)
|
|
93
|
+
it
|
|
94
|
+
.get<String>(KEY_VALUE)
|
|
95
|
+
.getOrThrow()
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
90
99
|
fun serializeDeviceId(deviceId: String): Map<String, Any?> {
|
|
91
100
|
return mapOf(
|
|
92
101
|
KEY_TYPE to TYPE_DEVICE_ID,
|
|
@@ -206,6 +215,13 @@ internal object Serialization {
|
|
|
206
215
|
)
|
|
207
216
|
}
|
|
208
217
|
|
|
218
|
+
fun serializeWorkerHandle(workerHandle: String): Map<String, Any?> {
|
|
219
|
+
return mapOf(
|
|
220
|
+
KEY_TYPE to TYPE_WORKER_HANDLE,
|
|
221
|
+
KEY_VALUE to workerHandle,
|
|
222
|
+
)
|
|
223
|
+
}
|
|
224
|
+
|
|
209
225
|
private fun deserializeLocation(map: Map<String, Any?>): WrapperResult<Location> {
|
|
210
226
|
return parse(map) {
|
|
211
227
|
it.assertValue<String>(key = KEY_TYPE, value = TYPE_LOCATION)
|
|
@@ -397,10 +413,11 @@ internal object Serialization {
|
|
|
397
413
|
private const val TYPE_ERROR = "error"
|
|
398
414
|
private const val TYPE_IS_AVAILABLE = "isAvailable"
|
|
399
415
|
private const val TYPE_IS_TRACKING = "isTracking"
|
|
400
|
-
private const val TYPE_METADATA = "metadata"
|
|
401
|
-
private const val TYPE_NAME = "name"
|
|
402
416
|
private const val TYPE_LOCATION = "location"
|
|
403
417
|
private const val TYPE_LOCATION_WITH_DEVIATION = "locationWithDeviation"
|
|
418
|
+
private const val TYPE_METADATA = "metadata"
|
|
419
|
+
private const val TYPE_NAME = "name"
|
|
420
|
+
private const val TYPE_WORKER_HANDLE = "workerHandle"
|
|
404
421
|
|
|
405
422
|
private const val TYPE_LOCATION_ERROR_ERRORS = "errors"
|
|
406
423
|
private const val TYPE_LOCATION_ERROR_NOT_RUNNING = "notRunning"
|
|
@@ -37,6 +37,9 @@ RCT_EXTERN_METHOD(getMetadata:(RCTPromiseResolveBlock)resolve
|
|
|
37
37
|
RCT_EXTERN_METHOD(getName:(RCTPromiseResolveBlock)resolve
|
|
38
38
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
39
39
|
|
|
40
|
+
RCT_EXTERN_METHOD(getWorkerHandle:(RCTPromiseResolveBlock)resolve
|
|
41
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
42
|
+
|
|
40
43
|
RCT_EXTERN_METHOD(locate:(RCTPromiseResolveBlock)resolve
|
|
41
44
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
42
45
|
|
|
@@ -60,4 +63,8 @@ RCT_EXTERN_METHOD(setName:(NSDictionary *)args
|
|
|
60
63
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
61
64
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
62
65
|
|
|
66
|
+
RCT_EXTERN_METHOD(setWorkerHandle:(NSDictionary *)args
|
|
67
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
68
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
69
|
+
|
|
63
70
|
@end
|
|
@@ -168,6 +168,18 @@ class HyperTrackReactNativePlugin: RCTEventEmitter {
|
|
|
168
168
|
)
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
+
@objc func getWorkerHandle(
|
|
172
|
+
_ resolve: RCTPromiseResolveBlock,
|
|
173
|
+
rejecter reject: RCTPromiseRejectBlock
|
|
174
|
+
) {
|
|
175
|
+
sendAsPromise(
|
|
176
|
+
hypertrack_sdk_react_native.getWorkerHandle(),
|
|
177
|
+
method: .getWorkerHandle,
|
|
178
|
+
resolve,
|
|
179
|
+
reject
|
|
180
|
+
)
|
|
181
|
+
}
|
|
182
|
+
|
|
171
183
|
@objc func locate(
|
|
172
184
|
_ resolve: RCTPromiseResolveBlock,
|
|
173
185
|
rejecter reject: RCTPromiseRejectBlock
|
|
@@ -216,6 +228,21 @@ class HyperTrackReactNativePlugin: RCTEventEmitter {
|
|
|
216
228
|
)
|
|
217
229
|
}
|
|
218
230
|
|
|
231
|
+
@objc func setIsTracking(
|
|
232
|
+
_ args: NSDictionary,
|
|
233
|
+
resolver resolve: RCTPromiseResolveBlock,
|
|
234
|
+
rejecter reject: RCTPromiseRejectBlock
|
|
235
|
+
) {
|
|
236
|
+
sendAsPromise(
|
|
237
|
+
hypertrack_sdk_react_native.setIsTracking(
|
|
238
|
+
args as! [String: Any]
|
|
239
|
+
),
|
|
240
|
+
method: .setIsTracking,
|
|
241
|
+
resolve,
|
|
242
|
+
reject
|
|
243
|
+
)
|
|
244
|
+
}
|
|
245
|
+
|
|
219
246
|
@objc func setMetadata(
|
|
220
247
|
_ args: NSDictionary,
|
|
221
248
|
resolver resolve: RCTPromiseResolveBlock,
|
|
@@ -244,16 +271,16 @@ class HyperTrackReactNativePlugin: RCTEventEmitter {
|
|
|
244
271
|
)
|
|
245
272
|
}
|
|
246
273
|
|
|
247
|
-
@objc func
|
|
274
|
+
@objc func setWorkerHandle(
|
|
248
275
|
_ args: NSDictionary,
|
|
249
276
|
resolver resolve: RCTPromiseResolveBlock,
|
|
250
277
|
rejecter reject: RCTPromiseRejectBlock
|
|
251
278
|
) {
|
|
252
279
|
sendAsPromise(
|
|
253
|
-
hypertrack_sdk_react_native.
|
|
280
|
+
hypertrack_sdk_react_native.setWorkerHandle(
|
|
254
281
|
args as! [String: Any]
|
|
255
282
|
),
|
|
256
|
-
method: .
|
|
283
|
+
method: .setWorkerHandle,
|
|
257
284
|
resolve,
|
|
258
285
|
reject
|
|
259
286
|
)
|
|
@@ -68,20 +68,28 @@ func getErrors() -> Result<SuccessResult, FailureResult> {
|
|
|
68
68
|
.success(.array(serializeErrors(HyperTrack.errors)))
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
func
|
|
72
|
-
.success(.dict(
|
|
71
|
+
func getIsAvailable() -> Result<SuccessResult, FailureResult> {
|
|
72
|
+
.success(.dict(serializeIsAvailable(HyperTrack.isAvailable)))
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
func
|
|
76
|
-
.success(.dict(
|
|
75
|
+
func getIsTracking() -> Result<SuccessResult, FailureResult> {
|
|
76
|
+
.success(.dict(serializeIsTracking(HyperTrack.isTracking)))
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
func getLocation() -> Result<SuccessResult, FailureResult> {
|
|
80
80
|
.success(.dict(serializeLocationResult(HyperTrack.location)))
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
func
|
|
84
|
-
.success(.dict(
|
|
83
|
+
func getMetadata() -> Result<SuccessResult, FailureResult> {
|
|
84
|
+
.success(.dict(serializeMetadata(HyperTrack.metadata)))
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
func getName() -> Result<SuccessResult, FailureResult> {
|
|
88
|
+
.success(.dict(serializeName(HyperTrack.name)))
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
func getWorkerHandle() -> Result<SuccessResult, FailureResult> {
|
|
92
|
+
.success(.dict(serializeWorkerHandle(HyperTrack.workerHandle)))
|
|
85
93
|
}
|
|
86
94
|
|
|
87
95
|
func setDynamicPublishableKey(_ args: [String: Any]) -> Result<SuccessResult, FailureResult> {
|
|
@@ -98,10 +106,6 @@ func setIsAvailable(_ args: [String: Any]) -> Result<SuccessResult, FailureResul
|
|
|
98
106
|
}
|
|
99
107
|
}
|
|
100
108
|
|
|
101
|
-
func getIsTracking() -> Result<SuccessResult, FailureResult> {
|
|
102
|
-
.success(.dict(serializeIsTracking(HyperTrack.isTracking)))
|
|
103
|
-
}
|
|
104
|
-
|
|
105
109
|
func setIsTracking(_ args: [String: Any]) -> Result<SuccessResult, FailureResult> {
|
|
106
110
|
deserializeIsTracking(args).flatMap { (isTracking: Bool) in
|
|
107
111
|
HyperTrack.isTracking = isTracking
|
|
@@ -126,6 +130,12 @@ func setName(_ args: [String: Any]) -> Result<SuccessResult, FailureResult> {
|
|
|
126
130
|
}
|
|
127
131
|
}
|
|
128
132
|
|
|
133
|
+
func setWorkerHandle(_ args: [String: Any]) -> Result<SuccessResult, FailureResult> {
|
|
134
|
+
deserializeWorkerHandle(args).flatMap { workerHandle in
|
|
135
|
+
.success(asVoid(HyperTrack.workerHandle = workerHandle))
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
129
139
|
func asVoid(_: Void) -> SuccessResult {
|
|
130
140
|
.void
|
|
131
141
|
}
|
|
@@ -8,10 +8,12 @@ enum SDKMethod: String {
|
|
|
8
8
|
case getLocation
|
|
9
9
|
case getMetadata
|
|
10
10
|
case getName
|
|
11
|
+
case getWorkerHandle
|
|
11
12
|
case locate
|
|
12
13
|
case setDynamicPublishableKey
|
|
13
14
|
case setIsAvailable
|
|
14
15
|
case setIsTracking
|
|
15
16
|
case setMetadata
|
|
16
17
|
case setName
|
|
18
|
+
case setWorkerHandle
|
|
17
19
|
}
|
|
@@ -13,6 +13,7 @@ private let typeLocation = "location"
|
|
|
13
13
|
private let typeMetadata = "metadata"
|
|
14
14
|
private let typeName = "name"
|
|
15
15
|
private let typeSuccess = "success"
|
|
16
|
+
private let typeWorkerHandle = "workerHandle"
|
|
16
17
|
|
|
17
18
|
func deserializeDynamicPublishableKey(
|
|
18
19
|
_ args: [String: Any]
|
|
@@ -170,6 +171,16 @@ func deserializeOrderStatus(_ data: [String: Any]) -> Result<HyperTrack.OrderSta
|
|
|
170
171
|
}
|
|
171
172
|
}
|
|
172
173
|
|
|
174
|
+
func deserializeWorkerHandle(_ data: [String: Any]) -> Result<String, FailureResult> {
|
|
175
|
+
if data[keyType] as? String != typeWorkerHandle {
|
|
176
|
+
return .failure(.fatalError(getParseError(data, key: keyType)))
|
|
177
|
+
}
|
|
178
|
+
guard let value = data[keyValue] as? String else {
|
|
179
|
+
return .failure(.fatalError(getParseError(data, key: keyValue)))
|
|
180
|
+
}
|
|
181
|
+
return .success(value)
|
|
182
|
+
}
|
|
183
|
+
|
|
173
184
|
func serializeDeviceID(_ deviceID: String) -> [String: Any] {
|
|
174
185
|
return [
|
|
175
186
|
keyType: "deviceID",
|
|
@@ -226,6 +237,12 @@ func serializeError(_ error: HyperTrack.Error) -> [String: Any] {
|
|
|
226
237
|
]
|
|
227
238
|
}
|
|
228
239
|
|
|
240
|
+
func serializeErrors(_ errors: Set<HyperTrack.Error>) -> [[String: Any]] {
|
|
241
|
+
return errors.map { error in
|
|
242
|
+
serializeError(error)
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
229
246
|
func serializeIsAvailable(_ isAvailable: Bool) -> [String: Any] {
|
|
230
247
|
return [
|
|
231
248
|
keyType: typeIsAvailable,
|
|
@@ -341,10 +358,11 @@ func serializeName(_ name: String) -> [String: Any] {
|
|
|
341
358
|
]
|
|
342
359
|
}
|
|
343
360
|
|
|
344
|
-
func
|
|
345
|
-
return
|
|
346
|
-
|
|
347
|
-
|
|
361
|
+
func serializeWorkerHandle(_ workerHandle: String) -> [String: Any] {
|
|
362
|
+
return [
|
|
363
|
+
keyType: typeWorkerHandle,
|
|
364
|
+
keyValue: workerHandle,
|
|
365
|
+
]
|
|
348
366
|
}
|
|
349
367
|
|
|
350
368
|
private func toMap(_ object: HyperTrack.JSON.Object) -> [String: Any] {
|
|
@@ -195,6 +195,17 @@ class HyperTrack {
|
|
|
195
195
|
});
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
/**
|
|
199
|
+
* A primary identifier that uniquely identifies the worker outside of HyperTrack.
|
|
200
|
+
* Example: email, phone number, database id
|
|
201
|
+
* It is usually obtained and set when the worker logs into the app.
|
|
202
|
+
* Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
|
|
203
|
+
* avoid unintentional tracking.
|
|
204
|
+
*/
|
|
205
|
+
static async getWorkerHandle() {
|
|
206
|
+
return HyperTrackSdk.getWorkerHandle().then(workerHandle => workerHandle.value);
|
|
207
|
+
}
|
|
208
|
+
|
|
198
209
|
/**
|
|
199
210
|
* Requests one-time location update and returns the location once it is available, or error.
|
|
200
211
|
*
|
|
@@ -281,6 +292,22 @@ class HyperTrack {
|
|
|
281
292
|
});
|
|
282
293
|
}
|
|
283
294
|
|
|
295
|
+
/**
|
|
296
|
+
* A primary identifier that uniquely identifies the worker outside of HyperTrack.
|
|
297
|
+
* Example: email, phone number, database id
|
|
298
|
+
* It is usually obtained and set when the worker logs into the app.
|
|
299
|
+
* Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
|
|
300
|
+
* avoid unintentional tracking.
|
|
301
|
+
*
|
|
302
|
+
* @param {string} workerHandle
|
|
303
|
+
*/
|
|
304
|
+
static setWorkerHandle(workerHandle) {
|
|
305
|
+
HyperTrackSdk.setWorkerHandle({
|
|
306
|
+
type: 'workerHandle',
|
|
307
|
+
value: workerHandle
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
|
|
284
311
|
/**
|
|
285
312
|
* Subscribe to tracking errors
|
|
286
313
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_HyperTrackError","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","LINKING_ERROR","Platform","select","ios","default","HyperTrackSdk","NativeModules","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","NativeEventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","type","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","res","map","error","keys","HyperTrackError","find","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","startsWith","exports"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n EmitterSubscription,\n} 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 { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\nimport type { OrderHandle } from './data_types/internal/OrderHandle';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\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 static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag\n *\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n static async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (\n args.length === 3 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object'\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 4 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object' &&\n HyperTrack.isLocation(args[3])\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].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 }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: 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 }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].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 }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\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 static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async 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 * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\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 static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\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 static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\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.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\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.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\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.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static 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 static 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 static 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 static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static 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 /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_HyperTrackError","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","LINKING_ERROR","Platform","select","ios","default","HyperTrackSdk","NativeModules","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","NativeEventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","type","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","getWorkerHandle","workerHandle","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","setWorkerHandle","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","res","map","error","keys","HyperTrackError","find","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","startsWith","exports"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n EmitterSubscription,\n} 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 { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\nimport type { OrderHandle } from './data_types/internal/OrderHandle';\nimport type { WorkerHandle } from './data_types/internal/WorkerHandle';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\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 static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag\n *\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n static async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (\n args.length === 3 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object'\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 4 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object' &&\n HyperTrack.isLocation(args[3])\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].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 }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: 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 }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].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 }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\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 static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async 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 * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * A primary identifier that uniquely identifies the worker outside of HyperTrack.\n * Example: email, phone number, database id\n * It is usually obtained and set when the worker logs into the app.\n * Set it to an empty string \"\" when the worker logs out of the app to un-bind the device from the worker and\n * avoid unintentional tracking.\n */\n static async getWorkerHandle(): Promise<string> {\n return HyperTrackSdk.getWorkerHandle().then(\n (workerHandle: WorkerHandle) => workerHandle.value\n );\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\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 static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\n }\n\n /**\n * A primary identifier that uniquely identifies the worker outside of HyperTrack.\n * Example: email, phone number, database id\n * It is usually obtained and set when the worker logs into the app.\n * Set it to an empty string \"\" when the worker logs out of the app to un-bind the device from the worker and\n * avoid unintentional tracking.\n *\n * @param {string} workerHandle\n */\n static setWorkerHandle(workerHandle: string) {\n HyperTrackSdk.setWorkerHandle({\n type: 'workerHandle',\n value: workerHandle,\n } as WorkerHandle);\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 static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\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.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\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.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\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.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static 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 static 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 static 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 static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static 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 /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["WorkerHandle.ts"],"sourcesContent":["export type WorkerHandle = {\n type: 'workerHandle';\n value: string;\n};\n"],"mappings":""}
|
|
@@ -189,6 +189,17 @@ export default class HyperTrack {
|
|
|
189
189
|
});
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
+
/**
|
|
193
|
+
* A primary identifier that uniquely identifies the worker outside of HyperTrack.
|
|
194
|
+
* Example: email, phone number, database id
|
|
195
|
+
* It is usually obtained and set when the worker logs into the app.
|
|
196
|
+
* Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
|
|
197
|
+
* avoid unintentional tracking.
|
|
198
|
+
*/
|
|
199
|
+
static async getWorkerHandle() {
|
|
200
|
+
return HyperTrackSdk.getWorkerHandle().then(workerHandle => workerHandle.value);
|
|
201
|
+
}
|
|
202
|
+
|
|
192
203
|
/**
|
|
193
204
|
* Requests one-time location update and returns the location once it is available, or error.
|
|
194
205
|
*
|
|
@@ -275,6 +286,22 @@ export default class HyperTrack {
|
|
|
275
286
|
});
|
|
276
287
|
}
|
|
277
288
|
|
|
289
|
+
/**
|
|
290
|
+
* A primary identifier that uniquely identifies the worker outside of HyperTrack.
|
|
291
|
+
* Example: email, phone number, database id
|
|
292
|
+
* It is usually obtained and set when the worker logs into the app.
|
|
293
|
+
* Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
|
|
294
|
+
* avoid unintentional tracking.
|
|
295
|
+
*
|
|
296
|
+
* @param {string} workerHandle
|
|
297
|
+
*/
|
|
298
|
+
static setWorkerHandle(workerHandle) {
|
|
299
|
+
HyperTrackSdk.setWorkerHandle({
|
|
300
|
+
type: 'workerHandle',
|
|
301
|
+
value: workerHandle
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
|
|
278
305
|
/**
|
|
279
306
|
* Subscribe to tracking errors
|
|
280
307
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","HyperTrackError","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","LINKING_ERROR","select","ios","default","HyperTrackSdk","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","type","value","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","res","map","error","Object","keys","find","key","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","obj","startsWith","_defineProperty"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n EmitterSubscription,\n} 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 { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\nimport type { OrderHandle } from './data_types/internal/OrderHandle';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\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 static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag\n *\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n static async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (\n args.length === 3 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object'\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 4 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object' &&\n HyperTrack.isLocation(args[3])\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].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 }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: 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 }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].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 }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\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 static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async 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 * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\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 static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\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 static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\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.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\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.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\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.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static 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 static 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 static 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 static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static 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 /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","HyperTrackError","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","LINKING_ERROR","select","ios","default","HyperTrackSdk","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","type","value","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","getWorkerHandle","workerHandle","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","setWorkerHandle","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","res","map","error","Object","keys","find","key","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","obj","startsWith","_defineProperty"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n EmitterSubscription,\n} 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 { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\nimport type { OrderHandle } from './data_types/internal/OrderHandle';\nimport type { WorkerHandle } from './data_types/internal/WorkerHandle';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\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 static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag\n *\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n static async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (\n args.length === 3 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object'\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 4 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object' &&\n HyperTrack.isLocation(args[3])\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].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 }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: 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 }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].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 }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\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 static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async 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 * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * A primary identifier that uniquely identifies the worker outside of HyperTrack.\n * Example: email, phone number, database id\n * It is usually obtained and set when the worker logs into the app.\n * Set it to an empty string \"\" when the worker logs out of the app to un-bind the device from the worker and\n * avoid unintentional tracking.\n */\n static async getWorkerHandle(): Promise<string> {\n return HyperTrackSdk.getWorkerHandle().then(\n (workerHandle: WorkerHandle) => workerHandle.value\n );\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\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 static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\n }\n\n /**\n * A primary identifier that uniquely identifies the worker outside of HyperTrack.\n * Example: email, phone number, database id\n * It is usually obtained and set when the worker logs into the app.\n * Set it to an empty string \"\" when the worker logs out of the app to un-bind the device from the worker and\n * avoid unintentional tracking.\n *\n * @param {string} workerHandle\n */\n static setWorkerHandle(workerHandle: string) {\n HyperTrackSdk.setWorkerHandle({\n type: 'workerHandle',\n value: workerHandle,\n } as WorkerHandle);\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 static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\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.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\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.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\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.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static 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 static 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 static 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 static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static 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 /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["WorkerHandle.ts"],"sourcesContent":["export type WorkerHandle = {\n type: 'workerHandle';\n value: string;\n};\n"],"mappings":""}
|
|
@@ -84,6 +84,14 @@ export default class HyperTrack {
|
|
|
84
84
|
* @returns {string} Device name
|
|
85
85
|
*/
|
|
86
86
|
static getName(): Promise<string>;
|
|
87
|
+
/**
|
|
88
|
+
* A primary identifier that uniquely identifies the worker outside of HyperTrack.
|
|
89
|
+
* Example: email, phone number, database id
|
|
90
|
+
* It is usually obtained and set when the worker logs into the app.
|
|
91
|
+
* Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
|
|
92
|
+
* avoid unintentional tracking.
|
|
93
|
+
*/
|
|
94
|
+
static getWorkerHandle(): Promise<string>;
|
|
87
95
|
/**
|
|
88
96
|
* Requests one-time location update and returns the location once it is available, or error.
|
|
89
97
|
*
|
|
@@ -132,6 +140,16 @@ export default class HyperTrack {
|
|
|
132
140
|
* @param {string} name
|
|
133
141
|
*/
|
|
134
142
|
static setName(name: string): void;
|
|
143
|
+
/**
|
|
144
|
+
* A primary identifier that uniquely identifies the worker outside of HyperTrack.
|
|
145
|
+
* Example: email, phone number, database id
|
|
146
|
+
* It is usually obtained and set when the worker logs into the app.
|
|
147
|
+
* Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
|
|
148
|
+
* avoid unintentional tracking.
|
|
149
|
+
*
|
|
150
|
+
* @param {string} workerHandle
|
|
151
|
+
*/
|
|
152
|
+
static setWorkerHandle(workerHandle: string): void;
|
|
135
153
|
/**
|
|
136
154
|
* Subscribe to tracking errors
|
|
137
155
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hypertrack-sdk-react-native",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.4.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",
|
|
@@ -22,6 +22,7 @@ import type { Metadata } from './data_types/internal/Metadata';
|
|
|
22
22
|
import type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';
|
|
23
23
|
import type { OrderStatus } from './data_types/OrderStatus';
|
|
24
24
|
import type { OrderHandle } from './data_types/internal/OrderHandle';
|
|
25
|
+
import type { WorkerHandle } from './data_types/internal/WorkerHandle';
|
|
25
26
|
|
|
26
27
|
const EVENT_ERRORS = 'errors';
|
|
27
28
|
const EVENT_IS_AVAILABLE = 'isAvailable';
|
|
@@ -292,6 +293,19 @@ export default class HyperTrack {
|
|
|
292
293
|
});
|
|
293
294
|
}
|
|
294
295
|
|
|
296
|
+
/**
|
|
297
|
+
* A primary identifier that uniquely identifies the worker outside of HyperTrack.
|
|
298
|
+
* Example: email, phone number, database id
|
|
299
|
+
* It is usually obtained and set when the worker logs into the app.
|
|
300
|
+
* Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
|
|
301
|
+
* avoid unintentional tracking.
|
|
302
|
+
*/
|
|
303
|
+
static async getWorkerHandle(): Promise<string> {
|
|
304
|
+
return HyperTrackSdk.getWorkerHandle().then(
|
|
305
|
+
(workerHandle: WorkerHandle) => workerHandle.value
|
|
306
|
+
);
|
|
307
|
+
}
|
|
308
|
+
|
|
295
309
|
/**
|
|
296
310
|
* Requests one-time location update and returns the location once it is available, or error.
|
|
297
311
|
*
|
|
@@ -383,6 +397,22 @@ export default class HyperTrack {
|
|
|
383
397
|
} as Name);
|
|
384
398
|
}
|
|
385
399
|
|
|
400
|
+
/**
|
|
401
|
+
* A primary identifier that uniquely identifies the worker outside of HyperTrack.
|
|
402
|
+
* Example: email, phone number, database id
|
|
403
|
+
* It is usually obtained and set when the worker logs into the app.
|
|
404
|
+
* Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
|
|
405
|
+
* avoid unintentional tracking.
|
|
406
|
+
*
|
|
407
|
+
* @param {string} workerHandle
|
|
408
|
+
*/
|
|
409
|
+
static setWorkerHandle(workerHandle: string) {
|
|
410
|
+
HyperTrackSdk.setWorkerHandle({
|
|
411
|
+
type: 'workerHandle',
|
|
412
|
+
value: workerHandle,
|
|
413
|
+
} as WorkerHandle);
|
|
414
|
+
}
|
|
415
|
+
|
|
386
416
|
/**
|
|
387
417
|
* Subscribe to tracking errors
|
|
388
418
|
*
|