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