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