hypertrack-sdk-react-native 13.8.0 → 14.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/reactnativehypertracksdk/HyperTrackReactNativePlugin.kt +8 -0
- package/android/src/main/java/com/reactnativehypertracksdk/common/HyperTrackSdkWrapper.kt +16 -0
- package/android/src/main/java/com/reactnativehypertracksdk/common/SdkMethod.kt +1 -0
- package/android/src/main/java/com/reactnativehypertracksdk/common/Serialization.kt +44 -45
- package/hypertrack-sdk-react-native.podspec +1 -1
- package/ios/HyperTrackReactNativePlugin.m +4 -0
- package/ios/HyperTrackReactNativePlugin.swift +15 -0
- package/ios/common/HyperTrackSDKWrapper.swift +10 -0
- package/ios/common/SDKMethod.swift +1 -0
- package/ios/common/Serialization.swift +3 -2
- package/lib/commonjs/HyperTrack/HyperTrack.js +18 -7
- package/lib/commonjs/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/commonjs/HyperTrack/data_types/Order.js.map +1 -1
- package/lib/commonjs/HyperTrack/data_types/internal/OrderInternal.js +0 -4
- package/lib/commonjs/HyperTrack/data_types/internal/OrderInternal.js.map +1 -1
- package/lib/module/HyperTrack/HyperTrack.js +18 -7
- package/lib/module/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/module/HyperTrack/data_types/Order.js.map +1 -1
- package/lib/module/HyperTrack/data_types/internal/OrderInternal.js +1 -1
- package/lib/module/HyperTrack/data_types/internal/OrderInternal.js.map +1 -1
- package/lib/typescript/HyperTrack/data_types/Order.d.ts +1 -1
- package/lib/typescript/HyperTrack/data_types/internal/OrderInternal.d.ts +0 -4
- package/package.json +1 -1
- package/src/HyperTrack/HyperTrack.ts +39 -20
- package/src/HyperTrack/data_types/Order.ts +1 -1
- package/src/HyperTrack/data_types/internal/OrderInternal.ts +0 -5
|
@@ -135,6 +135,14 @@ class HyperTrackReactNativePlugin(
|
|
|
135
135
|
HyperTrackSdkWrapper.getName().toPromise(promise)
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
+
@ReactMethod
|
|
139
|
+
fun getOrderIsInsideGeofence(
|
|
140
|
+
args: ReadableMap,
|
|
141
|
+
promise: Promise,
|
|
142
|
+
) {
|
|
143
|
+
HyperTrackSdkWrapper.getOrderIsInsideGeofence(args.toHashMap()).toPromise(promise)
|
|
144
|
+
}
|
|
145
|
+
|
|
138
146
|
@ReactMethod
|
|
139
147
|
fun getOrders(promise: Promise) {
|
|
140
148
|
HyperTrackSdkWrapper.getOrders().toPromise(promise)
|
|
@@ -10,12 +10,14 @@ import com.reactnativehypertracksdk.common.Serialization.deserializeIsAvailable
|
|
|
10
10
|
import com.reactnativehypertracksdk.common.Serialization.deserializeIsTracking
|
|
11
11
|
import com.reactnativehypertracksdk.common.Serialization.deserializeMetadata
|
|
12
12
|
import com.reactnativehypertracksdk.common.Serialization.deserializeName
|
|
13
|
+
import com.reactnativehypertracksdk.common.Serialization.deserializeOrderHandle
|
|
13
14
|
import com.reactnativehypertracksdk.common.Serialization.deserializeWorkerHandle
|
|
14
15
|
import com.reactnativehypertracksdk.common.Serialization.serializeAllowMockLocation
|
|
15
16
|
import com.reactnativehypertracksdk.common.Serialization.serializeDeviceId
|
|
16
17
|
import com.reactnativehypertracksdk.common.Serialization.serializeDynamicPublishableKey
|
|
17
18
|
import com.reactnativehypertracksdk.common.Serialization.serializeErrors
|
|
18
19
|
import com.reactnativehypertracksdk.common.Serialization.serializeIsAvailable
|
|
20
|
+
import com.reactnativehypertracksdk.common.Serialization.serializeIsInsideGeofence
|
|
19
21
|
import com.reactnativehypertracksdk.common.Serialization.serializeIsTracking
|
|
20
22
|
import com.reactnativehypertracksdk.common.Serialization.serializeLocationErrorFailure
|
|
21
23
|
import com.reactnativehypertracksdk.common.Serialization.serializeLocationResult
|
|
@@ -134,6 +136,20 @@ internal object HyperTrackSdkWrapper {
|
|
|
134
136
|
serializeOrders(HyperTrack.orders.values),
|
|
135
137
|
)
|
|
136
138
|
|
|
139
|
+
fun getOrderIsInsideGeofence(args: Serialized): WrapperResult<Serialized> =
|
|
140
|
+
deserializeOrderHandle(args)
|
|
141
|
+
.mapSuccess { orderHandle ->
|
|
142
|
+
HyperTrack
|
|
143
|
+
.orders
|
|
144
|
+
.values
|
|
145
|
+
.firstOrNull { it.orderHandle == orderHandle }
|
|
146
|
+
.let { order ->
|
|
147
|
+
order?.isInsideGeofence ?: Result.Success(false)
|
|
148
|
+
}.let {
|
|
149
|
+
serializeIsInsideGeofence(it)
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
137
153
|
fun getWorkerHandle(): WrapperResult<Serialized> =
|
|
138
154
|
Success(
|
|
139
155
|
serializeWorkerHandle(HyperTrack.workerHandle),
|
|
@@ -89,6 +89,14 @@ internal object Serialization {
|
|
|
89
89
|
.getOrThrow()
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
fun deserializeOrderHandle(map: Serialized): WrapperResult<String> =
|
|
93
|
+
parse(map) {
|
|
94
|
+
it.assertValue<String>(key = KEY_TYPE, value = TYPE_ORDER_HANDLE)
|
|
95
|
+
it
|
|
96
|
+
.get<String>(KEY_VALUE)
|
|
97
|
+
.getOrThrow()
|
|
98
|
+
}
|
|
99
|
+
|
|
92
100
|
fun deserializeWorkerHandle(map: Serialized): WrapperResult<String> =
|
|
93
101
|
parse(map) {
|
|
94
102
|
it.assertValue<String>(key = KEY_TYPE, value = TYPE_WORKER_HANDLE)
|
|
@@ -139,12 +147,40 @@ internal object Serialization {
|
|
|
139
147
|
serializeError(it)
|
|
140
148
|
}
|
|
141
149
|
|
|
150
|
+
fun serializeFailure(failure: List<Serialized>): Serialized =
|
|
151
|
+
mapOf(
|
|
152
|
+
KEY_TYPE to TYPE_RESULT_FAILURE,
|
|
153
|
+
KEY_VALUE to failure,
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
fun serializeFailure(failure: Serialized): Serialized =
|
|
157
|
+
mapOf(
|
|
158
|
+
KEY_TYPE to TYPE_RESULT_FAILURE,
|
|
159
|
+
KEY_VALUE to failure,
|
|
160
|
+
)
|
|
161
|
+
|
|
142
162
|
fun serializeIsAvailable(isAvailable: Boolean): Serialized =
|
|
143
163
|
mapOf(
|
|
144
164
|
KEY_TYPE to TYPE_IS_AVAILABLE,
|
|
145
165
|
KEY_VALUE to isAvailable,
|
|
146
166
|
)
|
|
147
167
|
|
|
168
|
+
fun serializeIsInsideGeofence(isInsideGeofence: Result<Boolean, HyperTrack.LocationError>): Serialized =
|
|
169
|
+
when (isInsideGeofence) {
|
|
170
|
+
is Result.Failure -> {
|
|
171
|
+
serializeFailure(serializeLocationError(isInsideGeofence.failure))
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
is Result.Success -> {
|
|
175
|
+
serializeSuccess(
|
|
176
|
+
mapOf(
|
|
177
|
+
KEY_TYPE to TYPE_IS_INSIDE_GEOFENCE,
|
|
178
|
+
KEY_VALUE to isInsideGeofence.success,
|
|
179
|
+
),
|
|
180
|
+
)
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
148
184
|
fun serializeIsTracking(isTracking: Boolean): Serialized =
|
|
149
185
|
mapOf(
|
|
150
186
|
KEY_TYPE to TYPE_IS_TRACKING,
|
|
@@ -204,11 +240,17 @@ internal object Serialization {
|
|
|
204
240
|
mapOf(
|
|
205
241
|
KEY_ORDER_HANDLE to order.orderHandle,
|
|
206
242
|
KEY_ORDER_INDEX to index,
|
|
207
|
-
|
|
243
|
+
// beware not to call isInsideGeofence here, it's a computed property
|
|
208
244
|
)
|
|
209
245
|
},
|
|
210
246
|
)
|
|
211
247
|
|
|
248
|
+
fun serializeSuccess(success: Serialized): Serialized =
|
|
249
|
+
mapOf(
|
|
250
|
+
KEY_TYPE to TYPE_RESULT_SUCCESS,
|
|
251
|
+
KEY_VALUE to success,
|
|
252
|
+
)
|
|
253
|
+
|
|
212
254
|
fun serializeWorkerHandle(workerHandle: String): Serialized =
|
|
213
255
|
mapOf(
|
|
214
256
|
KEY_TYPE to TYPE_WORKER_HANDLE,
|
|
@@ -238,14 +280,6 @@ internal object Serialization {
|
|
|
238
280
|
}.getOrThrow()
|
|
239
281
|
}
|
|
240
282
|
|
|
241
|
-
private fun deserializeOrderHandle(map: Serialized): WrapperResult<String> =
|
|
242
|
-
parse(map) {
|
|
243
|
-
it.assertValue<String>(key = KEY_TYPE, value = TYPE_ORDER_HANDLE)
|
|
244
|
-
it
|
|
245
|
-
.get<String>(KEY_VALUE)
|
|
246
|
-
.getOrThrow()
|
|
247
|
-
}
|
|
248
|
-
|
|
249
283
|
private fun deserializeOrderStatus(map: Serialized): WrapperResult<HyperTrack.OrderStatus> =
|
|
250
284
|
parse(map) {
|
|
251
285
|
when (it.get<String>(KEY_TYPE).getOrThrow()) {
|
|
@@ -260,22 +294,6 @@ internal object Serialization {
|
|
|
260
294
|
}
|
|
261
295
|
}
|
|
262
296
|
|
|
263
|
-
private fun serializeIsInsideGeofence(isInsideGeofence: Result<Boolean, HyperTrack.LocationError>): Serialized =
|
|
264
|
-
when (isInsideGeofence) {
|
|
265
|
-
is Result.Failure -> {
|
|
266
|
-
serializeFailure(serializeLocationError(isInsideGeofence.failure))
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
is Result.Success -> {
|
|
270
|
-
serializeSuccess(
|
|
271
|
-
mapOf(
|
|
272
|
-
KEY_TYPE to TYPE_IS_INSIDE_GEOFENCE,
|
|
273
|
-
KEY_VALUE to isInsideGeofence.success,
|
|
274
|
-
),
|
|
275
|
-
)
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
|
|
279
297
|
private fun serializeLocation(location: HyperTrack.Location): Serialized =
|
|
280
298
|
mapOf(
|
|
281
299
|
KEY_TYPE to TYPE_LOCATION,
|
|
@@ -296,24 +314,6 @@ internal object Serialization {
|
|
|
296
314
|
),
|
|
297
315
|
)
|
|
298
316
|
|
|
299
|
-
private fun serializeFailure(failure: List<Serialized>): Serialized =
|
|
300
|
-
mapOf(
|
|
301
|
-
KEY_TYPE to TYPE_RESULT_FAILURE,
|
|
302
|
-
KEY_VALUE to failure,
|
|
303
|
-
)
|
|
304
|
-
|
|
305
|
-
private fun serializeFailure(failure: Serialized): Serialized =
|
|
306
|
-
mapOf(
|
|
307
|
-
KEY_TYPE to TYPE_RESULT_FAILURE,
|
|
308
|
-
KEY_VALUE to failure,
|
|
309
|
-
)
|
|
310
|
-
|
|
311
|
-
private fun serializeSuccess(success: Serialized): Serialized =
|
|
312
|
-
mapOf(
|
|
313
|
-
KEY_TYPE to TYPE_RESULT_SUCCESS,
|
|
314
|
-
KEY_VALUE to success,
|
|
315
|
-
)
|
|
316
|
-
|
|
317
317
|
private fun serializeLocationError(locationError: HyperTrack.LocationError): Serialized =
|
|
318
318
|
when (locationError) {
|
|
319
319
|
HyperTrack.LocationError.NotRunning -> {
|
|
@@ -449,8 +449,7 @@ internal object Serialization {
|
|
|
449
449
|
private const val KEY_GEOTAG_EXPECTED_LOCATION = "expectedLocation"
|
|
450
450
|
private const val KEY_GEOTAG_ORDER_HANDLE = "orderHandle"
|
|
451
451
|
private const val KEY_GEOTAG_ORDER_STATUS = "orderStatus"
|
|
452
|
-
private const val KEY_ORDER_IS_INSIDE_GEOFENCE = "isInsideGeofence"
|
|
453
452
|
private const val KEY_LOCATION = "location"
|
|
454
453
|
private const val KEY_ORDER_HANDLE = "orderHandle"
|
|
455
|
-
private const val KEY_ORDER_INDEX = "
|
|
454
|
+
private const val KEY_ORDER_INDEX = "index"
|
|
456
455
|
}
|
|
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
18
|
|
|
19
19
|
s.dependency "React-Core"
|
|
20
|
-
s.dependency 'HyperTrack', '5.
|
|
20
|
+
s.dependency 'HyperTrack', '5.11.1'
|
|
21
21
|
|
|
22
22
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
23
23
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
@@ -40,6 +40,10 @@ RCT_EXTERN_METHOD(getMetadata:(RCTPromiseResolveBlock)resolve
|
|
|
40
40
|
RCT_EXTERN_METHOD(getName:(RCTPromiseResolveBlock)resolve
|
|
41
41
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
42
42
|
|
|
43
|
+
RCT_EXTERN_METHOD(getOrderIsInsideGeofence:(NSDictionary *)args
|
|
44
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
45
|
+
rejecter:(RCTPromiseRejectBlock)reject)
|
|
46
|
+
|
|
43
47
|
RCT_EXTERN_METHOD(getOrders:(RCTPromiseResolveBlock)resolve
|
|
44
48
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
45
49
|
|
|
@@ -185,6 +185,21 @@ class HyperTrackReactNativePlugin: RCTEventEmitter {
|
|
|
185
185
|
)
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
+
@objc func getOrderIsInsideGeofence(
|
|
189
|
+
_ args: NSDictionary,
|
|
190
|
+
resolver resolve: RCTPromiseResolveBlock,
|
|
191
|
+
rejecter reject: RCTPromiseRejectBlock
|
|
192
|
+
) {
|
|
193
|
+
sendAsPromise(
|
|
194
|
+
hypertrack_sdk_react_native.getOrderIsInsideGeofence(
|
|
195
|
+
args as! [String: Any]
|
|
196
|
+
),
|
|
197
|
+
method: .getOrderIsInsideGeofence,
|
|
198
|
+
resolve,
|
|
199
|
+
reject
|
|
200
|
+
)
|
|
201
|
+
}
|
|
202
|
+
|
|
188
203
|
@objc func getOrders(
|
|
189
204
|
_ resolve: RCTPromiseResolveBlock,
|
|
190
205
|
rejecter reject: RCTPromiseRejectBlock
|
|
@@ -92,6 +92,16 @@ func getName() -> Result<SuccessResult, FailureResult> {
|
|
|
92
92
|
.success(.dict(serializeName(HyperTrack.name)))
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
func getOrderIsInsideGeofence(_ args: [String: Any]) -> Result<SuccessResult, FailureResult> {
|
|
96
|
+
deserializeOrderHandle(args).flatMap { orderHandle in
|
|
97
|
+
if let order = HyperTrack.orders.first(where: { $0.orderHandle == orderHandle }) {
|
|
98
|
+
return .success(.dict(serializeIsInsideGeofence(order.isInsideGeofence)))
|
|
99
|
+
} else {
|
|
100
|
+
return .success(.dict(serializeIsInsideGeofence(.success(false))))
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
95
105
|
func getOrders() -> Result<SuccessResult, FailureResult> {
|
|
96
106
|
.success(.dict(serializeOrders(Array(HyperTrack.orders))))
|
|
97
107
|
}
|
|
@@ -399,10 +399,11 @@ func serializeName(_ name: String) -> [String: Any] {
|
|
|
399
399
|
func serializeOrders(_ orders: [HyperTrack.Order]) -> [String: Any] {
|
|
400
400
|
return [
|
|
401
401
|
keyType: "orders",
|
|
402
|
-
keyValue: orders.map { order in
|
|
402
|
+
keyValue: orders.enumerated().map { (index, order) in
|
|
403
403
|
[
|
|
404
|
+
"index": index,
|
|
404
405
|
"orderHandle": order.orderHandle,
|
|
405
|
-
|
|
406
|
+
// beware not to call order.isInsideGeofence here, it is a computed property
|
|
406
407
|
]
|
|
407
408
|
},
|
|
408
409
|
]
|
|
@@ -208,7 +208,7 @@ class HyperTrack {
|
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
/**
|
|
211
|
-
* Gets the active orders for the worker. The orders are sorted with the ordering in
|
|
211
|
+
* Gets the active orders for the worker. The orders are sorted with the ordering in
|
|
212
212
|
* which the worker should complete them.
|
|
213
213
|
*
|
|
214
214
|
* @returns {Map<string, Order>} Map of orders
|
|
@@ -263,13 +263,13 @@ class HyperTrack {
|
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
/**
|
|
266
|
-
* Allows mocking location data.
|
|
267
|
-
*
|
|
266
|
+
* Allows mocking location data.
|
|
267
|
+
*
|
|
268
268
|
* Check the [Test with mock locations](https://hypertrack.com/docs/mock-location) guide for more information.
|
|
269
|
-
*
|
|
269
|
+
*
|
|
270
270
|
* To avoid issues related to race conditions in your code use this API **only if** modifying the compiled `HyperTrackAllowMockLocation` AndroidManifest.xml/Info.plist value is insufficient for your needs.
|
|
271
271
|
* Example: if for some reason you aren't able to recompile with `HyperTrackAllowMockLocation` set to `YES`/`true` for your prod app QA mock location tests and need to set up the value in runtime.
|
|
272
|
-
*
|
|
272
|
+
*
|
|
273
273
|
* @param true if mock location is allowed
|
|
274
274
|
*/
|
|
275
275
|
static async setAllowMockLocation(allow) {
|
|
@@ -598,10 +598,21 @@ class HyperTrack {
|
|
|
598
598
|
let result = new Map();
|
|
599
599
|
Object.entries(orders.value).map(([_, value]) => {
|
|
600
600
|
return value;
|
|
601
|
-
}).sort((first, second) =>
|
|
601
|
+
}).sort((first, second) => {
|
|
602
|
+
if (first.index === undefined || second.index === undefined) {
|
|
603
|
+
throw new Error(`Invalid order index: ${JSON.stringify(first)} ${JSON.stringify(second)}`);
|
|
604
|
+
}
|
|
605
|
+
return first.index - second.index;
|
|
606
|
+
}).forEach(orderInternal => {
|
|
602
607
|
result.set(orderInternal.orderHandle, {
|
|
603
608
|
orderHandle: orderInternal.orderHandle,
|
|
604
|
-
isInsideGeofence:
|
|
609
|
+
isInsideGeofence: async () => {
|
|
610
|
+
const isInsideGeofence = await HyperTrackSdk.getOrderIsInsideGeofence({
|
|
611
|
+
type: 'orderHandle',
|
|
612
|
+
value: orderInternal.orderHandle
|
|
613
|
+
});
|
|
614
|
+
return this.deserializeIsInsideGeofence(isInsideGeofence);
|
|
615
|
+
}
|
|
605
616
|
});
|
|
606
617
|
});
|
|
607
618
|
return result;
|
|
@@ -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","EVENT_ORDERS","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","getAllowMockLocation","allowMockLocation","deserializeAllowMockLocation","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","getOrders","orders","deserializeOrders","getWorkerHandle","workerHandle","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setAllowMockLocation","allow","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","setWorkerHandle","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","subscribeToOrders","res","map","error","keys","HyperTrackError","find","deserializeIsInsideGeofence","isInsideGeofence","successValue","deserializeLocationError","response","locationError","locationWithDeviationInternal","locationInternal","deviation","result","Map","entries","_","sort","first","second","index","forEach","orderInternal","set","startsWith","exports"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n type 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';\nimport type { Order } from './data_types/Order';\nimport type { OrdersInternal } from './data_types/internal/OrdersInternal';\nimport type { OrderInternal } from './data_types/internal/OrderInternal';\nimport type { IsInsideGeofence } from './data_types/internal/IsInsideGeofence';\nimport type { AllowMockLocation } from './data_types/internal/AllowMockLocation';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\nconst EVENT_ORDERS = 'orders';\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 * If disallowed, the HyperTrack platform will display and outage if mocked location is detected.\n *\n * @param {boolean} true if mock location is allowed\n */\n static async getAllowMockLocation(): Promise<boolean> {\n return HyperTrackSdk.getAllowMockLocation().then((allowMockLocation: AllowMockLocation) => {\n return this.deserializeAllowMockLocation(allowMockLocation);\n });\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 * Gets the active orders for the worker. The orders are sorted with the ordering in \n * which the worker should complete them.\n *\n * @returns {Map<string, Order>} Map of orders\n */\n static async getOrders(): Promise<Map<string, Order>> {\n return HyperTrackSdk.getOrders().then((orders: OrdersInternal) => {\n return this.deserializeOrders(orders);\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 /**\n * Allows mocking location data. \n * \n * Check the [Test with mock locations](https://hypertrack.com/docs/mock-location) guide for more information.\n * \n * To avoid issues related to race conditions in your code use this API **only if** modifying the compiled `HyperTrackAllowMockLocation` AndroidManifest.xml/Info.plist value is insufficient for your needs.\n * Example: if for some reason you aren't able to recompile with `HyperTrackAllowMockLocation` set to `YES`/`true` for your prod app QA mock location tests and need to set up the value in runtime.\n * \n * @param true if mock location is allowed\n */\n static async setAllowMockLocation(allow: boolean): Promise<void> {\n HyperTrackSdk.setAllowMockLocation({\n type: 'allowMockLocation',\n value: allow,\n } as AllowMockLocation);\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 isAvailable 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 /**\n * Subscribe to changes in the orders assigned to the worker\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToOrders(orders => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToOrders(\n listener: (orders: Map<string, Order>) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(EVENT_ORDERS, (orders: OrdersInternal) => {\n listener(this.deserializeOrders(orders));\n });\n }\n\n /** @ignore */\n private static deserializeAllowMockLocation(allowMockLocation: AllowMockLocation): boolean {\n if (allowMockLocation.type !== 'allowMockLocation') {\n throw new Error(`Invalid allowMockLocation: ${JSON.stringify(allowMockLocation)}`);\n }\n return allowMockLocation.value;\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 deserializeIsInsideGeofence(\n isInsideGeofence: Result<IsInsideGeofence, LocationErrorInternal>,\n ): Result<boolean, LocationError> {\n switch (isInsideGeofence.type) {\n case 'success':\n let successValue = isInsideGeofence.value;\n if (successValue.type !== 'isInsideGeofence') {\n throw new Error(`Invalid isInsideGeofence: ${JSON.stringify(successValue)}`);\n }\n return {\n type: 'success',\n value: successValue.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(isInsideGeofence.value),\n };\n }\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 deserializeOrders(orders: OrdersInternal): Map<string, Order> {\n if (orders.type !== 'orders') {\n throw new Error(`Invalid orders: ${JSON.stringify(orders)}`);\n }\n let result = new Map<string, Order>();\n Object.entries(orders.value)\n .map(([_, value]: [string, OrderInternal]) => {\n return value;\n })\n .sort(\n (first: OrderInternal, second: OrderInternal) =>\n first.index - second.index\n )\n .forEach((orderInternal: OrderInternal) => {\n result.set(orderInternal.orderHandle, {\n orderHandle: orderInternal.orderHandle,\n isInsideGeofence: this.deserializeIsInsideGeofence(\n orderInternal.isInsideGeofence\n ),\n } as Order);\n });\n return result;\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","EVENT_ORDERS","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","getAllowMockLocation","allowMockLocation","deserializeAllowMockLocation","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","getOrders","orders","deserializeOrders","getWorkerHandle","workerHandle","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setAllowMockLocation","allow","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","setWorkerHandle","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","subscribeToOrders","res","map","error","keys","HyperTrackError","find","deserializeIsInsideGeofence","isInsideGeofence","successValue","deserializeLocationError","response","locationError","locationWithDeviationInternal","locationInternal","deviation","result","Map","entries","_","sort","first","second","index","forEach","orderInternal","set","getOrderIsInsideGeofence","startsWith","exports"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n type 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';\nimport type { Order } from './data_types/Order';\nimport type { OrdersInternal } from './data_types/internal/OrdersInternal';\nimport type { OrderInternal } from './data_types/internal/OrderInternal';\nimport type { IsInsideGeofence } from './data_types/internal/IsInsideGeofence';\nimport type { AllowMockLocation } from './data_types/internal/AllowMockLocation';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\nconst EVENT_ORDERS = 'orders';\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 * If disallowed, the HyperTrack platform will display and outage if mocked location is detected.\n *\n * @param {boolean} true if mock location is allowed\n */\n static async getAllowMockLocation(): Promise<boolean> {\n return HyperTrackSdk.getAllowMockLocation().then(\n (allowMockLocation: AllowMockLocation) => {\n return this.deserializeAllowMockLocation(allowMockLocation);\n }\n );\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 * Gets the active orders for the worker. The orders are sorted with the ordering in\n * which the worker should complete them.\n *\n * @returns {Map<string, Order>} Map of orders\n */\n static async getOrders(): Promise<Map<string, Order>> {\n return HyperTrackSdk.getOrders().then((orders: OrdersInternal) => {\n return this.deserializeOrders(orders);\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 /**\n * Allows mocking location data.\n *\n * Check the [Test with mock locations](https://hypertrack.com/docs/mock-location) guide for more information.\n *\n * To avoid issues related to race conditions in your code use this API **only if** modifying the compiled `HyperTrackAllowMockLocation` AndroidManifest.xml/Info.plist value is insufficient for your needs.\n * Example: if for some reason you aren't able to recompile with `HyperTrackAllowMockLocation` set to `YES`/`true` for your prod app QA mock location tests and need to set up the value in runtime.\n *\n * @param true if mock location is allowed\n */\n static async setAllowMockLocation(allow: boolean): Promise<void> {\n HyperTrackSdk.setAllowMockLocation({\n type: 'allowMockLocation',\n value: allow,\n } as AllowMockLocation);\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 isAvailable 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 /**\n * Subscribe to changes in the orders assigned to the worker\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToOrders(orders => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToOrders(\n listener: (orders: Map<string, Order>) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(EVENT_ORDERS, (orders: OrdersInternal) => {\n listener(this.deserializeOrders(orders));\n });\n }\n\n /** @ignore */\n private static deserializeAllowMockLocation(\n allowMockLocation: AllowMockLocation\n ): boolean {\n if (allowMockLocation.type !== 'allowMockLocation') {\n throw new Error(\n `Invalid allowMockLocation: ${JSON.stringify(allowMockLocation)}`\n );\n }\n return allowMockLocation.value;\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 deserializeIsInsideGeofence(\n isInsideGeofence: Result<IsInsideGeofence, LocationErrorInternal>\n ): Result<boolean, LocationError> {\n switch (isInsideGeofence.type) {\n case 'success':\n let successValue = isInsideGeofence.value;\n if (successValue.type !== 'isInsideGeofence') {\n throw new Error(\n `Invalid isInsideGeofence: ${JSON.stringify(successValue)}`\n );\n }\n return {\n type: 'success',\n value: successValue.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(isInsideGeofence.value),\n };\n }\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 deserializeOrders(orders: OrdersInternal): Map<string, Order> {\n if (orders.type !== 'orders') {\n throw new Error(`Invalid orders: ${JSON.stringify(orders)}`);\n }\n let result = new Map<string, Order>();\n Object.entries(orders.value)\n .map(([_, value]: [string, OrderInternal]) => {\n return value;\n })\n .sort((first: OrderInternal, second: OrderInternal) => {\n if (first.index === undefined || second.index === undefined) {\n throw new Error(\n `Invalid order index: ${JSON.stringify(first)} ${JSON.stringify(\n second\n )}`\n );\n }\n return first.index - second.index;\n })\n .forEach((orderInternal: OrderInternal) => {\n result.set(orderInternal.orderHandle, {\n orderHandle: orderInternal.orderHandle,\n isInsideGeofence: async () => {\n const isInsideGeofence =\n await HyperTrackSdk.getOrderIsInsideGeofence({\n type: 'orderHandle',\n value: orderInternal.orderHandle,\n });\n return this.deserializeIsInsideGeofence(isInsideGeofence);\n },\n } as Order);\n });\n return result;\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 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["Order.ts"],"sourcesContent":["import type { Result } from './Result';\nimport type { LocationError } from './LocationError';\n\nexport type Order = {\n orderHandle: string;\n isInsideGeofence: Result<boolean, LocationError
|
|
1
|
+
{"version":3,"names":[],"sources":["Order.ts"],"sourcesContent":["import type { Result } from './Result';\nimport type { LocationError } from './LocationError';\n\nexport type Order = {\n orderHandle: string;\n isInsideGeofence: () => Promise<Result<boolean, LocationError>>;\n};\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["OrderInternal.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"names":[],"sources":["OrderInternal.ts"],"sourcesContent":["export type OrderInternal = {\n orderHandle: string;\n index: number;\n};\n"],"mappings":""}
|
|
@@ -202,7 +202,7 @@ export default class HyperTrack {
|
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
/**
|
|
205
|
-
* Gets the active orders for the worker. The orders are sorted with the ordering in
|
|
205
|
+
* Gets the active orders for the worker. The orders are sorted with the ordering in
|
|
206
206
|
* which the worker should complete them.
|
|
207
207
|
*
|
|
208
208
|
* @returns {Map<string, Order>} Map of orders
|
|
@@ -257,13 +257,13 @@ export default class HyperTrack {
|
|
|
257
257
|
}
|
|
258
258
|
|
|
259
259
|
/**
|
|
260
|
-
* Allows mocking location data.
|
|
261
|
-
*
|
|
260
|
+
* Allows mocking location data.
|
|
261
|
+
*
|
|
262
262
|
* Check the [Test with mock locations](https://hypertrack.com/docs/mock-location) guide for more information.
|
|
263
|
-
*
|
|
263
|
+
*
|
|
264
264
|
* To avoid issues related to race conditions in your code use this API **only if** modifying the compiled `HyperTrackAllowMockLocation` AndroidManifest.xml/Info.plist value is insufficient for your needs.
|
|
265
265
|
* Example: if for some reason you aren't able to recompile with `HyperTrackAllowMockLocation` set to `YES`/`true` for your prod app QA mock location tests and need to set up the value in runtime.
|
|
266
|
-
*
|
|
266
|
+
*
|
|
267
267
|
* @param true if mock location is allowed
|
|
268
268
|
*/
|
|
269
269
|
static async setAllowMockLocation(allow) {
|
|
@@ -592,10 +592,21 @@ export default class HyperTrack {
|
|
|
592
592
|
let result = new Map();
|
|
593
593
|
Object.entries(orders.value).map(([_, value]) => {
|
|
594
594
|
return value;
|
|
595
|
-
}).sort((first, second) =>
|
|
595
|
+
}).sort((first, second) => {
|
|
596
|
+
if (first.index === undefined || second.index === undefined) {
|
|
597
|
+
throw new Error(`Invalid order index: ${JSON.stringify(first)} ${JSON.stringify(second)}`);
|
|
598
|
+
}
|
|
599
|
+
return first.index - second.index;
|
|
600
|
+
}).forEach(orderInternal => {
|
|
596
601
|
result.set(orderInternal.orderHandle, {
|
|
597
602
|
orderHandle: orderInternal.orderHandle,
|
|
598
|
-
isInsideGeofence:
|
|
603
|
+
isInsideGeofence: async () => {
|
|
604
|
+
const isInsideGeofence = await HyperTrackSdk.getOrderIsInsideGeofence({
|
|
605
|
+
type: 'orderHandle',
|
|
606
|
+
value: orderInternal.orderHandle
|
|
607
|
+
});
|
|
608
|
+
return this.deserializeIsInsideGeofence(isInsideGeofence);
|
|
609
|
+
}
|
|
599
610
|
});
|
|
600
611
|
});
|
|
601
612
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","HyperTrackError","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","EVENT_ORDERS","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","getAllowMockLocation","allowMockLocation","deserializeAllowMockLocation","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","getOrders","orders","deserializeOrders","getWorkerHandle","workerHandle","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setAllowMockLocation","allow","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","setWorkerHandle","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","subscribeToOrders","res","map","error","Object","keys","find","key","deserializeIsInsideGeofence","isInsideGeofence","successValue","deserializeLocationError","response","locationError","locationWithDeviationInternal","locationInternal","deviation","result","Map","entries","_","sort","first","second","index","forEach","orderInternal","set","obj","startsWith","_defineProperty"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n type 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';\nimport type { Order } from './data_types/Order';\nimport type { OrdersInternal } from './data_types/internal/OrdersInternal';\nimport type { OrderInternal } from './data_types/internal/OrderInternal';\nimport type { IsInsideGeofence } from './data_types/internal/IsInsideGeofence';\nimport type { AllowMockLocation } from './data_types/internal/AllowMockLocation';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\nconst EVENT_ORDERS = 'orders';\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 * If disallowed, the HyperTrack platform will display and outage if mocked location is detected.\n *\n * @param {boolean} true if mock location is allowed\n */\n static async getAllowMockLocation(): Promise<boolean> {\n return HyperTrackSdk.getAllowMockLocation().then((allowMockLocation: AllowMockLocation) => {\n return this.deserializeAllowMockLocation(allowMockLocation);\n });\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 * Gets the active orders for the worker. The orders are sorted with the ordering in \n * which the worker should complete them.\n *\n * @returns {Map<string, Order>} Map of orders\n */\n static async getOrders(): Promise<Map<string, Order>> {\n return HyperTrackSdk.getOrders().then((orders: OrdersInternal) => {\n return this.deserializeOrders(orders);\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 /**\n * Allows mocking location data. \n * \n * Check the [Test with mock locations](https://hypertrack.com/docs/mock-location) guide for more information.\n * \n * To avoid issues related to race conditions in your code use this API **only if** modifying the compiled `HyperTrackAllowMockLocation` AndroidManifest.xml/Info.plist value is insufficient for your needs.\n * Example: if for some reason you aren't able to recompile with `HyperTrackAllowMockLocation` set to `YES`/`true` for your prod app QA mock location tests and need to set up the value in runtime.\n * \n * @param true if mock location is allowed\n */\n static async setAllowMockLocation(allow: boolean): Promise<void> {\n HyperTrackSdk.setAllowMockLocation({\n type: 'allowMockLocation',\n value: allow,\n } as AllowMockLocation);\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 isAvailable 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 /**\n * Subscribe to changes in the orders assigned to the worker\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToOrders(orders => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToOrders(\n listener: (orders: Map<string, Order>) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(EVENT_ORDERS, (orders: OrdersInternal) => {\n listener(this.deserializeOrders(orders));\n });\n }\n\n /** @ignore */\n private static deserializeAllowMockLocation(allowMockLocation: AllowMockLocation): boolean {\n if (allowMockLocation.type !== 'allowMockLocation') {\n throw new Error(`Invalid allowMockLocation: ${JSON.stringify(allowMockLocation)}`);\n }\n return allowMockLocation.value;\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 deserializeIsInsideGeofence(\n isInsideGeofence: Result<IsInsideGeofence, LocationErrorInternal>,\n ): Result<boolean, LocationError> {\n switch (isInsideGeofence.type) {\n case 'success':\n let successValue = isInsideGeofence.value;\n if (successValue.type !== 'isInsideGeofence') {\n throw new Error(`Invalid isInsideGeofence: ${JSON.stringify(successValue)}`);\n }\n return {\n type: 'success',\n value: successValue.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(isInsideGeofence.value),\n };\n }\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 deserializeOrders(orders: OrdersInternal): Map<string, Order> {\n if (orders.type !== 'orders') {\n throw new Error(`Invalid orders: ${JSON.stringify(orders)}`);\n }\n let result = new Map<string, Order>();\n Object.entries(orders.value)\n .map(([_, value]: [string, OrderInternal]) => {\n return value;\n })\n .sort(\n (first: OrderInternal, second: OrderInternal) =>\n first.index - second.index\n )\n .forEach((orderInternal: OrderInternal) => {\n result.set(orderInternal.orderHandle, {\n orderHandle: orderInternal.orderHandle,\n isInsideGeofence: this.deserializeIsInsideGeofence(\n orderInternal.isInsideGeofence\n ),\n } as Order);\n });\n return result;\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","EVENT_ORDERS","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","getAllowMockLocation","allowMockLocation","deserializeAllowMockLocation","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","getOrders","orders","deserializeOrders","getWorkerHandle","workerHandle","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setAllowMockLocation","allow","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","setWorkerHandle","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","subscribeToOrders","res","map","error","Object","keys","find","key","deserializeIsInsideGeofence","isInsideGeofence","successValue","deserializeLocationError","response","locationError","locationWithDeviationInternal","locationInternal","deviation","result","Map","entries","_","sort","first","second","index","forEach","orderInternal","set","getOrderIsInsideGeofence","obj","startsWith","_defineProperty"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n type 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';\nimport type { Order } from './data_types/Order';\nimport type { OrdersInternal } from './data_types/internal/OrdersInternal';\nimport type { OrderInternal } from './data_types/internal/OrderInternal';\nimport type { IsInsideGeofence } from './data_types/internal/IsInsideGeofence';\nimport type { AllowMockLocation } from './data_types/internal/AllowMockLocation';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\nconst EVENT_ORDERS = 'orders';\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 * If disallowed, the HyperTrack platform will display and outage if mocked location is detected.\n *\n * @param {boolean} true if mock location is allowed\n */\n static async getAllowMockLocation(): Promise<boolean> {\n return HyperTrackSdk.getAllowMockLocation().then(\n (allowMockLocation: AllowMockLocation) => {\n return this.deserializeAllowMockLocation(allowMockLocation);\n }\n );\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 * Gets the active orders for the worker. The orders are sorted with the ordering in\n * which the worker should complete them.\n *\n * @returns {Map<string, Order>} Map of orders\n */\n static async getOrders(): Promise<Map<string, Order>> {\n return HyperTrackSdk.getOrders().then((orders: OrdersInternal) => {\n return this.deserializeOrders(orders);\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 /**\n * Allows mocking location data.\n *\n * Check the [Test with mock locations](https://hypertrack.com/docs/mock-location) guide for more information.\n *\n * To avoid issues related to race conditions in your code use this API **only if** modifying the compiled `HyperTrackAllowMockLocation` AndroidManifest.xml/Info.plist value is insufficient for your needs.\n * Example: if for some reason you aren't able to recompile with `HyperTrackAllowMockLocation` set to `YES`/`true` for your prod app QA mock location tests and need to set up the value in runtime.\n *\n * @param true if mock location is allowed\n */\n static async setAllowMockLocation(allow: boolean): Promise<void> {\n HyperTrackSdk.setAllowMockLocation({\n type: 'allowMockLocation',\n value: allow,\n } as AllowMockLocation);\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 isAvailable 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 /**\n * Subscribe to changes in the orders assigned to the worker\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToOrders(orders => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToOrders(\n listener: (orders: Map<string, Order>) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(EVENT_ORDERS, (orders: OrdersInternal) => {\n listener(this.deserializeOrders(orders));\n });\n }\n\n /** @ignore */\n private static deserializeAllowMockLocation(\n allowMockLocation: AllowMockLocation\n ): boolean {\n if (allowMockLocation.type !== 'allowMockLocation') {\n throw new Error(\n `Invalid allowMockLocation: ${JSON.stringify(allowMockLocation)}`\n );\n }\n return allowMockLocation.value;\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 deserializeIsInsideGeofence(\n isInsideGeofence: Result<IsInsideGeofence, LocationErrorInternal>\n ): Result<boolean, LocationError> {\n switch (isInsideGeofence.type) {\n case 'success':\n let successValue = isInsideGeofence.value;\n if (successValue.type !== 'isInsideGeofence') {\n throw new Error(\n `Invalid isInsideGeofence: ${JSON.stringify(successValue)}`\n );\n }\n return {\n type: 'success',\n value: successValue.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(isInsideGeofence.value),\n };\n }\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 deserializeOrders(orders: OrdersInternal): Map<string, Order> {\n if (orders.type !== 'orders') {\n throw new Error(`Invalid orders: ${JSON.stringify(orders)}`);\n }\n let result = new Map<string, Order>();\n Object.entries(orders.value)\n .map(([_, value]: [string, OrderInternal]) => {\n return value;\n })\n .sort((first: OrderInternal, second: OrderInternal) => {\n if (first.index === undefined || second.index === undefined) {\n throw new Error(\n `Invalid order index: ${JSON.stringify(first)} ${JSON.stringify(\n second\n )}`\n );\n }\n return first.index - second.index;\n })\n .forEach((orderInternal: OrderInternal) => {\n result.set(orderInternal.orderHandle, {\n orderHandle: orderInternal.orderHandle,\n isInsideGeofence: async () => {\n const isInsideGeofence =\n await HyperTrackSdk.getOrderIsInsideGeofence({\n type: 'orderHandle',\n value: orderInternal.orderHandle,\n });\n return this.deserializeIsInsideGeofence(isInsideGeofence);\n },\n } as Order);\n });\n return result;\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 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["Order.ts"],"sourcesContent":["import type { Result } from './Result';\nimport type { LocationError } from './LocationError';\n\nexport type Order = {\n orderHandle: string;\n isInsideGeofence: Result<boolean, LocationError
|
|
1
|
+
{"version":3,"names":[],"sources":["Order.ts"],"sourcesContent":["import type { Result } from './Result';\nimport type { LocationError } from './LocationError';\n\nexport type Order = {\n orderHandle: string;\n isInsideGeofence: () => Promise<Result<boolean, LocationError>>;\n};\n"],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
//# sourceMappingURL=OrderInternal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["OrderInternal.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"names":[],"sources":["OrderInternal.ts"],"sourcesContent":["export type OrderInternal = {\n orderHandle: string;\n index: number;\n};\n"],"mappings":""}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import type { Result } from '../Result';
|
|
2
|
-
import type { IsInsideGeofence } from './IsInsideGeofence';
|
|
3
|
-
import type { LocationErrorInternal } from './LocationErrorInternal';
|
|
4
1
|
export type OrderInternal = {
|
|
5
2
|
orderHandle: string;
|
|
6
|
-
isInsideGeofence: Result<IsInsideGeofence, LocationErrorInternal>;
|
|
7
3
|
index: number;
|
|
8
4
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hypertrack-sdk-react-native",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.1",
|
|
4
4
|
"description": "React Native HyperTrack SDK is a wrapper around native iOS and Android SDKs that allows to integrate HyperTrack into React Native apps.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -219,9 +219,11 @@ export default class HyperTrack {
|
|
|
219
219
|
* @param {boolean} true if mock location is allowed
|
|
220
220
|
*/
|
|
221
221
|
static async getAllowMockLocation(): Promise<boolean> {
|
|
222
|
-
return HyperTrackSdk.getAllowMockLocation().then(
|
|
223
|
-
|
|
224
|
-
|
|
222
|
+
return HyperTrackSdk.getAllowMockLocation().then(
|
|
223
|
+
(allowMockLocation: AllowMockLocation) => {
|
|
224
|
+
return this.deserializeAllowMockLocation(allowMockLocation);
|
|
225
|
+
}
|
|
226
|
+
);
|
|
225
227
|
}
|
|
226
228
|
|
|
227
229
|
/**
|
|
@@ -311,7 +313,7 @@ export default class HyperTrack {
|
|
|
311
313
|
}
|
|
312
314
|
|
|
313
315
|
/**
|
|
314
|
-
* Gets the active orders for the worker. The orders are sorted with the ordering in
|
|
316
|
+
* Gets the active orders for the worker. The orders are sorted with the ordering in
|
|
315
317
|
* which the worker should complete them.
|
|
316
318
|
*
|
|
317
319
|
* @returns {Map<string, Order>} Map of orders
|
|
@@ -372,13 +374,13 @@ export default class HyperTrack {
|
|
|
372
374
|
}
|
|
373
375
|
|
|
374
376
|
/**
|
|
375
|
-
* Allows mocking location data.
|
|
376
|
-
*
|
|
377
|
+
* Allows mocking location data.
|
|
378
|
+
*
|
|
377
379
|
* Check the [Test with mock locations](https://hypertrack.com/docs/mock-location) guide for more information.
|
|
378
|
-
*
|
|
380
|
+
*
|
|
379
381
|
* To avoid issues related to race conditions in your code use this API **only if** modifying the compiled `HyperTrackAllowMockLocation` AndroidManifest.xml/Info.plist value is insufficient for your needs.
|
|
380
382
|
* Example: if for some reason you aren't able to recompile with `HyperTrackAllowMockLocation` set to `YES`/`true` for your prod app QA mock location tests and need to set up the value in runtime.
|
|
381
|
-
*
|
|
383
|
+
*
|
|
382
384
|
* @param true if mock location is allowed
|
|
383
385
|
*/
|
|
384
386
|
static async setAllowMockLocation(allow: boolean): Promise<void> {
|
|
@@ -386,7 +388,7 @@ export default class HyperTrack {
|
|
|
386
388
|
type: 'allowMockLocation',
|
|
387
389
|
value: allow,
|
|
388
390
|
} as AllowMockLocation);
|
|
389
|
-
}
|
|
391
|
+
}
|
|
390
392
|
|
|
391
393
|
static setDynamicPublishableKey(dynamicPublishableKey: string) {
|
|
392
394
|
HyperTrackSdk.setDynamicPublishableKey({
|
|
@@ -593,9 +595,13 @@ export default class HyperTrack {
|
|
|
593
595
|
}
|
|
594
596
|
|
|
595
597
|
/** @ignore */
|
|
596
|
-
private static deserializeAllowMockLocation(
|
|
598
|
+
private static deserializeAllowMockLocation(
|
|
599
|
+
allowMockLocation: AllowMockLocation
|
|
600
|
+
): boolean {
|
|
597
601
|
if (allowMockLocation.type !== 'allowMockLocation') {
|
|
598
|
-
throw new Error(
|
|
602
|
+
throw new Error(
|
|
603
|
+
`Invalid allowMockLocation: ${JSON.stringify(allowMockLocation)}`
|
|
604
|
+
);
|
|
599
605
|
}
|
|
600
606
|
return allowMockLocation.value;
|
|
601
607
|
}
|
|
@@ -632,13 +638,15 @@ export default class HyperTrack {
|
|
|
632
638
|
|
|
633
639
|
/** @ignore */
|
|
634
640
|
private static deserializeIsInsideGeofence(
|
|
635
|
-
isInsideGeofence: Result<IsInsideGeofence, LocationErrorInternal
|
|
641
|
+
isInsideGeofence: Result<IsInsideGeofence, LocationErrorInternal>
|
|
636
642
|
): Result<boolean, LocationError> {
|
|
637
643
|
switch (isInsideGeofence.type) {
|
|
638
644
|
case 'success':
|
|
639
645
|
let successValue = isInsideGeofence.value;
|
|
640
646
|
if (successValue.type !== 'isInsideGeofence') {
|
|
641
|
-
throw new Error(
|
|
647
|
+
throw new Error(
|
|
648
|
+
`Invalid isInsideGeofence: ${JSON.stringify(successValue)}`
|
|
649
|
+
);
|
|
642
650
|
}
|
|
643
651
|
return {
|
|
644
652
|
type: 'success',
|
|
@@ -756,16 +764,27 @@ export default class HyperTrack {
|
|
|
756
764
|
.map(([_, value]: [string, OrderInternal]) => {
|
|
757
765
|
return value;
|
|
758
766
|
})
|
|
759
|
-
.sort(
|
|
760
|
-
(first
|
|
761
|
-
|
|
762
|
-
|
|
767
|
+
.sort((first: OrderInternal, second: OrderInternal) => {
|
|
768
|
+
if (first.index === undefined || second.index === undefined) {
|
|
769
|
+
throw new Error(
|
|
770
|
+
`Invalid order index: ${JSON.stringify(first)} ${JSON.stringify(
|
|
771
|
+
second
|
|
772
|
+
)}`
|
|
773
|
+
);
|
|
774
|
+
}
|
|
775
|
+
return first.index - second.index;
|
|
776
|
+
})
|
|
763
777
|
.forEach((orderInternal: OrderInternal) => {
|
|
764
778
|
result.set(orderInternal.orderHandle, {
|
|
765
779
|
orderHandle: orderInternal.orderHandle,
|
|
766
|
-
isInsideGeofence:
|
|
767
|
-
|
|
768
|
-
|
|
780
|
+
isInsideGeofence: async () => {
|
|
781
|
+
const isInsideGeofence =
|
|
782
|
+
await HyperTrackSdk.getOrderIsInsideGeofence({
|
|
783
|
+
type: 'orderHandle',
|
|
784
|
+
value: orderInternal.orderHandle,
|
|
785
|
+
});
|
|
786
|
+
return this.deserializeIsInsideGeofence(isInsideGeofence);
|
|
787
|
+
},
|
|
769
788
|
} as Order);
|
|
770
789
|
});
|
|
771
790
|
return result;
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import type { Result } from '../Result';
|
|
2
|
-
import type { IsInsideGeofence } from './IsInsideGeofence';
|
|
3
|
-
import type { LocationErrorInternal } from './LocationErrorInternal';
|
|
4
|
-
|
|
5
1
|
export type OrderInternal = {
|
|
6
2
|
orderHandle: string;
|
|
7
|
-
isInsideGeofence: Result<IsInsideGeofence, LocationErrorInternal>;
|
|
8
3
|
index: number;
|
|
9
4
|
};
|