hypertrack-sdk-react-native 13.2.3 → 13.3.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 (40) hide show
  1. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  2. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  3. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  4. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  5. package/android/.gradle/7.2/gc.properties +0 -0
  6. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  7. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  8. package/android/.gradle/checksums/checksums.lock +0 -0
  9. package/android/.gradle/vcs-1/gc.properties +0 -0
  10. package/android/.idea/gradle.xml +15 -0
  11. package/android/.idea/misc.xml +9 -0
  12. package/android/.idea/vcs.xml +6 -0
  13. package/android/gradle.properties +1 -1
  14. package/android/local.properties +8 -0
  15. package/android/src/main/java/com/reactnativehypertracksdk/common/GeotagData.kt +4 -1
  16. package/android/src/main/java/com/reactnativehypertracksdk/common/HyperTrackSdkWrapper.kt +29 -8
  17. package/android/src/main/java/com/reactnativehypertracksdk/common/Serialization.kt +84 -48
  18. package/hypertrack-sdk-react-native.podspec +1 -1
  19. package/ios/common/GeotagData.swift +10 -1
  20. package/ios/common/HyperTrackSDKWrapper.swift +33 -4
  21. package/ios/common/Serialization.swift +46 -2
  22. package/lib/commonjs/HyperTrack/HyperTrack.js +61 -6
  23. package/lib/commonjs/HyperTrack/HyperTrack.js.map +1 -1
  24. package/lib/commonjs/HyperTrack/data_types/OrderStatus.js +2 -0
  25. package/lib/commonjs/HyperTrack/data_types/OrderStatus.js.map +1 -0
  26. package/lib/commonjs/index.js +7 -0
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/module/HyperTrack/HyperTrack.js +61 -6
  29. package/lib/module/HyperTrack/HyperTrack.js.map +1 -1
  30. package/lib/module/HyperTrack/data_types/OrderStatus.js +2 -0
  31. package/lib/module/HyperTrack/data_types/OrderStatus.js.map +1 -0
  32. package/lib/module/index.js +1 -0
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/typescript/HyperTrack/HyperTrack.d.ts +24 -0
  35. package/lib/typescript/HyperTrack/data_types/OrderStatus.d.ts +8 -0
  36. package/lib/typescript/index.d.ts +1 -0
  37. package/package.json +1 -1
  38. package/src/HyperTrack/HyperTrack.ts +95 -6
  39. package/src/HyperTrack/data_types/OrderStatus.ts +11 -0
  40. package/src/index.tsx +1 -0
@@ -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","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","type","latitude","longitude","deserializeLocationWithDeviationResponse","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","JSON","stringify","res","map","error","keys","HyperTrackError","find","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","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';\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 {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 * 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 (args.length === 1 && typeof args[0] === 'object') {\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n } else if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n let expectedLocation = args[1] as Location;\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: expectedLocation.latitude,\n longitude: expectedLocation.longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n } else {\n throw new Error('Invalid arguments');\n }\n }\n\n /**\n * 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"],"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;AAiB/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;;EAKE;AACF;AACA;AACA;AACA;AACA;AACA;;EAME,aAAaC,SAASA,CACpB,GAAGC,IAAW,EACoD;IAClE,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,IAAI,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;MACpD,OAAOV,aAAa,CAACS,SAAS,CAAC;QAC7BG,IAAI,EAAEF,IAAI,CAAC,CAAC,CAAC;QACbG,gBAAgB,EAAEC;MACpB,CAAe,CAAC,CAACC,IAAI,CAClBC,gBAAiE,IAAK;QACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;MAC3D,CACF,CAAC;IACH,CAAC,MAAM,IACLN,IAAI,CAACC,MAAM,KAAK,CAAC,IACjB,OAAOD,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC3BF,UAAU,CAACU,UAAU,CAACR,IAAI,CAAC,CAAC,CAAC,CAAC,EAC9B;MACA,IAAIG,gBAAgB,GAAGH,IAAI,CAAC,CAAC,CAAa;MAC1C,OAAOV,aAAa,CAACS,SAAS,CAAC;QAC7BG,IAAI,EAAEF,IAAI,CAAC,CAAC,CAAC;QACbG,gBAAgB,EAAE;UAChBM,IAAI,EAAE,UAAU;UAChB/C,KAAK,EAAE;YACLgD,QAAQ,EAAEP,gBAAgB,CAACO,QAAQ;YACnCC,SAAS,EAAER,gBAAgB,CAACQ;UAC9B;QACF;MACF,CAAe,CAAC,CAACN,IAAI,CAEjBC,gBAGC,IACE;QACH,OAAO,IAAI,CAACM,wCAAwC,CAClDN,gBACF,CAAC;MACH,CACF,CAAC;IACH,CAAC,MAAM;MACL,MAAM,IAAIX,KAAK,CAAC,mBAAmB,CAAC;IACtC;EACF;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAakB,WAAWA,CAAA,EAAoB;IAC1C,OAAOvB,aAAa,CAACuB,WAAW,CAAC,CAAC,CAACR,IAAI,CACpCS,QAAkB,IAAKA,QAAQ,CAACpD,KACnC,CAAC;EACH;EAEA,aAAaqD,wBAAwBA,CAAA,EAAoB;IACvD,OAAOzB,aAAa,CAACyB,wBAAwB,CAAC,CAAC,CAACV,IAAI,CACjDW,qBAA4C,IAC3C,IAAI,CAACC,gCAAgC,CAACD,qBAAqB,CAC/D,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaE,SAASA,CAAA,EAA+B;IACnD,OAAO5B,aAAa,CAAC4B,SAAS,CAAC,CAAC,CAACb,IAAI,CAClCc,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,OAAO/B,aAAa,CAAC+B,cAAc,CAAC,CAAC,CAAChB,IAAI,CACvCiB,WAAwB,IAAKA,WAAW,CAAC5D,KAC5C,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAa6D,aAAaA,CAAA,EAAqB;IAC7C,OAAOjC,aAAa,CAACiC,aAAa,CAAC,CAAC,CAAClB,IAAI,CACtCmB,UAAsB,IAAKA,UAAU,CAAC9D,KACzC,CAAC;EACH;;EAEA;AACF;AACA;EACE,aAAa+D,WAAWA,CAAA,EAA6C;IACnE,OAAOnC,aAAa,CAACmC,WAAW,CAAC,CAAC,CAACpB,IAAI,CACpCC,gBAAiE,IAAK;MACrE,OAAO,IAAI,CAACC,2BAA2B,CAACD,gBAAgB,CAAC;IAC3D,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,aAAaoB,WAAWA,CAAA,EAAoB;IAC1C,OAAOpC,aAAa,CAACoC,WAAW,CAAC,CAAC,CAACrB,IAAI,CAAEsB,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,OAAOvC,aAAa,CAACuC,OAAO,CAAC,CAAC,CAACxB,IAAI,CAAEyB,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,GAAGvC,YAAY,CAACyC,WAAW,CAChDtD,YAAY,EACXuD,QAA6D,IAAK;MACjEL,QAAQ,CAAC,IAAI,CAACM,yBAAyB,CAACD,QAAQ,CAAC,CAAC;IACpD,CACF,CAAC;IACDhD,aAAa,CAAC0C,MAAM,CAAC,CAAC;IACtB,OAAO,IAAI,CAACG,kBAAkB;EAChC;EAEA,OAAOK,wBAAwBA,CAACxB,qBAA6B,EAAE;IAC7D1B,aAAa,CAACkD,wBAAwB,CAAC;MACrC/B,IAAI,EAAE,uBAAuB;MAC7B/C,KAAK,EAAEsD;IACT,CAA0B,CAAC;EAC7B;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOyB,cAAcA,CAACnB,WAAoB,EAAE;IAC1ChC,aAAa,CAACmD,cAAc,CAAC;MAC3BhC,IAAI,EAAE,aAAa;MACnB/C,KAAK,EAAE4D;IACT,CAAgB,CAAC;EACnB;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOoB,aAAaA,CAAClB,UAAmB,EAAE;IACxClC,aAAa,CAACoD,aAAa,CAAC;MAC1BjC,IAAI,EAAE,YAAY;MAClB/C,KAAK,EAAE8D;IACT,CAAe,CAAC;EAClB;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOmB,WAAWA,CAACzC,IAAY,EAAE;IAC/BZ,aAAa,CAACqD,WAAW,CAAC;MACxBlC,IAAI,EAAE,UAAU;MAChB/C,KAAK,EAAEwC;IACT,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAO0C,OAAOA,CAACd,IAAY,EAAE;IAC3BxC,aAAa,CAACsD,OAAO,CAAC;MACpBnC,IAAI,EAAE,MAAM;MACZ/C,KAAK,EAAEoE;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,OAAOlD,YAAY,CAACyC,WAAW,CAC7BzD,YAAY,EACXmE,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,OAAOlD,YAAY,CAACyC,WAAW,CAC7BxD,kBAAkB,EACjByC,WAAwB,IAAK;MAC5BwB,QAAQ,CAACxB,WAAW,CAAC5D,KAAK,CAAC;IAC7B,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOuF,qBAAqBA,CAC1BH,QAAuC,EAClB;IACrB,OAAOlD,YAAY,CAACyC,WAAW,CAC7BvD,iBAAiB,EAChB0C,UAAsB,IAAK;MAC1BsB,QAAQ,CAACtB,UAAU,CAAC9D,KAAK,CAAC;IAC5B,CACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOwF,mBAAmBA,CACxBJ,QAA6D,EAC7D;IACA,OAAOlD,YAAY,CAACyC,WAAW,CAC7BrD,cAAc,EACbsD,QAAyD,IAAK;MAC7DQ,QAAQ,CAAC,IAAI,CAACvC,2BAA2B,CAAC+B,QAAQ,CAAC,CAAC;IACtD,CACF,CAAC;EACH;;EAEA;EACA,OAAerB,gCAAgCA,CAC7CD,qBAA4C,EACpC;IACR,IAAIA,qBAAqB,CAACP,IAAI,KAAK,uBAAuB,EAAE;MAC1D,MAAM,IAAId,KAAK,CACZ,kCAAiCwD,IAAI,CAACC,SAAS,CAC9CpC,qBACF,CAAE,EACJ,CAAC;IACH;IACA,OAAOA,qBAAqB,CAACtD,KAAK;EACpC;;EAEA;EACA,OAAe0D,2BAA2BA,CACxCD,MAAiC,EACd;IACnB,IAAIkC,GAAG,GAAGlC,MAAM,CAACmC,GAAG,CAAEC,KAA8B,IAAK;MACvD,IAAIA,KAAK,CAAC9C,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM,IAAId,KAAK,CAAC,oBAAoB,CAAC;MACvC;MACA,OAAO/B,MAAM,CAAC4F,IAAI,CAACC,gCAAe,CAAC,CAACC,IAAI,CACrCjG,GAAG,IACFgG,gCAAe,CAAChG,GAAG,CAAiC,KAAK8F,KAAK,CAAC7F,KACnE,CAAC;IACH,CAAC,CAAC;IACF,OAAO2F,GAAG;EACZ;;EAEA;EACA,OAAed,yBAAyBA,CACtCoB,QAA6D,EACxB;IACrC,QAAQA,QAAQ,CAAClD,IAAI;MACnB,KAAK,SAAS;QACZ,OAAO;UACLA,IAAI,EAAE,SAAS;UACf/C,KAAK,EAAEiG,QAAQ,CAACjG,KAAK,CAACA;QACxB,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACL+C,IAAI,EAAE,SAAS;UACf/C,KAAK,EAAE,IAAI,CAAC0D,2BAA2B,CAACuC,QAAQ,CAACjG,KAAK;QACxD,CAAC;IACL;EACF;;EAEA;EACA,OAAekG,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;UACd/C,KAAK,EAAE,IAAI,CAAC0D,2BAA2B,CAACyC,aAAa,CAACnG,KAAK;QAC7D,CAAC;IACL;EACF;;EAEA;EACA,OAAe6C,2BAA2BA,CACxCoD,QAAyD,EACxB;IACjC,QAAQA,QAAQ,CAAClD,IAAI;MACnB,KAAK,SAAS;QACZ,OAAO;UACLA,IAAI,EAAE,SAAS;UACf/C,KAAK,EAAEiG,QAAQ,CAACjG,KAAK,CAACA;QACxB,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACL+C,IAAI,EAAE,SAAS;UACf/C,KAAK,EAAE,IAAI,CAACkG,wBAAwB,CAACD,QAAQ,CAACjG,KAAK;QACrD,CAAC;IACL;EACF;;EAEA;EACA,OAAekD,wCAAwCA,CACrD+C,QAAsE,EACxB;IAC9C,QAAQA,QAAQ,CAAClD,IAAI;MACnB,KAAK,SAAS;QACZ,MAAMqD,6BAA4D,GAChEH,QAAQ,CAACjG,KAAK;QAChB,MAAMqG,gBAAkC,GACtCD,6BAA6B,CAACpG,KAAK,CAAC4E,QAAQ;QAE9C,OAAO;UACL7B,IAAI,EAAE,SAAS;UACf/C,KAAK,EAAE;YACL4E,QAAQ,EAAEyB,gBAAgB,CAACrG,KAAK;YAChCsG,SAAS,EAAEF,6BAA6B,CAACpG,KAAK,CAACsG;UACjD;QACF,CAAC;MACH,KAAK,SAAS;QACZ,OAAO;UACLvD,IAAI,EAAE,SAAS;UACf/C,KAAK,EAAE,IAAI,CAACkG,wBAAwB,CAACD,QAAQ,CAACjG,KAAK;QACrD,CAAC;IACL;EACF;;EAEA;EACA,OAAekE,mBAAmBA,CAACD,QAAkB,EAAU;IAC7D,IAAIA,QAAQ,CAAClB,IAAI,KAAK,UAAU,EAAE;MAChC,MAAM,IAAId,KAAK,CAAE,qBAAoBwD,IAAI,CAACC,SAAS,CAACzB,QAAQ,CAAE,EAAC,CAAC;IAClE;IACA,OAAOA,QAAQ,CAACjE,KAAK;EACvB;;EAEA;EACA,OAAeqE,eAAeA,CAACD,IAAU,EAAU;IACjD,IAAIA,IAAI,CAACrB,IAAI,KAAK,MAAM,EAAE;MACxB,MAAM,IAAId,KAAK,CAAE,iBAAgBwD,IAAI,CAACC,SAAS,CAACtB,IAAI,CAAE,EAAC,CAAC;IAC1D;IACA,OAAOA,IAAI,CAACpE,KAAK;EACnB;;EAEA;EACA,OAAe8C,UAAUA,CAAChD,GAAa,EAAmB;IACxD,OACE,UAAU,IAAIA,GAAG,IACjB,OAAOA,GAAG,CAACkD,QAAQ,KAAK,QAAQ,IAChC,WAAW,IAAIlD,GAAG,IAClB,OAAOA,GAAG,CAACmD,SAAS,KAAK,QAAQ;EAErC;AACF;AAACsD,OAAA,CAAA5E,OAAA,GAAAS,UAAA;AAAAvC,eAAA,CAzeoBuC,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","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":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=OrderStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["OrderStatus.ts"],"sourcesContent":["export type OrderStatus =\n | {\n type: 'orderStatusClockIn';\n }\n | {\n type: 'orderStatusClockOut';\n }\n | {\n type: 'orderStatusCustom';\n value: string;\n };\n"],"mappings":""}
@@ -51,6 +51,12 @@ Object.defineProperty(exports, "NotRunning", {
51
51
  return _LocationErrorInternal.NotRunning;
52
52
  }
53
53
  });
54
+ Object.defineProperty(exports, "OrderStatus", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _OrderStatus.OrderStatus;
58
+ }
59
+ });
54
60
  Object.defineProperty(exports, "Result", {
55
61
  enumerable: true,
56
62
  get: function () {
@@ -77,6 +83,7 @@ var _LocationError = require("./HyperTrack/data_types/LocationError");
77
83
  var _LocationWithDeviation = require("./HyperTrack/data_types/LocationWithDeviation");
78
84
  var _Location = require("./HyperTrack/data_types/Location");
79
85
  var _Result = require("./HyperTrack/data_types/Result");
86
+ var _OrderStatus = require("./HyperTrack/data_types/OrderStatus");
80
87
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
81
88
  var _default = exports.default = _HyperTrack.default;
82
89
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_HyperTrack","_interopRequireDefault","require","_HyperTrackError","_LocationErrorInternal","_LocationError","_LocationWithDeviation","_Location","_Result","obj","__esModule","default","_default","exports","HyperTrack"],"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';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAIA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAA0E,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAX3DG,mBAAU"}
1
+ {"version":3,"names":["_HyperTrack","_interopRequireDefault","require","_HyperTrackError","_LocationErrorInternal","_LocationError","_LocationWithDeviation","_Location","_Result","_OrderStatus","obj","__esModule","default","_default","exports","HyperTrack"],"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,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAIA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAAkE,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAZnDG,mBAAU"}
@@ -22,11 +22,32 @@ export default class HyperTrack {
22
22
  /**
23
23
  * Adds a new geotag
24
24
  *
25
+ * @param {string} orderHandle - Order handle
26
+ * @param {OrderStatus} orderStatus - Order status
25
27
  * @param {Object} data - Geotag data JSON
26
28
  * @returns current location if success or LocationError if failure
27
29
  */
28
30
 
29
31
  /**
32
+ * Adds a new geotag with expected location
33
+ *
34
+ * @param {string} orderHandle - Order handle
35
+ * @param {OrderStatus} orderStatus - Order status
36
+ * @param {Object} data - Geotag data JSON
37
+ * @param {Location} expectedLocation - Expected location
38
+ * @returns location with deviation if success or LocationError if failure
39
+ */
40
+
41
+ /**
42
+ * @deprecated
43
+ * Adds a new geotag
44
+ *
45
+ * @param {Object} data - Geotag data JSON
46
+ * @returns current location if success or LocationError if failure
47
+ */
48
+
49
+ /**
50
+ * @deprecated
30
51
  * Adds a new geotag with expected location
31
52
  *
32
53
  * @param {Object} data - Geotag data JSON
@@ -35,30 +56,59 @@ export default class HyperTrack {
35
56
  */
36
57
 
37
58
  static async addGeotag(...args) {
59
+ if (args.length === 3 && typeof args[0] === 'string' && HyperTrack.isOrderStatus(args[1]) && typeof args[2] === 'object') {
60
+ // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object)
61
+ return HyperTrackSdk.addGeotag({
62
+ orderHandle: args[0],
63
+ orderStatus: args[1],
64
+ data: args[2],
65
+ expectedLocation: undefined
66
+ }).then(locationResponse => {
67
+ return this.deserializeLocationResponse(locationResponse);
68
+ });
69
+ }
70
+ if (args.length === 4 && typeof args[0] === 'string' && HyperTrack.isOrderStatus(args[1]) && typeof args[2] === 'object' && HyperTrack.isLocation(args[3])) {
71
+ // addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location)
72
+ return HyperTrackSdk.addGeotag({
73
+ orderHandle: args[0],
74
+ orderStatus: args[1],
75
+ data: args[2],
76
+ expectedLocation: {
77
+ type: 'location',
78
+ value: {
79
+ latitude: args[3].latitude,
80
+ longitude: args[3].longitude
81
+ }
82
+ }
83
+ }).then(locationResponse => {
84
+ return this.deserializeLocationWithDeviationResponse(locationResponse);
85
+ });
86
+ }
38
87
  if (args.length === 1 && typeof args[0] === 'object') {
88
+ // addGeotag(data: Object)
39
89
  return HyperTrackSdk.addGeotag({
40
90
  data: args[0],
41
91
  expectedLocation: undefined
42
92
  }).then(locationResponse => {
43
93
  return this.deserializeLocationResponse(locationResponse);
44
94
  });
45
- } else if (args.length === 2 && typeof args[0] === 'object' && HyperTrack.isLocation(args[1])) {
46
- let expectedLocation = args[1];
95
+ }
96
+ if (args.length === 2 && typeof args[0] === 'object' && HyperTrack.isLocation(args[1])) {
97
+ // addGeotag(data: Object, expectedLocation: Location)
47
98
  return HyperTrackSdk.addGeotag({
48
99
  data: args[0],
49
100
  expectedLocation: {
50
101
  type: 'location',
51
102
  value: {
52
- latitude: expectedLocation.latitude,
53
- longitude: expectedLocation.longitude
103
+ latitude: args[1].latitude,
104
+ longitude: args[1].longitude
54
105
  }
55
106
  }
56
107
  }).then(locationResponse => {
57
108
  return this.deserializeLocationWithDeviationResponse(locationResponse);
58
109
  });
59
- } else {
60
- throw new Error('Invalid arguments');
61
110
  }
111
+ throw new Error(`Invalid addGeotag() arguments: ${JSON.stringify(args)}`);
62
112
  }
63
113
 
64
114
  /**
@@ -415,6 +465,11 @@ export default class HyperTrack {
415
465
  static isLocation(obj) {
416
466
  return 'latitude' in obj && typeof obj.latitude === 'number' && 'longitude' in obj && typeof obj.longitude === 'number';
417
467
  }
468
+
469
+ /** @ignore */
470
+ static isOrderStatus(obj) {
471
+ return 'type' in obj && obj.type.startsWith('orderStatus');
472
+ }
418
473
  }
419
474
  _defineProperty(HyperTrack, "locateSubscription", void 0);
420
475
  //# sourceMappingURL=HyperTrack.js.map
@@ -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","data","expectedLocation","undefined","then","locationResponse","deserializeLocationResponse","isLocation","type","value","latitude","longitude","deserializeLocationWithDeviationResponse","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","JSON","stringify","res","map","error","Object","keys","find","key","response","deserializeLocationError","locationError","locationWithDeviationInternal","locationInternal","deviation","obj","_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';\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 {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 * 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 (args.length === 1 && typeof args[0] === 'object') {\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: undefined,\n } as GeotagData).then(\n (locationResponse: Result<LocationInternal, LocationErrorInternal>) => {\n return this.deserializeLocationResponse(locationResponse);\n }\n );\n } else if (\n args.length === 2 &&\n typeof args[0] === 'object' &&\n HyperTrack.isLocation(args[1])\n ) {\n let expectedLocation = args[1] as Location;\n return HyperTrackSdk.addGeotag({\n data: args[0],\n expectedLocation: {\n type: 'location',\n value: {\n latitude: expectedLocation.latitude,\n longitude: expectedLocation.longitude,\n },\n } as LocationInternal,\n } as GeotagData).then(\n (\n locationResponse: Result<\n LocationWithDeviationInternal,\n LocationErrorInternal\n >\n ) => {\n return this.deserializeLocationWithDeviationResponse(\n locationResponse\n );\n }\n );\n } else {\n throw new Error('Invalid arguments');\n }\n }\n\n /**\n * 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"],"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","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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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=OrderStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["OrderStatus.ts"],"sourcesContent":["export type OrderStatus =\n | {\n type: 'orderStatusClockIn';\n }\n | {\n type: 'orderStatusClockOut';\n }\n | {\n type: 'orderStatusCustom';\n value: string;\n };\n"],"mappings":""}
@@ -7,4 +7,5 @@ export { LocationError, Errors } from './HyperTrack/data_types/LocationError';
7
7
  export { LocationWithDeviation } from './HyperTrack/data_types/LocationWithDeviation';
8
8
  export { Location } from './HyperTrack/data_types/Location';
9
9
  export { Result, Success, Failure } from './HyperTrack/data_types/Result';
10
+ export { OrderStatus } from './HyperTrack/data_types/OrderStatus';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HyperTrack","HyperTrackError","NotRunning","Starting","LocationError","Errors","LocationWithDeviation","Location","Result","Success","Failure"],"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';\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"}
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"}
@@ -4,9 +4,30 @@ 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
+ import type { OrderStatus } from './data_types/OrderStatus';
7
8
  export default class HyperTrack {
8
9
  private static locateSubscription;
9
10
  /**
11
+ * Adds a new geotag
12
+ *
13
+ * @param {string} orderHandle - Order handle
14
+ * @param {OrderStatus} orderStatus - Order status
15
+ * @param {Object} data - Geotag data JSON
16
+ * @returns current location if success or LocationError if failure
17
+ */
18
+ static addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object): Promise<Result<Location, LocationError>>;
19
+ /**
20
+ * Adds a new geotag with expected location
21
+ *
22
+ * @param {string} orderHandle - Order handle
23
+ * @param {OrderStatus} orderStatus - Order status
24
+ * @param {Object} data - Geotag data JSON
25
+ * @param {Location} expectedLocation - Expected location
26
+ * @returns location with deviation if success or LocationError if failure
27
+ */
28
+ static addGeotag(orderHandle: string, orderStatus: OrderStatus, data: Object, expectedLocation: Location): Promise<Result<LocationWithDeviation, LocationError>>;
29
+ /**
30
+ * @deprecated
10
31
  * Adds a new geotag
11
32
  *
12
33
  * @param {Object} data - Geotag data JSON
@@ -14,6 +35,7 @@ export default class HyperTrack {
14
35
  */
15
36
  static addGeotag(data: Object): Promise<Result<Location, LocationError>>;
16
37
  /**
38
+ * @deprecated
17
39
  * Adds a new geotag with expected location
18
40
  *
19
41
  * @param {Object} data - Geotag data JSON
@@ -198,4 +220,6 @@ export default class HyperTrack {
198
220
  private static deserializeName;
199
221
  /** @ignore */
200
222
  private static isLocation;
223
+ /** @ignore */
224
+ private static isOrderStatus;
201
225
  }
@@ -0,0 +1,8 @@
1
+ export type OrderStatus = {
2
+ type: 'orderStatusClockIn';
3
+ } | {
4
+ type: 'orderStatusClockOut';
5
+ } | {
6
+ type: 'orderStatusCustom';
7
+ value: string;
8
+ };
@@ -7,3 +7,4 @@ export { LocationError, Errors } from './HyperTrack/data_types/LocationError';
7
7
  export { LocationWithDeviation } from './HyperTrack/data_types/LocationWithDeviation';
8
8
  export { Location } from './HyperTrack/data_types/Location';
9
9
  export { Result, Success, Failure } from './HyperTrack/data_types/Result';
10
+ export { OrderStatus } from './HyperTrack/data_types/OrderStatus';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hypertrack-sdk-react-native",
3
- "version": "13.2.3",
3
+ "version": "13.3.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",