native-fn 1.0.42 → 1.0.44

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 (62) hide show
  1. package/dist/native.cjs +372 -11
  2. package/dist/native.min.cjs +1 -1
  3. package/dist/native.min.mjs +1 -1
  4. package/dist/native.mjs +372 -11
  5. package/dist/native.umd.js +372 -11
  6. package/dist/native.umd.min.js +1 -1
  7. package/dist/plugin/app/index.cjs +317 -151
  8. package/dist/plugin/app/index.d.ts +5 -1
  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 +317 -151
  12. package/dist/plugin/app/index.umd.js +317 -151
  13. package/dist/plugin/app/index.umd.min.js +1 -1
  14. package/dist/plugin/app/src/constants/platform.d.ts +3 -13
  15. package/dist/plugin/app/src/plugin/app/types/app.d.ts +4 -0
  16. package/dist/plugin/app/src/types/platform.d.ts +17 -0
  17. package/dist/plugin/app/src/utils/create-hidden-element.d.ts +1 -1
  18. package/dist/plugin/camera/index.cjs +253 -86
  19. package/dist/plugin/camera/index.min.cjs +1 -1
  20. package/dist/plugin/camera/index.min.mjs +1 -1
  21. package/dist/plugin/camera/index.mjs +253 -86
  22. package/dist/plugin/camera/index.umd.js +253 -86
  23. package/dist/plugin/camera/index.umd.min.js +1 -1
  24. package/dist/plugin/camera/src/constants/platform.d.ts +3 -13
  25. package/dist/plugin/camera/src/plugin/app/types/app.d.ts +4 -0
  26. package/dist/plugin/camera/src/types/platform.d.ts +17 -0
  27. package/dist/plugin/camera/src/utils/create-hidden-element.d.ts +1 -1
  28. package/dist/plugin/clipboard/index.cjs +6 -0
  29. package/dist/plugin/clipboard/index.min.cjs +1 -1
  30. package/dist/plugin/clipboard/index.min.mjs +1 -1
  31. package/dist/plugin/clipboard/index.mjs +6 -0
  32. package/dist/plugin/clipboard/index.umd.js +6 -0
  33. package/dist/plugin/clipboard/index.umd.min.js +1 -1
  34. package/dist/plugin/clipboard/src/constants/platform.d.ts +3 -13
  35. package/dist/plugin/clipboard/src/plugin/app/types/app.d.ts +4 -0
  36. package/dist/plugin/clipboard/src/types/platform.d.ts +17 -0
  37. package/dist/plugin/clipboard/src/utils/create-hidden-element.d.ts +1 -1
  38. package/dist/plugin/fullscreen/index.cjs +246 -82
  39. package/dist/plugin/fullscreen/index.min.cjs +1 -1
  40. package/dist/plugin/fullscreen/index.min.mjs +1 -1
  41. package/dist/plugin/fullscreen/index.mjs +246 -82
  42. package/dist/plugin/fullscreen/index.umd.js +246 -82
  43. package/dist/plugin/fullscreen/index.umd.min.js +1 -1
  44. package/dist/plugin/fullscreen/src/constants/platform.d.ts +3 -13
  45. package/dist/plugin/fullscreen/src/plugin/app/types/app.d.ts +4 -0
  46. package/dist/plugin/fullscreen/src/types/platform.d.ts +17 -0
  47. package/dist/plugin/fullscreen/src/utils/create-hidden-element.d.ts +1 -1
  48. package/dist/plugin/theme/index.cjs +257 -91
  49. package/dist/plugin/theme/index.min.cjs +1 -1
  50. package/dist/plugin/theme/index.min.mjs +1 -1
  51. package/dist/plugin/theme/index.mjs +257 -91
  52. package/dist/plugin/theme/index.umd.js +257 -91
  53. package/dist/plugin/theme/index.umd.min.js +1 -1
  54. package/dist/plugin/theme/src/constants/platform.d.ts +3 -13
  55. package/dist/plugin/theme/src/plugin/app/types/app.d.ts +4 -0
  56. package/dist/plugin/theme/src/types/platform.d.ts +17 -0
  57. package/dist/plugin/theme/src/utils/create-hidden-element.d.ts +1 -1
  58. package/dist/src/constants/platform.d.ts +3 -13
  59. package/dist/src/plugin/app/types/app.d.ts +4 -0
  60. package/dist/src/types/platform.d.ts +17 -0
  61. package/dist/src/utils/create-hidden-element.d.ts +1 -1
  62. package/package.json +1 -8
@@ -4,7 +4,7 @@
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.42";
7
+ var version = "1.0.44";
8
8
  var packageJSON = {
9
9
  version: version};
10
10
 
@@ -116,14 +116,367 @@
116
116
  return Promise.resolve(null);
117
117
  }
118
118
  }
119
- return import(moduleName)
120
- .then(function (module) {
121
- return (module.default || module);
122
- })
123
- .catch(function () {
119
+ try {
120
+ return import(moduleName)
121
+ .then(function (module) {
122
+ return (module.default || module);
123
+ })
124
+ .catch(function () {
125
+ return Promise.resolve(null);
126
+ });
127
+ }
128
+ catch (_) {
124
129
  return Promise.resolve(null);
130
+ }
131
+ }
132
+
133
+ var OS;
134
+ (function (OS) {
135
+ OS["Unknown"] = "Unknown";
136
+ OS["Android"] = "Android";
137
+ OS["iOS"] = "iOS";
138
+ OS["Windows"] = "Windows";
139
+ OS["MacOS"] = "MacOS";
140
+ })(OS || (OS = {}));
141
+ var Devices;
142
+ (function (Devices) {
143
+ Devices["Unknown"] = "Unknown";
144
+ Devices["Mobile"] = "Mobile";
145
+ Devices["Desktop"] = "Desktop";
146
+ })(Devices || (Devices = {}));
147
+ var Engines;
148
+ (function (Engines) {
149
+ Engines["Unknown"] = "Unknown";
150
+ Engines["EdgeHTML"] = "EdgeHTML";
151
+ Engines["ArkWeb"] = "ArkWeb";
152
+ Engines["Blink"] = "Blink";
153
+ Engines["Presto"] = "Presto";
154
+ Engines["WebKit"] = "WebKit";
155
+ Engines["Trident"] = "Trident";
156
+ Engines["NetFront"] = "NetFront";
157
+ Engines["KHTML"] = "KHTML";
158
+ Engines["Tasman"] = "Tasman";
159
+ Engines["Gecko"] = "Gecko";
160
+ })(Engines || (Engines = {}));
161
+ var Browsers;
162
+ (function (Browsers) {
163
+ Browsers["Unknown"] = "Unknown";
164
+ Browsers["Chrome"] = "Chrome";
165
+ Browsers["Safari"] = "Safari";
166
+ Browsers["Edge"] = "Edge";
167
+ Browsers["Firefox"] = "Firefox";
168
+ Browsers["Opera"] = "Opera";
169
+ Browsers["IE"] = "IE";
170
+ Browsers["SamsungInternet"] = "SamsungInternet";
171
+ })(Browsers || (Browsers = {}));
172
+ var Platform = {
173
+ device: Devices.Unknown,
174
+ os: OS.Unknown,
175
+ osVersion: '',
176
+ engine: Engines.Unknown,
177
+ engineVersion: '',
178
+ browser: Browsers.Unknown,
179
+ browserVersion: '',
180
+ renderer: getRenderer(),
181
+ userAgent: navigator.userAgent,
182
+ isWebview: false,
183
+ isMobile: false,
184
+ isDesktop: false,
185
+ isStandalone: false,
186
+ isNodeJS: getIsNode(),
187
+ };
188
+ var OS_RESOLVER_MAP = [
189
+ [/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
190
+ [/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
191
+ [/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i, OS.Windows, resolveWindowsVersion],
192
+ [/windows nt ?([\d.)]*)(?!.+xbox)/i, OS.Windows, resolveWindowsVersion],
193
+ [/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i, OS.Windows, resolveWindowsVersion],
194
+ [/windows ce\/?([\d.]*)/i, OS.Windows, resolveWindowsVersion],
195
+ [/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i, OS.iOS, resolveUnderscoreVersion],
196
+ [/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i, OS.iOS, resolveUnderscoreVersion],
197
+ [/cfnetwork\/.+darwin/i, OS.iOS, resolveUnderscoreVersion],
198
+ [/mac os x ?([\w. ]*)/i, OS.MacOS, resolveUnderscoreVersion],
199
+ [/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i, OS.MacOS, resolveUnderscoreVersion],
200
+ [/droid ([\w.]+)\b.+(android[- ]x86)/i, OS.Android],
201
+ [/android\w*[-\/.; ]?([\d.]*)/i, OS.Android],
202
+ ];
203
+ var ENGINE_RESOLVER_MAP = [
204
+ [/windows.+ edge\/([\w.]+)/i, Engines.EdgeHTML],
205
+ [/arkweb\/([\w.]+)/i, Engines.ArkWeb],
206
+ [/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i, Engines.Blink],
207
+ [/presto\/([\w.]+)/i, Engines.Presto],
208
+ [/webkit\/([\w.]+)/i, Engines.WebKit],
209
+ [/trident\/([\w.]+)/i, Engines.Trident],
210
+ [/netfront\/([\w.]+)/i, Engines.NetFront],
211
+ [/khtml[\/ ]\(?([\w.]+)/i, Engines.KHTML],
212
+ [/tasman[\/ ]\(?([\w.]+)/i, Engines.Tasman],
213
+ [/rv:([\w.]{1,9})\b.+gecko/i, Engines.Gecko]
214
+ ];
215
+ var BROWSER_RESOLVER_MAP = [
216
+ [/\b(?:crmo|crios)\/([\w.]+)/i, Browsers.Chrome],
217
+ [/webview.+edge\/([\w.]+)/i, Browsers.Edge],
218
+ [/edg(?:e|ios|a)?\/([\w.]+)/i, Browsers.Edge],
219
+ [/opera mini\/([-\w.]+)/i, Browsers.Opera],
220
+ [/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i, Browsers.Opera],
221
+ [/opera(?:.+version\/|[\/ ]+)([\w.]+)/i, Browsers.Opera],
222
+ [/opios[\/ ]+([\w.]+)/i, Browsers.Opera],
223
+ [/\bop(?:rg)?x\/([\w.]+)/i, Browsers.Opera],
224
+ [/\bopr\/([\w.]+)/i, Browsers.Opera],
225
+ [/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i, Browsers.IE],
226
+ [/(?:ms|\()ie ([\w.]+)/i, Browsers.IE],
227
+ [/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i, Browsers.IE],
228
+ [/\bfocus\/([\w.]+)/i, Browsers.Firefox],
229
+ [/\bopt\/([\w.]+)/i, Browsers.Opera],
230
+ [/coast\/([\w.]+)/i, Browsers.Opera],
231
+ [/fxios\/([\w.-]+)/i, Browsers.Firefox],
232
+ [/samsungbrowser\/([\w.]+)/i, Browsers.SamsungInternet],
233
+ [/headlesschrome(?:\/([\w.]+)| )/i, Browsers.Chrome],
234
+ [/wv\).+chrome\/([\w.]+).+edgw\//i, Browsers.Edge],
235
+ [/ wv\).+(chrome)\/([\w.]+)/i, Browsers.Chrome],
236
+ [/chrome\/([\w.]+) mobile/i, Browsers.Chrome],
237
+ [/chrome\/v?([\w.]+)/i, Browsers.Chrome],
238
+ [/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
239
+ [/iphone .*mobile(?:\/\w+ | ?)safari/i, Browsers.Safari],
240
+ [/version\/([\w.,]+) .*safari/i, Browsers.Safari],
241
+ [/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i, Browsers.Safari, '1'],
242
+ [/(?:mobile|tablet);.*firefox\/([\w.-]+)/i, Browsers.Firefox],
243
+ [/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
244
+ [/firefox\/([\w.]+)/i, Browsers.Firefox],
245
+ ];
246
+ function resolveWindowsVersion(string) {
247
+ if (string === undefined)
248
+ return '';
249
+ var mapped = {
250
+ '4.90': 'ME',
251
+ 'NT3.51': 'NT 3.11',
252
+ 'NT4.0': 'NT 4.0',
253
+ 'NT 5.0': '2000',
254
+ 'NT 5.1': 'XP',
255
+ 'NT 5.2': 'XP',
256
+ 'NT 6.0': 'Vista',
257
+ 'NT 6.1': '7',
258
+ 'NT 6.2': '8',
259
+ 'NT 6.3': '8.1',
260
+ 'NT 6.4': '10',
261
+ 'NT 10.0': '10',
262
+ 'ARM': 'RT'
263
+ }[string];
264
+ if (mapped !== undefined)
265
+ return mapped;
266
+ return string;
267
+ }
268
+ function resolveUnderscoreVersion(string) {
269
+ if (string === undefined)
270
+ return '';
271
+ return string.replace(/_/g, '.');
272
+ }
273
+ function resolveVersion(string, resolver) {
274
+ if (typeof resolver === 'function')
275
+ return resolver(string);
276
+ if (typeof resolver === 'string')
277
+ return resolver;
278
+ if (string === undefined)
279
+ return '';
280
+ return string;
281
+ }
282
+ function normalizeBrand(entry) {
283
+ if (entry === null || entry === undefined)
284
+ return { brand: '', version: '' };
285
+ if (typeof entry === 'string')
286
+ return { brand: entry, version: '' };
287
+ return { brand: entry.brand, version: entry.version };
288
+ }
289
+ function getRenderer() {
290
+ if (typeof globalThis.document === 'undefined')
291
+ return '';
292
+ var canvas = globalThis.document.createElement('canvas');
293
+ if (typeof canvas.getContext !== 'function')
294
+ return '';
295
+ var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
296
+ if (context === null)
297
+ return '';
298
+ if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
299
+ var extension = context.getExtension('WEBGL_debug_renderer_info');
300
+ if (extension === null)
301
+ return context.getParameter(context.RENDERER);
302
+ else
303
+ return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
304
+ }
305
+ else {
306
+ return '';
307
+ }
308
+ }
309
+ function getIsStandalone(os) {
310
+ if (!('matchMedia' in globalThis))
311
+ return false;
312
+ if (os === OS.iOS)
313
+ return 'standalone' in navigator && !!navigator.standalone;
314
+ return globalThis.matchMedia('(display-mode: standalone)').matches;
315
+ }
316
+ function getIsWebview() {
317
+ return /; ?wv|applewebkit(?!.*safari)/i.test(Platform.userAgent);
318
+ }
319
+ function getIsNode() {
320
+ return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
321
+ }
322
+ function getNodeOSVersion(string) {
323
+ var parts = string.split('.');
324
+ return {
325
+ major: parseInt(parts[0] || '0'),
326
+ minor: parseInt(parts[1] || '0'),
327
+ build: parseInt(parts[2] || '0')
328
+ };
329
+ }
330
+ for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
331
+ var map = OS_RESOLVER_MAP[i];
332
+ var regexp = map[0];
333
+ var os = map[1];
334
+ var resolver = map[2];
335
+ var matched = Platform.userAgent.match(regexp);
336
+ if (matched !== null) {
337
+ Platform.os = os;
338
+ Platform.osVersion = resolveVersion(matched[1], resolver);
339
+ if (os === OS.iOS || os === OS.Android)
340
+ Platform.device = Devices.Mobile;
341
+ else if (os === OS.Windows || os === OS.MacOS)
342
+ Platform.device = Devices.Desktop;
343
+ break;
344
+ }
345
+ }
346
+ for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
347
+ var map = ENGINE_RESOLVER_MAP[i];
348
+ var regexp = map[0];
349
+ var engine = map[1];
350
+ var resolver = map[2];
351
+ var matched = Platform.userAgent.match(regexp);
352
+ if (matched !== null) {
353
+ Platform.engine = engine;
354
+ Platform.engineVersion = resolveVersion(matched[1], resolver);
355
+ break;
356
+ }
357
+ }
358
+ for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
359
+ var map = BROWSER_RESOLVER_MAP[i];
360
+ var regexp = map[0];
361
+ var browser = map[1];
362
+ var resolver = map[2];
363
+ var matched = Platform.userAgent.match(regexp);
364
+ if (matched !== null) {
365
+ Platform.browser = browser;
366
+ Platform.browserVersion = resolveVersion(matched[1], resolver);
367
+ break;
368
+ }
369
+ }
370
+ if (Platform.isNodeJS) {
371
+ dynamicImport('os')
372
+ .then(function (os) {
373
+ if (os === null)
374
+ return;
375
+ var platform = os.platform();
376
+ var release = os.release();
377
+ var version = getNodeOSVersion(release);
378
+ switch (platform) {
379
+ case 'win32':
380
+ Platform.os = OS.Windows;
381
+ if (version.major === 10 && version.minor === 0 && version.build >= 22000)
382
+ Platform.osVersion = '11';
383
+ else if (version.major === 10 && version.minor === 0 && version.build < 22000)
384
+ Platform.osVersion = '10';
385
+ else if (version.major === 6 && version.minor === 3)
386
+ Platform.osVersion = '8.1';
387
+ else if (version.major === 6 && version.minor === 2)
388
+ Platform.osVersion = '8';
389
+ else if (version.major === 6 && version.minor === 1)
390
+ Platform.osVersion = '7';
391
+ else if (version.major === 6 && version.minor === 0)
392
+ Platform.osVersion = 'Vista';
393
+ else if (version.major === 5 && version.minor === 1)
394
+ Platform.osVersion = 'XP';
395
+ else if (version.major === 5 && version.minor === 2)
396
+ Platform.osVersion = 'XP';
397
+ else if (version.major === 5 && version.minor === 0)
398
+ Platform.osVersion = '2000';
399
+ else if (version.major === 4 && version.minor === 90)
400
+ Platform.osVersion = 'ME';
401
+ else if (version.major === 4 && version.minor === 0)
402
+ Platform.osVersion = 'NT 4.0';
403
+ else if (version.major === 3 && version.minor === 51)
404
+ Platform.osVersion = 'NT 3.11';
405
+ else
406
+ Platform.osVersion = release;
407
+ break;
408
+ case 'darwin':
409
+ Platform.os = OS.MacOS;
410
+ if (version.major >= 24)
411
+ Platform.osVersion = '' + (version.major - 9) + '.' + version.minor + '.' + version.build;
412
+ else if (version.major === 23)
413
+ Platform.osVersion = '14.' + version.minor + '.' + version.build;
414
+ else if (version.major === 22)
415
+ Platform.osVersion = '13.' + version.minor + '.' + version.build;
416
+ else if (version.major === 21)
417
+ Platform.osVersion = '12.' + version.minor + '.' + version.build;
418
+ else if (version.major === 20)
419
+ Platform.osVersion = '11.' + version.minor + '.' + version.build;
420
+ else if (version.major === 19)
421
+ Platform.osVersion = '10.15.' + version.minor;
422
+ else if (version.major === 18)
423
+ Platform.osVersion = '10.14.' + version.minor;
424
+ else if (version.major === 17)
425
+ Platform.osVersion = '10.13.' + version.minor;
426
+ else if (version.major === 16)
427
+ Platform.osVersion = '10.12.' + version.minor;
428
+ else if (version.major === 15)
429
+ Platform.osVersion = '10.11.' + version.minor;
430
+ else if (version.major === 14)
431
+ Platform.osVersion = '10.10.' + version.minor;
432
+ else if (version.major === 13)
433
+ Platform.osVersion = '10.9.' + version.minor;
434
+ else if (version.major >= 5 && version.major <= 12)
435
+ Platform.osVersion = '10.' + (version.major - 4) + '.' + version.minor;
436
+ else
437
+ Platform.osVersion = release;
438
+ break;
439
+ case 'android':
440
+ Platform.os = OS.Android;
441
+ Platform.osVersion = release;
442
+ break;
443
+ case 'linux':
444
+ if (/android/i.test(release)) {
445
+ Platform.os = OS.Android;
446
+ Platform.osVersion = release;
447
+ }
448
+ break;
449
+ }
450
+ });
451
+ }
452
+ if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
453
+ navigator
454
+ .userAgentData
455
+ .getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
456
+ .then(function (result) {
457
+ var brands = result.fullVersionList || result.brands || [];
458
+ var platformVersion = result.platformVersion;
459
+ for (var i = 0; i < brands.length; i++) {
460
+ var brand = normalizeBrand(brands[i]);
461
+ var brandName = brand.brand;
462
+ var brandVersion = brand.version;
463
+ if (/not.a.brand/i.test(brandName))
464
+ continue;
465
+ if (brandName === "Chromium")
466
+ Platform.engineVersion = brandVersion;
467
+ }
468
+ if (typeof platformVersion === 'string') {
469
+ if (Platform.os === OS.Windows && parseInt(platformVersion.replace(/[^\d.]/g, '').split('.')[0], 10) >= 13)
470
+ Platform.osVersion = '11';
471
+ else
472
+ Platform.osVersion = platformVersion;
473
+ }
125
474
  });
126
475
  }
476
+ Platform.isMobile = Platform.device === Devices.Mobile;
477
+ Platform.isDesktop = Platform.device === Devices.Desktop;
478
+ Platform.isWebview = getIsWebview();
479
+ Platform.isStandalone = getIsStandalone(Platform.os);
127
480
 
128
481
  (function () {
129
482
  if (typeof globalThis === 'object')
@@ -166,11 +519,19 @@
166
519
  throw new PluginNotExtendedError(prop.toString() + ' is not extended yet. Call Native.extends(plugin) first.');
167
520
  }
168
521
  });
169
- dynamicImport('electron')
170
- .then(function (electron) {
171
- if (electron !== null)
172
- console.log(electron.shell);
173
- });
522
+ var NativePlatformPlugin = {
523
+ installed: false,
524
+ name: 'Platform',
525
+ module: Platform,
526
+ Constants: {
527
+ OS: OS,
528
+ Devices: Devices,
529
+ Engines: Engines,
530
+ Browsers: Browsers,
531
+ },
532
+ Errors: {}
533
+ };
534
+ Native.extends(NativePlatformPlugin);
174
535
 
175
536
  return Native;
176
537
 
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Native=t()}(this,(function(){"use strict";var e="1.0.42";function t(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=Object(e[0]),o=1;o<e.length;o++){var n=e[o];if(null!=n)for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&"__proto__"!==i&&"constructor"!==i&&"prototype"!==i&&(r[i]=n[i])}return r}var r=function(e,t){function r(o){if(!(this instanceof r))return new r(o);var n=new t(o||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(n,r.prototype):n.__proto__=r.prototype,n.name=e,void 0!==o&&(n.message=o),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(n,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(n,r);else if(t.captureStackTrace&&"function"==typeof t.captureStackTrace)t.captureStackTrace(n,r);else try{var i=new t;i.stack&&(n.stack=i.stack)}catch(e){}return n}void 0===t&&(t=Error),r.prototype=Object.create(t.prototype,{constructor:{value:r,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(r.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(t){try{r.prototype.name=e}catch(e){}}try{Object.defineProperty(r,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return r}("PluginNotExtendedError");!function(){if("object"!=typeof globalThis){Object.defineProperty(Object.prototype,"__getGlobalThis__",{get:function(){return this},configurable:!0});try{var e=__getGlobalThis__;Object.defineProperty(e,"globalThis",{value:e,writable:!0,configurable:!0})}finally{delete Object.prototype.__getGlobalThis__}}}();var o=new Proxy({Version:e,Constants:{},Errors:{PluginNotExtendedError:r},extends:function(e){return e.installed||(this.Constants=t(this.Constants,e.Constants),this.Errors=t(this.Errors,e.Errors),this[e.name]=e.module,e.installed=!0),this}},{get:function(e,t,o){if(t in e)return Reflect.get(e,t,o);throw new r(t.toString()+" is not extended yet. Call Native.extends(plugin) first.")}});return function(e){if("require"in globalThis&&"function"==typeof globalThis.require)try{return Promise.resolve(globalThis.require(e))}catch(e){return Promise.resolve(null)}return import(e).then((function(e){return e.default||e})).catch((function(){return Promise.resolve(null)}))}("electron").then((function(e){null!==e&&console.log(e.shell)})),o}));
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).Native=r()}(this,(function(){"use strict";var e="1.0.44";function r(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];for(var o=Object(e[0]),i=1;i<e.length;i++){var n=e[i];if(null!=n)for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&"__proto__"!==t&&"constructor"!==t&&"prototype"!==t&&(o[t]=n[t])}return o}var o,i,n,t,a=function(e,r){function o(i){if(!(this instanceof o))return new o(i);var n=new r(i||"");if("function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(n,o.prototype):n.__proto__=o.prototype,n.name=e,void 0!==i&&(n.message=i),"undefined"!=typeof Symbol&&Symbol.toStringTag)try{Object.defineProperty(n,Symbol.toStringTag,{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}if("function"==typeof Error.captureStackTrace)Error.captureStackTrace(n,o);else if(r.captureStackTrace&&"function"==typeof r.captureStackTrace)r.captureStackTrace(n,o);else try{var t=new r;t.stack&&(n.stack=t.stack)}catch(e){}return n}void 0===r&&(r=Error),o.prototype=Object.create(r.prototype,{constructor:{value:o,writable:!0,enumerable:!1,configurable:!0}});try{Object.defineProperty(o.prototype,"name",{value:e,writable:!0,enumerable:!1,configurable:!0})}catch(r){try{o.prototype.name=e}catch(e){}}try{Object.defineProperty(o,"name",{value:e,writable:!1,enumerable:!1,configurable:!0})}catch(e){}return o}("PluginNotExtendedError");!function(e){e.Unknown="Unknown",e.Android="Android",e.iOS="iOS",e.Windows="Windows",e.MacOS="MacOS"}(o||(o={})),function(e){e.Unknown="Unknown",e.Mobile="Mobile",e.Desktop="Desktop"}(i||(i={})),function(e){e.Unknown="Unknown",e.EdgeHTML="EdgeHTML",e.ArkWeb="ArkWeb",e.Blink="Blink",e.Presto="Presto",e.WebKit="WebKit",e.Trident="Trident",e.NetFront="NetFront",e.KHTML="KHTML",e.Tasman="Tasman",e.Gecko="Gecko"}(n||(n={})),function(e){e.Unknown="Unknown",e.Chrome="Chrome",e.Safari="Safari",e.Edge="Edge",e.Firefox="Firefox",e.Opera="Opera",e.IE="IE",e.SamsungInternet="SamsungInternet"}(t||(t={}));var s={device:i.Unknown,os:o.Unknown,osVersion:"",engine:n.Unknown,engineVersion:"",browser:t.Unknown,browserVersion:"",renderer:function(){if(void 0===globalThis.document)return"";var e=globalThis.document.createElement("canvas");if("function"!=typeof e.getContext)return"";var r=e.getContext("webgl2")||e.getContext("experimental-webgl")||e.getContext("webgl");if(null===r)return"";if(r instanceof WebGLRenderingContext||"getParameter"in r&&"function"==typeof r.getParameter){var o=r.getExtension("WEBGL_debug_renderer_info");return null===o?r.getParameter(r.RENDERER):r.getParameter(o.UNMASKED_RENDERER_WEBGL)}return""}(),userAgent:navigator.userAgent,isWebview:!1,isMobile:!1,isDesktop:!1,isStandalone:!1,isNodeJS:void 0!==globalThis.process&&void 0!==globalThis.process.versions&&void 0!==globalThis.process.versions.node},l=[[/windows nt (6\.[23]); arm/i,o.Windows,m],[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i,o.Windows,m],[/windows[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i,o.Windows,m],[/windows nt ?([\d.)]*)(?!.+xbox)/i,o.Windows,m],[/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d.;]*)/i,o.Windows,m],[/windows ce\/?([\d.]*)/i,o.Windows,m],[/[adehimnop]{4,7}\b(?:.*os (\w+) like mac|; opera)/i,o.iOS,u],[/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w.]+)/i,o.iOS,u],[/cfnetwork\/.+darwin/i,o.iOS,u],[/mac os x ?([\w. ]*)/i,o.MacOS,u],[/(?:macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i,o.MacOS,u],[/droid ([\w.]+)\b.+(android[- ]x86)/i,o.Android],[/android\w*[-\/.; ]?([\d.]*)/i,o.Android]],d=[[/windows.+ edge\/([\w.]+)/i,n.EdgeHTML],[/arkweb\/([\w.]+)/i,n.ArkWeb],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i,n.Blink],[/presto\/([\w.]+)/i,n.Presto],[/webkit\/([\w.]+)/i,n.WebKit],[/trident\/([\w.]+)/i,n.Trident],[/netfront\/([\w.]+)/i,n.NetFront],[/khtml[\/ ]\(?([\w.]+)/i,n.KHTML],[/tasman[\/ ]\(?([\w.]+)/i,n.Tasman],[/rv:([\w.]{1,9})\b.+gecko/i,n.Gecko]],c=[[/\b(?:crmo|crios)\/([\w.]+)/i,t.Chrome],[/webview.+edge\/([\w.]+)/i,t.Edge],[/edg(?:e|ios|a)?\/([\w.]+)/i,t.Edge],[/opera mini\/([-\w.]+)/i,t.Opera],[/opera [mobileta]{3,6}\b.+version\/([-\w.]+)/i,t.Opera],[/opera(?:.+version\/|[\/ ]+)([\w.]+)/i,t.Opera],[/opios[\/ ]+([\w.]+)/i,t.Opera],[/\bop(?:rg)?x\/([\w.]+)/i,t.Opera],[/\bopr\/([\w.]+)/i,t.Opera],[/iemobile(?:browser|boat|jet)[\/ ]?([\d.]*)/i,t.IE],[/(?:ms|\()ie ([\w.]+)/i,t.IE],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i,t.IE],[/\bfocus\/([\w.]+)/i,t.Firefox],[/\bopt\/([\w.]+)/i,t.Opera],[/coast\/([\w.]+)/i,t.Opera],[/fxios\/([\w.-]+)/i,t.Firefox],[/samsungbrowser\/([\w.]+)/i,t.SamsungInternet],[/headlesschrome(?:\/([\w.]+)| )/i,t.Chrome],[/wv\).+chrome\/([\w.]+).+edgw\//i,t.Edge],[/ wv\).+(chrome)\/([\w.]+)/i,t.Chrome],[/chrome\/([\w.]+) mobile/i,t.Chrome],[/chrome\/v?([\w.]+)/i,t.Chrome],[/version\/([\w.,]+) .*mobile(?:\/\w+ | ?)safari/i,t.Safari],[/iphone .*mobile(?:\/\w+ | ?)safari/i,t.Safari],[/version\/([\w.,]+) .*safari/i,t.Safari],[/webkit.+?(?:mobile ?safari|safari)(\/[\w.]+)/i,t.Safari,"1"],[/(?:mobile|tablet);.*firefox\/([\w.-]+)/i,t.Firefox],[/mobile vr; rv:([\w.]+)\).+firefox/i,t.Firefox],[/firefox\/([\w.]+)/i,t.Firefox]];function m(e){if(void 0===e)return"";var r={"4.90":"ME","NT3.51":"NT 3.11","NT4.0":"NT 4.0","NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"XP","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 6.4":"10","NT 10.0":"10",ARM:"RT"}[e];return void 0!==r?r:e}function u(e){return void 0===e?"":e.replace(/_/g,".")}function f(e,r){return"function"==typeof r?r(e):"string"==typeof r?r:void 0===e?"":e}for(var b=0;b<l.length;b++){var w=(h=l[b])[0],p=h[1],g=h[2];if(null!==(k=s.userAgent.match(w))){s.os=p,s.osVersion=f(k[1],g),p===o.iOS||p===o.Android?s.device=i.Mobile:p!==o.Windows&&p!==o.MacOS||(s.device=i.Desktop);break}}for(b=0;b<d.length;b++){w=(h=d[b])[0];var v=h[1];g=h[2];if(null!==(k=s.userAgent.match(w))){s.engine=v,s.engineVersion=f(k[1],g);break}}for(b=0;b<c.length;b++){w=(h=c[b])[0];var h,k,T=h[1];g=h[2];if(null!==(k=s.userAgent.match(w))){s.browser=T,s.browserVersion=f(k[1],g);break}}s.isNodeJS&&function(e){if("require"in globalThis&&"function"==typeof globalThis.require)try{return Promise.resolve(globalThis.require(e))}catch(e){return Promise.resolve(null)}try{return import(e).then((function(e){return e.default||e})).catch((function(){return Promise.resolve(null)}))}catch(e){return Promise.resolve(null)}}("os").then((function(e){if(null!==e){var r,i=e.platform(),n=e.release(),t=(r=n.split("."),{major:parseInt(r[0]||"0"),minor:parseInt(r[1]||"0"),build:parseInt(r[2]||"0")});switch(i){case"win32":s.os=o.Windows,s.osVersion=10===t.major&&0===t.minor&&t.build>=22e3?"11":10===t.major&&0===t.minor&&t.build<22e3?"10":6===t.major&&3===t.minor?"8.1":6===t.major&&2===t.minor?"8":6===t.major&&1===t.minor?"7":6===t.major&&0===t.minor?"Vista":5===t.major&&1===t.minor||5===t.major&&2===t.minor?"XP":5===t.major&&0===t.minor?"2000":4===t.major&&90===t.minor?"ME":4===t.major&&0===t.minor?"NT 4.0":3===t.major&&51===t.minor?"NT 3.11":n;break;case"darwin":s.os=o.MacOS,s.osVersion=t.major>=24?t.major-9+"."+t.minor+"."+t.build:23===t.major?"14."+t.minor+"."+t.build:22===t.major?"13."+t.minor+"."+t.build:21===t.major?"12."+t.minor+"."+t.build:20===t.major?"11."+t.minor+"."+t.build:19===t.major?"10.15."+t.minor:18===t.major?"10.14."+t.minor:17===t.major?"10.13."+t.minor:16===t.major?"10.12."+t.minor:15===t.major?"10.11."+t.minor:14===t.major?"10.10."+t.minor:13===t.major?"10.9."+t.minor:t.major>=5&&t.major<=12?"10."+(t.major-4)+"."+t.minor:n;break;case"android":s.os=o.Android,s.osVersion=n;break;case"linux":/android/i.test(n)&&(s.os=o.Android,s.osVersion=n)}}})),void 0!==navigator.userAgentData&&void 0!==navigator.userAgentData.getHighEntropyValues&&navigator.userAgentData.getHighEntropyValues(["brands","fullVersionList","mobile","model","platform","platformVersion","architecture","formFactors","bitness","uaFullVersion","wow64"]).then((function(e){for(var r,i=e.fullVersionList||e.brands||[],n=e.platformVersion,t=0;t<i.length;t++){var a=null==(r=i[t])?{brand:"",version:""}:"string"==typeof r?{brand:r,version:""}:{brand:r.brand,version:r.version},l=a.brand,d=a.version;/not.a.brand/i.test(l)||"Chromium"===l&&(s.engineVersion=d)}"string"==typeof n&&(s.os===o.Windows&&parseInt(n.replace(/[^\d.]/g,"").split(".")[0],10)>=13?s.osVersion="11":s.osVersion=n)})),s.isMobile=s.device===i.Mobile,s.isDesktop=s.device===i.Desktop,s.isWebview=/; ?wv|applewebkit(?!.*safari)/i.test(s.userAgent),s.isStandalone=function(e){return"matchMedia"in globalThis&&(e===o.iOS?"standalone"in navigator&&!!navigator.standalone:globalThis.matchMedia("(display-mode: standalone)").matches)}(s.os),function(){if("object"!=typeof globalThis){Object.defineProperty(Object.prototype,"__getGlobalThis__",{get:function(){return this},configurable:!0});try{var e=__getGlobalThis__;Object.defineProperty(e,"globalThis",{value:e,writable:!0,configurable:!0})}finally{delete Object.prototype.__getGlobalThis__}}}();var y=new Proxy({Version:e,Constants:{},Errors:{PluginNotExtendedError:a},extends:function(e){return e.installed||(this.Constants=r(this.Constants,e.Constants),this.Errors=r(this.Errors,e.Errors),this[e.name]=e.module,e.installed=!0),this}},{get:function(e,r,o){if(r in e)return Reflect.get(e,r,o);throw new a(r.toString()+" is not extended yet. Call Native.extends(plugin) first.")}}),j={installed:!1,name:"Platform",module:s,Constants:{OS:o,Devices:i,Engines:n,Browsers:t},Errors:{}};return y.extends(j),y}));