chayns-api 1.1.3 → 1.1.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.
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getScreenSize = exports.getClientDeviceInfo = exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _uaParserJs = require("ua-parser-js");
|
|
8
8
|
var _IChaynsReact = require("../types/IChaynsReact");
|
|
9
9
|
const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
10
|
-
var _match$groups, _match$groups2, _customMatch$groups,
|
|
11
|
-
const
|
|
10
|
+
var _match$groups, _match$groups2, _customMatch$groups, _browser$version$spli, _browser$version, _uaParser$getOS, _uaParser$getOS2;
|
|
11
|
+
const uaParser = new _uaParserJs.UAParser(userAgent);
|
|
12
12
|
let appName = _IChaynsReact.AppName.Unknown;
|
|
13
13
|
const match = /(?:my)?chayns\/(?<version>\d+).*(?<siteId>\d{5}-\d{5})/i.exec(userAgent);
|
|
14
14
|
const customMatch = /\s(?<name>intercom|sidekick|team)\/(?<version>\d+)/i.exec(userAgent);
|
|
@@ -32,10 +32,11 @@ const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
|
32
32
|
appVersion = Number.parseInt(customMatch.groups.version, 10);
|
|
33
33
|
}
|
|
34
34
|
const result = {};
|
|
35
|
+
const browser = uaParser.getBrowser();
|
|
35
36
|
result.browser = {
|
|
36
|
-
name:
|
|
37
|
-
version:
|
|
38
|
-
majorVersion: Number.parseInt((
|
|
37
|
+
name: browser === null || browser === void 0 ? void 0 : browser.name,
|
|
38
|
+
version: browser === null || browser === void 0 ? void 0 : browser.version,
|
|
39
|
+
majorVersion: Number.parseInt((_browser$version$spli = browser === null || browser === void 0 || (_browser$version = browser.version) === null || _browser$version === void 0 ? void 0 : _browser$version.split('.')[0]) !== null && _browser$version$spli !== void 0 ? _browser$version$spli : '0', 10) || 0,
|
|
39
40
|
isWebPSupported: acceptHeader.includes('image/webp')
|
|
40
41
|
};
|
|
41
42
|
result.app = {
|
|
@@ -46,7 +47,7 @@ const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
|
46
47
|
};
|
|
47
48
|
result.imei = undefined; // TODO
|
|
48
49
|
result.accessToken = undefined; // TODO
|
|
49
|
-
result.os =
|
|
50
|
+
result.os = ((_uaParser$getOS = uaParser.getOS()) === null || _uaParser$getOS === void 0 ? void 0 : _uaParser$getOS.name) === 'Android' ? 'Android OS' : (_uaParser$getOS2 = uaParser.getOS()) === null || _uaParser$getOS2 === void 0 ? void 0 : _uaParser$getOS2.name;
|
|
50
51
|
if (typeof window !== 'undefined') {
|
|
51
52
|
result.screenSize = getScreenSize(window.innerWidth);
|
|
52
53
|
result.isTouch = getClientDeviceInfo().isTouch;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UAParser } from 'ua-parser-js';
|
|
2
2
|
import { AppName, ScreenSize } from '../types/IChaynsReact';
|
|
3
3
|
const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
4
|
-
var _match$groups, _match$groups2, _customMatch$groups,
|
|
5
|
-
const
|
|
4
|
+
var _match$groups, _match$groups2, _customMatch$groups, _browser$version$spli, _browser$version, _uaParser$getOS, _uaParser$getOS2;
|
|
5
|
+
const uaParser = new UAParser(userAgent);
|
|
6
6
|
let appName = AppName.Unknown;
|
|
7
7
|
const match = /(?:my)?chayns\/(?<version>\d+).*(?<siteId>\d{5}-\d{5})/i.exec(userAgent);
|
|
8
8
|
const customMatch = /\s(?<name>intercom|sidekick|team)\/(?<version>\d+)/i.exec(userAgent);
|
|
@@ -26,10 +26,11 @@ const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
|
26
26
|
appVersion = Number.parseInt(customMatch.groups.version, 10);
|
|
27
27
|
}
|
|
28
28
|
const result = {};
|
|
29
|
+
const browser = uaParser.getBrowser();
|
|
29
30
|
result.browser = {
|
|
30
|
-
name:
|
|
31
|
-
version:
|
|
32
|
-
majorVersion: Number.parseInt((
|
|
31
|
+
name: browser === null || browser === void 0 ? void 0 : browser.name,
|
|
32
|
+
version: browser === null || browser === void 0 ? void 0 : browser.version,
|
|
33
|
+
majorVersion: Number.parseInt((_browser$version$spli = browser === null || browser === void 0 || (_browser$version = browser.version) === null || _browser$version === void 0 ? void 0 : _browser$version.split('.')[0]) !== null && _browser$version$spli !== void 0 ? _browser$version$spli : '0', 10) || 0,
|
|
33
34
|
isWebPSupported: acceptHeader.includes('image/webp')
|
|
34
35
|
};
|
|
35
36
|
result.app = {
|
|
@@ -40,7 +41,7 @@ const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
|
40
41
|
};
|
|
41
42
|
result.imei = undefined; // TODO
|
|
42
43
|
result.accessToken = undefined; // TODO
|
|
43
|
-
result.os =
|
|
44
|
+
result.os = ((_uaParser$getOS = uaParser.getOS()) === null || _uaParser$getOS === void 0 ? void 0 : _uaParser$getOS.name) === 'Android' ? 'Android OS' : (_uaParser$getOS2 = uaParser.getOS()) === null || _uaParser$getOS2 === void 0 ? void 0 : _uaParser$getOS2.name;
|
|
44
45
|
if (typeof window !== 'undefined') {
|
|
45
46
|
result.screenSize = getScreenSize(window.innerWidth);
|
|
46
47
|
result.isTouch = getClientDeviceInfo().isTouch;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IBrowser } from 'ua-parser-js';
|
|
2
2
|
import DialogHandler from '../handler/DialogHandler';
|
|
3
3
|
import { DialogButtonOld, SelectDialogItem } from './dialog';
|
|
4
4
|
export type DialogButton = {
|
|
@@ -176,14 +176,14 @@ export type ChaynsApiDevice = {
|
|
|
176
176
|
storePackageName?: string;
|
|
177
177
|
};
|
|
178
178
|
browser?: {
|
|
179
|
-
name?:
|
|
179
|
+
name?: IBrowser["name"] | 'bot' | null;
|
|
180
180
|
version?: string | null;
|
|
181
181
|
majorVersion: number;
|
|
182
182
|
isWebPSupported: boolean;
|
|
183
183
|
};
|
|
184
184
|
imei?: string;
|
|
185
185
|
accessToken?: string;
|
|
186
|
-
os?:
|
|
186
|
+
os?: 'AIX' | 'Amiga OS' | 'Android OS' | 'Arch' | 'Bada' | 'BeOS' | 'BlackBerry' | 'CentOS' | 'Chromium OS' | 'Contiki' | 'Fedora' | 'Firefox OS' | 'FreeBSD' | 'Debian' | 'DragonFly' | 'Gentoo' | 'GNU' | 'Haiku' | 'Hurd' | 'iOS' | 'Joli' | 'Linpus' | 'Linux' | 'Mac OS' | 'Mageia' | 'Mandriva' | 'MeeGo' | 'Minix' | 'Mint' | 'Morph OS' | 'NetBSD' | 'Nintendo' | 'OpenBSD' | 'OpenVMS' | 'OS/2' | 'Palm' | 'PCLinuxOS' | 'Plan9' | 'Playstation' | 'QNX' | 'RedHat' | 'RIM Tablet OS' | 'RISC OS' | 'Sailfish' | 'Series40' | 'Slackware' | 'Solaris' | 'SUSE' | 'Symbian' | 'Tizen' | 'Ubuntu' | 'UNIX' | 'VectorLinux' | 'WebOS' | 'Windows' | 'Windows Phone' | 'Windows Mobile' | 'Zenwalk' | null;
|
|
187
187
|
isTouch: boolean;
|
|
188
188
|
screenSize: ScreenSize;
|
|
189
189
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chayns-api",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "new chayns api",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@types/semver": "^7.3.9",
|
|
39
39
|
"comlink": "4.3.1",
|
|
40
|
-
"detect-browser": "^5.2.1",
|
|
41
40
|
"htmlescape": "^1.1.1",
|
|
42
41
|
"lodash.throttle": "^4.1.1",
|
|
43
42
|
"prop-types": "^15.7.2",
|
|
44
43
|
"scheduler": "^0.20.2",
|
|
45
44
|
"semaphore-async-await": "^1.5.1",
|
|
46
45
|
"semver": "^7.3.5",
|
|
46
|
+
"ua-parser-js": "^1.0.38",
|
|
47
47
|
"use-context-selector": "^1.3.9",
|
|
48
48
|
"util": "^0.12.5"
|
|
49
49
|
},
|
|
@@ -60,6 +60,7 @@
|
|
|
60
60
|
"@types/prop-types": "^15.7.3",
|
|
61
61
|
"@types/react": "^18.0.28",
|
|
62
62
|
"@types/react-dom": "^18.0.10",
|
|
63
|
+
"@types/ua-parser-js": "^0.7.39",
|
|
63
64
|
"@typescript-eslint/parser": "^5.50.0",
|
|
64
65
|
"chayns-toolkit": "^2.0.8",
|
|
65
66
|
"concurrently": "^7.6.0",
|