native-fn 1.0.74 → 1.0.76
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/dist/index.d.ts +5 -5
- package/dist/native.cjs +1 -1
- package/dist/native.min.cjs +1 -1
- package/dist/native.min.mjs +1 -1
- package/dist/native.mjs +1 -1
- package/dist/native.umd.js +1 -1
- package/dist/native.umd.min.js +1 -1
- package/dist/plugin/app/index.cjs +355 -176
- package/dist/plugin/app/index.min.cjs +1 -1
- package/dist/plugin/app/index.min.mjs +1 -1
- package/dist/plugin/app/index.mjs +355 -176
- package/dist/plugin/app/index.umd.js +355 -176
- package/dist/plugin/app/index.umd.min.js +1 -1
- package/dist/plugin/app/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/app/src/types/native.d.ts +5 -5
- package/dist/plugin/appearance/index.cjs +344 -165
- package/dist/plugin/appearance/index.min.cjs +1 -1
- package/dist/plugin/appearance/index.min.mjs +1 -1
- package/dist/plugin/appearance/index.mjs +344 -165
- package/dist/plugin/appearance/index.umd.js +344 -165
- package/dist/plugin/appearance/index.umd.min.js +1 -1
- package/dist/plugin/appearance/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/appearance/src/types/native.d.ts +5 -5
- package/dist/plugin/clipboard/index.cjs +339 -160
- package/dist/plugin/clipboard/index.min.cjs +1 -1
- package/dist/plugin/clipboard/index.min.mjs +1 -1
- package/dist/plugin/clipboard/index.mjs +339 -160
- package/dist/plugin/clipboard/index.umd.js +339 -160
- package/dist/plugin/clipboard/index.umd.min.js +1 -1
- package/dist/plugin/clipboard/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/clipboard/src/types/native.d.ts +5 -5
- package/dist/plugin/fullscreen/index.cjs +348 -169
- package/dist/plugin/fullscreen/index.min.cjs +1 -1
- package/dist/plugin/fullscreen/index.min.mjs +1 -1
- package/dist/plugin/fullscreen/index.mjs +348 -169
- package/dist/plugin/fullscreen/index.umd.js +348 -169
- package/dist/plugin/fullscreen/index.umd.min.js +1 -1
- package/dist/plugin/fullscreen/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/fullscreen/src/types/native.d.ts +5 -5
- package/dist/plugin/platform/index.cjs +339 -160
- package/dist/plugin/platform/index.d.ts +17 -7
- package/dist/plugin/platform/index.min.cjs +1 -1
- package/dist/plugin/platform/index.min.mjs +1 -1
- package/dist/plugin/platform/index.mjs +339 -160
- package/dist/plugin/platform/index.umd.js +339 -160
- package/dist/plugin/platform/index.umd.min.js +1 -1
- package/dist/plugin/platform/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/platform/src/types/native.d.ts +5 -5
- package/dist/plugin/theme/index.cjs +339 -160
- package/dist/plugin/theme/index.min.cjs +1 -1
- package/dist/plugin/theme/index.min.mjs +1 -1
- package/dist/plugin/theme/index.mjs +339 -160
- package/dist/plugin/theme/index.umd.js +339 -160
- package/dist/plugin/theme/index.umd.min.js +1 -1
- package/dist/plugin/theme/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/plugin/theme/src/types/native.d.ts +5 -5
- package/dist/src/plugin/platform/cores/index.d.ts +12 -0
- package/dist/src/plugin/platform/types/platform.d.ts +16 -6
- package/dist/src/types/native.d.ts +5 -5
- package/package.json +8 -1
|
@@ -285,21 +285,43 @@
|
|
|
285
285
|
var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
|
|
286
286
|
|
|
287
287
|
var Platform = {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
browser: Browsers.Unknown,
|
|
288
|
+
os: { name: OS.Unknown, version: '' },
|
|
289
|
+
engine: { name: Engines.Unknown, version: '' },
|
|
290
|
+
browser: { name: Browsers.Unknown, version: '' },
|
|
292
291
|
crossPlatformFramework: CrossPlatformFramework.Unknown,
|
|
293
|
-
osVersion: '',
|
|
294
|
-
engineVersion: '',
|
|
295
|
-
browserVersion: '',
|
|
296
|
-
renderer: getRenderer(),
|
|
297
292
|
userAgent: USER_AGENT,
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
293
|
+
get network() {
|
|
294
|
+
return getNetwork();
|
|
295
|
+
},
|
|
296
|
+
get device() {
|
|
297
|
+
if (this.os.name === OS.iOS || this.os.name === OS.Android)
|
|
298
|
+
return Devices.Mobile;
|
|
299
|
+
if (this.os.name === OS.Windows || this.os.name === OS.MacOS)
|
|
300
|
+
return Devices.Desktop;
|
|
301
|
+
return Devices.Unknown;
|
|
302
|
+
},
|
|
303
|
+
get renderer() {
|
|
304
|
+
return getRenderer();
|
|
305
|
+
},
|
|
306
|
+
get isMobile() {
|
|
307
|
+
return this.device === Devices.Mobile;
|
|
308
|
+
},
|
|
309
|
+
get isDesktop() {
|
|
310
|
+
return this.device === Devices.Desktop;
|
|
311
|
+
},
|
|
312
|
+
get isWebview() {
|
|
313
|
+
return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
|
|
314
|
+
},
|
|
315
|
+
get isNode() {
|
|
316
|
+
return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
|
|
317
|
+
},
|
|
318
|
+
get isStandalone() {
|
|
319
|
+
if (this.os.name === OS.iOS)
|
|
320
|
+
return 'standalone' in globalThis.navigator && !!globalThis.navigator.standalone;
|
|
321
|
+
if (!('matchMedia' in globalThis))
|
|
322
|
+
return false;
|
|
323
|
+
return globalThis.matchMedia('(display-mode: standalone)').matches;
|
|
324
|
+
},
|
|
303
325
|
};
|
|
304
326
|
var OS_RESOLVER_MAP = [
|
|
305
327
|
[/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
|
|
@@ -359,6 +381,14 @@
|
|
|
359
381
|
[/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
|
|
360
382
|
[/firefox\/([\w.]+)/i, Browsers.Firefox],
|
|
361
383
|
];
|
|
384
|
+
var HIGH_ENTROPY_BRAND_NAME_MAP = {
|
|
385
|
+
'Google Chrome': 'Chrome',
|
|
386
|
+
'Microsoft Edge': 'Edge',
|
|
387
|
+
'Microsoft Edge WebView2': 'Edge WebView2',
|
|
388
|
+
'Android WebView': 'Chrome WebView',
|
|
389
|
+
'HeadlessChrome': 'Chrome Headless',
|
|
390
|
+
'OperaMobile': 'Opera Mobi',
|
|
391
|
+
};
|
|
362
392
|
function resolveWindowsVersion(string) {
|
|
363
393
|
if (string === undefined)
|
|
364
394
|
return '';
|
|
@@ -533,6 +563,33 @@
|
|
|
533
563
|
return { brand: entry, version: '' };
|
|
534
564
|
return { brand: entry.brand, version: entry.version };
|
|
535
565
|
}
|
|
566
|
+
function getSemanticVersion(string) {
|
|
567
|
+
var parts = string.split('.');
|
|
568
|
+
return {
|
|
569
|
+
major: parseInt(parts[0] || '0'),
|
|
570
|
+
minor: parseInt(parts[1] || '0'),
|
|
571
|
+
build: parseInt(parts[2] || '0')
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
function parseOSFromCordova() {
|
|
575
|
+
Platform.crossPlatformFramework = CrossPlatformFramework.Cordova;
|
|
576
|
+
if (typeof globalThis.device !== 'undefined') {
|
|
577
|
+
switch (globalThis.device.platform) {
|
|
578
|
+
case 'Android':
|
|
579
|
+
Platform.os = {
|
|
580
|
+
name: OS.Android,
|
|
581
|
+
version: globalThis.device.version,
|
|
582
|
+
};
|
|
583
|
+
break;
|
|
584
|
+
case 'iOS':
|
|
585
|
+
Platform.os = {
|
|
586
|
+
name: OS.iOS,
|
|
587
|
+
version: globalThis.device.version,
|
|
588
|
+
};
|
|
589
|
+
break;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
}
|
|
536
593
|
function getRenderer() {
|
|
537
594
|
if (typeof globalThis.document === 'undefined')
|
|
538
595
|
return '';
|
|
@@ -553,171 +610,293 @@
|
|
|
553
610
|
return '';
|
|
554
611
|
}
|
|
555
612
|
}
|
|
556
|
-
function
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
var parts = string.split('.');
|
|
565
|
-
return {
|
|
566
|
-
major: parseInt(parts[0] || '0'),
|
|
567
|
-
minor: parseInt(parts[1] || '0'),
|
|
568
|
-
build: parseInt(parts[2] || '0')
|
|
613
|
+
function getNetwork() {
|
|
614
|
+
var network = {
|
|
615
|
+
isOnline: null,
|
|
616
|
+
effectiveType: null,
|
|
617
|
+
type: null,
|
|
618
|
+
downlink: null,
|
|
619
|
+
rtt: null,
|
|
620
|
+
saveData: null,
|
|
569
621
|
};
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
break;
|
|
622
|
+
if (typeof globalThis.navigator !== 'undefined') {
|
|
623
|
+
if (typeof globalThis.navigator.onLine !== 'undefined')
|
|
624
|
+
network.isOnline = globalThis.navigator.onLine;
|
|
625
|
+
var connection = globalThis.navigator.connection || globalThis.navigator.mozConnection || globalThis.navigator.webkitConnection;
|
|
626
|
+
if (typeof connection !== 'undefined') {
|
|
627
|
+
if (typeof connection.effectiveType !== 'undefined')
|
|
628
|
+
network.effectiveType = connection.effectiveType;
|
|
629
|
+
if (typeof connection.type !== 'undefined')
|
|
630
|
+
network.type = connection.type;
|
|
631
|
+
if (typeof connection.downlink !== 'undefined')
|
|
632
|
+
network.downlink = connection.downlink;
|
|
633
|
+
if (typeof connection.rtt !== 'undefined')
|
|
634
|
+
network.rtt = connection.rtt;
|
|
635
|
+
if (typeof connection.saveData !== 'undefined')
|
|
636
|
+
network.saveData = connection.saveData;
|
|
637
|
+
}
|
|
587
638
|
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
639
|
+
if (Platform.isNode) {
|
|
640
|
+
try {
|
|
641
|
+
var os = require('os');
|
|
642
|
+
var networkInterfaces = os.networkInterfaces();
|
|
643
|
+
var networkInterfaceNames = Object.keys(networkInterfaces);
|
|
644
|
+
for (var i = 0; i < networkInterfaceNames.length; i++) {
|
|
645
|
+
var name_1 = networkInterfaceNames[i];
|
|
646
|
+
var networkInterface = networkInterfaces[name_1];
|
|
647
|
+
for (var j = 0; j < networkInterface.length; j++) {
|
|
648
|
+
var address = networkInterface[j];
|
|
649
|
+
if (!address.internal && address.family === 'IPv4')
|
|
650
|
+
network.isOnline = true;
|
|
651
|
+
}
|
|
652
|
+
if (network.isOnline)
|
|
653
|
+
break;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
catch (_) {
|
|
657
|
+
}
|
|
658
|
+
try {
|
|
659
|
+
var childProcess = require('child_process');
|
|
660
|
+
if (Platform.os.name === OS.Windows) {
|
|
661
|
+
try {
|
|
662
|
+
var output = childProcess.execSync('netsh wlan show interfaces', { encoding: 'utf8', timeout: 5000 });
|
|
663
|
+
if (output.includes('State') && output.includes('connected'))
|
|
664
|
+
network.type = 'wifi';
|
|
665
|
+
}
|
|
666
|
+
catch (_) {
|
|
667
|
+
}
|
|
668
|
+
if (network.type === null) {
|
|
669
|
+
try {
|
|
670
|
+
var output = childProcess.execSync('ipconfig', { encoding: 'utf8', timeout: 5000 });
|
|
671
|
+
if (output.includes('Ethernet adapter'))
|
|
672
|
+
network.type = 'ethernet';
|
|
673
|
+
}
|
|
674
|
+
catch (_) {
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
if (network.type === null)
|
|
678
|
+
network.type = 'other';
|
|
679
|
+
}
|
|
680
|
+
else if (Platform.os.name === OS.MacOS) {
|
|
681
|
+
try {
|
|
682
|
+
var output = childProcess.execSync('networksetup -listallhardwareports', { encoding: 'utf8', timeout: 5000 });
|
|
683
|
+
var activeInterface = childProcess.execSync('route -n get default | grep interface', { encoding: 'utf8', timeout: 5000 });
|
|
684
|
+
if (activeInterface.includes('en0') && output.includes('Wi-Fi'))
|
|
685
|
+
network.type = 'wifi';
|
|
686
|
+
else if (activeInterface.includes('en') || output.includes('Ethernet'))
|
|
687
|
+
network.type = 'ethernet';
|
|
688
|
+
else
|
|
689
|
+
network.type = 'other';
|
|
690
|
+
}
|
|
691
|
+
catch (_) {
|
|
692
|
+
network.type = 'other';
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
catch (_) {
|
|
697
|
+
}
|
|
604
698
|
}
|
|
699
|
+
return network;
|
|
605
700
|
}
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
var regexp = map[0];
|
|
609
|
-
var browser = map[1];
|
|
610
|
-
var resolver = map[2];
|
|
611
|
-
var matched = Platform.userAgent.match(regexp);
|
|
612
|
-
if (matched !== null) {
|
|
613
|
-
Platform.browser = browser;
|
|
614
|
-
Platform.browserVersion = resolveVersion(matched[1], resolver);
|
|
615
|
-
break;
|
|
616
|
-
}
|
|
701
|
+
function canUseHighEntropyValues(navigator) {
|
|
702
|
+
return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
|
|
617
703
|
}
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
var
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
Platform.os = OS.Windows;
|
|
636
|
-
Platform.osVersion = resolveSemanticWindowsVersion(version, release);
|
|
637
|
-
break;
|
|
638
|
-
case 'macos':
|
|
639
|
-
Platform.os = OS.MacOS;
|
|
640
|
-
Platform.osVersion = release;
|
|
641
|
-
break;
|
|
704
|
+
function init() {
|
|
705
|
+
if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
|
|
706
|
+
Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
|
|
707
|
+
if (typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative')
|
|
708
|
+
Platform.crossPlatformFramework = CrossPlatformFramework.ReactNative;
|
|
709
|
+
for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
|
|
710
|
+
var map = OS_RESOLVER_MAP[i];
|
|
711
|
+
var regexp = map[0];
|
|
712
|
+
var os = map[1];
|
|
713
|
+
var resolver = map[2];
|
|
714
|
+
var matched = Platform.userAgent.match(regexp);
|
|
715
|
+
if (matched !== null) {
|
|
716
|
+
Platform.os = {
|
|
717
|
+
name: os,
|
|
718
|
+
version: resolveVersion(matched[1], resolver),
|
|
719
|
+
};
|
|
720
|
+
break;
|
|
642
721
|
}
|
|
643
722
|
}
|
|
644
|
-
|
|
723
|
+
if (Platform.os.name === OS.iOS && compareVersion(Platform.os.version, '18.6') === 0) {
|
|
724
|
+
var version = /\) Version\/([\d.]+)/.exec(Platform.userAgent);
|
|
725
|
+
if (version !== null && parseInt(version[1].substring(0, 2), 10) >= 26)
|
|
726
|
+
Platform.os.version = version[1];
|
|
645
727
|
}
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
var
|
|
650
|
-
var
|
|
651
|
-
var
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
case 'darwin':
|
|
659
|
-
Platform.os = OS.MacOS;
|
|
660
|
-
Platform.osVersion = resolveSemanticDarwinVersion(version, release);
|
|
661
|
-
break;
|
|
662
|
-
case 'android':
|
|
663
|
-
Platform.os = OS.Android;
|
|
664
|
-
Platform.osVersion = release;
|
|
665
|
-
break;
|
|
666
|
-
case 'linux':
|
|
667
|
-
if (/android/i.test(release)) {
|
|
668
|
-
Platform.os = OS.Android;
|
|
669
|
-
Platform.osVersion = release;
|
|
670
|
-
}
|
|
671
|
-
break;
|
|
728
|
+
for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
|
|
729
|
+
var map = ENGINE_RESOLVER_MAP[i];
|
|
730
|
+
var regexp = map[0];
|
|
731
|
+
var engine = map[1];
|
|
732
|
+
var resolver = map[2];
|
|
733
|
+
var matched = Platform.userAgent.match(regexp);
|
|
734
|
+
if (matched !== null) {
|
|
735
|
+
Platform.engine = {
|
|
736
|
+
name: engine,
|
|
737
|
+
version: resolveVersion(matched[1], resolver),
|
|
738
|
+
};
|
|
739
|
+
break;
|
|
672
740
|
}
|
|
673
741
|
}
|
|
674
|
-
|
|
742
|
+
for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
|
|
743
|
+
var map = BROWSER_RESOLVER_MAP[i];
|
|
744
|
+
var regexp = map[0];
|
|
745
|
+
var browser = map[1];
|
|
746
|
+
var resolver = map[2];
|
|
747
|
+
var matched = Platform.userAgent.match(regexp);
|
|
748
|
+
if (matched !== null) {
|
|
749
|
+
Platform.browser = {
|
|
750
|
+
name: browser,
|
|
751
|
+
version: resolveVersion(matched[1], resolver),
|
|
752
|
+
};
|
|
753
|
+
break;
|
|
754
|
+
}
|
|
675
755
|
}
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
756
|
+
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
|
|
757
|
+
try {
|
|
758
|
+
var reactNative = require('react-native');
|
|
759
|
+
var platform = reactNative.Platform;
|
|
760
|
+
var os = platform.OS;
|
|
761
|
+
var release = '' + platform.Version;
|
|
762
|
+
var version = getSemanticVersion(release);
|
|
763
|
+
switch (os) {
|
|
764
|
+
case 'android':
|
|
765
|
+
Platform.os = {
|
|
766
|
+
name: OS.Android,
|
|
767
|
+
version: resolveSemanticAndroidVersion(version, release),
|
|
768
|
+
};
|
|
769
|
+
break;
|
|
770
|
+
case 'ios':
|
|
771
|
+
Platform.os = {
|
|
772
|
+
name: OS.iOS,
|
|
773
|
+
version: release,
|
|
774
|
+
};
|
|
684
775
|
break;
|
|
685
|
-
case '
|
|
686
|
-
Platform.os =
|
|
776
|
+
case 'windows':
|
|
777
|
+
Platform.os = {
|
|
778
|
+
name: OS.Windows,
|
|
779
|
+
version: resolveSemanticWindowsVersion(version, release),
|
|
780
|
+
};
|
|
781
|
+
break;
|
|
782
|
+
case 'macos':
|
|
783
|
+
Platform.os = {
|
|
784
|
+
name: OS.MacOS,
|
|
785
|
+
version: release,
|
|
786
|
+
};
|
|
687
787
|
break;
|
|
688
788
|
}
|
|
689
|
-
Platform.osVersion = globalThis.device.version;
|
|
690
789
|
}
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
var
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
790
|
+
catch (_) {
|
|
791
|
+
}
|
|
792
|
+
finally {
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
if (Platform.isNode) {
|
|
796
|
+
try {
|
|
797
|
+
var os = require('os');
|
|
798
|
+
var platform = os.platform();
|
|
799
|
+
var release = os.release();
|
|
800
|
+
var version = getSemanticVersion(release);
|
|
801
|
+
switch (platform) {
|
|
802
|
+
case 'win32':
|
|
803
|
+
Platform.os = {
|
|
804
|
+
name: OS.Windows,
|
|
805
|
+
version: resolveSemanticWindowsVersion(version, release),
|
|
806
|
+
};
|
|
807
|
+
break;
|
|
808
|
+
case 'darwin':
|
|
809
|
+
Platform.os = {
|
|
810
|
+
name: OS.MacOS,
|
|
811
|
+
version: resolveSemanticDarwinVersion(version, release),
|
|
812
|
+
};
|
|
813
|
+
break;
|
|
814
|
+
case 'android':
|
|
815
|
+
Platform.os = {
|
|
816
|
+
name: OS.Android,
|
|
817
|
+
version: release,
|
|
818
|
+
};
|
|
819
|
+
break;
|
|
820
|
+
case 'linux':
|
|
821
|
+
if (/android/i.test(release)) {
|
|
822
|
+
Platform.os = {
|
|
823
|
+
name: OS.Android,
|
|
824
|
+
version: release,
|
|
825
|
+
};
|
|
826
|
+
}
|
|
827
|
+
break;
|
|
828
|
+
}
|
|
708
829
|
}
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
830
|
+
catch (_) {
|
|
831
|
+
}
|
|
832
|
+
finally {
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
if (typeof globalThis.document !== 'undefined') {
|
|
836
|
+
if (typeof globalThis.device !== 'undefined') {
|
|
837
|
+
parseOSFromCordova();
|
|
714
838
|
}
|
|
715
|
-
|
|
839
|
+
else {
|
|
840
|
+
globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
if (canUseHighEntropyValues(globalThis.navigator)) {
|
|
844
|
+
globalThis
|
|
845
|
+
.navigator
|
|
846
|
+
.userAgentData
|
|
847
|
+
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
848
|
+
.then(function (result) {
|
|
849
|
+
var brands = result.fullVersionList || result.brands || [];
|
|
850
|
+
var platformVersion = result.platformVersion;
|
|
851
|
+
var platform = result.platform;
|
|
852
|
+
var browserName = Platform.browser.name;
|
|
853
|
+
var prevBrandName = null;
|
|
854
|
+
for (var i = 0; i < brands.length; i++) {
|
|
855
|
+
var brand = normalizeBrand(brands[i]);
|
|
856
|
+
var brandVersion = brand.version;
|
|
857
|
+
var brandName = brand.brand;
|
|
858
|
+
if (/not.a.brand/i.test(brandName))
|
|
859
|
+
continue;
|
|
860
|
+
if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
|
|
861
|
+
brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
|
|
862
|
+
prevBrandName = browserName;
|
|
863
|
+
if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
|
|
864
|
+
browserName = brandName;
|
|
865
|
+
if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
|
|
866
|
+
Platform.browser.name = Browsers.Chrome;
|
|
867
|
+
else if (browserName === 'Edge' || browserName === 'Edge WebView2')
|
|
868
|
+
Platform.browser.name = Browsers.Edge;
|
|
869
|
+
else if (browserName === 'Opera Mobi')
|
|
870
|
+
Platform.browser.name = Browsers.Opera;
|
|
871
|
+
Platform.browser.version = brandVersion;
|
|
872
|
+
}
|
|
873
|
+
prevBrandName = brandName;
|
|
874
|
+
}
|
|
875
|
+
if (brandName === 'Chromium')
|
|
876
|
+
Platform.engine.version = brandVersion;
|
|
877
|
+
}
|
|
878
|
+
if (typeof platformVersion === 'string') {
|
|
879
|
+
if (Platform.os.name === OS.Windows)
|
|
880
|
+
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
881
|
+
else
|
|
882
|
+
Platform.os.version = platformVersion;
|
|
883
|
+
}
|
|
884
|
+
if (typeof platform === 'string') {
|
|
885
|
+
if (/android/i.test(platform))
|
|
886
|
+
Platform.os.name = OS.Android;
|
|
887
|
+
else if (/ios|iphone|ipad/i.test(platform))
|
|
888
|
+
Platform.os.name = OS.iOS;
|
|
889
|
+
else if (/windows|win32/i.test(platform))
|
|
890
|
+
Platform.os.name = OS.Windows;
|
|
891
|
+
else if (/macos|macintel/i.test(platform))
|
|
892
|
+
Platform.os.name = OS.MacOS;
|
|
893
|
+
}
|
|
894
|
+
if (result.mobile === true)
|
|
895
|
+
Platform.device = Devices.Mobile;
|
|
896
|
+
});
|
|
897
|
+
}
|
|
716
898
|
}
|
|
717
|
-
|
|
718
|
-
Platform.isMobile = Platform.device === Devices.Mobile;
|
|
719
|
-
Platform.isDesktop = Platform.device === Devices.Desktop;
|
|
720
|
-
Platform.isStandalone = getIsStandalone(Platform.os);
|
|
899
|
+
init();
|
|
721
900
|
|
|
722
901
|
var Clipboard = {
|
|
723
902
|
copy: copy,
|