hypertrack-sdk-react-native 13.3.0 → 13.3.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 +16 -8
- package/android/src/main/java/com/reactnativehypertracksdk/ReactNativeSerialization.kt +2 -2
- package/android/src/main/java/com/reactnativehypertracksdk/common/HyperTrackSdkWrapper.kt +15 -16
- package/android/src/main/java/com/reactnativehypertracksdk/common/Serialization.kt +106 -98
- package/android/src/main/java/com/reactnativehypertracksdk/common/WrapperResult.kt +3 -4
- package/hypertrack-sdk-react-native.podspec +1 -1
- package/ios/common/Serialization.swift +26 -1
- package/lib/commonjs/HyperTrack/HyperTrack.js +10 -4
- package/lib/commonjs/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/commonjs/HyperTrack/data_types/internal/GeotagData.js.map +1 -1
- package/lib/commonjs/HyperTrack/data_types/internal/OrderHandle.js +2 -0
- package/lib/commonjs/HyperTrack/data_types/internal/OrderHandle.js.map +1 -0
- package/lib/module/HyperTrack/HyperTrack.js +10 -4
- package/lib/module/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/module/HyperTrack/data_types/internal/GeotagData.js.map +1 -1
- package/lib/module/HyperTrack/data_types/internal/OrderHandle.js +2 -0
- package/lib/module/HyperTrack/data_types/internal/OrderHandle.js.map +1 -0
- package/lib/typescript/HyperTrack/HyperTrack.d.ts +2 -2
- package/lib/typescript/HyperTrack/data_types/internal/GeotagData.d.ts +4 -0
- package/lib/typescript/HyperTrack/data_types/internal/OrderHandle.d.ts +4 -0
- package/package.json +1 -1
- package/src/HyperTrack/HyperTrack.ts +11 -4
- package/src/HyperTrack/data_types/internal/GeotagData.ts +4 -0
- package/src/HyperTrack/data_types/internal/OrderHandle.ts +4 -0
|
@@ -10,13 +10,11 @@ import com.reactnativehypertracksdk.common.Serialization.serializeErrors
|
|
|
10
10
|
import com.reactnativehypertracksdk.common.Serialization.serializeIsAvailable
|
|
11
11
|
import com.reactnativehypertracksdk.common.Serialization.serializeIsTracking
|
|
12
12
|
import com.reactnativehypertracksdk.common.Serialization.serializeLocateResult
|
|
13
|
-
import com.reactnativehypertracksdk.common.Serialization.serializeLocation
|
|
14
13
|
import com.reactnativehypertracksdk.common.Serialization.serializeLocationResult
|
|
15
14
|
|
|
16
15
|
@ReactModule(name = HyperTrackReactNativePlugin.NAME)
|
|
17
16
|
class HyperTrackReactNativePlugin(reactContext: ReactApplicationContext?) :
|
|
18
17
|
ReactContextBaseJavaModule(reactContext) {
|
|
19
|
-
|
|
20
18
|
private var locateSubscription: HyperTrack.Cancellable? = null
|
|
21
19
|
private var subscriptions: List<HyperTrack.Cancellable>? = null
|
|
22
20
|
|
|
@@ -66,7 +64,10 @@ class HyperTrackReactNativePlugin(reactContext: ReactApplicationContext?) :
|
|
|
66
64
|
*/
|
|
67
65
|
|
|
68
66
|
@ReactMethod
|
|
69
|
-
fun addGeotag(
|
|
67
|
+
fun addGeotag(
|
|
68
|
+
args: ReadableMap,
|
|
69
|
+
promise: Promise,
|
|
70
|
+
) {
|
|
70
71
|
HyperTrackSdkWrapper.addGeotag(args.toHashMap()).toPromise(promise)
|
|
71
72
|
}
|
|
72
73
|
|
|
@@ -113,9 +114,10 @@ class HyperTrackReactNativePlugin(reactContext: ReactApplicationContext?) :
|
|
|
113
114
|
@ReactMethod
|
|
114
115
|
fun locate(promise: Promise) {
|
|
115
116
|
locateSubscription?.cancel()
|
|
116
|
-
locateSubscription =
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
locateSubscription =
|
|
118
|
+
HyperTrack.locate {
|
|
119
|
+
emitEvent(EVENT_LOCATE, serializeLocateResult(it).toWritableMap())
|
|
120
|
+
}
|
|
119
121
|
Success(Unit).toPromise(promise)
|
|
120
122
|
}
|
|
121
123
|
|
|
@@ -172,14 +174,20 @@ class HyperTrackReactNativePlugin(reactContext: ReactApplicationContext?) :
|
|
|
172
174
|
}
|
|
173
175
|
}
|
|
174
176
|
|
|
175
|
-
private fun emitEvent(
|
|
177
|
+
private fun emitEvent(
|
|
178
|
+
event: String,
|
|
179
|
+
data: WritableMap,
|
|
180
|
+
) {
|
|
176
181
|
reactApplicationContext
|
|
177
182
|
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
178
183
|
.emit(event, data)
|
|
179
184
|
}
|
|
180
185
|
|
|
181
186
|
@Suppress("SameParameterValue")
|
|
182
|
-
private fun emitEvent(
|
|
187
|
+
private fun emitEvent(
|
|
188
|
+
event: String,
|
|
189
|
+
data: WritableArray,
|
|
190
|
+
) {
|
|
183
191
|
reactApplicationContext
|
|
184
192
|
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
185
193
|
.emit(event, data)
|
|
@@ -5,8 +5,8 @@ import com.facebook.react.bridge.Promise
|
|
|
5
5
|
import com.facebook.react.bridge.WritableArray
|
|
6
6
|
import com.facebook.react.bridge.WritableMap
|
|
7
7
|
import com.reactnativehypertracksdk.common.Failure
|
|
8
|
-
import com.reactnativehypertracksdk.common.WrapperResult
|
|
9
8
|
import com.reactnativehypertracksdk.common.Success
|
|
9
|
+
import com.reactnativehypertracksdk.common.WrapperResult
|
|
10
10
|
|
|
11
11
|
@Suppress("UNCHECKED_CAST")
|
|
12
12
|
internal fun <T> WrapperResult<T>.toPromise(promise: Promise) {
|
|
@@ -98,7 +98,7 @@ internal fun Map<String, Any?>.toWritableMap(): WritableMap {
|
|
|
98
98
|
is Double -> {
|
|
99
99
|
putDouble(key, value)
|
|
100
100
|
}
|
|
101
|
-
|
|
101
|
+
|
|
102
102
|
is Float -> {
|
|
103
103
|
putDouble(key, value.toDouble())
|
|
104
104
|
}
|
|
@@ -28,20 +28,20 @@ typealias Serialized = Map<String, Any?>
|
|
|
28
28
|
* It receives serialized params.
|
|
29
29
|
*/
|
|
30
30
|
internal object HyperTrackSdkWrapper {
|
|
31
|
-
|
|
32
31
|
fun addGeotag(args: Serialized): WrapperResult<Serialized> {
|
|
33
32
|
return deserializeGeotagData(args)
|
|
34
33
|
.flatMapSuccess { geotag ->
|
|
35
34
|
// TODO: return proper error if JSON is wrong
|
|
36
35
|
val geotagMetadata = Json.fromMap(geotag.data)!!
|
|
37
|
-
val expectedLocation =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
val expectedLocation =
|
|
37
|
+
geotag
|
|
38
|
+
.expectedLocation
|
|
39
|
+
?.let {
|
|
40
|
+
HyperTrack.Location(
|
|
41
|
+
latitude = it.latitude,
|
|
42
|
+
longitude = it.longitude,
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
45
|
val orderHandle = geotag.orderHandle
|
|
46
46
|
val orderStatus = geotag.orderStatus
|
|
47
47
|
if (expectedLocation != null) {
|
|
@@ -53,7 +53,7 @@ internal object HyperTrackSdkWrapper {
|
|
|
53
53
|
orderHandle = orderHandle,
|
|
54
54
|
orderStatus = orderStatus,
|
|
55
55
|
expectedLocation = expectedLocation,
|
|
56
|
-
metadata = geotagMetadata
|
|
56
|
+
metadata = geotagMetadata,
|
|
57
57
|
)
|
|
58
58
|
} else {
|
|
59
59
|
HyperTrack.addGeotag(geotagMetadata, expectedLocation)
|
|
@@ -77,7 +77,7 @@ internal object HyperTrackSdkWrapper {
|
|
|
77
77
|
HyperTrack.addGeotag(
|
|
78
78
|
orderHandle = orderHandle,
|
|
79
79
|
orderStatus = orderStatus,
|
|
80
|
-
metadata = geotagMetadata
|
|
80
|
+
metadata = geotagMetadata,
|
|
81
81
|
)
|
|
82
82
|
} else {
|
|
83
83
|
HyperTrack.addGeotag(geotagMetadata)
|
|
@@ -103,13 +103,13 @@ internal object HyperTrackSdkWrapper {
|
|
|
103
103
|
|
|
104
104
|
fun getIsAvailable(): WrapperResult<Serialized> {
|
|
105
105
|
return Success(
|
|
106
|
-
serializeIsAvailable(HyperTrack.isAvailable)
|
|
106
|
+
serializeIsAvailable(HyperTrack.isAvailable),
|
|
107
107
|
)
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
fun getIsTracking(): WrapperResult<Serialized> {
|
|
111
111
|
return Success(
|
|
112
|
-
serializeIsTracking(HyperTrack.isTracking)
|
|
112
|
+
serializeIsTracking(HyperTrack.isTracking),
|
|
113
113
|
)
|
|
114
114
|
}
|
|
115
115
|
|
|
@@ -127,13 +127,13 @@ internal object HyperTrackSdkWrapper {
|
|
|
127
127
|
|
|
128
128
|
fun getMetadata(): WrapperResult<Serialized> {
|
|
129
129
|
return Success(
|
|
130
|
-
serializeMetadata(HyperTrack.metadata.toMap())
|
|
130
|
+
serializeMetadata(HyperTrack.metadata.toMap()),
|
|
131
131
|
)
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
fun getName(): WrapperResult<Serialized> {
|
|
135
135
|
return Success(
|
|
136
|
-
serializeName(HyperTrack.name)
|
|
136
|
+
serializeName(HyperTrack.name),
|
|
137
137
|
)
|
|
138
138
|
}
|
|
139
139
|
|
|
@@ -174,5 +174,4 @@ internal object HyperTrackSdkWrapper {
|
|
|
174
174
|
HyperTrack.name = name
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
|
|
178
177
|
}
|
|
@@ -9,7 +9,6 @@ import com.hypertrack.sdk.android.Result
|
|
|
9
9
|
* to Map<String, T> or List<T> where T is any JSON-compatible type
|
|
10
10
|
*/
|
|
11
11
|
internal object Serialization {
|
|
12
|
-
|
|
13
12
|
fun deserializeDynamicPublishableKey(args: Serialized): WrapperResult<String> {
|
|
14
13
|
return parse(args) {
|
|
15
14
|
it.assertValue<String>(key = KEY_TYPE, value = TYPE_DYNAMIC_PUBLISHABLE_KEY)
|
|
@@ -21,27 +20,33 @@ internal object Serialization {
|
|
|
21
20
|
|
|
22
21
|
fun deserializeGeotagData(map: Map<String, Any?>): WrapperResult<GeotagData> {
|
|
23
22
|
return parse(map) {
|
|
24
|
-
val data =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
val
|
|
37
|
-
|
|
38
|
-
|
|
23
|
+
val data =
|
|
24
|
+
it
|
|
25
|
+
.get<Map<String, Any?>>(KEY_GEOTAG_DATA)
|
|
26
|
+
.getOrThrow()
|
|
27
|
+
val expectedLocationData =
|
|
28
|
+
it
|
|
29
|
+
.getOptional<Map<String, Any?>>(KEY_GEOTAG_EXPECTED_LOCATION)
|
|
30
|
+
.getOrThrow()
|
|
31
|
+
val expectedLocation =
|
|
32
|
+
expectedLocationData?.let {
|
|
33
|
+
deserializeLocation(it).getOrThrow()
|
|
34
|
+
}
|
|
35
|
+
val orderHandleData =
|
|
36
|
+
it
|
|
37
|
+
.getOptional<Map<String, Any?>>(KEY_GEOTAG_ORDER_HANDLE)
|
|
38
|
+
.getOrThrow()
|
|
39
|
+
val orderHandle = orderHandleData?.let { deserializeOrderHandle(it).getOrThrow() }
|
|
40
|
+
val orderStatusData =
|
|
41
|
+
it
|
|
42
|
+
.getOptional<Map<String, Any?>>(KEY_GEOTAG_ORDER_STATUS)
|
|
43
|
+
.getOrThrow()
|
|
39
44
|
val orderStatus = orderStatusData?.let { deserializeOrderStatus(it).getOrThrow() }
|
|
40
45
|
GeotagData(
|
|
41
46
|
data = data,
|
|
42
47
|
expectedLocation = expectedLocation,
|
|
43
48
|
orderHandle = orderHandle,
|
|
44
|
-
orderStatus = orderStatus
|
|
49
|
+
orderStatus = orderStatus,
|
|
45
50
|
)
|
|
46
51
|
}
|
|
47
52
|
}
|
|
@@ -85,33 +90,34 @@ internal object Serialization {
|
|
|
85
90
|
fun serializeDeviceId(deviceId: String): Map<String, Any?> {
|
|
86
91
|
return mapOf(
|
|
87
92
|
KEY_TYPE to TYPE_DEVICE_ID,
|
|
88
|
-
KEY_VALUE to deviceId
|
|
93
|
+
KEY_VALUE to deviceId,
|
|
89
94
|
)
|
|
90
95
|
}
|
|
91
96
|
|
|
92
97
|
fun serializeDynamicPublishableKey(publishableKey: String): Serialized {
|
|
93
98
|
return mapOf(
|
|
94
99
|
KEY_TYPE to TYPE_DYNAMIC_PUBLISHABLE_KEY,
|
|
95
|
-
KEY_VALUE to publishableKey
|
|
100
|
+
KEY_VALUE to publishableKey,
|
|
96
101
|
)
|
|
97
102
|
}
|
|
98
103
|
|
|
99
104
|
fun serializeError(error: HyperTrack.Error): Map<String, String> {
|
|
100
105
|
return mapOf(
|
|
101
106
|
KEY_TYPE to TYPE_ERROR,
|
|
102
|
-
KEY_VALUE to
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
107
|
+
KEY_VALUE to
|
|
108
|
+
when (error) {
|
|
109
|
+
HyperTrack.Error.BlockedFromRunning -> "blockedFromRunning"
|
|
110
|
+
HyperTrack.Error.InvalidPublishableKey -> "invalidPublishableKey"
|
|
111
|
+
HyperTrack.Error.Location.Mocked -> "location.mocked"
|
|
112
|
+
HyperTrack.Error.Location.ServicesDisabled -> "location.servicesDisabled"
|
|
113
|
+
HyperTrack.Error.Location.ServicesUnavailable -> "location.servicesUnavailable"
|
|
114
|
+
HyperTrack.Error.Location.SignalLost -> "location.signalLost"
|
|
115
|
+
HyperTrack.Error.NoExemptionFromBackgroundStartRestrictions -> "noExemptionFromBackgroundStartRestrictions"
|
|
116
|
+
HyperTrack.Error.Permissions.Location.Denied -> "permissions.location.denied"
|
|
117
|
+
HyperTrack.Error.Permissions.Location.InsufficientForBackground -> "permissions.location.insufficientForBackground"
|
|
118
|
+
HyperTrack.Error.Permissions.Location.ReducedAccuracy -> "permissions.location.reducedAccuracy"
|
|
119
|
+
HyperTrack.Error.Permissions.Notifications.Denied -> "permissions.notifications.denied"
|
|
120
|
+
},
|
|
115
121
|
)
|
|
116
122
|
}
|
|
117
123
|
|
|
@@ -124,20 +130,18 @@ internal object Serialization {
|
|
|
124
130
|
fun serializeIsAvailable(isAvailable: Boolean): Map<String, Any?> {
|
|
125
131
|
return mapOf(
|
|
126
132
|
KEY_TYPE to TYPE_IS_AVAILABLE,
|
|
127
|
-
KEY_VALUE to isAvailable
|
|
133
|
+
KEY_VALUE to isAvailable,
|
|
128
134
|
)
|
|
129
135
|
}
|
|
130
136
|
|
|
131
137
|
fun serializeIsTracking(isTracking: Boolean): Map<String, Any?> {
|
|
132
138
|
return mapOf(
|
|
133
139
|
KEY_TYPE to TYPE_IS_TRACKING,
|
|
134
|
-
KEY_VALUE to isTracking
|
|
140
|
+
KEY_VALUE to isTracking,
|
|
135
141
|
)
|
|
136
142
|
}
|
|
137
143
|
|
|
138
|
-
fun serializeLocateResult(
|
|
139
|
-
locationResult: Result<HyperTrack.Location, Set<HyperTrack.Error>>
|
|
140
|
-
): Map<String, Any?> {
|
|
144
|
+
fun serializeLocateResult(locationResult: Result<HyperTrack.Location, Set<HyperTrack.Error>>): Map<String, Any?> {
|
|
141
145
|
return when (locationResult) {
|
|
142
146
|
is Result.Failure -> {
|
|
143
147
|
serializeFailure(serializeErrors(locationResult.failure))
|
|
@@ -149,9 +153,7 @@ internal object Serialization {
|
|
|
149
153
|
}
|
|
150
154
|
}
|
|
151
155
|
|
|
152
|
-
fun serializeLocationResult(
|
|
153
|
-
locationResult: Result<HyperTrack.Location, HyperTrack.LocationError>
|
|
154
|
-
): Map<String, Any?> {
|
|
156
|
+
fun serializeLocationResult(locationResult: Result<HyperTrack.Location, HyperTrack.LocationError>): Map<String, Any?> {
|
|
155
157
|
return when (locationResult) {
|
|
156
158
|
is Result.Failure -> {
|
|
157
159
|
serializeLocationErrorFailure(locationResult.failure)
|
|
@@ -171,54 +173,55 @@ internal object Serialization {
|
|
|
171
173
|
return serializeSuccess(serializeLocation(location))
|
|
172
174
|
}
|
|
173
175
|
|
|
174
|
-
fun serializeLocationWithDeviationSuccess(
|
|
175
|
-
locationWithDeviation: HyperTrack.LocationWithDeviation,
|
|
176
|
-
): Map<String, Any?> {
|
|
176
|
+
fun serializeLocationWithDeviationSuccess(locationWithDeviation: HyperTrack.LocationWithDeviation): Map<String, Any?> {
|
|
177
177
|
return serializeSuccess(
|
|
178
178
|
serializeLocationWithDeviation(
|
|
179
|
-
locationWithDeviation
|
|
180
|
-
)
|
|
179
|
+
locationWithDeviation,
|
|
180
|
+
),
|
|
181
181
|
)
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
fun serializeLocation(location: HyperTrack.Location): Map<String, Any?> {
|
|
185
185
|
return mapOf(
|
|
186
186
|
KEY_TYPE to TYPE_LOCATION,
|
|
187
|
-
KEY_VALUE to
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
187
|
+
KEY_VALUE to
|
|
188
|
+
mapOf(
|
|
189
|
+
KEY_LATITUDE to location.latitude,
|
|
190
|
+
KEY_LONGITUDE to location.longitude,
|
|
191
|
+
),
|
|
191
192
|
)
|
|
192
193
|
}
|
|
193
194
|
|
|
194
|
-
|
|
195
195
|
fun serializeMetadata(metadata: Map<String, Any?>): Map<String, Any?> {
|
|
196
196
|
return mapOf(
|
|
197
197
|
KEY_TYPE to TYPE_METADATA,
|
|
198
|
-
KEY_VALUE to metadata
|
|
198
|
+
KEY_VALUE to metadata,
|
|
199
199
|
)
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
fun serializeName(name: String): Map<String, Any?> {
|
|
203
203
|
return mapOf(
|
|
204
204
|
KEY_TYPE to TYPE_NAME,
|
|
205
|
-
KEY_VALUE to name
|
|
205
|
+
KEY_VALUE to name,
|
|
206
206
|
)
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
private fun deserializeLocation(map: Map<String, Any?>): WrapperResult<Location> {
|
|
210
210
|
return parse(map) {
|
|
211
211
|
it.assertValue<String>(key = KEY_TYPE, value = TYPE_LOCATION)
|
|
212
|
-
val value =
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
parse(value) { parser ->
|
|
216
|
-
val latitude = parser
|
|
217
|
-
.get<Double>(KEY_LATITUDE)
|
|
218
|
-
.getOrThrow()
|
|
219
|
-
val longitude = parser
|
|
220
|
-
.get<Double>(KEY_LONGITUDE)
|
|
212
|
+
val value =
|
|
213
|
+
it
|
|
214
|
+
.get<Map<String, Any?>>(KEY_VALUE)
|
|
221
215
|
.getOrThrow()
|
|
216
|
+
parse(value) { parser ->
|
|
217
|
+
val latitude =
|
|
218
|
+
parser
|
|
219
|
+
.get<Double>(KEY_LATITUDE)
|
|
220
|
+
.getOrThrow()
|
|
221
|
+
val longitude =
|
|
222
|
+
parser
|
|
223
|
+
.get<Double>(KEY_LONGITUDE)
|
|
224
|
+
.getOrThrow()
|
|
222
225
|
Location("api").also {
|
|
223
226
|
it.latitude = latitude
|
|
224
227
|
it.longitude = longitude
|
|
@@ -227,52 +230,59 @@ internal object Serialization {
|
|
|
227
230
|
}
|
|
228
231
|
}
|
|
229
232
|
|
|
230
|
-
private fun
|
|
231
|
-
map
|
|
232
|
-
|
|
233
|
+
private fun deserializeOrderHandle(map: Map<String, Any?>): WrapperResult<String> {
|
|
234
|
+
return parse(map) {
|
|
235
|
+
it.assertValue<String>(key = KEY_TYPE, value = TYPE_ORDER_HANDLE)
|
|
236
|
+
it
|
|
237
|
+
.get<String>(KEY_VALUE)
|
|
238
|
+
.getOrThrow()
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
private fun deserializeOrderStatus(map: Map<String, Any?>): WrapperResult<HyperTrack.OrderStatus> {
|
|
233
243
|
return parse(map) {
|
|
234
244
|
when (it.get<String>(KEY_TYPE).getOrThrow()) {
|
|
235
245
|
TYPE_GEOTAG_ORDER_STATUS_CLOCK_IN -> HyperTrack.OrderStatus.ClockIn
|
|
236
246
|
TYPE_GEOTAG_ORDER_STATUS_CLOCK_OUT -> HyperTrack.OrderStatus.ClockOut
|
|
237
|
-
TYPE_GEOTAG_ORDER_STATUS_CUSTOM ->
|
|
238
|
-
|
|
239
|
-
|
|
247
|
+
TYPE_GEOTAG_ORDER_STATUS_CUSTOM ->
|
|
248
|
+
HyperTrack.OrderStatus.Custom(
|
|
249
|
+
it.get<String>(KEY_VALUE).getOrThrow(),
|
|
250
|
+
)
|
|
240
251
|
|
|
241
252
|
else -> throw Error("Unknown order status: $map")
|
|
242
253
|
}
|
|
243
254
|
}
|
|
244
255
|
}
|
|
245
256
|
|
|
246
|
-
private fun serializeLocationWithDeviation(
|
|
247
|
-
locationWithDeviation: HyperTrack.LocationWithDeviation,
|
|
248
|
-
): Map<String, Any?> {
|
|
257
|
+
private fun serializeLocationWithDeviation(locationWithDeviation: HyperTrack.LocationWithDeviation): Map<String, Any?> {
|
|
249
258
|
return mapOf(
|
|
250
259
|
KEY_TYPE to TYPE_LOCATION_WITH_DEVIATION,
|
|
251
|
-
KEY_VALUE to
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
260
|
+
KEY_VALUE to
|
|
261
|
+
mapOf(
|
|
262
|
+
KEY_LOCATION to serializeLocation(locationWithDeviation.location),
|
|
263
|
+
KEY_DEVIATION to locationWithDeviation.deviation,
|
|
264
|
+
),
|
|
255
265
|
)
|
|
256
266
|
}
|
|
257
267
|
|
|
258
268
|
private fun serializeFailure(failure: List<Map<String, Any?>>): Map<String, Any?> {
|
|
259
269
|
return mapOf(
|
|
260
270
|
KEY_TYPE to TYPE_RESULT_FAILURE,
|
|
261
|
-
KEY_VALUE to failure
|
|
271
|
+
KEY_VALUE to failure,
|
|
262
272
|
)
|
|
263
273
|
}
|
|
264
274
|
|
|
265
275
|
private fun serializeFailure(failure: Map<String, Any?>): Map<String, Any?> {
|
|
266
276
|
return mapOf(
|
|
267
277
|
KEY_TYPE to TYPE_RESULT_FAILURE,
|
|
268
|
-
KEY_VALUE to failure
|
|
278
|
+
KEY_VALUE to failure,
|
|
269
279
|
)
|
|
270
280
|
}
|
|
271
281
|
|
|
272
282
|
private fun serializeSuccess(success: Map<String, Any?>): Map<String, Any?> {
|
|
273
283
|
return mapOf(
|
|
274
284
|
KEY_TYPE to TYPE_RESULT_SUCCESS,
|
|
275
|
-
KEY_VALUE to success
|
|
285
|
+
KEY_VALUE to success,
|
|
276
286
|
)
|
|
277
287
|
}
|
|
278
288
|
|
|
@@ -289,8 +299,9 @@ internal object Serialization {
|
|
|
289
299
|
is HyperTrack.LocationError.Errors -> {
|
|
290
300
|
mapOf(
|
|
291
301
|
KEY_TYPE to TYPE_LOCATION_ERROR_ERRORS,
|
|
292
|
-
KEY_VALUE to
|
|
293
|
-
.
|
|
302
|
+
KEY_VALUE to
|
|
303
|
+
locationError.errors
|
|
304
|
+
.map { serializeError(it) },
|
|
294
305
|
)
|
|
295
306
|
}
|
|
296
307
|
}
|
|
@@ -298,7 +309,7 @@ internal object Serialization {
|
|
|
298
309
|
|
|
299
310
|
fun <T> parse(
|
|
300
311
|
source: Map<String, Any?>,
|
|
301
|
-
parseFunction: (Parser) -> T
|
|
312
|
+
parseFunction: (Parser) -> T,
|
|
302
313
|
): WrapperResult<T> {
|
|
303
314
|
val parser = Parser(source)
|
|
304
315
|
return try {
|
|
@@ -313,20 +324,18 @@ internal object Serialization {
|
|
|
313
324
|
ParsingExceptions(source, parser.exceptions + e)
|
|
314
325
|
} else {
|
|
315
326
|
e
|
|
316
|
-
}
|
|
327
|
+
},
|
|
317
328
|
)
|
|
318
329
|
}
|
|
319
330
|
}
|
|
320
331
|
|
|
321
332
|
internal class Parser(
|
|
322
|
-
private val source: Map<String, Any
|
|
333
|
+
private val source: Map<String, Any?>,
|
|
323
334
|
) {
|
|
324
335
|
private val _exceptions = mutableListOf<Exception>()
|
|
325
336
|
val exceptions: List<Exception> = _exceptions
|
|
326
337
|
|
|
327
|
-
inline fun <reified T> get(
|
|
328
|
-
key: String
|
|
329
|
-
): WrapperResult<T> {
|
|
338
|
+
inline fun <reified T> get(key: String): WrapperResult<T> {
|
|
330
339
|
return try {
|
|
331
340
|
Success(source[key]!! as T)
|
|
332
341
|
} catch (e: Exception) {
|
|
@@ -334,14 +343,12 @@ internal object Serialization {
|
|
|
334
343
|
ParsingException(key, e)
|
|
335
344
|
.also {
|
|
336
345
|
_exceptions.add(it)
|
|
337
|
-
}
|
|
346
|
+
},
|
|
338
347
|
)
|
|
339
348
|
}
|
|
340
349
|
}
|
|
341
350
|
|
|
342
|
-
inline fun <reified T> getOptional(
|
|
343
|
-
key: String
|
|
344
|
-
): WrapperResult<T?> {
|
|
351
|
+
inline fun <reified T> getOptional(key: String): WrapperResult<T?> {
|
|
345
352
|
return try {
|
|
346
353
|
Success(source[key] as T?)
|
|
347
354
|
} catch (e: Exception) {
|
|
@@ -349,14 +356,14 @@ internal object Serialization {
|
|
|
349
356
|
ParsingException(key, e)
|
|
350
357
|
.also {
|
|
351
358
|
_exceptions.add(it)
|
|
352
|
-
}
|
|
359
|
+
},
|
|
353
360
|
)
|
|
354
361
|
}
|
|
355
362
|
}
|
|
356
363
|
|
|
357
364
|
inline fun <reified T> assertValue(
|
|
358
365
|
key: String,
|
|
359
|
-
value: Any
|
|
366
|
+
value: Any,
|
|
360
367
|
) {
|
|
361
368
|
if (source[key] != value) {
|
|
362
369
|
_exceptions.add(Exception("Assertion failed: $key != $value"))
|
|
@@ -366,17 +373,17 @@ internal object Serialization {
|
|
|
366
373
|
|
|
367
374
|
internal data class ParsingExceptions(
|
|
368
375
|
val source: Any,
|
|
369
|
-
val exceptions: List<Exception
|
|
376
|
+
val exceptions: List<Exception>,
|
|
370
377
|
) : Throwable(
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
378
|
+
exceptions.joinToString("\n")
|
|
379
|
+
.let {
|
|
380
|
+
"Invalid input:\n\n${source}\n\n$it"
|
|
381
|
+
},
|
|
382
|
+
)
|
|
376
383
|
|
|
377
384
|
internal class ParsingException(
|
|
378
385
|
key: String,
|
|
379
|
-
exception: Exception
|
|
386
|
+
exception: Exception,
|
|
380
387
|
) : Exception("Invalid value for '$key': $exception", exception)
|
|
381
388
|
|
|
382
389
|
private const val KEY_TYPE = "type"
|
|
@@ -399,6 +406,7 @@ internal object Serialization {
|
|
|
399
406
|
private const val TYPE_LOCATION_ERROR_NOT_RUNNING = "notRunning"
|
|
400
407
|
private const val TYPE_LOCATION_ERROR_STARTING = "starting"
|
|
401
408
|
|
|
409
|
+
private const val TYPE_ORDER_HANDLE = "orderHandle"
|
|
402
410
|
private const val TYPE_GEOTAG_ORDER_STATUS_CLOCK_IN = "orderStatusClockIn"
|
|
403
411
|
private const val TYPE_GEOTAG_ORDER_STATUS_CLOCK_OUT = "orderStatusClockOut"
|
|
404
412
|
private const val TYPE_GEOTAG_ORDER_STATUS_CUSTOM = "orderStatusCustom"
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
package com.reactnativehypertracksdk.common
|
|
2
2
|
|
|
3
3
|
internal sealed class WrapperResult<SuccessType> {
|
|
4
|
-
fun <MappedSuccess> flatMapSuccess(
|
|
5
|
-
onSuccess: (SuccessType) -> WrapperResult<MappedSuccess>
|
|
6
|
-
): WrapperResult<MappedSuccess> {
|
|
4
|
+
fun <MappedSuccess> flatMapSuccess(onSuccess: (SuccessType) -> WrapperResult<MappedSuccess>): WrapperResult<MappedSuccess> {
|
|
7
5
|
return when (this) {
|
|
8
6
|
is Success -> {
|
|
9
7
|
onSuccess.invoke(this.success)
|
|
@@ -32,7 +30,7 @@ internal sealed class WrapperResult<SuccessType> {
|
|
|
32
30
|
is Success -> this.success
|
|
33
31
|
is Failure -> throw Exception(
|
|
34
32
|
"Result unwrapping failed: ${this.failure}",
|
|
35
|
-
this.failure
|
|
33
|
+
this.failure,
|
|
36
34
|
)
|
|
37
35
|
}
|
|
38
36
|
}
|
|
@@ -49,4 +47,5 @@ internal sealed class WrapperResult<SuccessType> {
|
|
|
49
47
|
}
|
|
50
48
|
|
|
51
49
|
internal data class Success<SuccessType>(val success: SuccessType) : WrapperResult<SuccessType>()
|
|
50
|
+
|
|
52
51
|
internal data class Failure<SuccessType>(val failure: Throwable) : WrapperResult<SuccessType>()
|
|
@@ -18,7 +18,7 @@ Pod::Spec.new do |s|
|
|
|
18
18
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
19
19
|
|
|
20
20
|
s.dependency "React-Core"
|
|
21
|
-
s.dependency 'HyperTrack', '5.5.
|
|
21
|
+
s.dependency 'HyperTrack', '5.5.2'
|
|
22
22
|
|
|
23
23
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
24
24
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
@@ -32,7 +32,21 @@ func deserializeGeotagData(
|
|
|
32
32
|
guard let data = args[keyGeotagData] as? [String: Any] else {
|
|
33
33
|
return .failure(.fatalError(getParseError(args, key: keyGeotagData)))
|
|
34
34
|
}
|
|
35
|
-
let
|
|
35
|
+
let orderHandleData = args["orderHandle"] as? [String: Any]
|
|
36
|
+
let orderHandleResult: Result<String, FailureResult>? = if let orderHandleData = orderHandleData {
|
|
37
|
+
deserializeOrderHandle(orderHandleData)
|
|
38
|
+
} else {
|
|
39
|
+
nil
|
|
40
|
+
}
|
|
41
|
+
if case let .failure(failure) = orderHandleResult {
|
|
42
|
+
return .failure(failure)
|
|
43
|
+
}
|
|
44
|
+
let orderHandle: String? = if case let .success(orderHandle) = orderHandleResult {
|
|
45
|
+
orderHandle
|
|
46
|
+
} else {
|
|
47
|
+
nil
|
|
48
|
+
}
|
|
49
|
+
|
|
36
50
|
let orderStatusData = args["orderStatus"] as? [String: Any]
|
|
37
51
|
let orderStatusResult: Result<HyperTrack.OrderStatus, FailureResult>? = if let orderStatusData = orderStatusData {
|
|
38
52
|
deserializeOrderStatus(orderStatusData)
|
|
@@ -47,6 +61,7 @@ func deserializeGeotagData(
|
|
|
47
61
|
} else {
|
|
48
62
|
nil
|
|
49
63
|
}
|
|
64
|
+
|
|
50
65
|
if let expectedLocationData = args[keyExpectedLocation] as? [String: Any] {
|
|
51
66
|
let expectedLocation = deserializeLocation(expectedLocationData)
|
|
52
67
|
switch expectedLocation {
|
|
@@ -126,6 +141,16 @@ func deserializeName(_ data: [String: Any]) -> Result<String, FailureResult> {
|
|
|
126
141
|
return .success(value)
|
|
127
142
|
}
|
|
128
143
|
|
|
144
|
+
func deserializeOrderHandle(_ data: [String: Any]) -> Result<String, FailureResult> {
|
|
145
|
+
if data[keyType] as? String != "orderHandle" {
|
|
146
|
+
return .failure(.fatalError(getParseError(data, key: keyType)))
|
|
147
|
+
}
|
|
148
|
+
guard let value = data[keyValue] as? String else {
|
|
149
|
+
return .failure(.fatalError(getParseError(data, key: keyValue)))
|
|
150
|
+
}
|
|
151
|
+
return .success(value)
|
|
152
|
+
}
|
|
153
|
+
|
|
129
154
|
func deserializeOrderStatus(_ data: [String: Any]) -> Result<HyperTrack.OrderStatus, FailureResult> {
|
|
130
155
|
guard let type = data[keyType] as? String else {
|
|
131
156
|
return .failure(.fatalError(getParseError(data, key: keyType)))
|
|
@@ -26,7 +26,7 @@ const HyperTrackSdk = _reactNative.NativeModules.HyperTrackReactNativePlugin ? _
|
|
|
26
26
|
const EventEmitter = new _reactNative.NativeEventEmitter(HyperTrackSdk);
|
|
27
27
|
class HyperTrack {
|
|
28
28
|
/**
|
|
29
|
-
* Adds a new geotag
|
|
29
|
+
* 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.
|
|
30
30
|
*
|
|
31
31
|
* @param {string} orderHandle - Order handle
|
|
32
32
|
* @param {OrderStatus} orderStatus - Order status
|
|
@@ -35,7 +35,7 @@ class HyperTrack {
|
|
|
35
35
|
*/
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* Adds a new geotag with expected location
|
|
38
|
+
* 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.
|
|
39
39
|
*
|
|
40
40
|
* @param {string} orderHandle - Order handle
|
|
41
41
|
* @param {OrderStatus} orderStatus - Order status
|
|
@@ -65,7 +65,10 @@ class HyperTrack {
|
|
|
65
65
|
if (args.length === 3 && typeof args[0] === 'string' && HyperTrack.isOrderStatus(args[1]) && typeof args[2] === 'object') {
|
|
66
66
|
// addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)
|
|
67
67
|
return HyperTrackSdk.addGeotag({
|
|
68
|
-
orderHandle:
|
|
68
|
+
orderHandle: {
|
|
69
|
+
type: 'orderHandle',
|
|
70
|
+
value: args[0]
|
|
71
|
+
},
|
|
69
72
|
orderStatus: args[1],
|
|
70
73
|
data: args[2],
|
|
71
74
|
expectedLocation: undefined
|
|
@@ -76,7 +79,10 @@ class HyperTrack {
|
|
|
76
79
|
if (args.length === 4 && typeof args[0] === 'string' && HyperTrack.isOrderStatus(args[1]) && typeof args[2] === 'object' && HyperTrack.isLocation(args[3])) {
|
|
77
80
|
// addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)
|
|
78
81
|
return HyperTrackSdk.addGeotag({
|
|
79
|
-
orderHandle:
|
|
82
|
+
orderHandle: {
|
|
83
|
+
type: 'orderHandle',
|
|
84
|
+
value: args[0]
|
|
85
|
+
},
|
|
80
86
|
orderStatus: args[1],
|
|
81
87
|
data: args[2],
|
|
82
88
|
expectedLocation: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_HyperTrackError","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","LINKING_ERROR","Platform","select","ios","default","HyperTrackSdk","NativeModules","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","NativeEventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","type","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","res","map","error","keys","HyperTrackError","find","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","startsWith","exports"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n EmitterSubscription,\n} from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag\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\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: args[0],\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: args[0],\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: Object)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude === 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude === 'number'\n );\n }\n\n /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAMA,IAAAC,gBAAA,GAAAD,OAAA;AAA+D,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAkB/D,MAAMW,YAAY,GAAG,QAAQ;AAC7B,MAAMC,kBAAkB,GAAG,aAAa;AACxC,MAAMC,iBAAiB,GAAG,YAAY;AACtC,MAAMC,YAAY,GAAG,QAAQ;AAC7B,MAAMC,cAAc,GAAG,UAAU;AAEjC,MAAMC,aAAa,GAChB,sFAAqF,GACtFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;AAE/C,MAAMC,aAAa,GAAGC,0BAAa,CAACC,2BAA2B,GAC3DD,0BAAa,CAACC,2BAA2B,GACzC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACV,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMW,YAAY,GAAG,IAAIC,+BAAkB,CAACP,aAAa,CAAC;AAE3C,MAAMQ,UAAU,CAAC;EAG9B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAOE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAQE;AACF;AACA;AACA;AACA;AACA;AACA;;EAKE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAME,aAAaC,SAASA,CACpB,GAAGC,IAAW,EACoD;IAClE,IACEA,IAAI,CAACC,MAAM,KAAK,CAAC,IACjB,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3BF,UAAU,CAACI,aAAa,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC,IACjC,OAAOA,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAC3B;MACA;MACA,OAAOV,aAAa,CAACS,SAAS,CAAC;QAC7BI,WAAW,EAAEH,IAAI,CAAC,CAAC,CAAC;QACpBI,WAAW,EAAEJ,IAAI,CAAC,CAAC,CAAC;QACpBK,IAAI,EAAEL,IAAI,CAAC,CAAC,CAAC;QACbM,gBAAgB,EAAEC;MACpB,CAAe,CAAC,CAACC,IAAI,CAClBC,gBAAiE,IAAK;QACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;MAC3D,CACF,CAAC;IACH;IACA,IACET,IAAI,CAACC,MAAM,KAAK,CAAC,IACjB,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3BF,UAAU,CAACI,aAAa,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC,IACjC,OAAOA,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3BF,UAAU,CAACa,UAAU,CAACX,IAAI,CAAC,CAAC,CAAC,CAAC,EAC9B;MACA;MACA,OAAOV,aAAa,CAACS,SAAS,CAAC;QAC7BI,WAAW,EAAEH,IAAI,CAAC,CAAC,CAAC;QACpBI,WAAW,EAAEJ,IAAI,CAAC,CAAC,CAAC;QACpBK,IAAI,EAAEL,IAAI,CAAC,CAAC,CAAC;QACbM,gBAAgB,EAAE;UAChBM,IAAI,EAAE,UAAU;UAChBlD,KAAK,EAAE;YACLmD,QAAQ,EAAEb,IAAI,CAAC,CAAC,CAAC,CAACa,QAAQ;YAC1BC,SAAS,EAAEd,IAAI,CAAC,CAAC,CAAC,CAACc;UACrB;QACF;MACF,CAAe,CAAC,CAACN,IAAI,CAEjBC,gBAGC,IACE;QACH,OAAO,IAAI,CAACM,wCAAwC,CAClDN,gBACF,CAAC;MACH,CACF,CAAC;IACH;IACA,IAAIT,IAAI,CAACC,MAAM,KAAK,CAAC,IAAI,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;MACpD;MACA,OAAOV,aAAa,CAACS,SAAS,CAAC;QAC7BM,IAAI,EAAEL,IAAI,CAAC,CAAC,CAAC;QACbM,gBAAgB,EAAEC;MACpB,CAAe,CAAC,CAACC,IAAI,CAClBC,gBAAiE,IAAK;QACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;MAC3D,CACF,CAAC;IACH;IACA,IACET,IAAI,CAACC,MAAM,KAAK,CAAC,IACjB,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3BF,UAAU,CAACa,UAAU,CAACX,IAAI,CAAC,CAAC,CAAC,CAAC,EAC9B;MACA;MACA,OAAOV,aAAa,CAACS,SAAS,CAAC;QAC7BM,IAAI,EAAEL,IAAI,CAAC,CAAC,CAAC;QACbM,gBAAgB,EAAE;UAChBM,IAAI,EAAE,UAAU;UAChBlD,KAAK,EAAE;YACLmD,QAAQ,EAAEb,IAAI,CAAC,CAAC,CAAC,CAACa,QAAQ;YAC1BC,SAAS,EAAEd,IAAI,CAAC,CAAC,CAAC,CAACc;UACrB;QACF;MACF,CAAe,CAAC,CAACN,IAAI,CAEjBC,gBAGC,IACE;QACH,OAAO,IAAI,CAACM,wCAAwC,CAClDN,gBACF,CAAC;MACH,CACF,CAAC;IACH;IACA,MAAM,IAAId,KAAK,CAAE,kCAAiCqB,IAAI,CAACC,SAAS,CAACjB,IAAI,CAAE,EAAC,CAAC;EAC3E;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAakB,WAAWA,CAAA,EAAoB;IAC1C,OAAO5B,aAAa,CAAC4B,WAAW,CAAC,CAAC,CAACV,IAAI,CACpCW,QAAkB,IAAKA,QAAQ,CAACzD,KACnC,CAAC;EACH;EAEA,aAAa0D,wBAAwBA,CAAA,EAAoB;IACvD,OAAO9B,aAAa,CAAC8B,wBAAwB,CAAC,CAAC,CAACZ,IAAI,CACjDa,qBAA4C,IAC3C,IAAI,CAACC,gCAAgC,CAACD,qBAAqB,CAC/D,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaE,SAASA,CAAA,EAA+B;IACnD,OAAOjC,aAAa,CAACiC,SAAS,CAAC,CAAC,CAACf,IAAI,CAClCgB,MAAiC,IAAK;MACrC,OAAO,IAAI,CAACC,2BAA2B,CAACD,MAAM,CAAC;IACjD,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaE,cAAcA,CAAA,EAAqB;IAC9C,OAAOpC,aAAa,CAACoC,cAAc,CAAC,CAAC,CAAClB,IAAI,CACvCmB,WAAwB,IAAKA,WAAW,CAACjE,KAC5C,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAakE,aAAaA,CAAA,EAAqB;IAC7C,OAAOtC,aAAa,CAACsC,aAAa,CAAC,CAAC,CAACpB,IAAI,CACtCqB,UAAsB,IAAKA,UAAU,CAACnE,KACzC,CAAC;EACH;;EAEA;AACF;AACA;EACE,aAAaoE,WAAWA,CAAA,EAA6C;IACnE,OAAOxC,aAAa,CAACwC,WAAW,CAAC,CAAC,CAACtB,IAAI,CACpCC,gBAAiE,IAAK;MACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;IAC3D,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAasB,WAAWA,CAAA,EAAoB;IAC1C,OAAOzC,aAAa,CAACyC,WAAW,CAAC,CAAC,CAACvB,IAAI,CAAEwB,QAAkB,IAAK;MAC9D,OAAO,IAAI,CAACC,mBAAmB,CAACD,QAAQ,CAAC;IAC3C,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaE,OAAOA,CAAA,EAAoB;IACtC,OAAO5C,aAAa,CAAC4C,OAAO,CAAC,CAAC,CAAC1B,IAAI,CAAE2B,IAAU,IAAK;MAClD,OAAO,IAAI,CAACC,eAAe,CAACD,IAAI,CAAC;IACnC,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,MAAMA,CACXC,QAAiE,EACjE;IAAA,IAAAC,qBAAA;IACA,CAAAA,qBAAA,OAAI,CAACC,kBAAkB,cAAAD,qBAAA,eAAvBA,qBAAA,CAAyBE,MAAM,CAAC,CAAC;IACjC,IAAI,CAACD,kBAAkB,GAAG5C,YAAY,CAAC8C,WAAW,CAChD3D,YAAY,EACX4D,QAA6D,IAAK;MACjEL,QAAQ,CAAC,IAAI,CAACM,yBAAyB,CAACD,QAAQ,CAAC,CAAC;IACpD,CACF,CAAC;IACDrD,aAAa,CAAC+C,MAAM,CAAC,CAAC;IACtB,OAAO,IAAI,CAACG,kBAAkB;EAChC;EAEA,OAAOK,wBAAwBA,CAACxB,qBAA6B,EAAE;IAC7D/B,aAAa,CAACuD,wBAAwB,CAAC;MACrCjC,IAAI,EAAE,uBAAuB;MAC7BlD,KAAK,EAAE2D;IACT,CAA0B,CAAC;EAC7B;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOyB,cAAcA,CAACnB,WAAoB,EAAE;IAC1CrC,aAAa,CAACwD,cAAc,CAAC;MAC3BlC,IAAI,EAAE,aAAa;MACnBlD,KAAK,EAAEiE;IACT,CAAgB,CAAC;EACnB;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOoB,aAAaA,CAAClB,UAAmB,EAAE;IACxCvC,aAAa,CAACyD,aAAa,CAAC;MAC1BnC,IAAI,EAAE,YAAY;MAClBlD,KAAK,EAAEmE;IACT,CAAe,CAAC;EAClB;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOmB,WAAWA,CAAC3C,IAAY,EAAE;IAC/Bf,aAAa,CAAC0D,WAAW,CAAC;MACxBpC,IAAI,EAAE,UAAU;MAChBlD,KAAK,EAAE2C;IACT,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAO4C,OAAOA,CAACd,IAAY,EAAE;IAC3B7C,aAAa,CAAC2D,OAAO,CAAC;MACpBrC,IAAI,EAAE,MAAM;MACZlD,KAAK,EAAEyE;IACT,CAAS,CAAC;EACZ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOe,iBAAiBA,CACtBC,QAA6C,EACxB;IACrB,OAAOvD,YAAY,CAAC8C,WAAW,CAC7B9D,YAAY,EACXwE,SAAoC,IAAK;MACxCD,QAAQ,CAAC,IAAI,CAAC1B,2BAA2B,CAAC2B,SAAS,CAAC,CAAC;IACvD,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,sBAAsBA,CAC3BF,QAAwC,EACnB;IACrB,OAAOvD,YAAY,CAAC8C,WAAW,CAC7B7D,kBAAkB,EACjB8C,WAAwB,IAAK;MAC5BwB,QAAQ,CAACxB,WAAW,CAACjE,KAAK,CAAC;IAC7B,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAO4F,qBAAqBA,CAC1BH,QAAuC,EAClB;IACrB,OAAOvD,YAAY,CAAC8C,WAAW,CAC7B5D,iBAAiB,EAChB+C,UAAsB,IAAK;MAC1BsB,QAAQ,CAACtB,UAAU,CAACnE,KAAK,CAAC;IAC5B,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAO6F,mBAAmBA,CACxBJ,QAA6D,EAC7D;IACA,OAAOvD,YAAY,CAAC8C,WAAW,CAC7B1D,cAAc,EACb2D,QAAyD,IAAK;MAC7DQ,QAAQ,CAAC,IAAI,CAACzC,2BAA2B,CAACiC,QAAQ,CAAC,CAAC;IACtD,CACF,CAAC;EACH;;EAEA;EACA,OAAerB,gCAAgCA,CAC7CD,qBAA4C,EACpC;IACR,IAAIA,qBAAqB,CAACT,IAAI,KAAK,uBAAuB,EAAE;MAC1D,MAAM,IAAIjB,KAAK,CACZ,kCAAiCqB,IAAI,CAACC,SAAS,CAC9CI,qBACF,CAAE,EACJ,CAAC;IACH;IACA,OAAOA,qBAAqB,CAAC3D,KAAK;EACpC;;EAEA;EACA,OAAe+D,2BAA2BA,CACxCD,MAAiC,EACd;IACnB,IAAIgC,GAAG,GAAGhC,MAAM,CAACiC,GAAG,CAAEC,KAA8B,IAAK;MACvD,IAAIA,KAAK,CAAC9C,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM,IAAIjB,KAAK,CAAC,oBAAoB,CAAC;MACvC;MACA,OAAO/B,MAAM,CAAC+F,IAAI,CAACC,gCAAe,CAAC,CAACC,IAAI,CACrCpG,GAAG,IACFmG,gCAAe,CAACnG,GAAG,CAAiC,KAAKiG,KAAK,CAAChG,KACnE,CAAC;IACH,CAAC,CAAC;IACF,OAAO8F,GAAG;EACZ;;EAEA;EACA,OAAeZ,yBAAyBA,CACtCkB,QAA6D,EACxB;IACrC,QAAQA,QAAQ,CAAClD,IAAI;MACnB,KAAK,SAAS;QACZ,OAAO;UACLA,IAAI,EAAE,SAAS;UACflD,KAAK,EAAEoG,QAAQ,CAACpG,KAAK,CAACA;QACxB,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLkD,IAAI,EAAE,SAAS;UACflD,KAAK,EAAE,IAAI,CAAC+D,2BAA2B,CAACqC,QAAQ,CAACpG,KAAK;QACxD,CAAC;IACL;EACF;;EAEA;EACA,OAAeqG,wBAAwBA,CACrCC,aAAoC,EACrB;IACf,QAAQA,aAAa,CAACpD,IAAI;MACxB,KAAK,YAAY;MACjB,KAAK,UAAU;QACb,OAAOoD,aAAa;MACtB,KAAK,QAAQ;QACX,OAAO;UACLpD,IAAI,EAAE,QAAQ;UACdlD,KAAK,EAAE,IAAI,CAAC+D,2BAA2B,CAACuC,aAAa,CAACtG,KAAK;QAC7D,CAAC;IACL;EACF;;EAEA;EACA,OAAegD,2BAA2BA,CACxCoD,QAAyD,EACxB;IACjC,QAAQA,QAAQ,CAAClD,IAAI;MACnB,KAAK,SAAS;QACZ,OAAO;UACLA,IAAI,EAAE,SAAS;UACflD,KAAK,EAAEoG,QAAQ,CAACpG,KAAK,CAACA;QACxB,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLkD,IAAI,EAAE,SAAS;UACflD,KAAK,EAAE,IAAI,CAACqG,wBAAwB,CAACD,QAAQ,CAACpG,KAAK;QACrD,CAAC;IACL;EACF;;EAEA;EACA,OAAeqD,wCAAwCA,CACrD+C,QAAsE,EACxB;IAC9C,QAAQA,QAAQ,CAAClD,IAAI;MACnB,KAAK,SAAS;QACZ,MAAMqD,6BAA4D,GAChEH,QAAQ,CAACpG,KAAK;QAChB,MAAMwG,gBAAkC,GACtCD,6BAA6B,CAACvG,KAAK,CAACiF,QAAQ;QAE9C,OAAO;UACL/B,IAAI,EAAE,SAAS;UACflD,KAAK,EAAE;YACLiF,QAAQ,EAAEuB,gBAAgB,CAACxG,KAAK;YAChCyG,SAAS,EAAEF,6BAA6B,CAACvG,KAAK,CAACyG;UACjD;QACF,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLvD,IAAI,EAAE,SAAS;UACflD,KAAK,EAAE,IAAI,CAACqG,wBAAwB,CAACD,QAAQ,CAACpG,KAAK;QACrD,CAAC;IACL;EACF;;EAEA;EACA,OAAeuE,mBAAmBA,CAACD,QAAkB,EAAU;IAC7D,IAAIA,QAAQ,CAACpB,IAAI,KAAK,UAAU,EAAE;MAChC,MAAM,IAAIjB,KAAK,CAAE,qBAAoBqB,IAAI,CAACC,SAAS,CAACe,QAAQ,CAAE,EAAC,CAAC;IAClE;IACA,OAAOA,QAAQ,CAACtE,KAAK;EACvB;;EAEA;EACA,OAAe0E,eAAeA,CAACD,IAAU,EAAU;IACjD,IAAIA,IAAI,CAACvB,IAAI,KAAK,MAAM,EAAE;MACxB,MAAM,IAAIjB,KAAK,CAAE,iBAAgBqB,IAAI,CAACC,SAAS,CAACkB,IAAI,CAAE,EAAC,CAAC;IAC1D;IACA,OAAOA,IAAI,CAACzE,KAAK;EACnB;;EAEA;EACA,OAAeiD,UAAUA,CAACnD,GAAa,EAAmB;IACxD,OACE,UAAU,IAAIA,GAAG,IACjB,OAAOA,GAAG,CAACqD,QAAQ,KAAK,QAAQ,IAChC,WAAW,IAAIrD,GAAG,IAClB,OAAOA,GAAG,CAACsD,SAAS,KAAK,QAAQ;EAErC;;EAEA;EACA,OAAeZ,aAAaA,CAAC1C,GAAgB,EAAsB;IACjE,OAAO,MAAM,IAAIA,GAAG,IAAIA,GAAG,CAACoD,IAAI,CAACwD,UAAU,CAAC,aAAa,CAAC;EAC5D;AACF;AAACC,OAAA,CAAAhF,OAAA,GAAAS,UAAA;AAAAvC,eAAA,CAjkBoBuC,UAAU"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_HyperTrackError","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","LINKING_ERROR","Platform","select","ios","default","HyperTrackSdk","NativeModules","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","NativeEventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","type","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","res","map","error","keys","HyperTrackError","find","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","startsWith","exports"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n EmitterSubscription,\n} from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\nimport type { OrderHandle } from './data_types/internal/OrderHandle';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag\n *\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n static async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (\n args.length === 3 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object'\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 4 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object' &&\n HyperTrack.isLocation(args[3])\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: Object)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude === 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude === 'number'\n );\n }\n\n /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["GeotagData.ts"],"sourcesContent":["import type { LocationInternal } from './LocationInternal';\n\nexport type GeotagData = {\n data: Object;\n expectedLocation?: LocationInternal;\n};\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["GeotagData.ts"],"sourcesContent":["import type { OrderStatus } from '../OrderStatus';\nimport type { LocationInternal } from './LocationInternal';\nimport type { OrderHandle } from './OrderHandle';\n\nexport type GeotagData = {\n orderHandle: OrderHandle;\n orderStatus: OrderStatus;\n data: Object;\n expectedLocation?: LocationInternal;\n};\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["OrderHandle.ts"],"sourcesContent":["export type OrderHandle = {\n type: 'orderHandle';\n value: string;\n};\n"],"mappings":""}
|
|
@@ -20,7 +20,7 @@ const HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin ? NativeModules.
|
|
|
20
20
|
const EventEmitter = new NativeEventEmitter(HyperTrackSdk);
|
|
21
21
|
export default class HyperTrack {
|
|
22
22
|
/**
|
|
23
|
-
* Adds a new geotag
|
|
23
|
+
* 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.
|
|
24
24
|
*
|
|
25
25
|
* @param {string} orderHandle - Order handle
|
|
26
26
|
* @param {OrderStatus} orderStatus - Order status
|
|
@@ -29,7 +29,7 @@ export default class HyperTrack {
|
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
|
-
* Adds a new geotag with expected location
|
|
32
|
+
* 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.
|
|
33
33
|
*
|
|
34
34
|
* @param {string} orderHandle - Order handle
|
|
35
35
|
* @param {OrderStatus} orderStatus - Order status
|
|
@@ -59,7 +59,10 @@ export default class HyperTrack {
|
|
|
59
59
|
if (args.length === 3 && typeof args[0] === 'string' && HyperTrack.isOrderStatus(args[1]) && typeof args[2] === 'object') {
|
|
60
60
|
// addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)
|
|
61
61
|
return HyperTrackSdk.addGeotag({
|
|
62
|
-
orderHandle:
|
|
62
|
+
orderHandle: {
|
|
63
|
+
type: 'orderHandle',
|
|
64
|
+
value: args[0]
|
|
65
|
+
},
|
|
63
66
|
orderStatus: args[1],
|
|
64
67
|
data: args[2],
|
|
65
68
|
expectedLocation: undefined
|
|
@@ -70,7 +73,10 @@ export default class HyperTrack {
|
|
|
70
73
|
if (args.length === 4 && typeof args[0] === 'string' && HyperTrack.isOrderStatus(args[1]) && typeof args[2] === 'object' && HyperTrack.isLocation(args[3])) {
|
|
71
74
|
// addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)
|
|
72
75
|
return HyperTrackSdk.addGeotag({
|
|
73
|
-
orderHandle:
|
|
76
|
+
orderHandle: {
|
|
77
|
+
type: 'orderHandle',
|
|
78
|
+
value: args[0]
|
|
79
|
+
},
|
|
74
80
|
orderStatus: args[1],
|
|
75
81
|
data: args[2],
|
|
76
82
|
expectedLocation: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","HyperTrackError","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","LINKING_ERROR","select","ios","default","HyperTrackSdk","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","type","value","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","res","map","error","Object","keys","find","key","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","obj","startsWith","_defineProperty"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n EmitterSubscription,\n} from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag\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\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: args[0],\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: args[0],\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: Object)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude === 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude === 'number'\n );\n }\n\n /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","HyperTrackError","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","LINKING_ERROR","select","ios","default","HyperTrackSdk","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","type","value","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","res","map","error","Object","keys","find","key","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","obj","startsWith","_defineProperty"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n EmitterSubscription,\n} from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\nimport type { OrderHandle } from './data_types/internal/OrderHandle';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag\n *\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n static async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (\n args.length === 3 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object'\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 4 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object' &&\n HyperTrack.isLocation(args[3])\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: Object)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude === 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude === 'number'\n );\n }\n\n /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":";;;AAAA,SACEA,aAAa,EACbC,QAAQ,EACRC,kBAAkB,QAEb,cAAc;AACrB,SAASC,eAAe,QAAQ,8BAA8B;AAmB9D,MAAMC,YAAY,GAAG,QAAQ;AAC7B,MAAMC,kBAAkB,GAAG,aAAa;AACxC,MAAMC,iBAAiB,GAAG,YAAY;AACtC,MAAMC,YAAY,GAAG,QAAQ;AAC7B,MAAMC,cAAc,GAAG,UAAU;AAEjC,MAAMC,aAAa,GAChB,sFAAqF,GACtFR,QAAQ,CAACS,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;AAE/C,MAAMC,aAAa,GAAGb,aAAa,CAACc,2BAA2B,GAC3Dd,aAAa,CAACc,2BAA2B,GACzC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACR,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,MAAMS,YAAY,GAAG,IAAIhB,kBAAkB,CAACW,aAAa,CAAC;AAE1D,eAAe,MAAMM,UAAU,CAAC;EAG9B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAOE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAQE;AACF;AACA;AACA;AACA;AACA;AACA;;EAKE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAME,aAAaC,SAASA,CACpB,GAAGC,IAAW,EACoD;IAClE,IACEA,IAAI,CAACC,MAAM,KAAK,CAAC,IACjB,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3BF,UAAU,CAACI,aAAa,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC,IACjC,OAAOA,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAC3B;MACA;MACA,OAAOR,aAAa,CAACO,SAAS,CAAC;QAC7BI,WAAW,EAAE;UACXC,IAAI,EAAE,aAAa;UACnBC,KAAK,EAAEL,IAAI,CAAC,CAAC;QACf,CAAgB;QAChBM,WAAW,EAAEN,IAAI,CAAC,CAAC,CAAC;QACpBO,IAAI,EAAEP,IAAI,CAAC,CAAC,CAAC;QACbQ,gBAAgB,EAAEC;MACpB,CAAe,CAAC,CAACC,IAAI,CAClBC,gBAAiE,IAAK;QACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;MAC3D,CACF,CAAC;IACH;IACA,IACEX,IAAI,CAACC,MAAM,KAAK,CAAC,IACjB,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3BF,UAAU,CAACI,aAAa,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC,IACjC,OAAOA,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3BF,UAAU,CAACe,UAAU,CAACb,IAAI,CAAC,CAAC,CAAC,CAAC,EAC9B;MACA;MACA,OAAOR,aAAa,CAACO,SAAS,CAAC;QAC7BI,WAAW,EAAE;UACXC,IAAI,EAAE,aAAa;UACnBC,KAAK,EAAEL,IAAI,CAAC,CAAC;QACf,CAAgB;QAChBM,WAAW,EAAEN,IAAI,CAAC,CAAC,CAAC;QACpBO,IAAI,EAAEP,IAAI,CAAC,CAAC,CAAC;QACbQ,gBAAgB,EAAE;UAChBJ,IAAI,EAAE,UAAU;UAChBC,KAAK,EAAE;YACLS,QAAQ,EAAEd,IAAI,CAAC,CAAC,CAAC,CAACc,QAAQ;YAC1BC,SAAS,EAAEf,IAAI,CAAC,CAAC,CAAC,CAACe;UACrB;QACF;MACF,CAAe,CAAC,CAACL,IAAI,CAEjBC,gBAGC,IACE;QACH,OAAO,IAAI,CAACK,wCAAwC,CAClDL,gBACF,CAAC;MACH,CACF,CAAC;IACH;IACA,IAAIX,IAAI,CAACC,MAAM,KAAK,CAAC,IAAI,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;MACpD;MACA,OAAOR,aAAa,CAACO,SAAS,CAAC;QAC7BQ,IAAI,EAAEP,IAAI,CAAC,CAAC,CAAC;QACbQ,gBAAgB,EAAEC;MACpB,CAAe,CAAC,CAACC,IAAI,CAClBC,gBAAiE,IAAK;QACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;MAC3D,CACF,CAAC;IACH;IACA,IACEX,IAAI,CAACC,MAAM,KAAK,CAAC,IACjB,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3BF,UAAU,CAACe,UAAU,CAACb,IAAI,CAAC,CAAC,CAAC,CAAC,EAC9B;MACA;MACA,OAAOR,aAAa,CAACO,SAAS,CAAC;QAC7BQ,IAAI,EAAEP,IAAI,CAAC,CAAC,CAAC;QACbQ,gBAAgB,EAAE;UAChBJ,IAAI,EAAE,UAAU;UAChBC,KAAK,EAAE;YACLS,QAAQ,EAAEd,IAAI,CAAC,CAAC,CAAC,CAACc,QAAQ;YAC1BC,SAAS,EAAEf,IAAI,CAAC,CAAC,CAAC,CAACe;UACrB;QACF;MACF,CAAe,CAAC,CAACL,IAAI,CAEjBC,gBAGC,IACE;QACH,OAAO,IAAI,CAACK,wCAAwC,CAClDL,gBACF,CAAC;MACH,CACF,CAAC;IACH;IACA,MAAM,IAAIf,KAAK,CAAE,kCAAiCqB,IAAI,CAACC,SAAS,CAAClB,IAAI,CAAE,EAAC,CAAC;EAC3E;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAamB,WAAWA,CAAA,EAAoB;IAC1C,OAAO3B,aAAa,CAAC2B,WAAW,CAAC,CAAC,CAACT,IAAI,CACpCU,QAAkB,IAAKA,QAAQ,CAACf,KACnC,CAAC;EACH;EAEA,aAAagB,wBAAwBA,CAAA,EAAoB;IACvD,OAAO7B,aAAa,CAAC6B,wBAAwB,CAAC,CAAC,CAACX,IAAI,CACjDY,qBAA4C,IAC3C,IAAI,CAACC,gCAAgC,CAACD,qBAAqB,CAC/D,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaE,SAASA,CAAA,EAA+B;IACnD,OAAOhC,aAAa,CAACgC,SAAS,CAAC,CAAC,CAACd,IAAI,CAClCe,MAAiC,IAAK;MACrC,OAAO,IAAI,CAACC,2BAA2B,CAACD,MAAM,CAAC;IACjD,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaE,cAAcA,CAAA,EAAqB;IAC9C,OAAOnC,aAAa,CAACmC,cAAc,CAAC,CAAC,CAACjB,IAAI,CACvCkB,WAAwB,IAAKA,WAAW,CAACvB,KAC5C,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAawB,aAAaA,CAAA,EAAqB;IAC7C,OAAOrC,aAAa,CAACqC,aAAa,CAAC,CAAC,CAACnB,IAAI,CACtCoB,UAAsB,IAAKA,UAAU,CAACzB,KACzC,CAAC;EACH;;EAEA;AACF;AACA;EACE,aAAa0B,WAAWA,CAAA,EAA6C;IACnE,OAAOvC,aAAa,CAACuC,WAAW,CAAC,CAAC,CAACrB,IAAI,CACpCC,gBAAiE,IAAK;MACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;IAC3D,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaqB,WAAWA,CAAA,EAAoB;IAC1C,OAAOxC,aAAa,CAACwC,WAAW,CAAC,CAAC,CAACtB,IAAI,CAAEuB,QAAkB,IAAK;MAC9D,OAAO,IAAI,CAACC,mBAAmB,CAACD,QAAQ,CAAC;IAC3C,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaE,OAAOA,CAAA,EAAoB;IACtC,OAAO3C,aAAa,CAAC2C,OAAO,CAAC,CAAC,CAACzB,IAAI,CAAE0B,IAAU,IAAK;MAClD,OAAO,IAAI,CAACC,eAAe,CAACD,IAAI,CAAC;IACnC,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,MAAMA,CACXC,QAAiE,EACjE;IAAA,IAAAC,qBAAA;IACA,CAAAA,qBAAA,OAAI,CAACC,kBAAkB,cAAAD,qBAAA,eAAvBA,qBAAA,CAAyBE,MAAM,CAAC,CAAC;IACjC,IAAI,CAACD,kBAAkB,GAAG5C,YAAY,CAAC8C,WAAW,CAChDzD,YAAY,EACX0D,QAA6D,IAAK;MACjEL,QAAQ,CAAC,IAAI,CAACM,yBAAyB,CAACD,QAAQ,CAAC,CAAC;IACpD,CACF,CAAC;IACDpD,aAAa,CAAC8C,MAAM,CAAC,CAAC;IACtB,OAAO,IAAI,CAACG,kBAAkB;EAChC;EAEA,OAAOK,wBAAwBA,CAACxB,qBAA6B,EAAE;IAC7D9B,aAAa,CAACsD,wBAAwB,CAAC;MACrC1C,IAAI,EAAE,uBAAuB;MAC7BC,KAAK,EAAEiB;IACT,CAA0B,CAAC;EAC7B;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOyB,cAAcA,CAACnB,WAAoB,EAAE;IAC1CpC,aAAa,CAACuD,cAAc,CAAC;MAC3B3C,IAAI,EAAE,aAAa;MACnBC,KAAK,EAAEuB;IACT,CAAgB,CAAC;EACnB;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOoB,aAAaA,CAAClB,UAAmB,EAAE;IACxCtC,aAAa,CAACwD,aAAa,CAAC;MAC1B5C,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAEyB;IACT,CAAe,CAAC;EAClB;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOmB,WAAWA,CAAC1C,IAAY,EAAE;IAC/Bf,aAAa,CAACyD,WAAW,CAAC;MACxB7C,IAAI,EAAE,UAAU;MAChBC,KAAK,EAAEE;IACT,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAO2C,OAAOA,CAACd,IAAY,EAAE;IAC3B5C,aAAa,CAAC0D,OAAO,CAAC;MACpB9C,IAAI,EAAE,MAAM;MACZC,KAAK,EAAE+B;IACT,CAAS,CAAC;EACZ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOe,iBAAiBA,CACtBC,QAA6C,EACxB;IACrB,OAAOvD,YAAY,CAAC8C,WAAW,CAC7B5D,YAAY,EACXsE,SAAoC,IAAK;MACxCD,QAAQ,CAAC,IAAI,CAAC1B,2BAA2B,CAAC2B,SAAS,CAAC,CAAC;IACvD,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,sBAAsBA,CAC3BF,QAAwC,EACnB;IACrB,OAAOvD,YAAY,CAAC8C,WAAW,CAC7B3D,kBAAkB,EACjB4C,WAAwB,IAAK;MAC5BwB,QAAQ,CAACxB,WAAW,CAACvB,KAAK,CAAC;IAC7B,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOkD,qBAAqBA,CAC1BH,QAAuC,EAClB;IACrB,OAAOvD,YAAY,CAAC8C,WAAW,CAC7B1D,iBAAiB,EAChB6C,UAAsB,IAAK;MAC1BsB,QAAQ,CAACtB,UAAU,CAACzB,KAAK,CAAC;IAC5B,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOmD,mBAAmBA,CACxBJ,QAA6D,EAC7D;IACA,OAAOvD,YAAY,CAAC8C,WAAW,CAC7BxD,cAAc,EACbyD,QAAyD,IAAK;MAC7DQ,QAAQ,CAAC,IAAI,CAACxC,2BAA2B,CAACgC,QAAQ,CAAC,CAAC;IACtD,CACF,CAAC;EACH;;EAEA;EACA,OAAerB,gCAAgCA,CAC7CD,qBAA4C,EACpC;IACR,IAAIA,qBAAqB,CAAClB,IAAI,KAAK,uBAAuB,EAAE;MAC1D,MAAM,IAAIR,KAAK,CACZ,kCAAiCqB,IAAI,CAACC,SAAS,CAC9CI,qBACF,CAAE,EACJ,CAAC;IACH;IACA,OAAOA,qBAAqB,CAACjB,KAAK;EACpC;;EAEA;EACA,OAAeqB,2BAA2BA,CACxCD,MAAiC,EACd;IACnB,IAAIgC,GAAG,GAAGhC,MAAM,CAACiC,GAAG,CAAEC,KAA8B,IAAK;MACvD,IAAIA,KAAK,CAACvD,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM,IAAIR,KAAK,CAAC,oBAAoB,CAAC;MACvC;MACA,OAAOgE,MAAM,CAACC,IAAI,CAAC/E,eAAe,CAAC,CAACgF,IAAI,CACrCC,GAAG,IACFjF,eAAe,CAACiF,GAAG,CAAiC,KAAKJ,KAAK,CAACtD,KACnE,CAAC;IACH,CAAC,CAAC;IACF,OAAOoD,GAAG;EACZ;;EAEA;EACA,OAAeZ,yBAAyBA,CACtCmB,QAA6D,EACxB;IACrC,QAAQA,QAAQ,CAAC5D,IAAI;MACnB,KAAK,SAAS;QACZ,OAAO;UACLA,IAAI,EAAE,SAAS;UACfC,KAAK,EAAE2D,QAAQ,CAAC3D,KAAK,CAACA;QACxB,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLD,IAAI,EAAE,SAAS;UACfC,KAAK,EAAE,IAAI,CAACqB,2BAA2B,CAACsC,QAAQ,CAAC3D,KAAK;QACxD,CAAC;IACL;EACF;;EAEA;EACA,OAAe4D,wBAAwBA,CACrCC,aAAoC,EACrB;IACf,QAAQA,aAAa,CAAC9D,IAAI;MACxB,KAAK,YAAY;MACjB,KAAK,UAAU;QACb,OAAO8D,aAAa;MACtB,KAAK,QAAQ;QACX,OAAO;UACL9D,IAAI,EAAE,QAAQ;UACdC,KAAK,EAAE,IAAI,CAACqB,2BAA2B,CAACwC,aAAa,CAAC7D,KAAK;QAC7D,CAAC;IACL;EACF;;EAEA;EACA,OAAeO,2BAA2BA,CACxCoD,QAAyD,EACxB;IACjC,QAAQA,QAAQ,CAAC5D,IAAI;MACnB,KAAK,SAAS;QACZ,OAAO;UACLA,IAAI,EAAE,SAAS;UACfC,KAAK,EAAE2D,QAAQ,CAAC3D,KAAK,CAACA;QACxB,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLD,IAAI,EAAE,SAAS;UACfC,KAAK,EAAE,IAAI,CAAC4D,wBAAwB,CAACD,QAAQ,CAAC3D,KAAK;QACrD,CAAC;IACL;EACF;;EAEA;EACA,OAAeW,wCAAwCA,CACrDgD,QAAsE,EACxB;IAC9C,QAAQA,QAAQ,CAAC5D,IAAI;MACnB,KAAK,SAAS;QACZ,MAAM+D,6BAA4D,GAChEH,QAAQ,CAAC3D,KAAK;QAChB,MAAM+D,gBAAkC,GACtCD,6BAA6B,CAAC9D,KAAK,CAACuC,QAAQ;QAE9C,OAAO;UACLxC,IAAI,EAAE,SAAS;UACfC,KAAK,EAAE;YACLuC,QAAQ,EAAEwB,gBAAgB,CAAC/D,KAAK;YAChCgE,SAAS,EAAEF,6BAA6B,CAAC9D,KAAK,CAACgE;UACjD;QACF,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLjE,IAAI,EAAE,SAAS;UACfC,KAAK,EAAE,IAAI,CAAC4D,wBAAwB,CAACD,QAAQ,CAAC3D,KAAK;QACrD,CAAC;IACL;EACF;;EAEA;EACA,OAAe6B,mBAAmBA,CAACD,QAAkB,EAAU;IAC7D,IAAIA,QAAQ,CAAC7B,IAAI,KAAK,UAAU,EAAE;MAChC,MAAM,IAAIR,KAAK,CAAE,qBAAoBqB,IAAI,CAACC,SAAS,CAACe,QAAQ,CAAE,EAAC,CAAC;IAClE;IACA,OAAOA,QAAQ,CAAC5B,KAAK;EACvB;;EAEA;EACA,OAAegC,eAAeA,CAACD,IAAU,EAAU;IACjD,IAAIA,IAAI,CAAChC,IAAI,KAAK,MAAM,EAAE;MACxB,MAAM,IAAIR,KAAK,CAAE,iBAAgBqB,IAAI,CAACC,SAAS,CAACkB,IAAI,CAAE,EAAC,CAAC;IAC1D;IACA,OAAOA,IAAI,CAAC/B,KAAK;EACnB;;EAEA;EACA,OAAeQ,UAAUA,CAACyD,GAAa,EAAmB;IACxD,OACE,UAAU,IAAIA,GAAG,IACjB,OAAOA,GAAG,CAACxD,QAAQ,KAAK,QAAQ,IAChC,WAAW,IAAIwD,GAAG,IAClB,OAAOA,GAAG,CAACvD,SAAS,KAAK,QAAQ;EAErC;;EAEA;EACA,OAAeb,aAAaA,CAACoE,GAAgB,EAAsB;IACjE,OAAO,MAAM,IAAIA,GAAG,IAAIA,GAAG,CAAClE,IAAI,CAACmE,UAAU,CAAC,aAAa,CAAC;EAC5D;AACF;AAACC,eAAA,CAvkBoB1E,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["GeotagData.ts"],"sourcesContent":["import type { LocationInternal } from './LocationInternal';\n\nexport type GeotagData = {\n data: Object;\n expectedLocation?: LocationInternal;\n};\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["GeotagData.ts"],"sourcesContent":["import type { OrderStatus } from '../OrderStatus';\nimport type { LocationInternal } from './LocationInternal';\nimport type { OrderHandle } from './OrderHandle';\n\nexport type GeotagData = {\n orderHandle: OrderHandle;\n orderStatus: OrderStatus;\n data: Object;\n expectedLocation?: LocationInternal;\n};\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["OrderHandle.ts"],"sourcesContent":["export type OrderHandle = {\n type: 'orderHandle';\n value: string;\n};\n"],"mappings":""}
|
|
@@ -8,7 +8,7 @@ import type { OrderStatus } from './data_types/OrderStatus';
|
|
|
8
8
|
export default class HyperTrack {
|
|
9
9
|
private static locateSubscription;
|
|
10
10
|
/**
|
|
11
|
-
* Adds a new geotag
|
|
11
|
+
* 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.
|
|
12
12
|
*
|
|
13
13
|
* @param {string} orderHandle - Order handle
|
|
14
14
|
* @param {OrderStatus} orderStatus - Order status
|
|
@@ -17,7 +17,7 @@ export default class HyperTrack {
|
|
|
17
17
|
*/
|
|
18
18
|
static addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object): Promise<Result<Location, LocationError>>;
|
|
19
19
|
/**
|
|
20
|
-
* Adds a new geotag with expected location
|
|
20
|
+
* 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.
|
|
21
21
|
*
|
|
22
22
|
* @param {string} orderHandle - Order handle
|
|
23
23
|
* @param {OrderStatus} orderStatus - Order status
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import type { OrderStatus } from '../OrderStatus';
|
|
1
2
|
import type { LocationInternal } from './LocationInternal';
|
|
3
|
+
import type { OrderHandle } from './OrderHandle';
|
|
2
4
|
export type GeotagData = {
|
|
5
|
+
orderHandle: OrderHandle;
|
|
6
|
+
orderStatus: OrderStatus;
|
|
3
7
|
data: Object;
|
|
4
8
|
expectedLocation?: LocationInternal;
|
|
5
9
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hypertrack-sdk-react-native",
|
|
3
|
-
"version": "13.3.
|
|
3
|
+
"version": "13.3.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",
|
|
@@ -21,6 +21,7 @@ import type { LocationWithDeviationInternal } from './data_types/internal/Locati
|
|
|
21
21
|
import type { Metadata } from './data_types/internal/Metadata';
|
|
22
22
|
import type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';
|
|
23
23
|
import type { OrderStatus } from './data_types/OrderStatus';
|
|
24
|
+
import type { OrderHandle } from './data_types/internal/OrderHandle';
|
|
24
25
|
|
|
25
26
|
const EVENT_ERRORS = 'errors';
|
|
26
27
|
const EVENT_IS_AVAILABLE = 'isAvailable';
|
|
@@ -51,7 +52,7 @@ export default class HyperTrack {
|
|
|
51
52
|
private static locateSubscription: EmitterSubscription | undefined;
|
|
52
53
|
|
|
53
54
|
/**
|
|
54
|
-
* Adds a new geotag
|
|
55
|
+
* 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.
|
|
55
56
|
*
|
|
56
57
|
* @param {string} orderHandle - Order handle
|
|
57
58
|
* @param {OrderStatus} orderStatus - Order status
|
|
@@ -65,7 +66,7 @@ export default class HyperTrack {
|
|
|
65
66
|
): Promise<Result<Location, LocationError>>;
|
|
66
67
|
|
|
67
68
|
/**
|
|
68
|
-
* Adds a new geotag with expected location
|
|
69
|
+
* 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.
|
|
69
70
|
*
|
|
70
71
|
* @param {string} orderHandle - Order handle
|
|
71
72
|
* @param {OrderStatus} orderStatus - Order status
|
|
@@ -115,7 +116,10 @@ export default class HyperTrack {
|
|
|
115
116
|
) {
|
|
116
117
|
// addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)
|
|
117
118
|
return HyperTrackSdk.addGeotag({
|
|
118
|
-
orderHandle:
|
|
119
|
+
orderHandle: {
|
|
120
|
+
type: 'orderHandle',
|
|
121
|
+
value: args[0],
|
|
122
|
+
} as OrderHandle,
|
|
119
123
|
orderStatus: args[1],
|
|
120
124
|
data: args[2],
|
|
121
125
|
expectedLocation: undefined,
|
|
@@ -134,7 +138,10 @@ export default class HyperTrack {
|
|
|
134
138
|
) {
|
|
135
139
|
// addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)
|
|
136
140
|
return HyperTrackSdk.addGeotag({
|
|
137
|
-
orderHandle:
|
|
141
|
+
orderHandle: {
|
|
142
|
+
type: 'orderHandle',
|
|
143
|
+
value: args[0],
|
|
144
|
+
} as OrderHandle,
|
|
138
145
|
orderStatus: args[1],
|
|
139
146
|
data: args[2],
|
|
140
147
|
expectedLocation: {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import type { OrderStatus } from '../OrderStatus';
|
|
1
2
|
import type { LocationInternal } from './LocationInternal';
|
|
3
|
+
import type { OrderHandle } from './OrderHandle';
|
|
2
4
|
|
|
3
5
|
export type GeotagData = {
|
|
6
|
+
orderHandle: OrderHandle;
|
|
7
|
+
orderStatus: OrderStatus;
|
|
4
8
|
data: Object;
|
|
5
9
|
expectedLocation?: LocationInternal;
|
|
6
10
|
};
|