radar-sdk-js 4.5.5 → 4.5.6
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/README.md +7 -7
- package/dist/api/verify.d.ts +1 -0
- package/dist/radar.js +38 -1
- package/dist/radar.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/api/verify.ts +44 -1
- package/src/types.ts +1 -0
- package/src/version.ts +1 -1
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ Radar.initialize('prj_test_pk_...', { /* options */ });
|
|
|
56
56
|
|
|
57
57
|
Add the following script in your `html` file
|
|
58
58
|
```html
|
|
59
|
-
<script src="https://js.radar.com/v4.5.
|
|
59
|
+
<script src="https://js.radar.com/v4.5.6/radar.min.js"></script>
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
Then initialize the Radar SDK
|
|
@@ -73,8 +73,8 @@ To create a map, first initialize the Radar SDK with your publishable key. Then
|
|
|
73
73
|
```html
|
|
74
74
|
<html>
|
|
75
75
|
<head>
|
|
76
|
-
<link href="https://js.radar.com/v4.5.
|
|
77
|
-
<script src="https://js.radar.com/v4.5.
|
|
76
|
+
<link href="https://js.radar.com/v4.5.6/radar.css" rel="stylesheet">
|
|
77
|
+
<script src="https://js.radar.com/v4.5.6/radar.min.js"></script>
|
|
78
78
|
</head>
|
|
79
79
|
|
|
80
80
|
<body>
|
|
@@ -98,8 +98,8 @@ To create an autocomplete input, first initialize the Radar SDK with your publis
|
|
|
98
98
|
```html
|
|
99
99
|
<html>
|
|
100
100
|
<head>
|
|
101
|
-
<link href="https://js.radar.com/v4.5.
|
|
102
|
-
<script src="https://js.radar.com/v4.5.
|
|
101
|
+
<link href="https://js.radar.com/v4.5.6/radar.css" rel="stylesheet">
|
|
102
|
+
<script src="https://js.radar.com/v4.5.6/radar.min.js"></script>
|
|
103
103
|
</head>
|
|
104
104
|
|
|
105
105
|
<body>
|
|
@@ -130,8 +130,8 @@ To power [geofencing](https://radar.com/documentation/geofencing/overview) exper
|
|
|
130
130
|
```html
|
|
131
131
|
<html>
|
|
132
132
|
<head>
|
|
133
|
-
<link href="https://js.radar.com/v4.5.
|
|
134
|
-
<script src="https://js.radar.com/v4.5.
|
|
133
|
+
<link href="https://js.radar.com/v4.5.6/radar.css" rel="stylesheet">
|
|
134
|
+
<script src="https://js.radar.com/v4.5.6/radar.min.js"></script>
|
|
135
135
|
</head>
|
|
136
136
|
|
|
137
137
|
<body>
|
package/dist/api/verify.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RadarStartTrackingVerifiedParams, RadarTrackVerifiedParams, RadarTrackVerifiedResponse } from '../types';
|
|
2
2
|
declare class VerifyAPI {
|
|
3
|
+
static checkIpChanges(): Promise<boolean | "" | null>;
|
|
3
4
|
static trackVerified(params: RadarTrackVerifiedParams, encrypted?: Boolean): Promise<RadarTrackVerifiedResponse>;
|
|
4
5
|
static startTrackingVerified(params: RadarStartTrackingVerifiedParams): void;
|
|
5
6
|
static stopTrackingVerified(): void;
|
package/dist/radar.js
CHANGED
|
@@ -421,7 +421,7 @@ class Navigator {
|
|
|
421
421
|
}
|
|
422
422
|
}
|
|
423
423
|
|
|
424
|
-
var SDK_VERSION = '4.5.
|
|
424
|
+
var SDK_VERSION = '4.5.6';
|
|
425
425
|
|
|
426
426
|
const inFlightRequests = new Map();
|
|
427
427
|
class Http {
|
|
@@ -1332,13 +1332,36 @@ class TrackAPI {
|
|
|
1332
1332
|
}
|
|
1333
1333
|
|
|
1334
1334
|
let tokenTimeoutId = null;
|
|
1335
|
+
let ipChangesIntervalId = null;
|
|
1335
1336
|
let isTrackingVerified = true;
|
|
1336
1337
|
let tokenCallback = null;
|
|
1337
1338
|
let lastToken = null;
|
|
1338
1339
|
let lastTokenNow = 0;
|
|
1339
1340
|
let expectedCountryCode = null;
|
|
1340
1341
|
let expectedStateCode = null;
|
|
1342
|
+
let lastIp = null;
|
|
1341
1343
|
class VerifyAPI {
|
|
1344
|
+
static checkIpChanges() {
|
|
1345
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1346
|
+
try {
|
|
1347
|
+
const { ip } = yield Http.request({
|
|
1348
|
+
method: 'GET',
|
|
1349
|
+
path: 'ping',
|
|
1350
|
+
});
|
|
1351
|
+
const ipChanged = lastIp && ip !== lastIp;
|
|
1352
|
+
if (ipChanged) {
|
|
1353
|
+
Logger.info(`IP changed from ${lastIp} to ${ip}`);
|
|
1354
|
+
lastToken = null;
|
|
1355
|
+
}
|
|
1356
|
+
lastIp = ip;
|
|
1357
|
+
return ipChanged;
|
|
1358
|
+
}
|
|
1359
|
+
catch (err) {
|
|
1360
|
+
Logger.error(`Error checking IP: ${err}`);
|
|
1361
|
+
}
|
|
1362
|
+
return false;
|
|
1363
|
+
});
|
|
1364
|
+
}
|
|
1342
1365
|
static trackVerified(params, encrypted = false) {
|
|
1343
1366
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1344
1367
|
try {
|
|
@@ -1460,6 +1483,17 @@ class VerifyAPI {
|
|
|
1460
1483
|
}
|
|
1461
1484
|
scheduleNextIntervalWithLastToken();
|
|
1462
1485
|
});
|
|
1486
|
+
if (params === null || params === void 0 ? void 0 : params.ipChanges) {
|
|
1487
|
+
if (ipChangesIntervalId) {
|
|
1488
|
+
clearInterval(ipChangesIntervalId);
|
|
1489
|
+
}
|
|
1490
|
+
ipChangesIntervalId = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
1491
|
+
const ipChanged = yield VerifyAPI.checkIpChanges();
|
|
1492
|
+
if (ipChanged) {
|
|
1493
|
+
doTrackVerified();
|
|
1494
|
+
}
|
|
1495
|
+
}), 10000);
|
|
1496
|
+
}
|
|
1463
1497
|
if (this.isLastTokenValid()) {
|
|
1464
1498
|
scheduleNextIntervalWithLastToken();
|
|
1465
1499
|
}
|
|
@@ -1472,6 +1506,9 @@ class VerifyAPI {
|
|
|
1472
1506
|
if (tokenTimeoutId) {
|
|
1473
1507
|
clearTimeout(tokenTimeoutId);
|
|
1474
1508
|
}
|
|
1509
|
+
if (ipChangesIntervalId) {
|
|
1510
|
+
clearInterval(ipChangesIntervalId);
|
|
1511
|
+
}
|
|
1475
1512
|
}
|
|
1476
1513
|
static getVerifiedLocationToken(params) {
|
|
1477
1514
|
return __awaiter(this, void 0, void 0, function* () {
|
package/dist/radar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radar.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"radar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/types.d.ts
CHANGED
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "4.5.
|
|
1
|
+
declare const _default: "4.5.6";
|
|
2
2
|
export default _default;
|
package/package.json
CHANGED
package/src/api/verify.ts
CHANGED
|
@@ -7,18 +7,43 @@ import Session from '../session';
|
|
|
7
7
|
import Storage from '../storage';
|
|
8
8
|
import TrackAPI from './track';
|
|
9
9
|
|
|
10
|
-
import type { RadarError } from '../errors';
|
|
11
10
|
import type { RadarStartTrackingVerifiedParams, RadarTrackVerifiedParams, RadarTrackVerifiedResponse } from '../types';
|
|
12
11
|
|
|
13
12
|
let tokenTimeoutId: any | null = null;
|
|
13
|
+
let ipChangesIntervalId: any | null = null;
|
|
14
14
|
let isTrackingVerified = true;
|
|
15
15
|
let tokenCallback: ((token: RadarTrackVerifiedResponse) => void) | null = null;
|
|
16
16
|
let lastToken: RadarTrackVerifiedResponse | null = null;
|
|
17
17
|
let lastTokenNow: number = 0;
|
|
18
18
|
let expectedCountryCode: string | null = null;
|
|
19
19
|
let expectedStateCode: string | null = null;
|
|
20
|
+
let lastIp: string | null = null;
|
|
20
21
|
|
|
21
22
|
class VerifyAPI {
|
|
23
|
+
static async checkIpChanges() {
|
|
24
|
+
try {
|
|
25
|
+
const { ip }: any = await Http.request({
|
|
26
|
+
method: 'GET',
|
|
27
|
+
path: 'ping',
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const ipChanged = lastIp && ip !== lastIp;
|
|
31
|
+
if (ipChanged) {
|
|
32
|
+
Logger.info(`IP changed from ${lastIp} to ${ip}`);
|
|
33
|
+
|
|
34
|
+
lastToken = null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
lastIp = ip;
|
|
38
|
+
|
|
39
|
+
return ipChanged;
|
|
40
|
+
} catch (err) {
|
|
41
|
+
Logger.error(`Error checking IP: ${err}`);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
|
|
22
47
|
static async trackVerified(params: RadarTrackVerifiedParams, encrypted: Boolean = false) {
|
|
23
48
|
try {
|
|
24
49
|
const options = Config.get();
|
|
@@ -169,6 +194,20 @@ class VerifyAPI {
|
|
|
169
194
|
scheduleNextIntervalWithLastToken();
|
|
170
195
|
};
|
|
171
196
|
|
|
197
|
+
if (params?.ipChanges) {
|
|
198
|
+
if (ipChangesIntervalId) {
|
|
199
|
+
clearInterval(ipChangesIntervalId);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
ipChangesIntervalId = setInterval(async () => {
|
|
203
|
+
const ipChanged = await VerifyAPI.checkIpChanges();
|
|
204
|
+
|
|
205
|
+
if (ipChanged) {
|
|
206
|
+
doTrackVerified();
|
|
207
|
+
}
|
|
208
|
+
}, 10000);
|
|
209
|
+
}
|
|
210
|
+
|
|
172
211
|
if (this.isLastTokenValid()) {
|
|
173
212
|
scheduleNextIntervalWithLastToken();
|
|
174
213
|
} else {
|
|
@@ -182,6 +221,10 @@ class VerifyAPI {
|
|
|
182
221
|
if (tokenTimeoutId) {
|
|
183
222
|
clearTimeout(tokenTimeoutId);
|
|
184
223
|
}
|
|
224
|
+
|
|
225
|
+
if (ipChangesIntervalId) {
|
|
226
|
+
clearInterval(ipChangesIntervalId);
|
|
227
|
+
}
|
|
185
228
|
}
|
|
186
229
|
|
|
187
230
|
static async getVerifiedLocationToken(params: RadarTrackVerifiedParams) {
|
package/src/types.ts
CHANGED
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '4.5.
|
|
1
|
+
export default '4.5.6';
|