native-fn 1.0.74 → 1.0.75
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 +1 -1
|
@@ -398,21 +398,43 @@
|
|
|
398
398
|
var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
|
|
399
399
|
|
|
400
400
|
var Platform = {
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
browser: Browsers.Unknown,
|
|
401
|
+
os: { name: OS.Unknown, version: '' },
|
|
402
|
+
engine: { name: Engines.Unknown, version: '' },
|
|
403
|
+
browser: { name: Browsers.Unknown, version: '' },
|
|
405
404
|
crossPlatformFramework: CrossPlatformFramework.Unknown,
|
|
406
|
-
osVersion: '',
|
|
407
|
-
engineVersion: '',
|
|
408
|
-
browserVersion: '',
|
|
409
|
-
renderer: getRenderer(),
|
|
410
405
|
userAgent: USER_AGENT,
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
406
|
+
get network() {
|
|
407
|
+
return getNetwork();
|
|
408
|
+
},
|
|
409
|
+
get device() {
|
|
410
|
+
if (this.os.name === OS.iOS || this.os.name === OS.Android)
|
|
411
|
+
return Devices.Mobile;
|
|
412
|
+
if (this.os.name === OS.Windows || this.os.name === OS.MacOS)
|
|
413
|
+
return Devices.Desktop;
|
|
414
|
+
return Devices.Unknown;
|
|
415
|
+
},
|
|
416
|
+
get renderer() {
|
|
417
|
+
return getRenderer();
|
|
418
|
+
},
|
|
419
|
+
get isMobile() {
|
|
420
|
+
return this.device === Devices.Mobile;
|
|
421
|
+
},
|
|
422
|
+
get isDesktop() {
|
|
423
|
+
return this.device === Devices.Desktop;
|
|
424
|
+
},
|
|
425
|
+
get isWebview() {
|
|
426
|
+
return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
|
|
427
|
+
},
|
|
428
|
+
get isNode() {
|
|
429
|
+
return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
|
|
430
|
+
},
|
|
431
|
+
get isStandalone() {
|
|
432
|
+
if (this.os.name === OS.iOS)
|
|
433
|
+
return 'standalone' in globalThis.navigator && !!globalThis.navigator.standalone;
|
|
434
|
+
if (!('matchMedia' in globalThis))
|
|
435
|
+
return false;
|
|
436
|
+
return globalThis.matchMedia('(display-mode: standalone)').matches;
|
|
437
|
+
},
|
|
416
438
|
};
|
|
417
439
|
var OS_RESOLVER_MAP = [
|
|
418
440
|
[/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
|
|
@@ -472,6 +494,14 @@
|
|
|
472
494
|
[/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
|
|
473
495
|
[/firefox\/([\w.]+)/i, Browsers.Firefox],
|
|
474
496
|
];
|
|
497
|
+
var HIGH_ENTROPY_BRAND_NAME_MAP = {
|
|
498
|
+
'Google Chrome': 'Chrome',
|
|
499
|
+
'Microsoft Edge': 'Edge',
|
|
500
|
+
'Microsoft Edge WebView2': 'Edge WebView2',
|
|
501
|
+
'Android WebView': 'Chrome WebView',
|
|
502
|
+
'HeadlessChrome': 'Chrome Headless',
|
|
503
|
+
'OperaMobile': 'Opera Mobi',
|
|
504
|
+
};
|
|
475
505
|
function resolveWindowsVersion(string) {
|
|
476
506
|
if (string === undefined)
|
|
477
507
|
return '';
|
|
@@ -646,6 +676,33 @@
|
|
|
646
676
|
return { brand: entry, version: '' };
|
|
647
677
|
return { brand: entry.brand, version: entry.version };
|
|
648
678
|
}
|
|
679
|
+
function getSemanticVersion(string) {
|
|
680
|
+
var parts = string.split('.');
|
|
681
|
+
return {
|
|
682
|
+
major: parseInt(parts[0] || '0'),
|
|
683
|
+
minor: parseInt(parts[1] || '0'),
|
|
684
|
+
build: parseInt(parts[2] || '0')
|
|
685
|
+
};
|
|
686
|
+
}
|
|
687
|
+
function parseOSFromCordova() {
|
|
688
|
+
Platform.crossPlatformFramework = CrossPlatformFramework.Cordova;
|
|
689
|
+
if (typeof globalThis.device !== 'undefined') {
|
|
690
|
+
switch (globalThis.device.platform) {
|
|
691
|
+
case 'Android':
|
|
692
|
+
Platform.os = {
|
|
693
|
+
name: OS.Android,
|
|
694
|
+
version: globalThis.device.version,
|
|
695
|
+
};
|
|
696
|
+
break;
|
|
697
|
+
case 'iOS':
|
|
698
|
+
Platform.os = {
|
|
699
|
+
name: OS.iOS,
|
|
700
|
+
version: globalThis.device.version,
|
|
701
|
+
};
|
|
702
|
+
break;
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
}
|
|
649
706
|
function getRenderer() {
|
|
650
707
|
if (typeof globalThis.document === 'undefined')
|
|
651
708
|
return '';
|
|
@@ -666,171 +723,293 @@
|
|
|
666
723
|
return '';
|
|
667
724
|
}
|
|
668
725
|
}
|
|
669
|
-
function
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
var parts = string.split('.');
|
|
678
|
-
return {
|
|
679
|
-
major: parseInt(parts[0] || '0'),
|
|
680
|
-
minor: parseInt(parts[1] || '0'),
|
|
681
|
-
build: parseInt(parts[2] || '0')
|
|
726
|
+
function getNetwork() {
|
|
727
|
+
var network = {
|
|
728
|
+
isOnline: null,
|
|
729
|
+
effectiveType: null,
|
|
730
|
+
type: null,
|
|
731
|
+
downlink: null,
|
|
732
|
+
rtt: null,
|
|
733
|
+
saveData: null,
|
|
682
734
|
};
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
break;
|
|
735
|
+
if (typeof globalThis.navigator !== 'undefined') {
|
|
736
|
+
if (typeof globalThis.navigator.onLine !== 'undefined')
|
|
737
|
+
network.isOnline = globalThis.navigator.onLine;
|
|
738
|
+
var connection = globalThis.navigator.connection || globalThis.navigator.mozConnection || globalThis.navigator.webkitConnection;
|
|
739
|
+
if (typeof connection !== 'undefined') {
|
|
740
|
+
if (typeof connection.effectiveType !== 'undefined')
|
|
741
|
+
network.effectiveType = connection.effectiveType;
|
|
742
|
+
if (typeof connection.type !== 'undefined')
|
|
743
|
+
network.type = connection.type;
|
|
744
|
+
if (typeof connection.downlink !== 'undefined')
|
|
745
|
+
network.downlink = connection.downlink;
|
|
746
|
+
if (typeof connection.rtt !== 'undefined')
|
|
747
|
+
network.rtt = connection.rtt;
|
|
748
|
+
if (typeof connection.saveData !== 'undefined')
|
|
749
|
+
network.saveData = connection.saveData;
|
|
750
|
+
}
|
|
700
751
|
}
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
752
|
+
if (Platform.isNode) {
|
|
753
|
+
try {
|
|
754
|
+
var os = require('os');
|
|
755
|
+
var networkInterfaces = os.networkInterfaces();
|
|
756
|
+
var networkInterfaceNames = Object.keys(networkInterfaces);
|
|
757
|
+
for (var i = 0; i < networkInterfaceNames.length; i++) {
|
|
758
|
+
var name_1 = networkInterfaceNames[i];
|
|
759
|
+
var networkInterface = networkInterfaces[name_1];
|
|
760
|
+
for (var j = 0; j < networkInterface.length; j++) {
|
|
761
|
+
var address = networkInterface[j];
|
|
762
|
+
if (!address.internal && address.family === 'IPv4')
|
|
763
|
+
network.isOnline = true;
|
|
764
|
+
}
|
|
765
|
+
if (network.isOnline)
|
|
766
|
+
break;
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
catch (_) {
|
|
770
|
+
}
|
|
771
|
+
try {
|
|
772
|
+
var childProcess = require('child_process');
|
|
773
|
+
if (Platform.os.name === OS.Windows) {
|
|
774
|
+
try {
|
|
775
|
+
var output = childProcess.execSync('netsh wlan show interfaces', { encoding: 'utf8', timeout: 5000 });
|
|
776
|
+
if (output.includes('State') && output.includes('connected'))
|
|
777
|
+
network.type = 'wifi';
|
|
778
|
+
}
|
|
779
|
+
catch (_) {
|
|
780
|
+
}
|
|
781
|
+
if (network.type === null) {
|
|
782
|
+
try {
|
|
783
|
+
var output = childProcess.execSync('ipconfig', { encoding: 'utf8', timeout: 5000 });
|
|
784
|
+
if (output.includes('Ethernet adapter'))
|
|
785
|
+
network.type = 'ethernet';
|
|
786
|
+
}
|
|
787
|
+
catch (_) {
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
if (network.type === null)
|
|
791
|
+
network.type = 'other';
|
|
792
|
+
}
|
|
793
|
+
else if (Platform.os.name === OS.MacOS) {
|
|
794
|
+
try {
|
|
795
|
+
var output = childProcess.execSync('networksetup -listallhardwareports', { encoding: 'utf8', timeout: 5000 });
|
|
796
|
+
var activeInterface = childProcess.execSync('route -n get default | grep interface', { encoding: 'utf8', timeout: 5000 });
|
|
797
|
+
if (activeInterface.includes('en0') && output.includes('Wi-Fi'))
|
|
798
|
+
network.type = 'wifi';
|
|
799
|
+
else if (activeInterface.includes('en') || output.includes('Ethernet'))
|
|
800
|
+
network.type = 'ethernet';
|
|
801
|
+
else
|
|
802
|
+
network.type = 'other';
|
|
803
|
+
}
|
|
804
|
+
catch (_) {
|
|
805
|
+
network.type = 'other';
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
catch (_) {
|
|
810
|
+
}
|
|
717
811
|
}
|
|
812
|
+
return network;
|
|
718
813
|
}
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
var regexp = map[0];
|
|
722
|
-
var browser = map[1];
|
|
723
|
-
var resolver = map[2];
|
|
724
|
-
var matched = Platform.userAgent.match(regexp);
|
|
725
|
-
if (matched !== null) {
|
|
726
|
-
Platform.browser = browser;
|
|
727
|
-
Platform.browserVersion = resolveVersion(matched[1], resolver);
|
|
728
|
-
break;
|
|
729
|
-
}
|
|
814
|
+
function canUseHighEntropyValues(navigator) {
|
|
815
|
+
return typeof globalThis.navigator !== 'undefined' && typeof navigator.userAgentData !== 'undefined' && typeof navigator.userAgentData.getHighEntropyValues !== 'undefined';
|
|
730
816
|
}
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
var
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
Platform.os = OS.Windows;
|
|
749
|
-
Platform.osVersion = resolveSemanticWindowsVersion(version, release);
|
|
750
|
-
break;
|
|
751
|
-
case 'macos':
|
|
752
|
-
Platform.os = OS.MacOS;
|
|
753
|
-
Platform.osVersion = release;
|
|
754
|
-
break;
|
|
817
|
+
function init() {
|
|
818
|
+
if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined) || (/ electron\//i.test(USER_AGENT)))
|
|
819
|
+
Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
|
|
820
|
+
if (typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative')
|
|
821
|
+
Platform.crossPlatformFramework = CrossPlatformFramework.ReactNative;
|
|
822
|
+
for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
|
|
823
|
+
var map = OS_RESOLVER_MAP[i];
|
|
824
|
+
var regexp = map[0];
|
|
825
|
+
var os = map[1];
|
|
826
|
+
var resolver = map[2];
|
|
827
|
+
var matched = Platform.userAgent.match(regexp);
|
|
828
|
+
if (matched !== null) {
|
|
829
|
+
Platform.os = {
|
|
830
|
+
name: os,
|
|
831
|
+
version: resolveVersion(matched[1], resolver),
|
|
832
|
+
};
|
|
833
|
+
break;
|
|
755
834
|
}
|
|
756
835
|
}
|
|
757
|
-
|
|
836
|
+
if (Platform.os.name === OS.iOS && compareVersion(Platform.os.version, '18.6') === 0) {
|
|
837
|
+
var version = /\) Version\/([\d.]+)/.exec(Platform.userAgent);
|
|
838
|
+
if (version !== null && parseInt(version[1].substring(0, 2), 10) >= 26)
|
|
839
|
+
Platform.os.version = version[1];
|
|
758
840
|
}
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
var
|
|
763
|
-
var
|
|
764
|
-
var
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
case 'darwin':
|
|
772
|
-
Platform.os = OS.MacOS;
|
|
773
|
-
Platform.osVersion = resolveSemanticDarwinVersion(version, release);
|
|
774
|
-
break;
|
|
775
|
-
case 'android':
|
|
776
|
-
Platform.os = OS.Android;
|
|
777
|
-
Platform.osVersion = release;
|
|
778
|
-
break;
|
|
779
|
-
case 'linux':
|
|
780
|
-
if (/android/i.test(release)) {
|
|
781
|
-
Platform.os = OS.Android;
|
|
782
|
-
Platform.osVersion = release;
|
|
783
|
-
}
|
|
784
|
-
break;
|
|
841
|
+
for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
|
|
842
|
+
var map = ENGINE_RESOLVER_MAP[i];
|
|
843
|
+
var regexp = map[0];
|
|
844
|
+
var engine = map[1];
|
|
845
|
+
var resolver = map[2];
|
|
846
|
+
var matched = Platform.userAgent.match(regexp);
|
|
847
|
+
if (matched !== null) {
|
|
848
|
+
Platform.engine = {
|
|
849
|
+
name: engine,
|
|
850
|
+
version: resolveVersion(matched[1], resolver),
|
|
851
|
+
};
|
|
852
|
+
break;
|
|
785
853
|
}
|
|
786
854
|
}
|
|
787
|
-
|
|
855
|
+
for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
|
|
856
|
+
var map = BROWSER_RESOLVER_MAP[i];
|
|
857
|
+
var regexp = map[0];
|
|
858
|
+
var browser = map[1];
|
|
859
|
+
var resolver = map[2];
|
|
860
|
+
var matched = Platform.userAgent.match(regexp);
|
|
861
|
+
if (matched !== null) {
|
|
862
|
+
Platform.browser = {
|
|
863
|
+
name: browser,
|
|
864
|
+
version: resolveVersion(matched[1], resolver),
|
|
865
|
+
};
|
|
866
|
+
break;
|
|
867
|
+
}
|
|
788
868
|
}
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
869
|
+
if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
|
|
870
|
+
try {
|
|
871
|
+
var reactNative = require('react-native');
|
|
872
|
+
var platform = reactNative.Platform;
|
|
873
|
+
var os = platform.OS;
|
|
874
|
+
var release = '' + platform.Version;
|
|
875
|
+
var version = getSemanticVersion(release);
|
|
876
|
+
switch (os) {
|
|
877
|
+
case 'android':
|
|
878
|
+
Platform.os = {
|
|
879
|
+
name: OS.Android,
|
|
880
|
+
version: resolveSemanticAndroidVersion(version, release),
|
|
881
|
+
};
|
|
797
882
|
break;
|
|
798
|
-
case '
|
|
799
|
-
Platform.os =
|
|
883
|
+
case 'ios':
|
|
884
|
+
Platform.os = {
|
|
885
|
+
name: OS.iOS,
|
|
886
|
+
version: release,
|
|
887
|
+
};
|
|
888
|
+
break;
|
|
889
|
+
case 'windows':
|
|
890
|
+
Platform.os = {
|
|
891
|
+
name: OS.Windows,
|
|
892
|
+
version: resolveSemanticWindowsVersion(version, release),
|
|
893
|
+
};
|
|
894
|
+
break;
|
|
895
|
+
case 'macos':
|
|
896
|
+
Platform.os = {
|
|
897
|
+
name: OS.MacOS,
|
|
898
|
+
version: release,
|
|
899
|
+
};
|
|
800
900
|
break;
|
|
801
901
|
}
|
|
802
|
-
Platform.osVersion = globalThis.device.version;
|
|
803
902
|
}
|
|
804
|
-
|
|
805
|
-
}
|
|
806
|
-
if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
|
|
807
|
-
navigator
|
|
808
|
-
.userAgentData
|
|
809
|
-
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
810
|
-
.then(function (result) {
|
|
811
|
-
var brands = result.fullVersionList || result.brands || [];
|
|
812
|
-
var platformVersion = result.platformVersion;
|
|
813
|
-
for (var i = 0; i < brands.length; i++) {
|
|
814
|
-
var brand = normalizeBrand(brands[i]);
|
|
815
|
-
var brandName = brand.brand;
|
|
816
|
-
var brandVersion = brand.version;
|
|
817
|
-
if (/not.a.brand/i.test(brandName))
|
|
818
|
-
continue;
|
|
819
|
-
if (brandName === "Chromium")
|
|
820
|
-
Platform.engineVersion = brandVersion;
|
|
903
|
+
catch (_) {
|
|
821
904
|
}
|
|
822
|
-
|
|
823
|
-
if (Platform.os === OS.Windows && parseInt(platformVersion.replace(/[^\d.]/g, '').split('.')[0], 10) >= 13)
|
|
824
|
-
Platform.osVersion = '11';
|
|
825
|
-
else
|
|
826
|
-
Platform.osVersion = platformVersion;
|
|
905
|
+
finally {
|
|
827
906
|
}
|
|
828
|
-
}
|
|
907
|
+
}
|
|
908
|
+
if (Platform.isNode) {
|
|
909
|
+
try {
|
|
910
|
+
var os = require('os');
|
|
911
|
+
var platform = os.platform();
|
|
912
|
+
var release = os.release();
|
|
913
|
+
var version = getSemanticVersion(release);
|
|
914
|
+
switch (platform) {
|
|
915
|
+
case 'win32':
|
|
916
|
+
Platform.os = {
|
|
917
|
+
name: OS.Windows,
|
|
918
|
+
version: resolveSemanticWindowsVersion(version, release),
|
|
919
|
+
};
|
|
920
|
+
break;
|
|
921
|
+
case 'darwin':
|
|
922
|
+
Platform.os = {
|
|
923
|
+
name: OS.MacOS,
|
|
924
|
+
version: resolveSemanticDarwinVersion(version, release),
|
|
925
|
+
};
|
|
926
|
+
break;
|
|
927
|
+
case 'android':
|
|
928
|
+
Platform.os = {
|
|
929
|
+
name: OS.Android,
|
|
930
|
+
version: release,
|
|
931
|
+
};
|
|
932
|
+
break;
|
|
933
|
+
case 'linux':
|
|
934
|
+
if (/android/i.test(release)) {
|
|
935
|
+
Platform.os = {
|
|
936
|
+
name: OS.Android,
|
|
937
|
+
version: release,
|
|
938
|
+
};
|
|
939
|
+
}
|
|
940
|
+
break;
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
catch (_) {
|
|
944
|
+
}
|
|
945
|
+
finally {
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
if (typeof globalThis.document !== 'undefined') {
|
|
949
|
+
if (typeof globalThis.device !== 'undefined') {
|
|
950
|
+
parseOSFromCordova();
|
|
951
|
+
}
|
|
952
|
+
else {
|
|
953
|
+
globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
|
|
954
|
+
}
|
|
955
|
+
}
|
|
956
|
+
if (canUseHighEntropyValues(globalThis.navigator)) {
|
|
957
|
+
globalThis
|
|
958
|
+
.navigator
|
|
959
|
+
.userAgentData
|
|
960
|
+
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
961
|
+
.then(function (result) {
|
|
962
|
+
var brands = result.fullVersionList || result.brands || [];
|
|
963
|
+
var platformVersion = result.platformVersion;
|
|
964
|
+
var platform = result.platform;
|
|
965
|
+
var browserName = Platform.browser.name;
|
|
966
|
+
var prevBrandName = null;
|
|
967
|
+
for (var i = 0; i < brands.length; i++) {
|
|
968
|
+
var brand = normalizeBrand(brands[i]);
|
|
969
|
+
var brandVersion = brand.version;
|
|
970
|
+
var brandName = brand.brand;
|
|
971
|
+
if (/not.a.brand/i.test(brandName))
|
|
972
|
+
continue;
|
|
973
|
+
if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
|
|
974
|
+
brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
|
|
975
|
+
prevBrandName = browserName;
|
|
976
|
+
if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
|
|
977
|
+
browserName = brandName;
|
|
978
|
+
if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
|
|
979
|
+
Platform.browser.name = Browsers.Chrome;
|
|
980
|
+
else if (browserName === 'Edge' || browserName === 'Edge WebView2')
|
|
981
|
+
Platform.browser.name = Browsers.Edge;
|
|
982
|
+
else if (browserName === 'Opera Mobi')
|
|
983
|
+
Platform.browser.name = Browsers.Opera;
|
|
984
|
+
Platform.browser.version = brandVersion;
|
|
985
|
+
}
|
|
986
|
+
prevBrandName = brandName;
|
|
987
|
+
}
|
|
988
|
+
if (brandName === 'Chromium')
|
|
989
|
+
Platform.engine.version = brandVersion;
|
|
990
|
+
}
|
|
991
|
+
if (typeof platformVersion === 'string') {
|
|
992
|
+
if (Platform.os.name === OS.Windows)
|
|
993
|
+
Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
|
|
994
|
+
else
|
|
995
|
+
Platform.os.version = platformVersion;
|
|
996
|
+
}
|
|
997
|
+
if (typeof platform === 'string') {
|
|
998
|
+
if (/android/i.test(platform))
|
|
999
|
+
Platform.os.name = OS.Android;
|
|
1000
|
+
else if (/ios|iphone|ipad/i.test(platform))
|
|
1001
|
+
Platform.os.name = OS.iOS;
|
|
1002
|
+
else if (/windows|win32/i.test(platform))
|
|
1003
|
+
Platform.os.name = OS.Windows;
|
|
1004
|
+
else if (/macos|macintel/i.test(platform))
|
|
1005
|
+
Platform.os.name = OS.MacOS;
|
|
1006
|
+
}
|
|
1007
|
+
if (result.mobile === true)
|
|
1008
|
+
Platform.device = Devices.Mobile;
|
|
1009
|
+
});
|
|
1010
|
+
}
|
|
829
1011
|
}
|
|
830
|
-
|
|
831
|
-
Platform.isMobile = Platform.device === Devices.Mobile;
|
|
832
|
-
Platform.isDesktop = Platform.device === Devices.Desktop;
|
|
833
|
-
Platform.isStandalone = getIsStandalone(Platform.os);
|
|
1012
|
+
init();
|
|
834
1013
|
|
|
835
1014
|
var _a;
|
|
836
1015
|
var App = {
|
|
@@ -953,26 +1132,26 @@
|
|
|
953
1132
|
}
|
|
954
1133
|
}
|
|
955
1134
|
function canOpenIntentURL() {
|
|
956
|
-
if (Platform.os !== OS.Android)
|
|
1135
|
+
if (Platform.os.name !== OS.Android)
|
|
957
1136
|
return false;
|
|
958
|
-
if (Platform.browser === Browsers.SamsungInternet && compareVersion(Platform.
|
|
1137
|
+
if (Platform.browser.name === Browsers.SamsungInternet && compareVersion(Platform.browser.version, '17.0.1.69') >= 0 && compareVersion(Platform.browser.version, '17.0.7.34') < 0)
|
|
959
1138
|
return false;
|
|
960
|
-
if (Platform.browser === Browsers.Firefox && compareVersion(Platform.
|
|
1139
|
+
if (Platform.browser.name === Browsers.Firefox && compareVersion(Platform.browser.version, '41.0') < 0)
|
|
961
1140
|
return false;
|
|
962
|
-
if (Platform.browser === Browsers.Firefox && compareVersion(Platform.
|
|
1141
|
+
if (Platform.browser.name === Browsers.Firefox && compareVersion(Platform.browser.version, '58.0') >= 0 && compareVersion(Platform.browser.version, '68.11.0') < 0)
|
|
963
1142
|
return false;
|
|
964
|
-
if (Platform.browser === Browsers.Firefox && compareVersion(Platform.
|
|
1143
|
+
if (Platform.browser.name === Browsers.Firefox && compareVersion(Platform.browser.version, '79.0') >= 0 && compareVersion(Platform.browser.version, '81.2.0') < 0)
|
|
965
1144
|
return false;
|
|
966
|
-
if (Platform.browser === Browsers.Firefox && compareVersion(Platform.
|
|
1145
|
+
if (Platform.browser.name === Browsers.Firefox && compareVersion(Platform.browser.version, '96.0') >= 0 && compareVersion(Platform.browser.version, '107.0') < 0)
|
|
967
1146
|
return false;
|
|
968
|
-
if (Platform.browser === Browsers.Opera && compareVersion(Platform.
|
|
1147
|
+
if (Platform.browser.name === Browsers.Opera && compareVersion(Platform.browser.version, '14.0') < 0)
|
|
969
1148
|
return false;
|
|
970
1149
|
if (/(?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/[\w.]+;/i.test(Platform.userAgent) || /instagram[\/ ][-\w.]+/i.test(Platform.userAgent) || /micromessenger\/([\w.]+)/i.test(Platform.userAgent) || /musical_ly(?:.+app_?version\/|_)[\w.]+/i.test(Platform.userAgent) || /ultralite app_version\/[\w.]+/i.test(Platform.userAgent))
|
|
971
1150
|
return false;
|
|
972
1151
|
return true;
|
|
973
1152
|
}
|
|
974
1153
|
function canOpenUniversalURL() {
|
|
975
|
-
return Platform.os === OS.iOS && compareVersion(Platform.
|
|
1154
|
+
return Platform.os.name === OS.iOS && compareVersion(Platform.os.version, '9.0') >= 0;
|
|
976
1155
|
}
|
|
977
1156
|
function getURLOpenError(tried) {
|
|
978
1157
|
var triedURLString = '';
|
|
@@ -1170,8 +1349,8 @@
|
|
|
1170
1349
|
eventTarget = { focus: topDocument, blur: topDocument };
|
|
1171
1350
|
eventType = { focus: 'resume', blur: 'pause' };
|
|
1172
1351
|
}
|
|
1173
|
-
else if (Platform.os === OS.iOS) {
|
|
1174
|
-
if (compareVersion(Platform.
|
|
1352
|
+
else if (Platform.os.name === OS.iOS) {
|
|
1353
|
+
if (compareVersion(Platform.os.version, '8.0') >= 0) {
|
|
1175
1354
|
eventTarget = { visibilitychange: topDocument };
|
|
1176
1355
|
eventType = { visibilitychange: 'visibilitychange' };
|
|
1177
1356
|
}
|
|
@@ -1274,12 +1453,12 @@
|
|
|
1274
1453
|
});
|
|
1275
1454
|
}
|
|
1276
1455
|
function open(options) {
|
|
1277
|
-
var os = Platform.os;
|
|
1456
|
+
var os = Platform.os.name;
|
|
1278
1457
|
var urls = [];
|
|
1279
1458
|
var tried = [];
|
|
1280
1459
|
var infos = {};
|
|
1281
1460
|
var timeout;
|
|
1282
|
-
if (Platform.os === OS.Android) {
|
|
1461
|
+
if (Platform.os.name === OS.Android) {
|
|
1283
1462
|
var option = options[OS.Android] || options['android'];
|
|
1284
1463
|
if (option === undefined)
|
|
1285
1464
|
return Promise.reject(getURLOpenError(tried));
|
|
@@ -1304,7 +1483,7 @@
|
|
|
1304
1483
|
if (infos.scheme !== undefined && infos.intent === undefined)
|
|
1305
1484
|
infos.intent = createIntentURL(infos.scheme, infos.packageName, infos.fallback);
|
|
1306
1485
|
}
|
|
1307
|
-
else if (Platform.os === OS.iOS) {
|
|
1486
|
+
else if (Platform.os.name === OS.iOS) {
|
|
1308
1487
|
var option = options[OS.iOS] || options['ios'];
|
|
1309
1488
|
if (option === undefined)
|
|
1310
1489
|
return Promise.reject(getURLOpenError(tried));
|
|
@@ -1321,7 +1500,7 @@
|
|
|
1321
1500
|
if (infos.bundleId !== undefined && infos.trackId === undefined)
|
|
1322
1501
|
infos.trackId = getTrackId(infos.bundleId);
|
|
1323
1502
|
}
|
|
1324
|
-
else if (Platform.os === OS.Windows) {
|
|
1503
|
+
else if (Platform.os.name === OS.Windows) {
|
|
1325
1504
|
var option = options[OS.Windows] || options['windows'];
|
|
1326
1505
|
if (option === undefined)
|
|
1327
1506
|
return Promise.reject(getURLOpenError(tried));
|
|
@@ -1334,7 +1513,7 @@
|
|
|
1334
1513
|
infos.allowAppStore = option.allowAppStore;
|
|
1335
1514
|
infos.allowWebStore = option.allowWebStore;
|
|
1336
1515
|
}
|
|
1337
|
-
else if (Platform.os === OS.MacOS) {
|
|
1516
|
+
else if (Platform.os.name === OS.MacOS) {
|
|
1338
1517
|
var option = options[OS.MacOS] || options['mac'];
|
|
1339
1518
|
if (option === undefined)
|
|
1340
1519
|
return Promise.reject(getURLOpenError(tried));
|
|
@@ -1516,7 +1695,7 @@
|
|
|
1516
1695
|
+ '?cc=' + options.cc
|
|
1517
1696
|
+ '&bcc=' + options.bcc
|
|
1518
1697
|
+ '&subject=' + options.subject
|
|
1519
|
-
+ '&body=' + options.body, 0, getDefaultTimeoutByOS(Platform.os));
|
|
1698
|
+
+ '&body=' + options.body, 0, getDefaultTimeoutByOS(Platform.os.name));
|
|
1520
1699
|
}
|
|
1521
1700
|
function openMessengerTelephone(options) {
|
|
1522
1701
|
return openMessenger(options, 'tel');
|