native-fn 1.0.46 → 1.0.48

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 (43) hide show
  1. package/dist/native.cjs +173 -92
  2. package/dist/native.min.cjs +1 -1
  3. package/dist/native.min.mjs +1 -1
  4. package/dist/native.mjs +173 -92
  5. package/dist/native.umd.js +173 -92
  6. package/dist/native.umd.min.js +1 -1
  7. package/dist/plugin/app/index.cjs +192 -90
  8. package/dist/plugin/app/index.min.cjs +1 -1
  9. package/dist/plugin/app/index.min.mjs +1 -1
  10. package/dist/plugin/app/index.mjs +192 -90
  11. package/dist/plugin/app/index.umd.js +192 -90
  12. package/dist/plugin/app/index.umd.min.js +1 -1
  13. package/dist/plugin/app/src/types/platform.d.ts +3 -1
  14. package/dist/plugin/app/src/utils/require.d.ts +1 -1
  15. package/dist/plugin/camera/index.cjs +171 -90
  16. package/dist/plugin/camera/index.min.cjs +1 -1
  17. package/dist/plugin/camera/index.min.mjs +1 -1
  18. package/dist/plugin/camera/index.mjs +171 -90
  19. package/dist/plugin/camera/index.umd.js +171 -90
  20. package/dist/plugin/camera/index.umd.min.js +1 -1
  21. package/dist/plugin/camera/src/types/platform.d.ts +3 -1
  22. package/dist/plugin/camera/src/utils/require.d.ts +1 -1
  23. package/dist/plugin/clipboard/src/types/platform.d.ts +3 -1
  24. package/dist/plugin/clipboard/src/utils/require.d.ts +1 -1
  25. package/dist/plugin/fullscreen/index.cjs +171 -90
  26. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  27. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  28. package/dist/plugin/fullscreen/index.mjs +171 -90
  29. package/dist/plugin/fullscreen/index.umd.js +171 -90
  30. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  31. package/dist/plugin/fullscreen/src/types/platform.d.ts +3 -1
  32. package/dist/plugin/fullscreen/src/utils/require.d.ts +1 -1
  33. package/dist/plugin/theme/index.cjs +171 -90
  34. package/dist/plugin/theme/index.min.cjs +1 -1
  35. package/dist/plugin/theme/index.min.mjs +1 -1
  36. package/dist/plugin/theme/index.mjs +171 -90
  37. package/dist/plugin/theme/index.umd.js +171 -90
  38. package/dist/plugin/theme/index.umd.min.js +1 -1
  39. package/dist/plugin/theme/src/types/platform.d.ts +3 -1
  40. package/dist/plugin/theme/src/utils/require.d.ts +1 -1
  41. package/dist/src/types/platform.d.ts +3 -1
  42. package/dist/src/utils/require.d.ts +1 -1
  43. package/package.json +1 -1
package/dist/native.mjs CHANGED
@@ -1,6 +1,6 @@
1
- var version = "1.0.46";
1
+ var version$1 = "1.0.48";
2
2
  var packageJSON = {
3
- version: version};
3
+ version: version$1};
4
4
 
5
5
  function assign() {
6
6
  var args = [];
@@ -101,18 +101,6 @@ function createCustomError(name, Base) {
101
101
 
102
102
  var PluginNotExtendedError = createCustomError('PluginNotExtendedError');
103
103
 
104
- function require(moduleName) {
105
- if ('require' in globalThis && typeof globalThis.require === 'function') {
106
- try {
107
- return Promise.resolve(globalThis.require(moduleName));
108
- }
109
- catch (_) {
110
- return Promise.resolve(null);
111
- }
112
- }
113
- return Promise.resolve(null);
114
- }
115
-
116
104
  var OS;
117
105
  (function (OS) {
118
106
  OS["Unknown"] = "Unknown";
@@ -152,6 +140,7 @@ var Browsers;
152
140
  Browsers["IE"] = "IE";
153
141
  Browsers["SamsungInternet"] = "SamsungInternet";
154
142
  })(Browsers || (Browsers = {}));
143
+ var userAgent = typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' ? navigator.userAgent : '';
155
144
  var Platform = {
156
145
  device: Devices.Unknown,
157
146
  os: OS.Unknown,
@@ -161,12 +150,14 @@ var Platform = {
161
150
  browser: Browsers.Unknown,
162
151
  browserVersion: '',
163
152
  renderer: getRenderer(),
164
- userAgent: getUserAgent(),
165
- isWebview: false,
153
+ userAgent: userAgent,
166
154
  isMobile: false,
167
155
  isDesktop: false,
168
156
  isStandalone: false,
169
- isNodeJS: getIsNode(),
157
+ isWebview: /; ?wv|applewebkit(?!.*safari)/i.test(userAgent),
158
+ isNodeJS: typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined,
159
+ isElectron: typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined,
160
+ isReactNative: typeof navigator !== 'undefined' && navigator.product === 'ReactNative'
170
161
  };
171
162
  var OS_RESOLVER_MAP = [
172
163
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
@@ -253,6 +244,137 @@ function resolveUnderscoreVersion(string) {
253
244
  return '';
254
245
  return string.replace(/_/g, '.');
255
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.4W';
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
+ }
256
378
  function resolveVersion(string, resolver) {
257
379
  if (typeof resolver === 'function')
258
380
  return resolver(string);
@@ -269,11 +391,6 @@ function normalizeBrand(entry) {
269
391
  return { brand: entry, version: '' };
270
392
  return { brand: entry.brand, version: entry.version };
271
393
  }
272
- function getUserAgent() {
273
- if (typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string')
274
- return navigator.userAgent;
275
- return '';
276
- }
277
394
  function getRenderer() {
278
395
  if (typeof globalThis.document === 'undefined')
279
396
  return '';
@@ -304,10 +421,7 @@ function getIsStandalone(os) {
304
421
  function getIsWebview() {
305
422
  return /; ?wv|applewebkit(?!.*safari)/i.test(Platform.userAgent);
306
423
  }
307
- function getIsNode() {
308
- return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
309
- }
310
- function getNodeOSVersion(string) {
424
+ function getSemanticVersion(string) {
311
425
  var parts = string.split('.');
312
426
  return {
313
427
  major: parseInt(parts[0] || '0'),
@@ -355,84 +469,49 @@ for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
355
469
  break;
356
470
  }
357
471
  }
358
- if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
472
+ if (Platform.isReactNative) {
359
473
  try {
360
- import('react-native')
361
- .then(function (reactNative) {
362
- console.log(reactNative.Platform);
363
- });
474
+ var reactNative = require('react-native');
475
+ var platform = reactNative.Platform;
476
+ var os = platform.OS;
477
+ var release = platform.Version;
478
+ var version = getSemanticVersion(release);
479
+ switch (os) {
480
+ case 'android':
481
+ Platform.os = OS.Android;
482
+ Platform.osVersion = resolveSemanticAndroidVersion(version, release);
483
+ break;
484
+ case 'ios':
485
+ Platform.os = OS.iOS;
486
+ Platform.osVersion = release;
487
+ break;
488
+ case 'windows':
489
+ Platform.os = OS.Windows;
490
+ Platform.osVersion = resolveSemanticWindowsVersion(version, release);
491
+ break;
492
+ case 'macos':
493
+ Platform.os = OS.MacOS;
494
+ Platform.osVersion = release;
495
+ break;
496
+ }
364
497
  }
365
498
  catch (_) {
366
499
  }
367
500
  }
368
- else if (Platform.isNodeJS) {
369
- require('os')
370
- .then(function (os) {
371
- if (os === null)
372
- return;
501
+ if (Platform.isNodeJS) {
502
+ try {
503
+ var os = require('os');
373
504
  var platform = os.platform();
374
505
  var release = os.release();
375
- var version = getNodeOSVersion(release);
506
+ var version = getSemanticVersion(release);
376
507
  switch (platform) {
377
508
  case 'win32':
378
509
  Platform.os = OS.Windows;
379
- if (version.major === 10 && version.minor === 0 && version.build >= 22000)
380
- Platform.osVersion = '11';
381
- else if (version.major === 10 && version.minor === 0 && version.build < 22000)
382
- Platform.osVersion = '10';
383
- else if (version.major === 6 && version.minor === 3)
384
- Platform.osVersion = '8.1';
385
- else if (version.major === 6 && version.minor === 2)
386
- Platform.osVersion = '8';
387
- else if (version.major === 6 && version.minor === 1)
388
- Platform.osVersion = '7';
389
- else if (version.major === 6 && version.minor === 0)
390
- Platform.osVersion = 'Vista';
391
- else if (version.major === 5 && version.minor === 1)
392
- Platform.osVersion = 'XP';
393
- else if (version.major === 5 && version.minor === 2)
394
- Platform.osVersion = 'XP';
395
- else if (version.major === 5 && version.minor === 0)
396
- Platform.osVersion = '2000';
397
- else if (version.major === 4 && version.minor === 90)
398
- Platform.osVersion = 'ME';
399
- else if (version.major === 4 && version.minor === 0)
400
- Platform.osVersion = 'NT 4.0';
401
- else if (version.major === 3 && version.minor === 51)
402
- Platform.osVersion = 'NT 3.11';
403
- else
404
- Platform.osVersion = release;
510
+ Platform.osVersion = resolveSemanticWindowsVersion(version, release);
405
511
  break;
406
512
  case 'darwin':
407
513
  Platform.os = OS.MacOS;
408
- if (version.major >= 24)
409
- Platform.osVersion = '' + (version.major - 9) + '.' + version.minor + '.' + version.build;
410
- else if (version.major === 23)
411
- Platform.osVersion = '14.' + version.minor + '.' + version.build;
412
- else if (version.major === 22)
413
- Platform.osVersion = '13.' + version.minor + '.' + version.build;
414
- else if (version.major === 21)
415
- Platform.osVersion = '12.' + version.minor + '.' + version.build;
416
- else if (version.major === 20)
417
- Platform.osVersion = '11.' + version.minor + '.' + version.build;
418
- else if (version.major === 19)
419
- Platform.osVersion = '10.15.' + version.minor;
420
- else if (version.major === 18)
421
- Platform.osVersion = '10.14.' + version.minor;
422
- else if (version.major === 17)
423
- Platform.osVersion = '10.13.' + version.minor;
424
- else if (version.major === 16)
425
- Platform.osVersion = '10.12.' + version.minor;
426
- else if (version.major === 15)
427
- Platform.osVersion = '10.11.' + version.minor;
428
- else if (version.major === 14)
429
- Platform.osVersion = '10.10.' + version.minor;
430
- else if (version.major === 13)
431
- Platform.osVersion = '10.9.' + version.minor;
432
- else if (version.major >= 5 && version.major <= 12)
433
- Platform.osVersion = '10.' + (version.major - 4) + '.' + version.minor;
434
- else
435
- Platform.osVersion = release;
514
+ Platform.osVersion = resolveSemanticDarwinVersion(version, release);
436
515
  break;
437
516
  case 'android':
438
517
  Platform.os = OS.Android;
@@ -445,7 +524,9 @@ else if (Platform.isNodeJS) {
445
524
  }
446
525
  break;
447
526
  }
448
- });
527
+ }
528
+ catch (_) {
529
+ }
449
530
  }
450
531
  if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
451
532
  navigator
@@ -4,9 +4,9 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Native = factory());
5
5
  })(this, (function () { 'use strict';
6
6
 
7
- var version = "1.0.46";
7
+ var version$1 = "1.0.48";
8
8
  var packageJSON = {
9
- version: version};
9
+ version: version$1};
10
10
 
11
11
  function assign() {
12
12
  var args = [];
@@ -107,18 +107,6 @@
107
107
 
108
108
  var PluginNotExtendedError = createCustomError('PluginNotExtendedError');
109
109
 
110
- function require(moduleName) {
111
- if ('require' in globalThis && typeof globalThis.require === 'function') {
112
- try {
113
- return Promise.resolve(globalThis.require(moduleName));
114
- }
115
- catch (_) {
116
- return Promise.resolve(null);
117
- }
118
- }
119
- return Promise.resolve(null);
120
- }
121
-
122
110
  var OS;
123
111
  (function (OS) {
124
112
  OS["Unknown"] = "Unknown";
@@ -158,6 +146,7 @@
158
146
  Browsers["IE"] = "IE";
159
147
  Browsers["SamsungInternet"] = "SamsungInternet";
160
148
  })(Browsers || (Browsers = {}));
149
+ var userAgent = typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' ? navigator.userAgent : '';
161
150
  var Platform = {
162
151
  device: Devices.Unknown,
163
152
  os: OS.Unknown,
@@ -167,12 +156,14 @@
167
156
  browser: Browsers.Unknown,
168
157
  browserVersion: '',
169
158
  renderer: getRenderer(),
170
- userAgent: getUserAgent(),
171
- isWebview: false,
159
+ userAgent: userAgent,
172
160
  isMobile: false,
173
161
  isDesktop: false,
174
162
  isStandalone: false,
175
- isNodeJS: getIsNode(),
163
+ isWebview: /; ?wv|applewebkit(?!.*safari)/i.test(userAgent),
164
+ isNodeJS: typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined,
165
+ isElectron: typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.electron !== undefined,
166
+ isReactNative: typeof navigator !== 'undefined' && navigator.product === 'ReactNative'
176
167
  };
177
168
  var OS_RESOLVER_MAP = [
178
169
  [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
@@ -259,6 +250,137 @@
259
250
  return '';
260
251
  return string.replace(/_/g, '.');
261
252
  }
253
+ function resolveSemanticWindowsVersion(version, defaultValue) {
254
+ if (version.major === 10 && version.minor === 0 && version.build >= 22000)
255
+ return '11';
256
+ if (version.major === 10 && version.minor === 0 && version.build < 22000)
257
+ return '10';
258
+ if (version.major === 6 && version.minor === 3)
259
+ return '8.1';
260
+ if (version.major === 6 && version.minor === 2)
261
+ return '8';
262
+ if (version.major === 6 && version.minor === 1)
263
+ return '7';
264
+ if (version.major === 6 && version.minor === 0)
265
+ return 'Vista';
266
+ if (version.major === 5 && version.minor === 1)
267
+ return 'XP';
268
+ if (version.major === 5 && version.minor === 2)
269
+ return 'XP';
270
+ if (version.major === 5 && version.minor === 0)
271
+ return '2000';
272
+ if (version.major === 4 && version.minor === 90)
273
+ return 'ME';
274
+ if (version.major === 4 && version.minor === 0)
275
+ return 'NT 4.0';
276
+ if (version.major === 3 && version.minor === 51)
277
+ return 'NT 3.11';
278
+ return defaultValue;
279
+ }
280
+ function resolveSemanticDarwinVersion(version, defaultValue) {
281
+ if (version.major >= 24)
282
+ return '' + (version.major - 9) + '.' + version.minor + '.' + version.build;
283
+ if (version.major === 23)
284
+ return '14.' + version.minor + '.' + version.build;
285
+ if (version.major === 22)
286
+ return '13.' + version.minor + '.' + version.build;
287
+ if (version.major === 21)
288
+ return '12.' + version.minor + '.' + version.build;
289
+ if (version.major === 20)
290
+ return '11.' + version.minor + '.' + version.build;
291
+ if (version.major === 19)
292
+ return '10.15.' + version.minor;
293
+ if (version.major === 18)
294
+ return '10.14.' + version.minor;
295
+ if (version.major === 17)
296
+ return '10.13.' + version.minor;
297
+ if (version.major === 16)
298
+ return '10.12.' + version.minor;
299
+ if (version.major === 15)
300
+ return '10.11.' + version.minor;
301
+ if (version.major === 14)
302
+ return '10.10.' + version.minor;
303
+ if (version.major === 13)
304
+ return '10.9.' + version.minor;
305
+ if (version.major >= 5 && version.major <= 12)
306
+ return '10.' + (version.major - 4) + '.' + version.minor;
307
+ return defaultValue;
308
+ }
309
+ function resolveSemanticAndroidVersion(version, defaultValue) {
310
+ if (version.major >= 36)
311
+ return '16';
312
+ if (version.major === 35)
313
+ return '15';
314
+ if (version.major === 34)
315
+ return '14';
316
+ if (version.major === 33)
317
+ return '13';
318
+ if (version.major === 32)
319
+ return '12.1';
320
+ if (version.major === 31)
321
+ return '12';
322
+ if (version.major === 30)
323
+ return '11';
324
+ if (version.major === 29)
325
+ return '10';
326
+ if (version.major === 28)
327
+ return '9';
328
+ if (version.major === 27)
329
+ return '8.1';
330
+ if (version.major === 26)
331
+ return '8.0';
332
+ if (version.major === 25)
333
+ return '7.1';
334
+ if (version.major === 24)
335
+ return '7.0';
336
+ if (version.major === 23)
337
+ return '6.0';
338
+ if (version.major === 22)
339
+ return '5.1';
340
+ if (version.major === 21)
341
+ return '5.0';
342
+ if (version.major === 20)
343
+ return '4.4W';
344
+ if (version.major === 19)
345
+ return '4.4';
346
+ if (version.major === 18)
347
+ return '4.3';
348
+ if (version.major === 17)
349
+ return '4.2';
350
+ if (version.major === 16)
351
+ return '4.1';
352
+ if (version.major === 15)
353
+ return '4.0.3';
354
+ if (version.major === 14)
355
+ return '4.0';
356
+ if (version.major === 13)
357
+ return '3.2';
358
+ if (version.major === 12)
359
+ return '3.1';
360
+ if (version.major === 11)
361
+ return '3.0';
362
+ if (version.major === 10)
363
+ return '2.3.3';
364
+ if (version.major === 9)
365
+ return '2.3';
366
+ if (version.major === 8)
367
+ return '2.2';
368
+ if (version.major === 7)
369
+ return '2.1';
370
+ if (version.major === 6)
371
+ return '2.0.1';
372
+ if (version.major === 5)
373
+ return '2.0';
374
+ if (version.major === 4)
375
+ return '1.6';
376
+ if (version.major === 3)
377
+ return '1.5';
378
+ if (version.major === 2)
379
+ return '1.1';
380
+ if (version.major === 1)
381
+ return '1.0';
382
+ return defaultValue;
383
+ }
262
384
  function resolveVersion(string, resolver) {
263
385
  if (typeof resolver === 'function')
264
386
  return resolver(string);
@@ -275,11 +397,6 @@
275
397
  return { brand: entry, version: '' };
276
398
  return { brand: entry.brand, version: entry.version };
277
399
  }
278
- function getUserAgent() {
279
- if (typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string')
280
- return navigator.userAgent;
281
- return '';
282
- }
283
400
  function getRenderer() {
284
401
  if (typeof globalThis.document === 'undefined')
285
402
  return '';
@@ -310,10 +427,7 @@
310
427
  function getIsWebview() {
311
428
  return /; ?wv|applewebkit(?!.*safari)/i.test(Platform.userAgent);
312
429
  }
313
- function getIsNode() {
314
- return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
315
- }
316
- function getNodeOSVersion(string) {
430
+ function getSemanticVersion(string) {
317
431
  var parts = string.split('.');
318
432
  return {
319
433
  major: parseInt(parts[0] || '0'),
@@ -361,84 +475,49 @@
361
475
  break;
362
476
  }
363
477
  }
364
- if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
478
+ if (Platform.isReactNative) {
365
479
  try {
366
- import('react-native')
367
- .then(function (reactNative) {
368
- console.log(reactNative.Platform);
369
- });
480
+ var reactNative = require('react-native');
481
+ var platform = reactNative.Platform;
482
+ var os = platform.OS;
483
+ var release = platform.Version;
484
+ var version = getSemanticVersion(release);
485
+ switch (os) {
486
+ case 'android':
487
+ Platform.os = OS.Android;
488
+ Platform.osVersion = resolveSemanticAndroidVersion(version, release);
489
+ break;
490
+ case 'ios':
491
+ Platform.os = OS.iOS;
492
+ Platform.osVersion = release;
493
+ break;
494
+ case 'windows':
495
+ Platform.os = OS.Windows;
496
+ Platform.osVersion = resolveSemanticWindowsVersion(version, release);
497
+ break;
498
+ case 'macos':
499
+ Platform.os = OS.MacOS;
500
+ Platform.osVersion = release;
501
+ break;
502
+ }
370
503
  }
371
504
  catch (_) {
372
505
  }
373
506
  }
374
- else if (Platform.isNodeJS) {
375
- require('os')
376
- .then(function (os) {
377
- if (os === null)
378
- return;
507
+ if (Platform.isNodeJS) {
508
+ try {
509
+ var os = require('os');
379
510
  var platform = os.platform();
380
511
  var release = os.release();
381
- var version = getNodeOSVersion(release);
512
+ var version = getSemanticVersion(release);
382
513
  switch (platform) {
383
514
  case 'win32':
384
515
  Platform.os = OS.Windows;
385
- if (version.major === 10 && version.minor === 0 && version.build >= 22000)
386
- Platform.osVersion = '11';
387
- else if (version.major === 10 && version.minor === 0 && version.build < 22000)
388
- Platform.osVersion = '10';
389
- else if (version.major === 6 && version.minor === 3)
390
- Platform.osVersion = '8.1';
391
- else if (version.major === 6 && version.minor === 2)
392
- Platform.osVersion = '8';
393
- else if (version.major === 6 && version.minor === 1)
394
- Platform.osVersion = '7';
395
- else if (version.major === 6 && version.minor === 0)
396
- Platform.osVersion = 'Vista';
397
- else if (version.major === 5 && version.minor === 1)
398
- Platform.osVersion = 'XP';
399
- else if (version.major === 5 && version.minor === 2)
400
- Platform.osVersion = 'XP';
401
- else if (version.major === 5 && version.minor === 0)
402
- Platform.osVersion = '2000';
403
- else if (version.major === 4 && version.minor === 90)
404
- Platform.osVersion = 'ME';
405
- else if (version.major === 4 && version.minor === 0)
406
- Platform.osVersion = 'NT 4.0';
407
- else if (version.major === 3 && version.minor === 51)
408
- Platform.osVersion = 'NT 3.11';
409
- else
410
- Platform.osVersion = release;
516
+ Platform.osVersion = resolveSemanticWindowsVersion(version, release);
411
517
  break;
412
518
  case 'darwin':
413
519
  Platform.os = OS.MacOS;
414
- if (version.major >= 24)
415
- Platform.osVersion = '' + (version.major - 9) + '.' + version.minor + '.' + version.build;
416
- else if (version.major === 23)
417
- Platform.osVersion = '14.' + version.minor + '.' + version.build;
418
- else if (version.major === 22)
419
- Platform.osVersion = '13.' + version.minor + '.' + version.build;
420
- else if (version.major === 21)
421
- Platform.osVersion = '12.' + version.minor + '.' + version.build;
422
- else if (version.major === 20)
423
- Platform.osVersion = '11.' + version.minor + '.' + version.build;
424
- else if (version.major === 19)
425
- Platform.osVersion = '10.15.' + version.minor;
426
- else if (version.major === 18)
427
- Platform.osVersion = '10.14.' + version.minor;
428
- else if (version.major === 17)
429
- Platform.osVersion = '10.13.' + version.minor;
430
- else if (version.major === 16)
431
- Platform.osVersion = '10.12.' + version.minor;
432
- else if (version.major === 15)
433
- Platform.osVersion = '10.11.' + version.minor;
434
- else if (version.major === 14)
435
- Platform.osVersion = '10.10.' + version.minor;
436
- else if (version.major === 13)
437
- Platform.osVersion = '10.9.' + version.minor;
438
- else if (version.major >= 5 && version.major <= 12)
439
- Platform.osVersion = '10.' + (version.major - 4) + '.' + version.minor;
440
- else
441
- Platform.osVersion = release;
520
+ Platform.osVersion = resolveSemanticDarwinVersion(version, release);
442
521
  break;
443
522
  case 'android':
444
523
  Platform.os = OS.Android;
@@ -451,7 +530,9 @@
451
530
  }
452
531
  break;
453
532
  }
454
- });
533
+ }
534
+ catch (_) {
535
+ }
455
536
  }
456
537
  if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
457
538
  navigator