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