hypertrack-sdk-react-native 7.19.0 → 8.0.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/CHANGELOG.md +14 -0
- package/CONTRIBUTING.md +154 -0
- package/README.md +25 -16
- package/android/build.gradle +141 -35
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/android/gradle.properties +6 -0
- package/android/gradlew +185 -0
- package/android/gradlew.bat +89 -0
- package/android/src/main/AndroidManifest.xml +2 -3
- package/android/src/main/java/com/reactnativehypertracksdk/HyperTrackModule.kt +284 -0
- package/android/src/main/java/com/reactnativehypertracksdk/HyperTrackSdkPackage.kt +17 -0
- package/hypertrack-sdk-react-native.podspec +34 -15
- package/ios/{RNHyperTrack/RNHyperTrack.h → HyperTrack.h} +1 -2
- package/ios/HyperTrack.m +384 -0
- package/ios/{RNHyperTrack.xcodeproj → HyperTrackSdk.xcodeproj}/project.pbxproj +70 -99
- package/lib/commonjs/HyperTrack/HyperTrack.js +244 -0
- package/lib/commonjs/HyperTrack/HyperTrack.js.map +1 -0
- package/lib/commonjs/index.js +52 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/module/HyperTrack/HyperTrack.js +230 -0
- package/lib/module/HyperTrack/HyperTrack.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/typescript/HyperTrack/HyperTrack.d.ts +161 -0
- package/lib/typescript/index.d.ts +4 -0
- package/package.json +145 -47
- package/src/HyperTrack/HyperTrack.ts +273 -0
- package/src/index.tsx +11 -0
- package/android/src/main/java/com/hypertrack/reactnative/androidsdk/HTSDKModule.java +0 -301
- package/android/src/main/java/com/hypertrack/reactnative/androidsdk/HTSDKPackage.java +0 -29
- package/ios/RNHyperTrack/RNHyperTrack.m +0 -312
- package/ios/RNHyperTrack.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/RNHyperTrack.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/RNHyperTrack.xcodeproj/project.xcworkspace/xcuserdata/tulushev.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/RNHyperTrack.xcodeproj/xcuserdata/tulushev.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/js/CriticalErrors.js +0 -97
- package/js/EventEmitter.js +0 -11
- package/js/HyperTrack.js +0 -130
- package/js/index.js +0 -13
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Error", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _HyperTrack.Error;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "GeotagError", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _HyperTrack.GeotagError;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "HyperTrack", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _HyperTrack.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "Location", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _HyperTrack.Location;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "LocationError", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _HyperTrack.LocationError;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "SDKError", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _HyperTrack.SDKError;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
exports.default = void 0;
|
|
43
|
+
|
|
44
|
+
var _HyperTrack = _interopRequireWildcard(require("./HyperTrack/HyperTrack"));
|
|
45
|
+
|
|
46
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
47
|
+
|
|
48
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
49
|
+
|
|
50
|
+
var _default = _HyperTrack.default;
|
|
51
|
+
exports.default = _default;
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HyperTrack"],"sources":["index.tsx"],"sourcesContent":["import HyperTrack from './HyperTrack/HyperTrack';\nexport default HyperTrack;\nexport { HyperTrack };\n\nexport {\n Location,\n Error,\n SDKError,\n GeotagError,\n LocationError,\n} from './HyperTrack/HyperTrack';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;eACeA,mB"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { NativeModules, Platform, NativeEventEmitter } from 'react-native';
|
|
2
|
+
const LINKING_ERROR = `The package 'hypertrack-sdk-react-native' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
3
|
+
ios: "- You have run 'pod install'\n",
|
|
4
|
+
default: ''
|
|
5
|
+
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo managed workflow\n';
|
|
6
|
+
const HyperTrackSdk = NativeModules.HyperTrack ? NativeModules.HyperTrack : new Proxy({}, {
|
|
7
|
+
get() {
|
|
8
|
+
throw new Error(LINKING_ERROR);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
});
|
|
12
|
+
const EventEmitter = new NativeEventEmitter(HyperTrackSdk);
|
|
13
|
+
export let SDKError;
|
|
14
|
+
/**
|
|
15
|
+
* A base interface for errors in SDK.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
(function (SDKError) {
|
|
19
|
+
SDKError[SDKError["GENERAL"] = 0] = "GENERAL";
|
|
20
|
+
SDKError[SDKError["INVALID_PUBLISHABLE_KEY"] = 1] = "INVALID_PUBLISHABLE_KEY";
|
|
21
|
+
SDKError[SDKError["AUTHORIZATION_FAILED"] = 2] = "AUTHORIZATION_FAILED";
|
|
22
|
+
SDKError[SDKError["PERMISSION_DENIED"] = 3] = "PERMISSION_DENIED";
|
|
23
|
+
})(SDKError || (SDKError = {}));
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Interface for accessing adding geotag result.
|
|
27
|
+
*/
|
|
28
|
+
export let GeotagError;
|
|
29
|
+
|
|
30
|
+
(function (GeotagError) {
|
|
31
|
+
GeotagError[GeotagError["PLATFORM_NOT_SUPPORTED"] = 0] = "PLATFORM_NOT_SUPPORTED";
|
|
32
|
+
GeotagError[GeotagError["LOCATION_MISMATCH"] = 1] = "LOCATION_MISMATCH";
|
|
33
|
+
GeotagError[GeotagError["LOCATION_NOT_AVAILABLE"] = 2] = "LOCATION_NOT_AVAILABLE";
|
|
34
|
+
GeotagError[GeotagError["INVALID_ARGUMENTS"] = 3] = "INVALID_ARGUMENTS";
|
|
35
|
+
})(GeotagError || (GeotagError = {}));
|
|
36
|
+
|
|
37
|
+
export let LocationError;
|
|
38
|
+
|
|
39
|
+
(function (LocationError) {
|
|
40
|
+
LocationError["LOCATION_PERMISSIONS_NOT_DETERMINED"] = "location_permissions_not_determined";
|
|
41
|
+
LocationError["LOCATION_PERMISSIONS_CANT_BE_ASKED_IN_BACKGROUND"] = "location_permissions_cant_be_asked_in_background";
|
|
42
|
+
LocationError["LOCATION_PERMISSIONS_INSUFFICIENT_FOR_BACKGROUND"] = "location_permissions_insufficient_for_background";
|
|
43
|
+
LocationError["LOCATION_PERMISSIONS_RESTRICTED"] = "location_permissions_restricted";
|
|
44
|
+
LocationError["LOCATION_PERMISSIONS_REDUCED_ACCURACY"] = "location_permissions_reduced_accuracy";
|
|
45
|
+
LocationError["LOCATION_PERMISSIONS_DENIED"] = "location_permissions_denied";
|
|
46
|
+
LocationError["LOCATION_SERVICES_DISABLED"] = "location_services_disabled";
|
|
47
|
+
LocationError["MOTION_ACTIVITY_PERMISSIONS_NOT_DETERMINED"] = "motion_activity_permissions_not_determined";
|
|
48
|
+
LocationError["MOTION_ACTIVITY_PERMISSIONS_CANT_BE_ASKED_IN_BACKGROUND"] = "motion_activity_permissions_cant_be_asked_in_background";
|
|
49
|
+
LocationError["MOTION_ACTIVITY_PERMISSIONS_DENIED"] = "motion_activity_permissions_denied";
|
|
50
|
+
LocationError["MOTION_ACTIVITY_SERVICES_DISABLED"] = "motion_activity_services_disabled";
|
|
51
|
+
LocationError["NOT_RUNNING"] = "not_running";
|
|
52
|
+
LocationError["GPS_SIGNAL_LOST"] = "gps_signal_lost";
|
|
53
|
+
LocationError["STARTING"] = "starting";
|
|
54
|
+
LocationError["LOCATION_MOCKED"] = "location_mocked";
|
|
55
|
+
})(LocationError || (LocationError = {}));
|
|
56
|
+
|
|
57
|
+
export default class HyperTrack {
|
|
58
|
+
constructor() {
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static async createInstance(publishableKey) {
|
|
63
|
+
let automaticallyRequestPermissions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
await HyperTrackSdk.initialize(publishableKey, false, automaticallyRequestPermissions);
|
|
67
|
+
return new HyperTrack();
|
|
68
|
+
} catch (error) {
|
|
69
|
+
throw new Error(error.message);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Enables debug log output. This is very verbose, so you shouldn't use this for
|
|
74
|
+
* production build.
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
static enableDebugLogging(enable) {
|
|
79
|
+
HyperTrack.enableDebugLogging(enable);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Returns a string which is used by HyperTrack to uniquely identify the user.
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
async getDeviceID() {
|
|
87
|
+
return HyperTrackSdk.getDeviceID();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Device's availability for nearby search
|
|
91
|
+
*
|
|
92
|
+
* @returns true when is available or false when unavailable
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
isAvailable() {
|
|
97
|
+
return HyperTrackSdk.isAvailable();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Allows you to set device availability for nearby search
|
|
101
|
+
*
|
|
102
|
+
* @param availability true when is available or false when unavailable
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
async setAvailability(availability) {
|
|
107
|
+
return HyperTrackSdk.setAvailability(availability);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Determine whether the SDK is tracking the movement of the user.
|
|
111
|
+
* @return {boolean} Whether the user's movement data is getting tracked or not.
|
|
112
|
+
*/
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
isTracking() {
|
|
116
|
+
return HyperTrackSdk.isTracking();
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Update device state from server.
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
syncDeviceSettings() {
|
|
124
|
+
HyperTrackSdk.syncDeviceSettings();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Start or resume tracking location and activity events.
|
|
128
|
+
*/
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
startTracking() {
|
|
132
|
+
HyperTrackSdk.startTracking();
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Stops the SDK from listening to the user's movement updates and recording any data.
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
stopTracking() {
|
|
140
|
+
HyperTrackSdk.stopTracking();
|
|
141
|
+
} /// The current location of the user or an outage reason.
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
getLocation() {
|
|
145
|
+
return HyperTrackSdk.getLocation();
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Listen for errors.
|
|
149
|
+
*
|
|
150
|
+
* @param listener (errors: {code, message}) => void
|
|
151
|
+
* @returns EmitterSubscription
|
|
152
|
+
* @example
|
|
153
|
+
* ```js
|
|
154
|
+
* const subscription = HyperTrack.subscribeToErrors(errors => {
|
|
155
|
+
* errors.forEach(error => {
|
|
156
|
+
* // ... error
|
|
157
|
+
* })
|
|
158
|
+
* })
|
|
159
|
+
*
|
|
160
|
+
* // later, to stop listening
|
|
161
|
+
* subscription.remove()
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
subscribeToErrors(listener) {
|
|
167
|
+
return EventEmitter.addListener('onTrackingErrorHyperTrack', listener);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Listen for tracking changes.
|
|
171
|
+
*
|
|
172
|
+
* @param listener (isTracking: boolean) => void
|
|
173
|
+
* @returns EmitterSubscription
|
|
174
|
+
* @example
|
|
175
|
+
* ```js
|
|
176
|
+
* const subscription = HyperTrack.subscribeToTracking(isTracking => {
|
|
177
|
+
* if (isTracking) {
|
|
178
|
+
* // ... ready to go
|
|
179
|
+
* }
|
|
180
|
+
* })
|
|
181
|
+
*
|
|
182
|
+
* // later, to stop listening
|
|
183
|
+
* subscription.remove()
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
subscribeToTracking(listener) {
|
|
189
|
+
return EventEmitter.addListener('onTrackingStateChanged', listener);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Send device name to HyperTrack
|
|
193
|
+
* @param {string} name - Device name you want to see in the Dashboard.
|
|
194
|
+
*/
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
setDeviceName(name) {
|
|
198
|
+
HyperTrackSdk.setDeviceName(name);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Send metadata details to HyperTrack
|
|
202
|
+
* @param {Object} data - Send extra device information.
|
|
203
|
+
*/
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
setMetadata(data) {
|
|
207
|
+
HyperTrackSdk.setMetadata(data);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* @deprecated
|
|
211
|
+
* Set a trip marker
|
|
212
|
+
* @param {Object} _data - Include anything that can be parsed into JSON.
|
|
213
|
+
*/
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
setTripMarker(_data) {
|
|
217
|
+
throw new Error('Deprecated');
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Add geotag
|
|
221
|
+
* @param {Object} data - Include anything that can be parsed into JSON.
|
|
222
|
+
*/
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
addGeotag(data) {
|
|
226
|
+
return HyperTrackSdk.addGeotag(data);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=HyperTrack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","NativeEventEmitter","LINKING_ERROR","select","ios","default","HyperTrackSdk","HyperTrack","Proxy","get","Error","EventEmitter","SDKError","GeotagError","LocationError","constructor","createInstance","publishableKey","automaticallyRequestPermissions","initialize","error","message","enableDebugLogging","enable","getDeviceID","isAvailable","setAvailability","availability","isTracking","syncDeviceSettings","startTracking","stopTracking","getLocation","subscribeToErrors","listener","addListener","subscribeToTracking","setDeviceName","name","setMetadata","data","setTripMarker","_data","addGeotag"],"sources":["HyperTrack.ts"],"sourcesContent":["import { NativeModules, Platform, NativeEventEmitter } from 'react-native';\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.HyperTrack\n ? NativeModules.HyperTrack\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nconst EventEmitter = new NativeEventEmitter(HyperTrackSdk);\n\nexport enum SDKError {\n /**\n * An error that we couldn't recognize.\n */\n GENERAL = 0,\n /**\n * Publishable key is invalid. Check your key on hypertrack dashboard setup.\n */\n INVALID_PUBLISHABLE_KEY = 1,\n /**\n * Your free trial ended or account was not renewed. Check your account on hypertrack dashboard.\n */\n AUTHORIZATION_FAILED = 2,\n /**\n * Tracking won't start due to denied (or absent) permission.\n */\n PERMISSION_DENIED = 3,\n}\n\n/**\n * A base interface for errors in SDK.\n */\nexport type Error = {\n code: SDKError;\n message?: string;\n};\n\n/**\n * Interface for accessing adding geotag result.\n */\nexport enum GeotagError {\n /** Expected location is not supported on this platform */\n PLATFORM_NOT_SUPPORTED = 0,\n /** Expected vs actual location difference is greater then required */\n LOCATION_MISMATCH = 1,\n /** SDK can't get actual location from OS sensors */\n LOCATION_NOT_AVAILABLE = 2,\n /** Invalid arguments */\n INVALID_ARGUMENTS = 3,\n}\n\nexport interface Location {\n location: {\n latitude: number;\n longitude: number;\n };\n}\n\nexport enum LocationError {\n // The user has not chosen whether the app can use location services.\n // SDK automatically asked for permissions.\n LOCATION_PERMISSIONS_NOT_DETERMINED = 'location_permissions_not_determined',\n // The user has not chosen whether the app can use location services.\n // SDK can't ask for permissions in background.\n LOCATION_PERMISSIONS_CANT_BE_ASKED_IN_BACKGROUND = 'location_permissions_cant_be_asked_in_background',\n // Can't start tracking in background with When In Use location\n // permissions. SDK will automatically start tracking when app will return\n // to foreground.\n LOCATION_PERMISSIONS_INSUFFICIENT_FOR_BACKGROUND = 'location_permissions_insufficient_for_background',\n // The app is not authorized to use location services.\n LOCATION_PERMISSIONS_RESTRICTED = 'location_permissions_restricted',\n // The user didn't grant precise location permissions or downgraded permissions to imprecise.\n LOCATION_PERMISSIONS_REDUCED_ACCURACY = 'location_permissions_reduced_accuracy',\n // The user denied location permissions.\n LOCATION_PERMISSIONS_DENIED = 'location_permissions_denied',\n // The user disabled location services systemwide.\n LOCATION_SERVICES_DISABLED = 'location_services_disabled',\n // The user has not chosen whether the app can use motion activity\n // services. SDK automatically asked for permissions.\n MOTION_ACTIVITY_PERMISSIONS_NOT_DETERMINED = 'motion_activity_permissions_not_determined',\n // The user has not chosen whether the app can use motion activity\n // services. SDK can't ask for permissions in background.\n MOTION_ACTIVITY_PERMISSIONS_CANT_BE_ASKED_IN_BACKGROUND = 'motion_activity_permissions_cant_be_asked_in_background',\n // Motion activity permissions denied after SDK's initialization. Granting\n // them will restart the app, so in effect, they are denied during this app's\n // session.\n MOTION_ACTIVITY_PERMISSIONS_DENIED = 'motion_activity_permissions_denied',\n // The user disabled motion services systemwide.\n MOTION_ACTIVITY_SERVICES_DISABLED = 'motion_activity_services_disabled',\n // The SDK is not collecting locations because it's either not tracking or is unavailable.\n NOT_RUNNING = 'not_running',\n // GPS satellites are not in view.\n GPS_SIGNAL_LOST = 'gps_signal_lost',\n // The SDK started collecting locations and is waiting for OS location services to respond.\n STARTING = 'starting',\n // The user enabled mock location app while mocking locations is prohibited.\n LOCATION_MOCKED = 'location_mocked',\n}\n\nexport default class HyperTrack {\n constructor() {\n return this;\n }\n\n static async createInstance(\n publishableKey: string,\n automaticallyRequestPermissions = true\n ) {\n try {\n await HyperTrackSdk.initialize(\n publishableKey,\n false,\n automaticallyRequestPermissions\n );\n return new HyperTrack();\n } catch (error: any) {\n throw new Error(error.message);\n }\n }\n\n /**\n * Enables debug log output. This is very verbose, so you shouldn't use this for\n * production build.\n */\n static enableDebugLogging(enable: boolean) {\n HyperTrack.enableDebugLogging(enable);\n }\n\n /**\n * Returns a string which is used by HyperTrack to uniquely identify the user.\n */\n async getDeviceID(): Promise<string> {\n return HyperTrackSdk.getDeviceID();\n }\n\n /**\n * Device's availability for nearby search\n *\n * @returns true when is available or false when unavailable\n */\n isAvailable(): Promise<boolean> {\n return HyperTrackSdk.isAvailable();\n }\n\n /**\n * Allows you to set device availability for nearby search\n *\n * @param availability true when is available or false when unavailable\n */\n async setAvailability(availability: Boolean): Promise<void> {\n return HyperTrackSdk.setAvailability(availability);\n }\n\n /**\n * Determine whether the SDK is tracking the movement of the user.\n * @return {boolean} Whether the user's movement data is getting tracked or not.\n */\n isTracking(): Promise<boolean> {\n return HyperTrackSdk.isTracking();\n }\n\n /**\n * Update device state from server.\n */\n syncDeviceSettings() {\n HyperTrackSdk.syncDeviceSettings();\n }\n\n /**\n * Start or resume tracking location and activity events.\n */\n startTracking() {\n HyperTrackSdk.startTracking();\n }\n\n /**\n * Stops the SDK from listening to the user's movement updates and recording any data.\n */\n stopTracking() {\n HyperTrackSdk.stopTracking();\n }\n\n /// The current location of the user or an outage reason.\n getLocation(): Promise<LocationError | Location> {\n return HyperTrackSdk.getLocation();\n }\n\n /**\n * Listen for errors.\n *\n * @param listener (errors: {code, message}) => void\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 subscribeToErrors(listener: (errors: Error) => void) {\n return EventEmitter.addListener('onTrackingErrorHyperTrack', listener);\n }\n\n /**\n * Listen for tracking changes.\n *\n * @param listener (isTracking: boolean) => void\n * @returns EmitterSubscription\n * @example\n * ```js\n * const subscription = HyperTrack.subscribeToTracking(isTracking => {\n * if (isTracking) {\n * // ... ready to go\n * }\n * })\n *\n * // later, to stop listening\n * subscription.remove()\n * ```\n */\n subscribeToTracking(listener: (isTracking: boolean) => void) {\n return EventEmitter.addListener('onTrackingStateChanged', listener);\n }\n\n /**\n * Send device name to HyperTrack\n * @param {string} name - Device name you want to see in the Dashboard.\n */\n setDeviceName(name: string) {\n HyperTrackSdk.setDeviceName(name);\n }\n\n /**\n * Send metadata details to HyperTrack\n * @param {Object} data - Send extra device information.\n */\n setMetadata(data: Object) {\n HyperTrackSdk.setMetadata(data);\n }\n\n /**\n * @deprecated\n * Set a trip marker\n * @param {Object} _data - Include anything that can be parsed into JSON.\n */\n setTripMarker(_data: Object) {\n throw new Error('Deprecated');\n }\n\n /**\n * Add geotag\n * @param {Object} data - Include anything that can be parsed into JSON.\n */\n addGeotag(data: Object): Promise<LocationError | Location> {\n return HyperTrackSdk.addGeotag(data);\n }\n}\n"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,QAAxB,EAAkCC,kBAAlC,QAA4D,cAA5D;AAEA,MAAMC,aAAa,GAChB,sFAAD,GACAF,QAAQ,CAACG,MAAT,CAAgB;EAAEC,GAAG,EAAE,gCAAP;EAAyCC,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJF;AAMA,MAAMC,aAAa,GAAGP,aAAa,CAACQ,UAAd,GAClBR,aAAa,CAACQ,UADI,GAElB,IAAIC,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;EACD;;AAHH,CAFF,CAFJ;AAWA,MAAMS,YAAY,GAAG,IAAIV,kBAAJ,CAAuBK,aAAvB,CAArB;AAEA,WAAYM,QAAZ;AAmBA;AACA;AACA;;WArBYA,Q;EAAAA,Q,CAAAA,Q;EAAAA,Q,CAAAA,Q;EAAAA,Q,CAAAA,Q;EAAAA,Q,CAAAA,Q;GAAAA,Q,KAAAA,Q;;AA2BZ;AACA;AACA;AACA,WAAYC,WAAZ;;WAAYA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;GAAAA,W,KAAAA,W;;AAkBZ,WAAYC,aAAZ;;WAAYA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;GAAAA,a,KAAAA,a;;AAyCZ,eAAe,MAAMP,UAAN,CAAiB;EAC9BQ,WAAW,GAAG;IACZ,OAAO,IAAP;EACD;;EAE0B,aAAdC,cAAc,CACzBC,cADyB,EAGzB;IAAA,IADAC,+BACA,uEADkC,IAClC;;IACA,IAAI;MACF,MAAMZ,aAAa,CAACa,UAAd,CACJF,cADI,EAEJ,KAFI,EAGJC,+BAHI,CAAN;MAKA,OAAO,IAAIX,UAAJ,EAAP;IACD,CAPD,CAOE,OAAOa,KAAP,EAAmB;MACnB,MAAM,IAAIV,KAAJ,CAAUU,KAAK,CAACC,OAAhB,CAAN;IACD;EACF;EAED;AACF;AACA;AACA;;;EAC2B,OAAlBC,kBAAkB,CAACC,MAAD,EAAkB;IACzChB,UAAU,CAACe,kBAAX,CAA8BC,MAA9B;EACD;EAED;AACF;AACA;;;EACmB,MAAXC,WAAW,GAAoB;IACnC,OAAOlB,aAAa,CAACkB,WAAd,EAAP;EACD;EAED;AACF;AACA;AACA;AACA;;;EACEC,WAAW,GAAqB;IAC9B,OAAOnB,aAAa,CAACmB,WAAd,EAAP;EACD;EAED;AACF;AACA;AACA;AACA;;;EACuB,MAAfC,eAAe,CAACC,YAAD,EAAuC;IAC1D,OAAOrB,aAAa,CAACoB,eAAd,CAA8BC,YAA9B,CAAP;EACD;EAED;AACF;AACA;AACA;;;EACEC,UAAU,GAAqB;IAC7B,OAAOtB,aAAa,CAACsB,UAAd,EAAP;EACD;EAED;AACF;AACA;;;EACEC,kBAAkB,GAAG;IACnBvB,aAAa,CAACuB,kBAAd;EACD;EAED;AACF;AACA;;;EACEC,aAAa,GAAG;IACdxB,aAAa,CAACwB,aAAd;EACD;EAED;AACF;AACA;;;EACEC,YAAY,GAAG;IACbzB,aAAa,CAACyB,YAAd;EACD,CAjF6B,CAmF9B;;;EACAC,WAAW,GAAsC;IAC/C,OAAO1B,aAAa,CAAC0B,WAAd,EAAP;EACD;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACEC,iBAAiB,CAACC,QAAD,EAAoC;IACnD,OAAOvB,YAAY,CAACwB,WAAb,CAAyB,2BAAzB,EAAsDD,QAAtD,CAAP;EACD;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACEE,mBAAmB,CAACF,QAAD,EAA0C;IAC3D,OAAOvB,YAAY,CAACwB,WAAb,CAAyB,wBAAzB,EAAmDD,QAAnD,CAAP;EACD;EAED;AACF;AACA;AACA;;;EACEG,aAAa,CAACC,IAAD,EAAe;IAC1BhC,aAAa,CAAC+B,aAAd,CAA4BC,IAA5B;EACD;EAED;AACF;AACA;AACA;;;EACEC,WAAW,CAACC,IAAD,EAAe;IACxBlC,aAAa,CAACiC,WAAd,CAA0BC,IAA1B;EACD;EAED;AACF;AACA;AACA;AACA;;;EACEC,aAAa,CAACC,KAAD,EAAgB;IAC3B,MAAM,IAAIhC,KAAJ,CAAU,YAAV,CAAN;EACD;EAED;AACF;AACA;AACA;;;EACEiC,SAAS,CAACH,IAAD,EAAkD;IACzD,OAAOlC,aAAa,CAACqC,SAAd,CAAwBH,IAAxB,CAAP;EACD;;AAjK6B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HyperTrack","Location","Error","SDKError","GeotagError","LocationError"],"sources":["index.tsx"],"sourcesContent":["import HyperTrack from './HyperTrack/HyperTrack';\nexport default HyperTrack;\nexport { HyperTrack };\n\nexport {\n Location,\n Error,\n SDKError,\n GeotagError,\n LocationError,\n} from './HyperTrack/HyperTrack';\n"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,yBAAvB;AACA,eAAeA,UAAf;AACA,SAASA,UAAT;AAEA,SACEC,QADF,EAEEC,KAFF,EAGEC,QAHF,EAIEC,WAJF,EAKEC,aALF,QAMO,yBANP"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
export declare enum SDKError {
|
|
2
|
+
/**
|
|
3
|
+
* An error that we couldn't recognize.
|
|
4
|
+
*/
|
|
5
|
+
GENERAL = 0,
|
|
6
|
+
/**
|
|
7
|
+
* Publishable key is invalid. Check your key on hypertrack dashboard setup.
|
|
8
|
+
*/
|
|
9
|
+
INVALID_PUBLISHABLE_KEY = 1,
|
|
10
|
+
/**
|
|
11
|
+
* Your free trial ended or account was not renewed. Check your account on hypertrack dashboard.
|
|
12
|
+
*/
|
|
13
|
+
AUTHORIZATION_FAILED = 2,
|
|
14
|
+
/**
|
|
15
|
+
* Tracking won't start due to denied (or absent) permission.
|
|
16
|
+
*/
|
|
17
|
+
PERMISSION_DENIED = 3
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A base interface for errors in SDK.
|
|
21
|
+
*/
|
|
22
|
+
export declare type Error = {
|
|
23
|
+
code: SDKError;
|
|
24
|
+
message?: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Interface for accessing adding geotag result.
|
|
28
|
+
*/
|
|
29
|
+
export declare enum GeotagError {
|
|
30
|
+
/** Expected location is not supported on this platform */
|
|
31
|
+
PLATFORM_NOT_SUPPORTED = 0,
|
|
32
|
+
/** Expected vs actual location difference is greater then required */
|
|
33
|
+
LOCATION_MISMATCH = 1,
|
|
34
|
+
/** SDK can't get actual location from OS sensors */
|
|
35
|
+
LOCATION_NOT_AVAILABLE = 2,
|
|
36
|
+
/** Invalid arguments */
|
|
37
|
+
INVALID_ARGUMENTS = 3
|
|
38
|
+
}
|
|
39
|
+
export interface Location {
|
|
40
|
+
location: {
|
|
41
|
+
latitude: number;
|
|
42
|
+
longitude: number;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export declare enum LocationError {
|
|
46
|
+
LOCATION_PERMISSIONS_NOT_DETERMINED = "location_permissions_not_determined",
|
|
47
|
+
LOCATION_PERMISSIONS_CANT_BE_ASKED_IN_BACKGROUND = "location_permissions_cant_be_asked_in_background",
|
|
48
|
+
LOCATION_PERMISSIONS_INSUFFICIENT_FOR_BACKGROUND = "location_permissions_insufficient_for_background",
|
|
49
|
+
LOCATION_PERMISSIONS_RESTRICTED = "location_permissions_restricted",
|
|
50
|
+
LOCATION_PERMISSIONS_REDUCED_ACCURACY = "location_permissions_reduced_accuracy",
|
|
51
|
+
LOCATION_PERMISSIONS_DENIED = "location_permissions_denied",
|
|
52
|
+
LOCATION_SERVICES_DISABLED = "location_services_disabled",
|
|
53
|
+
MOTION_ACTIVITY_PERMISSIONS_NOT_DETERMINED = "motion_activity_permissions_not_determined",
|
|
54
|
+
MOTION_ACTIVITY_PERMISSIONS_CANT_BE_ASKED_IN_BACKGROUND = "motion_activity_permissions_cant_be_asked_in_background",
|
|
55
|
+
MOTION_ACTIVITY_PERMISSIONS_DENIED = "motion_activity_permissions_denied",
|
|
56
|
+
MOTION_ACTIVITY_SERVICES_DISABLED = "motion_activity_services_disabled",
|
|
57
|
+
NOT_RUNNING = "not_running",
|
|
58
|
+
GPS_SIGNAL_LOST = "gps_signal_lost",
|
|
59
|
+
STARTING = "starting",
|
|
60
|
+
LOCATION_MOCKED = "location_mocked"
|
|
61
|
+
}
|
|
62
|
+
export default class HyperTrack {
|
|
63
|
+
constructor();
|
|
64
|
+
static createInstance(publishableKey: string, automaticallyRequestPermissions?: boolean): Promise<HyperTrack>;
|
|
65
|
+
/**
|
|
66
|
+
* Enables debug log output. This is very verbose, so you shouldn't use this for
|
|
67
|
+
* production build.
|
|
68
|
+
*/
|
|
69
|
+
static enableDebugLogging(enable: boolean): void;
|
|
70
|
+
/**
|
|
71
|
+
* Returns a string which is used by HyperTrack to uniquely identify the user.
|
|
72
|
+
*/
|
|
73
|
+
getDeviceID(): Promise<string>;
|
|
74
|
+
/**
|
|
75
|
+
* Device's availability for nearby search
|
|
76
|
+
*
|
|
77
|
+
* @returns true when is available or false when unavailable
|
|
78
|
+
*/
|
|
79
|
+
isAvailable(): Promise<boolean>;
|
|
80
|
+
/**
|
|
81
|
+
* Allows you to set device availability for nearby search
|
|
82
|
+
*
|
|
83
|
+
* @param availability true when is available or false when unavailable
|
|
84
|
+
*/
|
|
85
|
+
setAvailability(availability: Boolean): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Determine whether the SDK is tracking the movement of the user.
|
|
88
|
+
* @return {boolean} Whether the user's movement data is getting tracked or not.
|
|
89
|
+
*/
|
|
90
|
+
isTracking(): Promise<boolean>;
|
|
91
|
+
/**
|
|
92
|
+
* Update device state from server.
|
|
93
|
+
*/
|
|
94
|
+
syncDeviceSettings(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Start or resume tracking location and activity events.
|
|
97
|
+
*/
|
|
98
|
+
startTracking(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Stops the SDK from listening to the user's movement updates and recording any data.
|
|
101
|
+
*/
|
|
102
|
+
stopTracking(): void;
|
|
103
|
+
getLocation(): Promise<LocationError | Location>;
|
|
104
|
+
/**
|
|
105
|
+
* Listen for errors.
|
|
106
|
+
*
|
|
107
|
+
* @param listener (errors: {code, message}) => void
|
|
108
|
+
* @returns EmitterSubscription
|
|
109
|
+
* @example
|
|
110
|
+
* ```js
|
|
111
|
+
* const subscription = HyperTrack.subscribeToErrors(errors => {
|
|
112
|
+
* errors.forEach(error => {
|
|
113
|
+
* // ... error
|
|
114
|
+
* })
|
|
115
|
+
* })
|
|
116
|
+
*
|
|
117
|
+
* // later, to stop listening
|
|
118
|
+
* subscription.remove()
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
subscribeToErrors(listener: (errors: Error) => void): import("react-native").EmitterSubscription;
|
|
122
|
+
/**
|
|
123
|
+
* Listen for tracking changes.
|
|
124
|
+
*
|
|
125
|
+
* @param listener (isTracking: boolean) => void
|
|
126
|
+
* @returns EmitterSubscription
|
|
127
|
+
* @example
|
|
128
|
+
* ```js
|
|
129
|
+
* const subscription = HyperTrack.subscribeToTracking(isTracking => {
|
|
130
|
+
* if (isTracking) {
|
|
131
|
+
* // ... ready to go
|
|
132
|
+
* }
|
|
133
|
+
* })
|
|
134
|
+
*
|
|
135
|
+
* // later, to stop listening
|
|
136
|
+
* subscription.remove()
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
subscribeToTracking(listener: (isTracking: boolean) => void): import("react-native").EmitterSubscription;
|
|
140
|
+
/**
|
|
141
|
+
* Send device name to HyperTrack
|
|
142
|
+
* @param {string} name - Device name you want to see in the Dashboard.
|
|
143
|
+
*/
|
|
144
|
+
setDeviceName(name: string): void;
|
|
145
|
+
/**
|
|
146
|
+
* Send metadata details to HyperTrack
|
|
147
|
+
* @param {Object} data - Send extra device information.
|
|
148
|
+
*/
|
|
149
|
+
setMetadata(data: Object): void;
|
|
150
|
+
/**
|
|
151
|
+
* @deprecated
|
|
152
|
+
* Set a trip marker
|
|
153
|
+
* @param {Object} _data - Include anything that can be parsed into JSON.
|
|
154
|
+
*/
|
|
155
|
+
setTripMarker(_data: Object): void;
|
|
156
|
+
/**
|
|
157
|
+
* Add geotag
|
|
158
|
+
* @param {Object} data - Include anything that can be parsed into JSON.
|
|
159
|
+
*/
|
|
160
|
+
addGeotag(data: Object): Promise<LocationError | Location>;
|
|
161
|
+
}
|