native-fn 1.0.82 → 1.0.84

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.
Files changed (141) hide show
  1. package/dist/index.d.ts +8 -1
  2. package/dist/native.cjs +4 -10
  3. package/dist/native.min.cjs +1 -1
  4. package/dist/native.min.mjs +1 -1
  5. package/dist/native.mjs +4 -10
  6. package/dist/native.umd.js +4 -10
  7. package/dist/native.umd.min.js +1 -1
  8. package/dist/plugin/app/index.cjs +160 -270
  9. package/dist/plugin/app/index.min.cjs +1 -1
  10. package/dist/plugin/app/index.min.mjs +1 -1
  11. package/dist/plugin/app/index.mjs +160 -270
  12. package/dist/plugin/app/index.umd.js +160 -270
  13. package/dist/plugin/app/index.umd.min.js +1 -1
  14. package/dist/plugin/app/src/plugin/appearance/constants/index.d.ts +2 -2
  15. package/dist/plugin/app/src/plugin/appearance/types/appearance.d.ts +0 -6
  16. package/dist/plugin/app/src/plugin/dimension/constants/index.d.ts +4 -0
  17. package/dist/plugin/app/src/plugin/dimension/types/dimension.d.ts +9 -6
  18. package/dist/plugin/app/src/plugin/dimension/types/dimensions.d.ts +11 -0
  19. package/dist/plugin/app/src/plugin/dimension/types/index.d.ts +2 -2
  20. package/dist/plugin/app/src/plugin/platform/constants/index.d.ts +1 -0
  21. package/dist/plugin/app/src/plugin/platform/cores/index.d.ts +0 -10
  22. package/dist/plugin/app/src/plugin/platform/types/platform.d.ts +3 -19
  23. package/dist/plugin/app/src/types/listener-entry.d.ts +6 -0
  24. package/dist/plugin/app/src/utils/request.d.ts +1 -0
  25. package/dist/plugin/appearance/index.cjs +111 -223
  26. package/dist/plugin/appearance/index.d.ts +1 -7
  27. package/dist/plugin/appearance/index.min.cjs +1 -1
  28. package/dist/plugin/appearance/index.min.mjs +1 -1
  29. package/dist/plugin/appearance/index.mjs +111 -223
  30. package/dist/plugin/appearance/index.umd.js +111 -223
  31. package/dist/plugin/appearance/index.umd.min.js +1 -1
  32. package/dist/plugin/appearance/src/plugin/appearance/constants/index.d.ts +2 -2
  33. package/dist/plugin/appearance/src/plugin/appearance/types/appearance.d.ts +0 -6
  34. package/dist/plugin/appearance/src/plugin/dimension/constants/index.d.ts +4 -0
  35. package/dist/plugin/appearance/src/plugin/dimension/types/dimension.d.ts +9 -6
  36. package/dist/plugin/appearance/src/plugin/dimension/types/dimensions.d.ts +11 -0
  37. package/dist/plugin/appearance/src/plugin/dimension/types/index.d.ts +2 -2
  38. package/dist/plugin/appearance/src/plugin/platform/constants/index.d.ts +1 -0
  39. package/dist/plugin/appearance/src/plugin/platform/cores/index.d.ts +0 -10
  40. package/dist/plugin/appearance/src/plugin/platform/types/platform.d.ts +3 -19
  41. package/dist/plugin/appearance/src/types/listener-entry.d.ts +6 -0
  42. package/dist/plugin/appearance/src/utils/request.d.ts +1 -0
  43. package/dist/plugin/clipboard/index.cjs +61 -214
  44. package/dist/plugin/clipboard/index.min.cjs +1 -1
  45. package/dist/plugin/clipboard/index.min.mjs +1 -1
  46. package/dist/plugin/clipboard/index.mjs +61 -214
  47. package/dist/plugin/clipboard/index.umd.js +61 -214
  48. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  49. package/dist/plugin/clipboard/src/plugin/appearance/constants/index.d.ts +2 -2
  50. package/dist/plugin/clipboard/src/plugin/appearance/types/appearance.d.ts +0 -6
  51. package/dist/plugin/clipboard/src/plugin/dimension/constants/index.d.ts +4 -0
  52. package/dist/plugin/clipboard/src/plugin/dimension/types/dimension.d.ts +9 -6
  53. package/dist/plugin/clipboard/src/plugin/dimension/types/dimensions.d.ts +11 -0
  54. package/dist/plugin/clipboard/src/plugin/dimension/types/index.d.ts +2 -2
  55. package/dist/plugin/clipboard/src/plugin/platform/constants/index.d.ts +1 -0
  56. package/dist/plugin/clipboard/src/plugin/platform/cores/index.d.ts +0 -10
  57. package/dist/plugin/clipboard/src/plugin/platform/types/platform.d.ts +3 -19
  58. package/dist/plugin/clipboard/src/types/listener-entry.d.ts +6 -0
  59. package/dist/plugin/clipboard/src/utils/request.d.ts +1 -0
  60. package/dist/plugin/dimension/index.cjs +981 -1
  61. package/dist/plugin/dimension/index.d.ts +9 -0
  62. package/dist/plugin/dimension/index.min.cjs +1 -1
  63. package/dist/plugin/dimension/index.min.mjs +1 -1
  64. package/dist/plugin/dimension/index.mjs +981 -1
  65. package/dist/plugin/dimension/index.umd.js +981 -1
  66. package/dist/plugin/dimension/index.umd.min.js +1 -1
  67. package/dist/plugin/dimension/src/plugin/appearance/constants/index.d.ts +2 -2
  68. package/dist/plugin/dimension/src/plugin/appearance/types/appearance.d.ts +0 -6
  69. package/dist/plugin/dimension/src/plugin/dimension/constants/index.d.ts +4 -0
  70. package/dist/plugin/dimension/src/plugin/dimension/types/dimension.d.ts +9 -6
  71. package/dist/plugin/dimension/src/plugin/dimension/types/dimensions.d.ts +11 -0
  72. package/dist/plugin/dimension/src/plugin/dimension/types/index.d.ts +2 -2
  73. package/dist/plugin/dimension/src/plugin/platform/constants/index.d.ts +1 -0
  74. package/dist/plugin/dimension/src/plugin/platform/cores/index.d.ts +0 -10
  75. package/dist/plugin/dimension/src/plugin/platform/types/platform.d.ts +3 -19
  76. package/dist/plugin/dimension/src/types/listener-entry.d.ts +6 -0
  77. package/dist/plugin/dimension/src/utils/request.d.ts +1 -0
  78. package/dist/plugin/fullscreen/index.cjs +54 -207
  79. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  80. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  81. package/dist/plugin/fullscreen/index.mjs +54 -207
  82. package/dist/plugin/fullscreen/index.umd.js +54 -207
  83. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  84. package/dist/plugin/fullscreen/src/plugin/appearance/constants/index.d.ts +2 -2
  85. package/dist/plugin/fullscreen/src/plugin/appearance/types/appearance.d.ts +0 -6
  86. package/dist/plugin/fullscreen/src/plugin/dimension/constants/index.d.ts +4 -0
  87. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimension.d.ts +9 -6
  88. package/dist/plugin/fullscreen/src/plugin/dimension/types/dimensions.d.ts +11 -0
  89. package/dist/plugin/fullscreen/src/plugin/dimension/types/index.d.ts +2 -2
  90. package/dist/plugin/fullscreen/src/plugin/platform/constants/index.d.ts +1 -0
  91. package/dist/plugin/fullscreen/src/plugin/platform/cores/index.d.ts +0 -10
  92. package/dist/plugin/fullscreen/src/plugin/platform/types/platform.d.ts +3 -19
  93. package/dist/plugin/fullscreen/src/types/listener-entry.d.ts +6 -0
  94. package/dist/plugin/fullscreen/src/utils/request.d.ts +1 -0
  95. package/dist/plugin/platform/index.cjs +50 -203
  96. package/dist/plugin/platform/index.d.ts +4 -20
  97. package/dist/plugin/platform/index.min.cjs +1 -1
  98. package/dist/plugin/platform/index.min.mjs +1 -1
  99. package/dist/plugin/platform/index.mjs +50 -203
  100. package/dist/plugin/platform/index.umd.js +50 -203
  101. package/dist/plugin/platform/index.umd.min.js +1 -1
  102. package/dist/plugin/platform/src/plugin/appearance/constants/index.d.ts +2 -2
  103. package/dist/plugin/platform/src/plugin/appearance/types/appearance.d.ts +0 -6
  104. package/dist/plugin/platform/src/plugin/dimension/constants/index.d.ts +4 -0
  105. package/dist/plugin/platform/src/plugin/dimension/types/dimension.d.ts +9 -6
  106. package/dist/plugin/platform/src/plugin/dimension/types/dimensions.d.ts +11 -0
  107. package/dist/plugin/platform/src/plugin/dimension/types/index.d.ts +2 -2
  108. package/dist/plugin/platform/src/plugin/platform/constants/index.d.ts +1 -0
  109. package/dist/plugin/platform/src/plugin/platform/cores/index.d.ts +0 -10
  110. package/dist/plugin/platform/src/plugin/platform/types/platform.d.ts +3 -19
  111. package/dist/plugin/platform/src/types/listener-entry.d.ts +6 -0
  112. package/dist/plugin/platform/src/utils/request.d.ts +1 -0
  113. package/dist/plugin/theme/index.cjs +51 -204
  114. package/dist/plugin/theme/index.min.cjs +1 -1
  115. package/dist/plugin/theme/index.min.mjs +1 -1
  116. package/dist/plugin/theme/index.mjs +51 -204
  117. package/dist/plugin/theme/index.umd.js +51 -204
  118. package/dist/plugin/theme/index.umd.min.js +1 -1
  119. package/dist/plugin/theme/src/plugin/appearance/constants/index.d.ts +2 -2
  120. package/dist/plugin/theme/src/plugin/appearance/types/appearance.d.ts +0 -6
  121. package/dist/plugin/theme/src/plugin/dimension/constants/index.d.ts +4 -0
  122. package/dist/plugin/theme/src/plugin/dimension/types/dimension.d.ts +9 -6
  123. package/dist/plugin/theme/src/plugin/dimension/types/dimensions.d.ts +11 -0
  124. package/dist/plugin/theme/src/plugin/dimension/types/index.d.ts +2 -2
  125. package/dist/plugin/theme/src/plugin/platform/constants/index.d.ts +1 -0
  126. package/dist/plugin/theme/src/plugin/platform/cores/index.d.ts +0 -10
  127. package/dist/plugin/theme/src/plugin/platform/types/platform.d.ts +3 -19
  128. package/dist/plugin/theme/src/types/listener-entry.d.ts +6 -0
  129. package/dist/plugin/theme/src/utils/request.d.ts +1 -0
  130. package/dist/src/plugin/appearance/constants/index.d.ts +2 -2
  131. package/dist/src/plugin/appearance/types/appearance.d.ts +0 -6
  132. package/dist/src/plugin/dimension/constants/index.d.ts +4 -0
  133. package/dist/src/plugin/dimension/types/dimension.d.ts +9 -6
  134. package/dist/src/plugin/dimension/types/dimensions.d.ts +11 -0
  135. package/dist/src/plugin/dimension/types/index.d.ts +2 -2
  136. package/dist/src/plugin/platform/constants/index.d.ts +1 -0
  137. package/dist/src/plugin/platform/cores/index.d.ts +0 -10
  138. package/dist/src/plugin/platform/types/platform.d.ts +3 -19
  139. package/dist/src/types/listener-entry.d.ts +6 -0
  140. package/dist/src/utils/request.d.ts +1 -0
  141. package/package.json +1 -1
@@ -1,6 +1,986 @@
1
1
  'use strict';
2
2
 
3
- var Dimension = {};
3
+ var OS;
4
+ (function (OS) {
5
+ OS["Unknown"] = "Unknown";
6
+ OS["Android"] = "Android";
7
+ OS["iOS"] = "iOS";
8
+ OS["Windows"] = "Windows";
9
+ OS["MacOS"] = "MacOS";
10
+ })(OS || (OS = {}));
11
+ var Devices;
12
+ (function (Devices) {
13
+ Devices["Unknown"] = "Unknown";
14
+ Devices["Mobile"] = "Mobile";
15
+ Devices["Desktop"] = "Desktop";
16
+ })(Devices || (Devices = {}));
17
+ var Engines;
18
+ (function (Engines) {
19
+ Engines["Unknown"] = "Unknown";
20
+ Engines["EdgeHTML"] = "EdgeHTML";
21
+ Engines["ArkWeb"] = "ArkWeb";
22
+ Engines["Blink"] = "Blink";
23
+ Engines["Presto"] = "Presto";
24
+ Engines["WebKit"] = "WebKit";
25
+ Engines["Trident"] = "Trident";
26
+ Engines["NetFront"] = "NetFront";
27
+ Engines["KHTML"] = "KHTML";
28
+ Engines["Tasman"] = "Tasman";
29
+ Engines["Gecko"] = "Gecko";
30
+ })(Engines || (Engines = {}));
31
+ var Browsers;
32
+ (function (Browsers) {
33
+ Browsers["Unknown"] = "Unknown";
34
+ Browsers["Chrome"] = "Chrome";
35
+ Browsers["Safari"] = "Safari";
36
+ Browsers["Edge"] = "Edge";
37
+ Browsers["Firefox"] = "Firefox";
38
+ Browsers["Opera"] = "Opera";
39
+ Browsers["IE"] = "IE";
40
+ Browsers["SamsungInternet"] = "SamsungInternet";
41
+ })(Browsers || (Browsers = {}));
42
+ var CrossPlatformFramework;
43
+ (function (CrossPlatformFramework) {
44
+ CrossPlatformFramework["Unknown"] = "Unknown";
45
+ CrossPlatformFramework["ReactNative"] = "ReactNative";
46
+ CrossPlatformFramework["Electron"] = "Electron";
47
+ CrossPlatformFramework["Cordova"] = "Cordova";
48
+ })(CrossPlatformFramework || (CrossPlatformFramework = {}));
49
+ var USER_AGENT = typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgent === 'string' ? globalThis.navigator.userAgent : '';
50
+ var HIGH_ENTROPY_BRAND_NAME_MAP = {
51
+ 'Google Chrome': 'Chrome',
52
+ 'Microsoft Edge': 'Edge',
53
+ 'Microsoft Edge WebView2': 'Edge WebView2',
54
+ 'Android WebView': 'Chrome WebView',
55
+ 'HeadlessChrome': 'Chrome Headless',
56
+ 'OperaMobile': 'Opera Mobi',
57
+ };
58
+
59
+ var ENTRIES = [];
60
+ var FALLBACK_DIMENSION = {
61
+ innerWidth: -1,
62
+ innerHeight: -1,
63
+ outerWidth: -1,
64
+ outerHeight: -1,
65
+ scale: 1,
66
+ };
67
+
68
+ function compareVersion(lhs, rhs) {
69
+ var pa = lhs.split('.');
70
+ var pb = rhs.split('.');
71
+ var length = Math.max(pa.length, pb.length);
72
+ for (var i = 0; i < length; i++) {
73
+ var a = void 0;
74
+ var b = void 0;
75
+ if (i < pa.length)
76
+ a = parseInt(pa[i], 10);
77
+ else
78
+ a = 0;
79
+ if (i < pb.length)
80
+ b = parseInt(pb[i], 10);
81
+ else
82
+ b = 0;
83
+ if (a > b)
84
+ return 1;
85
+ if (a < b)
86
+ return -1;
87
+ }
88
+ return 0;
89
+ }
90
+
91
+ var readyState = 'loading';
92
+ var readyCallback = [];
93
+ var pendingTasks = 0;
94
+ var Platform = {
95
+ os: { name: OS.Unknown, version: '' },
96
+ engine: { name: Engines.Unknown, version: '' },
97
+ browser: { name: Browsers.Unknown, version: '' },
98
+ crossPlatformFramework: CrossPlatformFramework.Unknown,
99
+ userAgent: USER_AGENT,
100
+ get readyState() {
101
+ return readyState;
102
+ },
103
+ get locale() {
104
+ return getLocale();
105
+ },
106
+ get device() {
107
+ if (this.os.name === OS.iOS || this.os.name === OS.Android)
108
+ return Devices.Mobile;
109
+ if (this.os.name === OS.Windows || this.os.name === OS.MacOS)
110
+ return Devices.Desktop;
111
+ return Devices.Unknown;
112
+ },
113
+ get renderer() {
114
+ return getRenderer();
115
+ },
116
+ get isWebview() {
117
+ return /; ?wv|applewebkit(?!.*safari)/i.test(this.userAgent);
118
+ },
119
+ get isNode() {
120
+ return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && typeof globalThis.process.versions.node !== 'undefined';
121
+ },
122
+ get isStandalone() {
123
+ if (this.os.name === OS.iOS)
124
+ return 'standalone' in globalThis.navigator && !!globalThis.navigator.standalone;
125
+ if (!('matchMedia' in globalThis))
126
+ return false;
127
+ return globalThis.matchMedia('(display-mode: standalone)').matches;
128
+ },
129
+ onready: function (callback) {
130
+ if (this.readyState === 'complete') {
131
+ try {
132
+ callback(this);
133
+ }
134
+ catch (_) {
135
+ }
136
+ }
137
+ else {
138
+ readyCallback.push(callback);
139
+ }
140
+ }
141
+ };
142
+ function resolveWindowsVersion(string) {
143
+ if (typeof string === 'undefined')
144
+ return '';
145
+ var mapped = {
146
+ '4.90': 'ME',
147
+ 'NT3.51': 'NT 3.11',
148
+ 'NT4.0': 'NT 4.0',
149
+ 'NT 5.0': '2000',
150
+ 'NT 5.1': 'XP',
151
+ 'NT 5.2': 'XP',
152
+ 'NT 6.0': 'Vista',
153
+ 'NT 6.1': '7',
154
+ 'NT 6.2': '8',
155
+ 'NT 6.3': '8.1',
156
+ 'NT 6.4': '10',
157
+ 'NT 10.0': '10',
158
+ 'ARM': 'RT'
159
+ }[string];
160
+ if (typeof mapped !== 'undefined')
161
+ return mapped;
162
+ return string;
163
+ }
164
+ function resolveUnderscoreVersion(string) {
165
+ if (typeof string === 'undefined')
166
+ return '';
167
+ return string.replace(/_/g, '.');
168
+ }
169
+ var OS_RESOLVER_MAP = [
170
+ [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
171
+ [/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
172
+ [/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i, OS.Windows, resolveWindowsVersion],
173
+ [/windows nt ?([\d.)]*)(?!.+xbox)/i, OS.Windows, resolveWindowsVersion],
174
+ [/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i, OS.Windows, resolveWindowsVersion],
175
+ [/windows ce\/?([\d.]*)/i, OS.Windows, resolveWindowsVersion],
176
+ [/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i, OS.iOS, resolveUnderscoreVersion],
177
+ [/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i, OS.iOS, resolveUnderscoreVersion],
178
+ [/cfnetwork\/.+darwin/i, OS.iOS, resolveUnderscoreVersion],
179
+ [/mac os x ?([\w. ]*)/i, OS.MacOS, resolveUnderscoreVersion],
180
+ [/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i, OS.MacOS, resolveUnderscoreVersion],
181
+ [/droid ([\w.]+)\b.+(android[- ]x86)/i, OS.Android],
182
+ [/android\w*[-\/.; ]?([\d.]*)/i, OS.Android],
183
+ ];
184
+ var ENGINE_RESOLVER_MAP = [
185
+ [/windows.+ edge\/([\w.]+)/i, Engines.EdgeHTML],
186
+ [/arkweb\/([\w.]+)/i, Engines.ArkWeb],
187
+ [/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i, Engines.Blink],
188
+ [/presto\/([\w.]+)/i, Engines.Presto],
189
+ [/webkit\/([\w.]+)/i, Engines.WebKit],
190
+ [/trident\/([\w.]+)/i, Engines.Trident],
191
+ [/netfront\/([\w.]+)/i, Engines.NetFront],
192
+ [/khtml[\/ ]\(?([\w.]+)/i, Engines.KHTML],
193
+ [/tasman[\/ ]\(?([\w.]+)/i, Engines.Tasman],
194
+ [/rv:([\w.]{1,9})\b.+gecko/i, Engines.Gecko]
195
+ ];
196
+ var BROWSER_RESOLVER_MAP = [
197
+ [/\b(?:crmo|crios)\/([\w.]+)/i, Browsers.Chrome],
198
+ [/webview.+edge\/([\w.]+)/i, Browsers.Edge],
199
+ [/edg(?:e|ios|a)?\/([\w.]+)/i, Browsers.Edge],
200
+ [/opera mini\/([-\w.]+)/i, Browsers.Opera],
201
+ [/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i, Browsers.Opera],
202
+ [/opera(?:.+version\/|[\/ ]+)([\w.]+)/i, Browsers.Opera],
203
+ [/opios[\/ ]+([\w.]+)/i, Browsers.Opera],
204
+ [/\bop(?:rg)?x\/([\w.]+)/i, Browsers.Opera],
205
+ [/\bopr\/([\w.]+)/i, Browsers.Opera],
206
+ [/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i, Browsers.IE],
207
+ [/(?:ms|\()ie ([\w.]+)/i, Browsers.IE],
208
+ [/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i, Browsers.IE],
209
+ [/\bfocus\/([\w.]+)/i, Browsers.Firefox],
210
+ [/\bopt\/([\w.]+)/i, Browsers.Opera],
211
+ [/coast\/([\w.]+)/i, Browsers.Opera],
212
+ [/fxios\/([\w.-]+)/i, Browsers.Firefox],
213
+ [/samsungbrowser\/([\w.]+)/i, Browsers.SamsungInternet],
214
+ [/headlesschrome(?:\/([\w.]+)| )/i, Browsers.Chrome],
215
+ [/wv\).+chrome\/([\w.]+).+edgw\//i, Browsers.Edge],
216
+ [/ wv\).+(chrome)\/([\w.]+)/i, Browsers.Chrome],
217
+ [/chrome\/([\w.]+) mobile/i, Browsers.Chrome],
218
+ [/chrome\/v?([\w.]+)/i, Browsers.Chrome],
219
+ [/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
220
+ [/iphone .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
221
+ [/version\/([\w.,]+) .*safari/i, Browsers.Safari],
222
+ [/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i, Browsers.Safari, '1'],
223
+ [/(?:mobile|tablet);.*firefox\/([\w.-]+)/i, Browsers.Firefox],
224
+ [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
225
+ [/firefox\/([\w.]+)/i, Browsers.Firefox],
226
+ ];
227
+ function incrementPendingTasks() {
228
+ pendingTasks++;
229
+ }
230
+ function decrementPendingTasks() {
231
+ pendingTasks--;
232
+ checkReady();
233
+ }
234
+ function checkReady() {
235
+ if (pendingTasks === 0 && readyState === 'loading') {
236
+ readyState = 'complete';
237
+ for (var i = 0; i < readyCallback.length; i++) {
238
+ try {
239
+ readyCallback[i](Platform);
240
+ }
241
+ catch (_) {
242
+ }
243
+ }
244
+ readyCallback.length = 0;
245
+ }
246
+ }
247
+ function resolveSemanticWindowsVersion(version, defaultValue) {
248
+ if (version.major === 10 && version.minor === 0 && version.build >= 22000)
249
+ return '11';
250
+ if (version.major === 10 && version.minor === 0 && version.build < 22000)
251
+ return '10';
252
+ if (version.major === 6 && version.minor === 3)
253
+ return '8.1';
254
+ if (version.major === 6 && version.minor === 2)
255
+ return '8';
256
+ if (version.major === 6 && version.minor === 1)
257
+ return '7';
258
+ if (version.major === 6 && version.minor === 0)
259
+ return 'Vista';
260
+ if (version.major === 5 && version.minor === 1)
261
+ return 'XP';
262
+ if (version.major === 5 && version.minor === 2)
263
+ return 'XP';
264
+ if (version.major === 5 && version.minor === 0)
265
+ return '2000';
266
+ if (version.major === 4 && version.minor === 90)
267
+ return 'ME';
268
+ if (version.major === 4 && version.minor === 0)
269
+ return 'NT 4.0';
270
+ if (version.major === 3 && version.minor === 51)
271
+ return 'NT 3.11';
272
+ return defaultValue;
273
+ }
274
+ function resolveSemanticDarwinVersion(version, defaultValue) {
275
+ if (version.major >= 24)
276
+ return '' + (version.major - 9) + '.' + version.minor + '.' + version.build;
277
+ if (version.major === 23)
278
+ return '14.' + version.minor + '.' + version.build;
279
+ if (version.major === 22)
280
+ return '13.' + version.minor + '.' + version.build;
281
+ if (version.major === 21)
282
+ return '12.' + version.minor + '.' + version.build;
283
+ if (version.major === 20)
284
+ return '11.' + version.minor + '.' + version.build;
285
+ if (version.major === 19)
286
+ return '10.15.' + version.minor;
287
+ if (version.major === 18)
288
+ return '10.14.' + version.minor;
289
+ if (version.major === 17)
290
+ return '10.13.' + version.minor;
291
+ if (version.major === 16)
292
+ return '10.12.' + version.minor;
293
+ if (version.major === 15)
294
+ return '10.11.' + version.minor;
295
+ if (version.major === 14)
296
+ return '10.10.' + version.minor;
297
+ if (version.major === 13)
298
+ return '10.9.' + version.minor;
299
+ if (version.major >= 5 && version.major <= 12)
300
+ return '10.' + (version.major - 4) + '.' + version.minor;
301
+ return defaultValue;
302
+ }
303
+ function resolveSemanticAndroidVersion(version, defaultValue) {
304
+ if (version.major >= 36)
305
+ return '16';
306
+ if (version.major === 35)
307
+ return '15';
308
+ if (version.major === 34)
309
+ return '14';
310
+ if (version.major === 33)
311
+ return '13';
312
+ if (version.major === 32)
313
+ return '12.1';
314
+ if (version.major === 31)
315
+ return '12';
316
+ if (version.major === 30)
317
+ return '11';
318
+ if (version.major === 29)
319
+ return '10';
320
+ if (version.major === 28)
321
+ return '9';
322
+ if (version.major === 27)
323
+ return '8.1';
324
+ if (version.major === 26)
325
+ return '8.0';
326
+ if (version.major === 25)
327
+ return '7.1';
328
+ if (version.major === 24)
329
+ return '7.0';
330
+ if (version.major === 23)
331
+ return '6.0';
332
+ if (version.major === 22)
333
+ return '5.1';
334
+ if (version.major === 21)
335
+ return '5.0';
336
+ if (version.major === 20)
337
+ return '4.4';
338
+ if (version.major === 19)
339
+ return '4.4';
340
+ if (version.major === 18)
341
+ return '4.3';
342
+ if (version.major === 17)
343
+ return '4.2';
344
+ if (version.major === 16)
345
+ return '4.1';
346
+ if (version.major === 15)
347
+ return '4.0.3';
348
+ if (version.major === 14)
349
+ return '4.0';
350
+ if (version.major === 13)
351
+ return '3.2';
352
+ if (version.major === 12)
353
+ return '3.1';
354
+ if (version.major === 11)
355
+ return '3.0';
356
+ if (version.major === 10)
357
+ return '2.3.3';
358
+ if (version.major === 9)
359
+ return '2.3';
360
+ if (version.major === 8)
361
+ return '2.2';
362
+ if (version.major === 7)
363
+ return '2.1';
364
+ if (version.major === 6)
365
+ return '2.0.1';
366
+ if (version.major === 5)
367
+ return '2.0';
368
+ if (version.major === 4)
369
+ return '1.6';
370
+ if (version.major === 3)
371
+ return '1.5';
372
+ if (version.major === 2)
373
+ return '1.1';
374
+ if (version.major === 1)
375
+ return '1.0';
376
+ return defaultValue;
377
+ }
378
+ function resolveVersion(string, resolver) {
379
+ if (typeof resolver === 'function')
380
+ return resolver(string);
381
+ if (typeof resolver === 'string')
382
+ return resolver;
383
+ if (typeof string === 'undefined')
384
+ return '';
385
+ return string;
386
+ }
387
+ function normalizeBrand(entry) {
388
+ if (entry === null || typeof entry === 'undefined')
389
+ return { brand: '', version: '' };
390
+ if (typeof entry === 'string')
391
+ return { brand: entry, version: '' };
392
+ return { brand: entry.brand, version: entry.version };
393
+ }
394
+ function getSemanticVersion(string) {
395
+ var parts = string.split('.');
396
+ return {
397
+ major: parseInt(parts[0] || '0'),
398
+ minor: parseInt(parts[1] || '0'),
399
+ build: parseInt(parts[2] || '0')
400
+ };
401
+ }
402
+ function parseOSFromCordova() {
403
+ Platform.crossPlatformFramework = CrossPlatformFramework.Cordova;
404
+ if (typeof globalThis.device !== 'undefined') {
405
+ switch (globalThis.device.platform) {
406
+ case 'Android':
407
+ Platform.os = {
408
+ name: OS.Android,
409
+ version: globalThis.device.version,
410
+ };
411
+ break;
412
+ case 'iOS':
413
+ Platform.os = {
414
+ name: OS.iOS,
415
+ version: globalThis.device.version,
416
+ };
417
+ break;
418
+ }
419
+ }
420
+ decrementPendingTasks();
421
+ }
422
+ function getRenderer() {
423
+ if (typeof globalThis.document === 'undefined')
424
+ return '';
425
+ var canvas = globalThis.document.createElement('canvas');
426
+ if (typeof canvas.getContext !== 'function')
427
+ return '';
428
+ var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
429
+ if (context === null)
430
+ return '';
431
+ if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
432
+ var extension = context.getExtension('WEBGL_debug_renderer_info');
433
+ if (extension === null)
434
+ return context.getParameter(context.RENDERER);
435
+ else
436
+ return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
437
+ }
438
+ else {
439
+ return '';
440
+ }
441
+ }
442
+ function normalizeLocale(locale) {
443
+ if (locale === null || typeof locale === 'undefined')
444
+ return locale;
445
+ if (locale.length === 0)
446
+ return null;
447
+ locale = locale.replace(/_/g, '-');
448
+ if (locale === 'C' || locale.toLowerCase() === 'posix')
449
+ return 'en-US';
450
+ if (locale.indexOf('.') !== -1)
451
+ return normalizeLocale(locale.split('.')[0]);
452
+ if (locale.indexOf('@') !== -1)
453
+ return normalizeLocale(locale.split('@')[0]);
454
+ var parts = locale.split('-');
455
+ if (parts.length === 0)
456
+ return null;
457
+ parts[0] = parts[0].toLowerCase();
458
+ if (parts.length > 1 && parts[1].length === 2)
459
+ parts[1] = parts[1].toUpperCase();
460
+ if (parts.length > 2 && parts[1].length === 4)
461
+ parts[1] = parts[1].charAt(0).toUpperCase() + parts[1].slice(1).toLowerCase();
462
+ return parts.join('-');
463
+ }
464
+ function getLocale() {
465
+ var locale = {
466
+ language: null,
467
+ languages: [],
468
+ timezone: null,
469
+ timezoneOffset: 0,
470
+ };
471
+ function addLanguages(language) {
472
+ for (var i = 0; i < language.length; i++)
473
+ addLanguage(language[i]);
474
+ }
475
+ function addLanguage(language) {
476
+ language = normalizeLocale(language);
477
+ if (typeof language === "string" && locale.languages.indexOf(language) === -1) {
478
+ if (locale.language === null)
479
+ locale.language = language;
480
+ locale.languages.push(language);
481
+ }
482
+ }
483
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
484
+ try {
485
+ var reactNative = require('react-native');
486
+ var nativeModules = reactNative.NativeModules;
487
+ if (typeof nativeModules.SettingsManager !== 'undefined') {
488
+ var settingManager = nativeModules.SettingsManager;
489
+ if (typeof settingManager !== 'undefined') {
490
+ var constant = typeof settingManager.getConstants === 'function'
491
+ ? settingManager.getConstants()
492
+ : settingManager;
493
+ if (typeof constant !== 'undefined' && typeof constant.settings !== 'undefined') {
494
+ var settings = constant.settings;
495
+ if (typeof settings.AppleLocale === 'string')
496
+ addLanguage(settings.AppleLocale);
497
+ if (Array.isArray(settings.AppleLanguages) && settings.AppleLanguages.length > 0)
498
+ addLanguages(settings.AppleLanguages);
499
+ }
500
+ }
501
+ }
502
+ if (typeof nativeModules.I18nManager !== 'undefined') {
503
+ var i18nManager = nativeModules.I18nManager;
504
+ if (typeof i18nManager !== 'undefined') {
505
+ var constant = typeof i18nManager.getConstants === 'function'
506
+ ? i18nManager.getConstants()
507
+ : i18nManager;
508
+ if (typeof constant !== 'undefined' && typeof constant.localeIdentifier !== 'undefined')
509
+ addLanguage(constant.localeIdentifier);
510
+ }
511
+ }
512
+ }
513
+ catch (_) {
514
+ }
515
+ }
516
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron) {
517
+ try {
518
+ var electron = require('electron');
519
+ var app = electron.app;
520
+ if (typeof app.getLocale !== 'undefined')
521
+ addLanguage(app.getLocale());
522
+ if (typeof app.getSystemLocale !== 'undefined')
523
+ addLanguage(app.getSystemLocale());
524
+ if (typeof app.getPreferredSystemLanguages !== 'undefined')
525
+ addLanguages(app.getPreferredSystemLanguages());
526
+ }
527
+ catch (_) {
528
+ }
529
+ }
530
+ if (typeof Intl !== 'undefined') {
531
+ try {
532
+ addLanguage(Intl.DateTimeFormat().resolvedOptions().locale);
533
+ }
534
+ catch (_) {
535
+ }
536
+ try {
537
+ locale.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
538
+ }
539
+ catch (_) {
540
+ }
541
+ }
542
+ if (typeof globalThis.navigator !== 'undefined') {
543
+ if (typeof globalThis.navigator.languages !== 'undefined')
544
+ addLanguages(globalThis.navigator.languages);
545
+ if (typeof globalThis.navigator.language !== 'undefined')
546
+ addLanguage(globalThis.navigator.language);
547
+ if (typeof globalThis.navigator.userLanguage !== 'undefined')
548
+ addLanguage(globalThis.navigator.userLanguage);
549
+ if (typeof globalThis.navigator.browserLanguage !== 'undefined')
550
+ addLanguage(globalThis.navigator.browserLanguage);
551
+ if (typeof globalThis.navigator.systemLanguage !== 'undefined')
552
+ addLanguage(globalThis.navigator.systemLanguage);
553
+ }
554
+ try {
555
+ locale.timezoneOffset = new Date().getTimezoneOffset();
556
+ }
557
+ catch (_) {
558
+ }
559
+ return locale;
560
+ }
561
+ function init() {
562
+ if ((typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && typeof globalThis.process.versions.electron !== 'undefined') || (/ electron\//i.test(USER_AGENT)))
563
+ Platform.crossPlatformFramework = CrossPlatformFramework.Electron;
564
+ if (typeof globalThis.navigator !== 'undefined' && globalThis.navigator.product === 'ReactNative')
565
+ Platform.crossPlatformFramework = CrossPlatformFramework.ReactNative;
566
+ for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
567
+ var map = OS_RESOLVER_MAP[i];
568
+ var regexp = map[0];
569
+ var os = map[1];
570
+ var resolver = map[2];
571
+ var matched = Platform.userAgent.match(regexp);
572
+ if (matched !== null) {
573
+ Platform.os = {
574
+ name: os,
575
+ version: resolveVersion(matched[1], resolver),
576
+ };
577
+ break;
578
+ }
579
+ }
580
+ if (Platform.os.name === OS.iOS && compareVersion(Platform.os.version, '18.6') === 0) {
581
+ var version = /\) Version\/([\d.]+)/.exec(Platform.userAgent);
582
+ if (version !== null && parseInt(version[1].substring(0, 2), 10) >= 26)
583
+ Platform.os.version = version[1];
584
+ }
585
+ for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
586
+ var map = ENGINE_RESOLVER_MAP[i];
587
+ var regexp = map[0];
588
+ var engine = map[1];
589
+ var resolver = map[2];
590
+ var matched = Platform.userAgent.match(regexp);
591
+ if (matched !== null) {
592
+ Platform.engine = {
593
+ name: engine,
594
+ version: resolveVersion(matched[1], resolver),
595
+ };
596
+ break;
597
+ }
598
+ }
599
+ for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
600
+ var map = BROWSER_RESOLVER_MAP[i];
601
+ var regexp = map[0];
602
+ var browser = map[1];
603
+ var resolver = map[2];
604
+ var matched = Platform.userAgent.match(regexp);
605
+ if (matched !== null) {
606
+ Platform.browser = {
607
+ name: browser,
608
+ version: resolveVersion(matched[1], resolver),
609
+ };
610
+ break;
611
+ }
612
+ }
613
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative) {
614
+ try {
615
+ var reactNative = require('react-native');
616
+ var platform = reactNative.Platform;
617
+ var os = platform.OS;
618
+ var release = '' + platform.Version;
619
+ var version = getSemanticVersion(release);
620
+ switch (os) {
621
+ case 'android':
622
+ Platform.os = {
623
+ name: OS.Android,
624
+ version: resolveSemanticAndroidVersion(version, release),
625
+ };
626
+ break;
627
+ case 'ios':
628
+ Platform.os = {
629
+ name: OS.iOS,
630
+ version: release,
631
+ };
632
+ break;
633
+ case 'windows':
634
+ Platform.os = {
635
+ name: OS.Windows,
636
+ version: resolveSemanticWindowsVersion(version, release),
637
+ };
638
+ break;
639
+ case 'macos':
640
+ Platform.os = {
641
+ name: OS.MacOS,
642
+ version: release,
643
+ };
644
+ break;
645
+ }
646
+ }
647
+ catch (_) {
648
+ }
649
+ finally {
650
+ }
651
+ }
652
+ if (Platform.isNode) {
653
+ try {
654
+ var os = require('os');
655
+ var platform = os.platform();
656
+ var release = os.release();
657
+ var version = getSemanticVersion(release);
658
+ switch (platform) {
659
+ case 'win32':
660
+ Platform.os = {
661
+ name: OS.Windows,
662
+ version: resolveSemanticWindowsVersion(version, release),
663
+ };
664
+ break;
665
+ case 'darwin':
666
+ Platform.os = {
667
+ name: OS.MacOS,
668
+ version: resolveSemanticDarwinVersion(version, release),
669
+ };
670
+ break;
671
+ case 'android':
672
+ Platform.os = {
673
+ name: OS.Android,
674
+ version: release,
675
+ };
676
+ break;
677
+ case 'linux':
678
+ if (/android/i.test(release)) {
679
+ Platform.os = {
680
+ name: OS.Android,
681
+ version: release,
682
+ };
683
+ }
684
+ break;
685
+ }
686
+ }
687
+ catch (_) {
688
+ }
689
+ finally {
690
+ }
691
+ }
692
+ if (typeof globalThis.document !== 'undefined') {
693
+ if (typeof globalThis.device !== 'undefined') {
694
+ parseOSFromCordova();
695
+ }
696
+ else {
697
+ globalThis.document.addEventListener("deviceready", parseOSFromCordova, false);
698
+ }
699
+ }
700
+ if (typeof globalThis.navigator !== 'undefined' && typeof globalThis.navigator.userAgentData !== 'undefined' && typeof globalThis.navigator.userAgentData.getHighEntropyValues !== 'undefined') {
701
+ incrementPendingTasks();
702
+ globalThis.navigator.userAgentData.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
703
+ .then(function (result) {
704
+ try {
705
+ var brands = result.fullVersionList || result.brands || [];
706
+ var platformVersion = result.platformVersion;
707
+ var platform = result.platform;
708
+ var browserName = Platform.browser.name;
709
+ var prevBrandName = null;
710
+ for (var i = 0; i < brands.length; i++) {
711
+ var brand = normalizeBrand(brands[i]);
712
+ var brandVersion = brand.version;
713
+ var brandName = brand.brand;
714
+ if (/not.a.brand/i.test(brandName))
715
+ continue;
716
+ if (prevBrandName === null || (/Chrom/.test(prevBrandName) && brandName !== 'Chromium') || (prevBrandName === 'Edge' && /WebView2/.test(brandName))) {
717
+ brandName = HIGH_ENTROPY_BRAND_NAME_MAP[brandName] || brandName;
718
+ prevBrandName = browserName;
719
+ if (prevBrandName === null || /Chrom/.test(prevBrandName) || !/Chrom/.test(brandName)) {
720
+ browserName = brandName;
721
+ if (browserName === 'Chrome' || browserName === 'Chrome WebView' || browserName === 'Chrome Headless')
722
+ Platform.browser.name = Browsers.Chrome;
723
+ else if (browserName === 'Edge' || browserName === 'Edge WebView2')
724
+ Platform.browser.name = Browsers.Edge;
725
+ else if (browserName === 'Opera Mobi')
726
+ Platform.browser.name = Browsers.Opera;
727
+ Platform.browser.version = brandVersion;
728
+ }
729
+ prevBrandName = brandName;
730
+ }
731
+ if (brandName === 'Chromium')
732
+ Platform.engine.version = brandVersion;
733
+ }
734
+ if (typeof platformVersion === 'string') {
735
+ if (Platform.os.name === OS.Windows)
736
+ Platform.os.version = parseInt(platformVersion.split('.')[0], 10) >= 13 ? '11' : '10';
737
+ else
738
+ Platform.os.version = platformVersion;
739
+ }
740
+ if (typeof platform === 'string') {
741
+ if (/android/i.test(platform))
742
+ Platform.os.name = OS.Android;
743
+ else if (/ios|iphone|ipad/i.test(platform))
744
+ Platform.os.name = OS.iOS;
745
+ else if (/windows|win32/i.test(platform))
746
+ Platform.os.name = OS.Windows;
747
+ else if (/macos|macintel/i.test(platform))
748
+ Platform.os.name = OS.MacOS;
749
+ }
750
+ if (result.mobile === true)
751
+ Platform.device = Devices.Mobile;
752
+ }
753
+ catch (_) {
754
+ }
755
+ finally {
756
+ decrementPendingTasks();
757
+ }
758
+ });
759
+ }
760
+ checkReady();
761
+ }
762
+ init();
763
+
764
+ var currentDimension = null;
765
+ var Dimension = {
766
+ get value() {
767
+ return getDimension();
768
+ },
769
+ onchange: onchange,
770
+ };
771
+ function getDimensionFromWindow() {
772
+ if (typeof globalThis.innerWidth !== 'undefined') {
773
+ return {
774
+ innerWidth: globalThis.innerWidth,
775
+ innerHeight: globalThis.innerHeight,
776
+ outerWidth: globalThis.outerWidth,
777
+ outerHeight: globalThis.outerHeight,
778
+ scale: globalThis.devicePixelRatio || 1
779
+ };
780
+ }
781
+ return FALLBACK_DIMENSION;
782
+ }
783
+ function getDimensionFromReactNative() {
784
+ try {
785
+ var reactNative = require('react-native');
786
+ var dimensions = reactNative.Dimensions;
787
+ var pixelRatio = reactNative.PixelRatio;
788
+ var screenDimensions = dimensions.get('screen');
789
+ var windowDimensions = dimensions.get('window');
790
+ return {
791
+ innerWidth: screenDimensions.width,
792
+ innerHeight: screenDimensions.height,
793
+ outerWidth: windowDimensions.width,
794
+ outerHeight: windowDimensions.height,
795
+ scale: pixelRatio.get()
796
+ };
797
+ }
798
+ catch (_) {
799
+ }
800
+ return FALLBACK_DIMENSION;
801
+ }
802
+ function getDimensionFromElectron() {
803
+ try {
804
+ var electron = require('electron');
805
+ var screen_1 = electron.screen;
806
+ var browserWindow = electron.BrowserWindow;
807
+ var focusedWindow = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
808
+ if (typeof focusedWindow !== 'undefined') {
809
+ var contentSize = focusedWindow.getContentSize();
810
+ var size = focusedWindow.getSize();
811
+ return {
812
+ innerWidth: contentSize[0],
813
+ innerHeight: contentSize[1],
814
+ outerWidth: size[0],
815
+ outerHeight: size[1],
816
+ scale: screen_1.getDisplayMatching(focusedWindow.getBounds()).scaleFactor,
817
+ };
818
+ }
819
+ }
820
+ catch (_) {
821
+ }
822
+ return FALLBACK_DIMENSION;
823
+ }
824
+ function getDimension() {
825
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative)
826
+ return getDimensionFromReactNative();
827
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron)
828
+ return getDimensionFromElectron();
829
+ return getDimensionFromWindow();
830
+ }
831
+ function addListener(capture) {
832
+ currentDimension = getDimension();
833
+ if (typeof globalThis.addEventListener === 'function')
834
+ globalThis.addEventListener('resize', onResize, capture);
835
+ }
836
+ function removeListener(capture) {
837
+ currentDimension = null;
838
+ if (typeof globalThis.removeEventListener === 'function')
839
+ globalThis.removeEventListener('resize', onResize, capture);
840
+ }
841
+ function onResize() {
842
+ var dimension = getDimension();
843
+ if (currentDimension === null || dimension.innerWidth !== currentDimension.innerWidth || dimension.innerHeight !== currentDimension.innerHeight || dimension.outerWidth !== currentDimension.outerWidth || dimension.outerHeight !== currentDimension.outerHeight || dimension.scale !== currentDimension.scale) {
844
+ currentDimension = dimension;
845
+ notify(dimension);
846
+ }
847
+ }
848
+ function notify(dimension) {
849
+ for (var i = 0; i < ENTRIES.length; i++) {
850
+ var entry = ENTRIES[i];
851
+ entry.fn(dimension);
852
+ if (entry.once)
853
+ removeEntry(entry);
854
+ }
855
+ }
856
+ function removeEntry(entry) {
857
+ var index = indexOfEntry(entry);
858
+ if (index !== -1)
859
+ ENTRIES.splice(index, 1);
860
+ if (ENTRIES.length === 0)
861
+ removeListener(entry.capture);
862
+ }
863
+ function indexOfEntry(entry) {
864
+ for (var i = 0; i < ENTRIES.length; i++)
865
+ if (ENTRIES[i].fn === entry.fn && ENTRIES[i].capture === entry.capture)
866
+ return i;
867
+ return -1;
868
+ }
869
+ function onchangeReactNative(entry) {
870
+ try {
871
+ var reactNative = require('react-native');
872
+ var isRemoved_1 = false;
873
+ var listener = function (dimensions) {
874
+ if (isRemoved_1)
875
+ return;
876
+ entry.fn(getDimensionFromReactNative());
877
+ if (entry.once)
878
+ cleanup_1();
879
+ };
880
+ var cleanup_1 = function () {
881
+ if (isRemoved_1)
882
+ return;
883
+ if (typeof entry.signal !== 'undefined')
884
+ entry.signal.removeEventListener('abort', cleanup_1);
885
+ isRemoved_1 = true;
886
+ subscription_1.remove();
887
+ };
888
+ if (typeof entry.signal !== 'undefined') {
889
+ if (entry.signal.aborted) {
890
+ return function () {
891
+ };
892
+ }
893
+ entry.signal.addEventListener('abort', cleanup_1);
894
+ }
895
+ var subscription_1 = reactNative.Dimensions.addEventListener('change', listener);
896
+ return function () {
897
+ subscription_1.remove();
898
+ };
899
+ }
900
+ catch (_) {
901
+ }
902
+ return function () {
903
+ };
904
+ }
905
+ function onchangeElectron(entry) {
906
+ try {
907
+ var electron = require('electron');
908
+ var browserWindow = electron.BrowserWindow;
909
+ var focusedWindow_1 = browserWindow.getFocusedWindow() || browserWindow.getAllWindows()[0];
910
+ if (typeof focusedWindow_1 !== 'undefined') {
911
+ var isRemoved_2 = false;
912
+ var listener_1 = function () {
913
+ if (isRemoved_2)
914
+ return;
915
+ entry.fn(getDimensionFromElectron());
916
+ if (entry.once)
917
+ cleanup_2();
918
+ };
919
+ var cleanup_2 = function () {
920
+ if (isRemoved_2)
921
+ return;
922
+ if (typeof entry.signal !== 'undefined')
923
+ entry.signal.removeEventListener('abort', cleanup_2);
924
+ isRemoved_2 = true;
925
+ focusedWindow_1.removeListener('resize', listener_1);
926
+ };
927
+ if (typeof entry.signal !== 'undefined') {
928
+ if (entry.signal.aborted) {
929
+ return function () {
930
+ };
931
+ }
932
+ entry.signal.addEventListener('abort', cleanup_2);
933
+ }
934
+ focusedWindow_1.on('resize', listener_1);
935
+ return function () {
936
+ focusedWindow_1.removeListener('resize', listener_1);
937
+ };
938
+ }
939
+ }
940
+ catch (_) {
941
+ }
942
+ return function () {
943
+ };
944
+ }
945
+ function onchange(listener, options) {
946
+ if (options === void 0) { options = false; }
947
+ var entry = { fn: listener, capture: false, once: false };
948
+ if (typeof options === 'boolean')
949
+ options = { capture: options };
950
+ if (typeof options.capture !== 'undefined')
951
+ entry.capture = options.capture;
952
+ if (typeof options.once !== 'undefined')
953
+ entry.once = options.once;
954
+ if (typeof options.signal !== 'undefined')
955
+ entry.signal = options.signal;
956
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.ReactNative)
957
+ return onchangeReactNative(entry);
958
+ if (Platform.crossPlatformFramework === CrossPlatformFramework.Electron)
959
+ return onchangeElectron(entry);
960
+ var index = indexOfEntry(entry);
961
+ if (index === -1) {
962
+ ENTRIES.push(entry);
963
+ if (ENTRIES.length === 1)
964
+ addListener(entry.capture);
965
+ }
966
+ else if (ENTRIES[index].once && !entry.once) {
967
+ ENTRIES[index].once = false;
968
+ }
969
+ var cleanup = function () {
970
+ if (typeof entry.signal !== 'undefined')
971
+ entry.signal.removeEventListener('abort', cleanup);
972
+ removeEntry(entry);
973
+ };
974
+ if (typeof entry.signal !== 'undefined') {
975
+ if (entry.signal.aborted)
976
+ removeEntry(entry);
977
+ else
978
+ entry.signal.addEventListener('abort', cleanup);
979
+ }
980
+ return function () {
981
+ removeEntry(entry);
982
+ };
983
+ }
4
984
 
5
985
  var NativeDimensionPlugin = {
6
986
  installed: false,