hypertrack-sdk-react-native 13.3.5 → 13.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/android/gradle.properties +1 -1
  2. package/android/src/main/java/com/reactnativehypertracksdk/HyperTrackReactNativePlugin.kt +48 -6
  3. package/android/src/main/java/com/reactnativehypertracksdk/common/HyperTrackSdkWrapper.kt +22 -0
  4. package/android/src/main/java/com/reactnativehypertracksdk/common/SdkMethod.kt +3 -0
  5. package/android/src/main/java/com/reactnativehypertracksdk/common/Serialization.kt +97 -44
  6. package/hypertrack-sdk-react-native.podspec +1 -1
  7. package/ios/HyperTrackReactNativePlugin.m +10 -0
  8. package/ios/HyperTrackReactNativePlugin.swift +51 -4
  9. package/ios/common/HyperTrackSDKWrapper.swift +22 -8
  10. package/ios/common/SDKMethod.swift +3 -0
  11. package/ios/common/Serialization.swift +52 -4
  12. package/lib/commonjs/HyperTrack/HyperTrack.js +95 -1
  13. package/lib/commonjs/HyperTrack/HyperTrack.js.map +1 -1
  14. package/lib/commonjs/HyperTrack/data_types/Order.js +6 -0
  15. package/lib/commonjs/HyperTrack/data_types/Order.js.map +1 -0
  16. package/lib/commonjs/HyperTrack/data_types/internal/OrderInternal.js +6 -0
  17. package/lib/commonjs/HyperTrack/data_types/internal/OrderInternal.js.map +1 -0
  18. package/lib/commonjs/HyperTrack/data_types/internal/OrdersInternal.js +2 -0
  19. package/lib/commonjs/HyperTrack/data_types/internal/OrdersInternal.js.map +1 -0
  20. package/lib/commonjs/HyperTrack/data_types/internal/WorkerHandle.js +2 -0
  21. package/lib/commonjs/HyperTrack/data_types/internal/WorkerHandle.js.map +1 -0
  22. package/lib/commonjs/index.js +0 -66
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/module/HyperTrack/HyperTrack.js +95 -1
  25. package/lib/module/HyperTrack/HyperTrack.js.map +1 -1
  26. package/lib/module/HyperTrack/data_types/Order.js +2 -0
  27. package/lib/module/HyperTrack/data_types/Order.js.map +1 -0
  28. package/lib/module/HyperTrack/data_types/internal/OrderInternal.js +2 -0
  29. package/lib/module/HyperTrack/data_types/internal/OrderInternal.js.map +1 -0
  30. package/lib/module/HyperTrack/data_types/internal/OrdersInternal.js +2 -0
  31. package/lib/module/HyperTrack/data_types/internal/OrdersInternal.js.map +1 -0
  32. package/lib/module/HyperTrack/data_types/internal/WorkerHandle.js +2 -0
  33. package/lib/module/HyperTrack/data_types/internal/WorkerHandle.js.map +1 -0
  34. package/lib/module/index.js +0 -6
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/typescript/HyperTrack/HyperTrack.d.ts +48 -2
  37. package/lib/typescript/HyperTrack/data_types/Order.d.ts +6 -0
  38. package/lib/typescript/HyperTrack/data_types/internal/OrderInternal.d.ts +7 -0
  39. package/lib/typescript/HyperTrack/data_types/internal/OrdersInternal.d.ts +4 -0
  40. package/lib/typescript/HyperTrack/data_types/internal/WorkerHandle.d.ts +4 -0
  41. package/lib/typescript/index.d.ts +7 -6
  42. package/package.json +2 -2
  43. package/src/HyperTrack/HyperTrack.ts +114 -2
  44. package/src/HyperTrack/data_types/Order.ts +7 -0
  45. package/src/HyperTrack/data_types/internal/OrderInternal.ts +8 -0
  46. package/src/HyperTrack/data_types/internal/OrdersInternal.ts +4 -0
  47. package/src/HyperTrack/data_types/internal/WorkerHandle.ts +4 -0
  48. package/src/index.tsx +10 -7
@@ -8,6 +8,7 @@ const EVENT_IS_AVAILABLE = 'isAvailable';
8
8
  const EVENT_IS_TRACKING = 'isTracking';
9
9
  const EVENT_LOCATE = 'locate';
10
10
  const EVENT_LOCATION = 'location';
11
+ const EVENT_ORDERS = 'orders';
11
12
  const LINKING_ERROR = `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
12
13
  ios: "- You have run 'pod install'\n",
13
14
  default: ''
@@ -189,6 +190,29 @@ export default class HyperTrack {
189
190
  });
190
191
  }
191
192
 
193
+ /**
194
+ * Gets the active orders for the worker. The orders are sorted with the ordering in
195
+ * which the worker should complete them.
196
+ *
197
+ * @returns {Map<string, Order>} Map of orders
198
+ */
199
+ static async getOrders() {
200
+ return HyperTrackSdk.getOrders().then(orders => {
201
+ return this.deserializeOrders(orders);
202
+ });
203
+ }
204
+
205
+ /**
206
+ * A primary identifier that uniquely identifies the worker outside of HyperTrack.
207
+ * Example: email, phone number, database id
208
+ * It is usually obtained and set when the worker logs into the app.
209
+ * Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
210
+ * avoid unintentional tracking.
211
+ */
212
+ static async getWorkerHandle() {
213
+ return HyperTrackSdk.getWorkerHandle().then(workerHandle => workerHandle.value);
214
+ }
215
+
192
216
  /**
193
217
  * Requests one-time location update and returns the location once it is available, or error.
194
218
  *
@@ -230,7 +254,7 @@ export default class HyperTrack {
230
254
  /**
231
255
  * Sets the availability of the device for the Nearby search
232
256
  *
233
- * @param availability true when is available or false when unavailable
257
+ * @param isAvailable true when is available or false when unavailable
234
258
  */
235
259
  static setIsAvailable(isAvailable) {
236
260
  HyperTrackSdk.setIsAvailable({
@@ -275,6 +299,22 @@ export default class HyperTrack {
275
299
  });
276
300
  }
277
301
 
302
+ /**
303
+ * A primary identifier that uniquely identifies the worker outside of HyperTrack.
304
+ * Example: email, phone number, database id
305
+ * It is usually obtained and set when the worker logs into the app.
306
+ * Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
307
+ * avoid unintentional tracking.
308
+ *
309
+ * @param {string} workerHandle
310
+ */
311
+ static setWorkerHandle(workerHandle) {
312
+ HyperTrackSdk.setWorkerHandle({
313
+ type: 'workerHandle',
314
+ value: workerHandle
315
+ });
316
+ }
317
+
278
318
  /**
279
319
  * Subscribe to tracking errors
280
320
  *
@@ -365,6 +405,27 @@ export default class HyperTrack {
365
405
  });
366
406
  }
367
407
 
408
+ /**
409
+ * Subscribe to changes in the orders assigned to the worker
410
+ *
411
+ * @param listener
412
+ * @returns EmitterSubscription
413
+ * @example
414
+ * ```js
415
+ * const subscription = HyperTrack.subscribeToOrders(orders => {
416
+ * ...
417
+ * })
418
+ *
419
+ * // later, to stop listening
420
+ * subscription.remove()
421
+ * ```
422
+ */
423
+ static subscribeToOrders(listener) {
424
+ return EventEmitter.addListener(EVENT_ORDERS, orders => {
425
+ listener(this.deserializeOrders(orders));
426
+ });
427
+ }
428
+
368
429
  /** @ignore */
369
430
  static deserializeDynamicPublishableKey(dynamicPublishableKey) {
370
431
  if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {
@@ -384,6 +445,22 @@ export default class HyperTrack {
384
445
  return res;
385
446
  }
386
447
 
448
+ /** @ignore */
449
+ static deserializeIsInsideGeofence(isInsideGeofence) {
450
+ switch (isInsideGeofence.type) {
451
+ case 'success':
452
+ return {
453
+ type: 'success',
454
+ value: isInsideGeofence.value
455
+ };
456
+ case 'failure':
457
+ return {
458
+ type: 'failure',
459
+ value: this.deserializeLocationError(isInsideGeofence.value)
460
+ };
461
+ }
462
+ }
463
+
387
464
  /** @ignore */
388
465
  static deserializeLocateResponse(response) {
389
466
  switch (response.type) {
@@ -467,6 +544,23 @@ export default class HyperTrack {
467
544
  return name.value;
468
545
  }
469
546
 
547
+ /** @ignore */
548
+ static deserializeOrders(orders) {
549
+ if (orders.type !== 'orders') {
550
+ throw new Error(`Invalid orders: ${JSON.stringify(orders)}`);
551
+ }
552
+ let result = new Map();
553
+ Object.entries(orders.value).map(([_, value]) => {
554
+ return value;
555
+ }).sort((first, second) => first.index - second.index).forEach(orderInternal => {
556
+ result.set(orderInternal.orderHandle, {
557
+ orderHandle: orderInternal.orderHandle,
558
+ isInsideGeofence: this.deserializeIsInsideGeofence(orderInternal.isInsideGeofence)
559
+ });
560
+ });
561
+ return result;
562
+ }
563
+
470
564
  /** @ignore */
471
565
  static isLocation(obj) {
472
566
  return 'latitude' in obj && typeof obj.latitude === 'number' && 'longitude' in obj && typeof obj.longitude === 'number';
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","HyperTrackError","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","LINKING_ERROR","select","ios","default","HyperTrackSdk","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","type","value","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","res","map","error","Object","keys","find","key","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","obj","startsWith","_defineProperty"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n EmitterSubscription,\n} from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\nimport type { OrderHandle } from './data_types/internal/OrderHandle';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag\n *\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n static async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (\n args.length === 3 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object'\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 4 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object' &&\n HyperTrack.isLocation(args[3])\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: Object)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude === 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude === 'number'\n );\n }\n\n /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","Platform","NativeEventEmitter","HyperTrackError","EVENT_ERRORS","EVENT_IS_AVAILABLE","EVENT_IS_TRACKING","EVENT_LOCATE","EVENT_LOCATION","EVENT_ORDERS","LINKING_ERROR","select","ios","default","HyperTrackSdk","HyperTrackReactNativePlugin","Proxy","get","Error","EventEmitter","HyperTrack","addGeotag","args","length","isOrderStatus","orderHandle","type","value","orderStatus","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","latitude","longitude","deserializeLocationWithDeviationResponse","JSON","stringify","getDeviceId","deviceId","getDynamicPublishableKey","dynamicPublishableKey","deserializeDynamicPublishableKey","getErrors","errors","deserializeHyperTrackErrors","getIsAvailable","isAvailable","getIsTracking","isTracking","getLocation","getMetadata","metadata","deserializeMetadata","getName","name","deserializeName","getOrders","orders","deserializeOrders","getWorkerHandle","workerHandle","locate","callback","_this$locateSubscript","locateSubscription","remove","addListener","location","deserializeLocateResponse","setDynamicPublishableKey","setIsAvailable","setIsTracking","setMetadata","setName","setWorkerHandle","subscribeToErrors","listener","rawErrors","subscribeToIsAvailable","subscribeToIsTracking","subscribeToLocation","subscribeToOrders","res","map","error","Object","keys","find","key","deserializeIsInsideGeofence","isInsideGeofence","deserializeLocationError","response","locationError","locationWithDeviationInternal","locationInternal","deviation","result","Map","entries","_","sort","first","second","index","forEach","orderInternal","set","obj","startsWith","_defineProperty"],"sources":["HyperTrack.ts"],"sourcesContent":["import {\n NativeModules,\n Platform,\n NativeEventEmitter,\n type EmitterSubscription,\n} from 'react-native';\nimport { HyperTrackError } from './data_types/HyperTrackError';\nimport type { IsAvailable } from './data_types/internal/IsAvailable';\nimport type { IsTracking } from './data_types/internal/IsTracking';\nimport type { Location } from './data_types/Location';\nimport type { LocationError } from './data_types/LocationError';\nimport type { DeviceId } from './data_types/internal/DeviceId';\nimport type { GeotagData } from './data_types/internal/GeotagData';\nimport type { Name } from './data_types/internal/Name';\nimport type { HyperTrackErrorInternal } from './data_types/internal/HyperTrackErrorInternal';\nimport type { LocationWithDeviation } from './data_types/LocationWithDeviation';\nimport type { LocationErrorInternal } from './data_types/internal/LocationErrorInternal';\nimport type { Result } from './data_types/Result';\nimport type { LocationInternal } from './data_types/internal/LocationInternal';\nimport type { LocationWithDeviationInternal } from './data_types/internal/LocationWithDeviationInternal';\nimport type { Metadata } from './data_types/internal/Metadata';\nimport type { DynamicPublishableKey } from './data_types/internal/DynamicPublishableKey';\nimport type { OrderStatus } from './data_types/OrderStatus';\nimport type { OrderHandle } from './data_types/internal/OrderHandle';\nimport type { WorkerHandle } from './data_types/internal/WorkerHandle';\nimport type { Order } from './data_types/Order';\nimport type { OrdersInternal } from './data_types/internal/OrdersInternal';\nimport type { OrderInternal } from './data_types/internal/OrderInternal';\n\nconst EVENT_ERRORS = 'errors';\nconst EVENT_IS_AVAILABLE = 'isAvailable';\nconst EVENT_IS_TRACKING = 'isTracking';\nconst EVENT_LOCATE = 'locate';\nconst EVENT_LOCATION = 'location';\nconst EVENT_ORDERS = 'orders';\n\nconst LINKING_ERROR =\n `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst HyperTrackSdk = NativeModules.HyperTrackReactNativePlugin\n ? NativeModules.HyperTrackReactNativePlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport default class HyperTrack {\n private static locateSubscription: EmitterSubscription | undefined;\n\n /**\n * Adds a new geotag. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * Adds a new geotag with expected location. Check [Shift tracking](https://hypertrack.com/docs/shift-tracking) and [Clock In/Out tagging](https://hypertrack.com/docs/clock-inout-tracking) docs to learn how to use Order handle and Order status params.\n *\n * @param {string} orderHandle - Order handle\n * @param {OrderStatus} orderStatus - Order status\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n orderHandle: string,\n orderStatus: OrderStatus,\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag\n *\n * @param {Object} data - Geotag data JSON\n * @returns current location if success or LocationError if failure\n */\n static async addGeotag(\n data: Object\n ): Promise<Result<Location, LocationError>>;\n\n /**\n * @deprecated\n * Adds a new geotag with expected location\n *\n * @param {Object} data - Geotag data JSON\n * @param {Location} expectedLocation - Expected location\n * @returns location with deviation if success or LocationError if failure\n */\n static async addGeotag(\n data: Object,\n expectedLocation: Location\n ): Promise<Result<LocationWithDeviation, LocationError>>;\n\n static async addGeotag(\n ...args: any[]\n ): Promise<Result<Location | LocationWithDeviation, LocationError>> {\n if (\n args.length === 3 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object'\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 4 &&\n typeof args[0] === 'string' &&\n HyperTrack.isOrderStatus(args[1]) &&\n typeof args[2] === 'object' &&\n HyperTrack.isLocation(args[3])\n ) {\n // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n orderHandle: {\n type: 'orderHandle',\n value: args[0],\n } as OrderHandle,\n orderStatus: args[1],\n data: args[2],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[3].latitude,\n longitude: args[3].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n if (args.length === 1 && typeof args[0] === 'object') {\n // addGeotag(data: Object)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n // addGeotag(data: Object, expectedLocation: Location)\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: args[1].latitude,\n longitude: args[1].longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n }\n throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);\n }\n\n /**\n * Returns a string that is used to uniquely identify the device\n *\n * @returns {string} Device ID\n */\n static async getDeviceId(): Promise<string> {\n return HyperTrackSdk.getDeviceId().then(\n (deviceId: DeviceId) => deviceId.value\n );\n }\n\n static async getDynamicPublishableKey(): Promise<string> {\n return HyperTrackSdk.getDynamicPublishableKey().then(\n (dynamicPublishableKey: DynamicPublishableKey) =>\n this.deserializeDynamicPublishableKey(dynamicPublishableKey)\n );\n }\n\n /**\n * Returns a list of errors that blocks SDK from tracking\n *\n * @returns {HyperTrackError[]} List of errors\n */\n static async getErrors(): Promise<HyperTrackError[]> {\n return HyperTrackSdk.getErrors().then(\n (errors: HyperTrackErrorInternal[]) => {\n return this.deserializeHyperTrackErrors(errors);\n }\n );\n }\n\n /**\n * Reflects availability of the device for the Nearby search\n *\n * @returns true when is available or false when unavailable\n */\n static async getIsAvailable(): Promise<boolean> {\n return HyperTrackSdk.getIsAvailable().then(\n (isAvailable: IsAvailable) => isAvailable.value\n );\n }\n\n /**\n * Reflects the tracking intent for the device\n *\n * @returns {boolean} Whether the user's movement data is getting tracked or not.\n */\n static async getIsTracking(): Promise<boolean> {\n return HyperTrackSdk.getIsTracking().then(\n (isTracking: IsTracking) => isTracking.value\n );\n }\n\n /**\n * Reflects the current location of the user or an outage reason\n */\n static async getLocation(): Promise<Result<Location, LocationError>> {\n return HyperTrackSdk.getLocation().then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n }\n\n /**\n * Gets the metadata that is set for the device\n *\n * @returns {Object} Metadata JSON\n */\n static async getMetadata(): Promise<Object> {\n return HyperTrackSdk.getMetadata().then((metadata: Metadata) => {\n return this.deserializeMetadata(metadata);\n });\n }\n\n /**\n * Gets the name that is set for the device\n *\n * @returns {string} Device name\n */\n static async getName(): Promise<string> {\n return HyperTrackSdk.getName().then((name: Name) => {\n return this.deserializeName(name);\n });\n }\n\n /**\n * Gets the active orders for the worker. The orders are sorted with the ordering in \n * which the worker should complete them.\n *\n * @returns {Map<string, Order>} Map of orders\n */\n static async getOrders(): Promise<Map<string, Order>> {\n return HyperTrackSdk.getOrders().then((orders: OrdersInternal) => {\n return this.deserializeOrders(orders);\n });\n }\n\n /**\n * A primary identifier that uniquely identifies the worker outside of HyperTrack.\n * Example: email, phone number, database id\n * It is usually obtained and set when the worker logs into the app.\n * Set it to an empty string \"\" when the worker logs out of the app to un-bind the device from the worker and\n * avoid unintentional tracking.\n */\n static async getWorkerHandle(): Promise<string> {\n return HyperTrackSdk.getWorkerHandle().then(\n (workerHandle: WorkerHandle) => workerHandle.value\n );\n }\n\n /**\n * Requests one-time location update and returns the location once it is available, or error.\n *\n * Only one locate subscription can be active at a time. If you re-subscribe, the old EmitterSubscription\n * will be automaticaly removed.\n *\n * This method will start location tracking if called, and will stop it when the location is received or\n * the subscription is cancelled. If any other tracking intent is present (e.g. isAvailable is set to `true`),\n * the tracking will not be stopped.\n *\n * @param callback\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.locate(location => {\n * ...\n * })\n *\n * // to unsubscribe\n * subscription.remove()\n * ```\n */\n static locate(\n callback: (location: Result<Location, HyperTrackError[]>) => void\n ) {\n this.locateSubscription?.remove();\n this.locateSubscription = EventEmitter.addListener(\n EVENT_LOCATE,\n (location: Result<LocationInternal, HyperTrackErrorInternal[]>) => {\n callback(this.deserializeLocateResponse(location));\n }\n );\n HyperTrackSdk.locate();\n return this.locateSubscription;\n }\n\n static setDynamicPublishableKey(dynamicPublishableKey: string) {\n HyperTrackSdk.setDynamicPublishableKey({\n type: 'dynamicPublishableKey',\n value: dynamicPublishableKey,\n } as DynamicPublishableKey);\n }\n\n /**\n * Sets the availability of the device for the Nearby search\n *\n * @param isAvailable true when is available or false when unavailable\n */\n static setIsAvailable(isAvailable: boolean) {\n HyperTrackSdk.setIsAvailable({\n type: 'isAvailable',\n value: isAvailable,\n } as IsAvailable);\n }\n\n /**\n * Sets the tracking intent for the device\n *\n * @param {boolean} isTracking\n */\n static setIsTracking(isTracking: boolean) {\n HyperTrackSdk.setIsTracking({\n type: 'isTracking',\n value: isTracking,\n } as IsTracking);\n }\n\n /**\n * Sets the metadata for the device\n *\n * @param {Object} data - Metadata JSON\n */\n static setMetadata(data: Object) {\n HyperTrackSdk.setMetadata({\n type: 'metadata',\n value: data,\n });\n }\n\n /**\n * Sets the name for the device\n *\n * @param {string} name\n */\n static setName(name: string) {\n HyperTrackSdk.setName({\n type: 'name',\n value: name,\n } as Name);\n }\n\n /**\n * A primary identifier that uniquely identifies the worker outside of HyperTrack.\n * Example: email, phone number, database id\n * It is usually obtained and set when the worker logs into the app.\n * Set it to an empty string \"\" when the worker logs out of the app to un-bind the device from the worker and\n * avoid unintentional tracking.\n *\n * @param {string} workerHandle\n */\n static setWorkerHandle(workerHandle: string) {\n HyperTrackSdk.setWorkerHandle({\n type: 'workerHandle',\n value: workerHandle,\n } as WorkerHandle);\n }\n\n /**\n * Subscribe to tracking errors\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToErrors(errors => {\n * errors.forEach(error => {\n * // ... error\n * })\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToErrors(\n listener: (errors: HyperTrackError[]) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_ERRORS,\n (rawErrors: HyperTrackErrorInternal[]) => {\n listener(this.deserializeHyperTrackErrors(rawErrors));\n }\n );\n }\n\n /**\n * Subscribe to availability changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsAvailable(isAvailable => {\n * if (isAvailable) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsAvailable(\n listener: (isAvailable: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_AVAILABLE,\n (isAvailable: IsAvailable) => {\n listener(isAvailable.value);\n }\n );\n }\n\n /**\n * Subscribe to tracking intent changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToIsTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToIsTracking(\n listener: (isTracking: boolean) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(\n EVENT_IS_TRACKING,\n (isTracking: IsTracking) => {\n listener(isTracking.value);\n }\n );\n }\n\n /**\n * Subscribe to location changes\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToLocation(location => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToLocation(\n listener: (location: Result<Location, LocationError>) => void\n ) {\n return EventEmitter.addListener(\n EVENT_LOCATION,\n (location: Result<LocationInternal, LocationErrorInternal>) => {\n listener(this.deserializeLocationResponse(location));\n }\n );\n }\n\n /**\n * Subscribe to changes in the orders assigned to the worker\n *\n * @param listener\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToOrders(orders => {\n * ...\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n static subscribeToOrders(\n listener: (orders: Map<string, Order>) => void\n ): EmitterSubscription {\n return EventEmitter.addListener(EVENT_ORDERS, (orders: OrdersInternal) => {\n listener(this.deserializeOrders(orders));\n });\n }\n\n /** @ignore */\n private static deserializeDynamicPublishableKey(\n dynamicPublishableKey: DynamicPublishableKey\n ): string {\n if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {\n throw new Error(\n `Invalid dynamicPublishableKey: ${JSON.stringify(\n dynamicPublishableKey\n )}`\n );\n }\n return dynamicPublishableKey.value;\n }\n\n /** @ignore */\n private static deserializeHyperTrackErrors(\n errors: HyperTrackErrorInternal[]\n ): HyperTrackError[] {\n let res = errors.map((error: HyperTrackErrorInternal) => {\n if (error.type !== 'error') {\n throw new Error('Invalid error type');\n }\n return Object.keys(HyperTrackError).find(\n (key) =>\n HyperTrackError[key as keyof typeof HyperTrackError] === error.value\n ) as HyperTrackError;\n });\n return res;\n }\n\n /** @ignore */\n private static deserializeIsInsideGeofence(\n isInsideGeofence: Result<boolean, LocationErrorInternal>\n ): Result<boolean, LocationError> {\n switch (isInsideGeofence.type) {\n case 'success':\n return {\n type: 'success',\n value: isInsideGeofence.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(isInsideGeofence.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocateResponse(\n response: Result<LocationInternal, HyperTrackErrorInternal[]>\n ): Result<Location, HyperTrackError[]> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeHyperTrackErrors(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationError(\n locationError: LocationErrorInternal\n ): LocationError {\n switch (locationError.type) {\n case 'notRunning':\n case 'starting':\n return locationError;\n case 'errors':\n return {\n type: 'errors',\n value: this.deserializeHyperTrackErrors(locationError.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationResponse(\n response: Result<LocationInternal, LocationErrorInternal>\n ): Result<Location, LocationError> {\n switch (response.type) {\n case 'success':\n return {\n type: 'success',\n value: response.value.value,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeLocationWithDeviationResponse(\n response: Result<LocationWithDeviationInternal, LocationErrorInternal>\n ): Result<LocationWithDeviation, LocationError> {\n switch (response.type) {\n case 'success':\n const locationWithDeviationInternal: LocationWithDeviationInternal =\n response.value;\n const locationInternal: LocationInternal =\n locationWithDeviationInternal.value.location;\n\n return {\n type: 'success',\n value: {\n location: locationInternal.value,\n deviation: locationWithDeviationInternal.value.deviation,\n } as LocationWithDeviation,\n };\n case 'failure':\n return {\n type: 'failure',\n value: this.deserializeLocationError(response.value),\n };\n }\n }\n\n /** @ignore */\n private static deserializeMetadata(metadata: Metadata): Object {\n if (metadata.type !== 'metadata') {\n throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);\n }\n return metadata.value;\n }\n\n /** @ignore */\n private static deserializeName(name: Name): string {\n if (name.type !== 'name') {\n throw new Error(`Invalid name: ${JSON.stringify(name)}`);\n }\n return name.value;\n }\n\n /** @ignore */\n private static deserializeOrders(orders: OrdersInternal): Map<string, Order> {\n if (orders.type !== 'orders') {\n throw new Error(`Invalid orders: ${JSON.stringify(orders)}`);\n }\n let result = new Map<string, Order>();\n Object.entries(orders.value)\n .map(([_, value]: [string, OrderInternal]) => {\n return value;\n })\n .sort(\n (first: OrderInternal, second: OrderInternal) =>\n first.index - second.index\n )\n .forEach((orderInternal: OrderInternal) => {\n result.set(orderInternal.orderHandle, {\n orderHandle: orderInternal.orderHandle,\n isInsideGeofence: this.deserializeIsInsideGeofence(\n orderInternal.isInsideGeofence\n ),\n } as Order);\n });\n return result;\n }\n\n /** @ignore */\n private static isLocation(obj: Location): obj is Location {\n return (\n 'latitude' in obj &&\n typeof obj.latitude === 'number' &&\n 'longitude' in obj &&\n typeof obj.longitude === 'number'\n );\n }\n\n /** @ignore */\n private static isOrderStatus(obj: OrderStatus): obj is OrderStatus {\n return 'type' in obj && obj.type.startsWith('orderStatus');\n }\n}\n"],"mappings":"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C,KAAK,EAAEqC;IACT,CAAiB,CAAC;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOe,iBAAiBA,CACtBC,QAA6C,EACxB;IACrB,OAAO7D,YAAY,CAACmD,WAAW,CAC7BlE,YAAY,EACX6E,SAAoC,IAAK;MACxCD,QAAQ,CAAC,IAAI,CAAChC,2BAA2B,CAACiC,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,OAAO7D,YAAY,CAACmD,WAAW,CAC7BjE,kBAAkB,EACjB6C,WAAwB,IAAK;MAC5B8B,QAAQ,CAAC9B,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,OAAOwD,qBAAqBA,CAC1BH,QAAuC,EAClB;IACrB,OAAO7D,YAAY,CAACmD,WAAW,CAC7BhE,iBAAiB,EAChB8C,UAAsB,IAAK;MAC1B4B,QAAQ,CAAC5B,UAAU,CAACzB,KAAK,CAAC;IAC5B,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOyD,mBAAmBA,CACxBJ,QAA6D,EAC7D;IACA,OAAO7D,YAAY,CAACmD,WAAW,CAC7B9D,cAAc,EACb+D,QAAyD,IAAK;MAC7DS,QAAQ,CAAC,IAAI,CAAC9C,2BAA2B,CAACqC,QAAQ,CAAC,CAAC;IACtD,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOc,iBAAiBA,CACtBL,QAA8C,EACzB;IACrB,OAAO7D,YAAY,CAACmD,WAAW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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["Order.ts"],"sourcesContent":["import type { Result } from './Result';\nimport type { LocationError } from './LocationError';\n\nexport type Order = {\n orderHandle: string;\n isInsideGeofence: Result<boolean, LocationError>;\n};\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OrderInternal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["OrderInternal.ts"],"sourcesContent":["import type { Result } from '../Result';\nimport type { LocationErrorInternal } from './LocationErrorInternal';\n\nexport type OrderInternal = {\n orderHandle: string;\n isInsideGeofence: Result<boolean, LocationErrorInternal>;\n index: number;\n};\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=OrdersInternal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["OrdersInternal.ts"],"sourcesContent":["export type OrdersInternal = {\n type: 'orders';\n value: object;\n};\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=WorkerHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["WorkerHandle.ts"],"sourcesContent":["export type WorkerHandle = {\n type: 'workerHandle';\n value: string;\n};\n"],"mappings":""}
@@ -2,10 +2,4 @@ import HyperTrack from './HyperTrack/HyperTrack';
2
2
  export default HyperTrack;
3
3
  export { HyperTrack };
4
4
  export { HyperTrackError } from './HyperTrack/data_types/HyperTrackError';
5
- export { NotRunning, Starting } from './HyperTrack/data_types/internal/LocationErrorInternal';
6
- export { LocationError, Errors } from './HyperTrack/data_types/LocationError';
7
- export { LocationWithDeviation } from './HyperTrack/data_types/LocationWithDeviation';
8
- export { Location } from './HyperTrack/data_types/Location';
9
- export { Result, Success, Failure } from './HyperTrack/data_types/Result';
10
- export { OrderStatus } from './HyperTrack/data_types/OrderStatus';
11
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HyperTrack","HyperTrackError","NotRunning","Starting","LocationError","Errors","LocationWithDeviation","Location","Result","Success","Failure","OrderStatus"],"sources":["index.tsx"],"sourcesContent":["import HyperTrack from './HyperTrack/HyperTrack';\nexport default HyperTrack;\nexport { HyperTrack };\n\nexport { HyperTrackError } from './HyperTrack/data_types/HyperTrackError';\nexport {\n NotRunning,\n Starting,\n} from './HyperTrack/data_types/internal/LocationErrorInternal';\nexport { LocationError, Errors } from './HyperTrack/data_types/LocationError';\nexport { LocationWithDeviation } from './HyperTrack/data_types/LocationWithDeviation';\nexport { Location } from './HyperTrack/data_types/Location';\nexport { Result, Success, Failure } from './HyperTrack/data_types/Result';\nexport { OrderStatus } from './HyperTrack/data_types/OrderStatus';\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,yBAAyB;AAChD,eAAeA,UAAU;AACzB,SAASA,UAAU;AAEnB,SAASC,eAAe,QAAQ,yCAAyC;AACzE,SACEC,UAAU,EACVC,QAAQ,QACH,wDAAwD;AAC/D,SAASC,aAAa,EAAEC,MAAM,QAAQ,uCAAuC;AAC7E,SAASC,qBAAqB,QAAQ,+CAA+C;AACrF,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,MAAM,EAAEC,OAAO,EAAEC,OAAO,QAAQ,gCAAgC;AACzE,SAASC,WAAW,QAAQ,qCAAqC"}
1
+ {"version":3,"names":["HyperTrack","HyperTrackError"],"sources":["index.tsx"],"sourcesContent":["import HyperTrack from './HyperTrack/HyperTrack';\nexport default HyperTrack;\nexport { HyperTrack };\nexport { HyperTrackError } from './HyperTrack/data_types/HyperTrackError';\nexport type {\n NotRunning,\n Starting,\n} from './HyperTrack/data_types/internal/LocationErrorInternal';\nexport type {\n LocationError,\n Errors,\n} from './HyperTrack/data_types/LocationError';\nexport type { LocationWithDeviation } from './HyperTrack/data_types/LocationWithDeviation';\nexport type { Location } from './HyperTrack/data_types/Location';\nexport type { Order } from './HyperTrack/data_types/Order';\nexport type { OrderStatus } from './HyperTrack/data_types/OrderStatus';\nexport type { Result, Success, Failure } from './HyperTrack/data_types/Result';\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,yBAAyB;AAChD,eAAeA,UAAU;AACzB,SAASA,UAAU;AACnB,SAASC,eAAe,QAAQ,yCAAyC"}
@@ -1,10 +1,11 @@
1
- import { EmitterSubscription } from 'react-native';
1
+ import { type EmitterSubscription } from 'react-native';
2
2
  import { HyperTrackError } from './data_types/HyperTrackError';
3
3
  import type { Location } from './data_types/Location';
4
4
  import type { LocationError } from './data_types/LocationError';
5
5
  import type { LocationWithDeviation } from './data_types/LocationWithDeviation';
6
6
  import type { Result } from './data_types/Result';
7
7
  import type { OrderStatus } from './data_types/OrderStatus';
8
+ import type { Order } from './data_types/Order';
8
9
  export default class HyperTrack {
9
10
  private static locateSubscription;
10
11
  /**
@@ -84,6 +85,21 @@ export default class HyperTrack {
84
85
  * @returns {string} Device name
85
86
  */
86
87
  static getName(): Promise<string>;
88
+ /**
89
+ * Gets the active orders for the worker. The orders are sorted with the ordering in
90
+ * which the worker should complete them.
91
+ *
92
+ * @returns {Map<string, Order>} Map of orders
93
+ */
94
+ static getOrders(): Promise<Map<string, Order>>;
95
+ /**
96
+ * A primary identifier that uniquely identifies the worker outside of HyperTrack.
97
+ * Example: email, phone number, database id
98
+ * It is usually obtained and set when the worker logs into the app.
99
+ * Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
100
+ * avoid unintentional tracking.
101
+ */
102
+ static getWorkerHandle(): Promise<string>;
87
103
  /**
88
104
  * Requests one-time location update and returns the location once it is available, or error.
89
105
  *
@@ -111,7 +127,7 @@ export default class HyperTrack {
111
127
  /**
112
128
  * Sets the availability of the device for the Nearby search
113
129
  *
114
- * @param availability true when is available or false when unavailable
130
+ * @param isAvailable true when is available or false when unavailable
115
131
  */
116
132
  static setIsAvailable(isAvailable: boolean): void;
117
133
  /**
@@ -132,6 +148,16 @@ export default class HyperTrack {
132
148
  * @param {string} name
133
149
  */
134
150
  static setName(name: string): void;
151
+ /**
152
+ * A primary identifier that uniquely identifies the worker outside of HyperTrack.
153
+ * Example: email, phone number, database id
154
+ * It is usually obtained and set when the worker logs into the app.
155
+ * Set it to an empty string "" when the worker logs out of the app to un-bind the device from the worker and
156
+ * avoid unintentional tracking.
157
+ *
158
+ * @param {string} workerHandle
159
+ */
160
+ static setWorkerHandle(workerHandle: string): void;
135
161
  /**
136
162
  * Subscribe to tracking errors
137
163
  *
@@ -202,11 +228,29 @@ export default class HyperTrack {
202
228
  * ```
203
229
  */
204
230
  static subscribeToLocation(listener: (location: Result<Location, LocationError>) => void): EmitterSubscription;
231
+ /**
232
+ * Subscribe to changes in the orders assigned to the worker
233
+ *
234
+ * @param listener
235
+ * @returns EmitterSubscription
236
+ * @example
237
+ * ```js
238
+ * const subscription = HyperTrack.subscribeToOrders(orders => {
239
+ * ...
240
+ * })
241
+ *
242
+ * // later, to stop listening
243
+ * subscription.remove()
244
+ * ```
245
+ */
246
+ static subscribeToOrders(listener: (orders: Map<string, Order>) => void): EmitterSubscription;
205
247
  /** @ignore */
206
248
  private static deserializeDynamicPublishableKey;
207
249
  /** @ignore */
208
250
  private static deserializeHyperTrackErrors;
209
251
  /** @ignore */
252
+ private static deserializeIsInsideGeofence;
253
+ /** @ignore */
210
254
  private static deserializeLocateResponse;
211
255
  /** @ignore */
212
256
  private static deserializeLocationError;
@@ -219,6 +263,8 @@ export default class HyperTrack {
219
263
  /** @ignore */
220
264
  private static deserializeName;
221
265
  /** @ignore */
266
+ private static deserializeOrders;
267
+ /** @ignore */
222
268
  private static isLocation;
223
269
  /** @ignore */
224
270
  private static isOrderStatus;
@@ -0,0 +1,6 @@
1
+ import type { Result } from './Result';
2
+ import type { LocationError } from './LocationError';
3
+ export type Order = {
4
+ orderHandle: string;
5
+ isInsideGeofence: Result<boolean, LocationError>;
6
+ };
@@ -0,0 +1,7 @@
1
+ import type { Result } from '../Result';
2
+ import type { LocationErrorInternal } from './LocationErrorInternal';
3
+ export type OrderInternal = {
4
+ orderHandle: string;
5
+ isInsideGeofence: Result<boolean, LocationErrorInternal>;
6
+ index: number;
7
+ };
@@ -0,0 +1,4 @@
1
+ export type OrdersInternal = {
2
+ type: 'orders';
3
+ value: object;
4
+ };
@@ -0,0 +1,4 @@
1
+ export type WorkerHandle = {
2
+ type: 'workerHandle';
3
+ value: string;
4
+ };
@@ -2,9 +2,10 @@ import HyperTrack from './HyperTrack/HyperTrack';
2
2
  export default HyperTrack;
3
3
  export { HyperTrack };
4
4
  export { HyperTrackError } from './HyperTrack/data_types/HyperTrackError';
5
- export { NotRunning, Starting, } from './HyperTrack/data_types/internal/LocationErrorInternal';
6
- export { LocationError, Errors } from './HyperTrack/data_types/LocationError';
7
- export { LocationWithDeviation } from './HyperTrack/data_types/LocationWithDeviation';
8
- export { Location } from './HyperTrack/data_types/Location';
9
- export { Result, Success, Failure } from './HyperTrack/data_types/Result';
10
- export { OrderStatus } from './HyperTrack/data_types/OrderStatus';
5
+ export type { NotRunning, Starting, } from './HyperTrack/data_types/internal/LocationErrorInternal';
6
+ export type { LocationError, Errors, } from './HyperTrack/data_types/LocationError';
7
+ export type { LocationWithDeviation } from './HyperTrack/data_types/LocationWithDeviation';
8
+ export type { Location } from './HyperTrack/data_types/Location';
9
+ export type { Order } from './HyperTrack/data_types/Order';
10
+ export type { OrderStatus } from './HyperTrack/data_types/OrderStatus';
11
+ export type { Result, Success, Failure } from './HyperTrack/data_types/Result';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hypertrack-sdk-react-native",
3
- "version": "13.3.5",
3
+ "version": "13.5.0",
4
4
  "description": "React Native HyperTrack SDK is a wrapper around native iOS and Android SDKs that allows to integrate HyperTrack into React Native apps.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -81,7 +81,7 @@
81
81
  "typedoc": "^0.25.4",
82
82
  "typedoc-plugin-merge-modules": "^5.1.0",
83
83
  "typedoc-plugin-rename-defaults": "^0.7.0",
84
- "typescript": "^4.5.2"
84
+ "typescript": "^5.5.0"
85
85
  },
86
86
  "resolutions": {
87
87
  "@types/react": "17.0.21"