hypertrack-sdk-react-native 13.0.0 → 13.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/gradle.properties +1 -1
- package/hypertrack-sdk-react-native.podspec +1 -1
- package/ios/HyperTrackReactNativePlugin.swift +1 -1
- package/lib/commonjs/HyperTrack/HyperTrack.js +7 -7
- package/lib/commonjs/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/module/HyperTrack/HyperTrack.js +7 -7
- package/lib/module/HyperTrack/HyperTrack.js.map +1 -1
- package/lib/typescript/HyperTrack/HyperTrack.d.ts +2 -2
- package/package.json +2 -2
- package/src/HyperTrack/HyperTrack.ts +8 -8
|
@@ -18,7 +18,7 @@ Pod::Spec.new do |s|
|
|
|
18
18
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
19
19
|
|
|
20
20
|
s.dependency "React-Core"
|
|
21
|
-
s.dependency 'HyperTrack', '5.
|
|
21
|
+
s.dependency 'HyperTrack', '5.4.0'
|
|
22
22
|
|
|
23
23
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
24
24
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
@@ -89,7 +89,7 @@ class HyperTrackReactNativePlugin: RCTEventEmitter {
|
|
|
89
89
|
rejecter reject: RCTPromiseRejectBlock
|
|
90
90
|
) {
|
|
91
91
|
sendAsPromise(
|
|
92
|
-
.
|
|
92
|
+
hypertrack_sdk_react_native.getDynamicPublishableKey(),
|
|
93
93
|
method: .getDynamicPublishableKey,
|
|
94
94
|
resolve,
|
|
95
95
|
reject
|
|
@@ -28,14 +28,14 @@ class HyperTrack {
|
|
|
28
28
|
/**
|
|
29
29
|
* Adds a new geotag
|
|
30
30
|
*
|
|
31
|
-
* @param {Object} data -
|
|
31
|
+
* @param {Object} data - Geotag data JSON
|
|
32
32
|
* @returns current location if success or LocationError if failure
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* Adds a new geotag with expected location
|
|
37
37
|
*
|
|
38
|
-
* @param {Object} data -
|
|
38
|
+
* @param {Object} data - Geotag data JSON
|
|
39
39
|
* @param {Location} expectedLocation - Expected location
|
|
40
40
|
* @returns location with deviation if success or LocationError if failure
|
|
41
41
|
*/
|
|
@@ -317,7 +317,7 @@ class HyperTrack {
|
|
|
317
317
|
|
|
318
318
|
/** @ignore */
|
|
319
319
|
static deserializeDynamicPublishableKey(dynamicPublishableKey) {
|
|
320
|
-
if (dynamicPublishableKey.type
|
|
320
|
+
if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {
|
|
321
321
|
throw new Error(`Invalid dynamicPublishableKey: ${JSON.stringify(dynamicPublishableKey)}`);
|
|
322
322
|
}
|
|
323
323
|
return dynamicPublishableKey.value;
|
|
@@ -326,7 +326,7 @@ class HyperTrack {
|
|
|
326
326
|
/** @ignore */
|
|
327
327
|
static deserializeHyperTrackErrors(errors) {
|
|
328
328
|
let res = errors.map(error => {
|
|
329
|
-
if (error.type
|
|
329
|
+
if (error.type !== 'error') {
|
|
330
330
|
throw new Error('Invalid error type');
|
|
331
331
|
}
|
|
332
332
|
return Object.keys(_HyperTrackError.HyperTrackError).find(key => _HyperTrackError.HyperTrackError[key] === error.value);
|
|
@@ -403,7 +403,7 @@ class HyperTrack {
|
|
|
403
403
|
|
|
404
404
|
/** @ignore */
|
|
405
405
|
static deserializeMetadata(metadata) {
|
|
406
|
-
if (metadata.type
|
|
406
|
+
if (metadata.type !== 'metadata') {
|
|
407
407
|
throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);
|
|
408
408
|
}
|
|
409
409
|
return metadata.value;
|
|
@@ -411,7 +411,7 @@ class HyperTrack {
|
|
|
411
411
|
|
|
412
412
|
/** @ignore */
|
|
413
413
|
static deserializeName(name) {
|
|
414
|
-
if (name.type
|
|
414
|
+
if (name.type !== 'name') {
|
|
415
415
|
throw new Error(`Invalid name: ${JSON.stringify(name)}`);
|
|
416
416
|
}
|
|
417
417
|
return name.value;
|
|
@@ -419,7 +419,7 @@ class HyperTrack {
|
|
|
419
419
|
|
|
420
420
|
/** @ignore */
|
|
421
421
|
static isLocation(obj) {
|
|
422
|
-
return 'latitude' in obj && typeof obj.latitude
|
|
422
|
+
return 'latitude' in obj && typeof obj.latitude === 'number' && 'longitude' in obj && typeof obj.longitude === 'number';
|
|
423
423
|
}
|
|
424
424
|
}
|
|
425
425
|
exports.default = HyperTrack;
|
|
@@ -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 - Geotad 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 - Geotad 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":["_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":"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"}
|
|
@@ -22,14 +22,14 @@ export default class HyperTrack {
|
|
|
22
22
|
/**
|
|
23
23
|
* Adds a new geotag
|
|
24
24
|
*
|
|
25
|
-
* @param {Object} data -
|
|
25
|
+
* @param {Object} data - Geotag data JSON
|
|
26
26
|
* @returns current location if success or LocationError if failure
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Adds a new geotag with expected location
|
|
31
31
|
*
|
|
32
|
-
* @param {Object} data -
|
|
32
|
+
* @param {Object} data - Geotag data JSON
|
|
33
33
|
* @param {Location} expectedLocation - Expected location
|
|
34
34
|
* @returns location with deviation if success or LocationError if failure
|
|
35
35
|
*/
|
|
@@ -311,7 +311,7 @@ export default class HyperTrack {
|
|
|
311
311
|
|
|
312
312
|
/** @ignore */
|
|
313
313
|
static deserializeDynamicPublishableKey(dynamicPublishableKey) {
|
|
314
|
-
if (dynamicPublishableKey.type
|
|
314
|
+
if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {
|
|
315
315
|
throw new Error(`Invalid dynamicPublishableKey: ${JSON.stringify(dynamicPublishableKey)}`);
|
|
316
316
|
}
|
|
317
317
|
return dynamicPublishableKey.value;
|
|
@@ -320,7 +320,7 @@ export default class HyperTrack {
|
|
|
320
320
|
/** @ignore */
|
|
321
321
|
static deserializeHyperTrackErrors(errors) {
|
|
322
322
|
let res = errors.map(error => {
|
|
323
|
-
if (error.type
|
|
323
|
+
if (error.type !== 'error') {
|
|
324
324
|
throw new Error('Invalid error type');
|
|
325
325
|
}
|
|
326
326
|
return Object.keys(HyperTrackError).find(key => HyperTrackError[key] === error.value);
|
|
@@ -397,7 +397,7 @@ export default class HyperTrack {
|
|
|
397
397
|
|
|
398
398
|
/** @ignore */
|
|
399
399
|
static deserializeMetadata(metadata) {
|
|
400
|
-
if (metadata.type
|
|
400
|
+
if (metadata.type !== 'metadata') {
|
|
401
401
|
throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);
|
|
402
402
|
}
|
|
403
403
|
return metadata.value;
|
|
@@ -405,7 +405,7 @@ export default class HyperTrack {
|
|
|
405
405
|
|
|
406
406
|
/** @ignore */
|
|
407
407
|
static deserializeName(name) {
|
|
408
|
-
if (name.type
|
|
408
|
+
if (name.type !== 'name') {
|
|
409
409
|
throw new Error(`Invalid name: ${JSON.stringify(name)}`);
|
|
410
410
|
}
|
|
411
411
|
return name.value;
|
|
@@ -413,7 +413,7 @@ export default class HyperTrack {
|
|
|
413
413
|
|
|
414
414
|
/** @ignore */
|
|
415
415
|
static isLocation(obj) {
|
|
416
|
-
return 'latitude' in obj && typeof obj.latitude
|
|
416
|
+
return 'latitude' in obj && typeof obj.latitude === 'number' && 'longitude' in obj && typeof obj.longitude === 'number';
|
|
417
417
|
}
|
|
418
418
|
}
|
|
419
419
|
_defineProperty(HyperTrack, "locateSubscription", void 0);
|
|
@@ -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 - Geotad 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 - Geotad 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","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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"}
|
|
@@ -9,14 +9,14 @@ export default class HyperTrack {
|
|
|
9
9
|
/**
|
|
10
10
|
* Adds a new geotag
|
|
11
11
|
*
|
|
12
|
-
* @param {Object} data -
|
|
12
|
+
* @param {Object} data - Geotag data JSON
|
|
13
13
|
* @returns current location if success or LocationError if failure
|
|
14
14
|
*/
|
|
15
15
|
static addGeotag(data: Object): Promise<Result<Location, LocationError>>;
|
|
16
16
|
/**
|
|
17
17
|
* Adds a new geotag with expected location
|
|
18
18
|
*
|
|
19
|
-
* @param {Object} data -
|
|
19
|
+
* @param {Object} data - Geotag data JSON
|
|
20
20
|
* @param {Location} expectedLocation - Expected location
|
|
21
21
|
* @returns location with deviation if success or LocationError if failure
|
|
22
22
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hypertrack-sdk-react-native",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.2.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",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"@release-it/conventional-changelog": "^5.1.0",
|
|
65
65
|
"@types/jest": "^28.1.2",
|
|
66
66
|
"@types/react": "~17.0.21",
|
|
67
|
-
"@types/react-native": "0.
|
|
67
|
+
"@types/react-native": "^0.70.0",
|
|
68
68
|
"@typescript-eslint/parser": "^5.30.5",
|
|
69
69
|
"auto-changelog": "^2.4.0",
|
|
70
70
|
"commitlint": "^17.0.2",
|
|
@@ -52,7 +52,7 @@ export default class HyperTrack {
|
|
|
52
52
|
/**
|
|
53
53
|
* Adds a new geotag
|
|
54
54
|
*
|
|
55
|
-
* @param {Object} data -
|
|
55
|
+
* @param {Object} data - Geotag data JSON
|
|
56
56
|
* @returns current location if success or LocationError if failure
|
|
57
57
|
*/
|
|
58
58
|
static async addGeotag(
|
|
@@ -62,7 +62,7 @@ export default class HyperTrack {
|
|
|
62
62
|
/**
|
|
63
63
|
* Adds a new geotag with expected location
|
|
64
64
|
*
|
|
65
|
-
* @param {Object} data -
|
|
65
|
+
* @param {Object} data - Geotag data JSON
|
|
66
66
|
* @param {Location} expectedLocation - Expected location
|
|
67
67
|
* @returns location with deviation if success or LocationError if failure
|
|
68
68
|
*/
|
|
@@ -406,7 +406,7 @@ export default class HyperTrack {
|
|
|
406
406
|
private static deserializeDynamicPublishableKey(
|
|
407
407
|
dynamicPublishableKey: DynamicPublishableKey
|
|
408
408
|
): string {
|
|
409
|
-
if (dynamicPublishableKey.type
|
|
409
|
+
if (dynamicPublishableKey.type !== 'dynamicPublishableKey') {
|
|
410
410
|
throw new Error(
|
|
411
411
|
`Invalid dynamicPublishableKey: ${JSON.stringify(
|
|
412
412
|
dynamicPublishableKey
|
|
@@ -421,7 +421,7 @@ export default class HyperTrack {
|
|
|
421
421
|
errors: HyperTrackErrorInternal[]
|
|
422
422
|
): HyperTrackError[] {
|
|
423
423
|
let res = errors.map((error: HyperTrackErrorInternal) => {
|
|
424
|
-
if (error.type
|
|
424
|
+
if (error.type !== 'error') {
|
|
425
425
|
throw new Error('Invalid error type');
|
|
426
426
|
}
|
|
427
427
|
return Object.keys(HyperTrackError).find(
|
|
@@ -512,7 +512,7 @@ export default class HyperTrack {
|
|
|
512
512
|
|
|
513
513
|
/** @ignore */
|
|
514
514
|
private static deserializeMetadata(metadata: Metadata): Object {
|
|
515
|
-
if (metadata.type
|
|
515
|
+
if (metadata.type !== 'metadata') {
|
|
516
516
|
throw new Error(`Invalid metadata: ${JSON.stringify(metadata)}`);
|
|
517
517
|
}
|
|
518
518
|
return metadata.value;
|
|
@@ -520,7 +520,7 @@ export default class HyperTrack {
|
|
|
520
520
|
|
|
521
521
|
/** @ignore */
|
|
522
522
|
private static deserializeName(name: Name): string {
|
|
523
|
-
if (name.type
|
|
523
|
+
if (name.type !== 'name') {
|
|
524
524
|
throw new Error(`Invalid name: ${JSON.stringify(name)}`);
|
|
525
525
|
}
|
|
526
526
|
return name.value;
|
|
@@ -530,9 +530,9 @@ export default class HyperTrack {
|
|
|
530
530
|
private static isLocation(obj: Location): obj is Location {
|
|
531
531
|
return (
|
|
532
532
|
'latitude' in obj &&
|
|
533
|
-
typeof obj.latitude
|
|
533
|
+
typeof obj.latitude === 'number' &&
|
|
534
534
|
'longitude' in obj &&
|
|
535
|
-
typeof obj.longitude
|
|
535
|
+
typeof obj.longitude === 'number'
|
|
536
536
|
);
|
|
537
537
|
}
|
|
538
538
|
}
|