@rn-bridge-tools/expo 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,19 +1,56 @@
1
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
- }) : x)(function(x) {
4
- if (typeof require !== "undefined") return require.apply(this, arguments);
5
- throw Error('Dynamic require of "' + x + '" is not supported');
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ WebViewBridge: () => WebViewBridge,
24
+ authHandlers: () => authHandlers,
25
+ browserHandlers: () => browserHandlers,
26
+ cameraHandlers: () => cameraHandlers,
27
+ clipboardHandlers: () => clipboardHandlers,
28
+ createDefaultHandlers: () => createDefaultHandlers,
29
+ deviceHandlers: () => deviceHandlers,
30
+ fileHandlers: () => fileHandlers,
31
+ hapticHandlers: () => hapticHandlers,
32
+ iapHandlers: () => iapHandlers,
33
+ keyboardHandlers: () => keyboardHandlers,
34
+ locationHandlers: () => locationHandlers,
35
+ navigationHandlers: () => navigationHandlers,
36
+ permissionHandlers: () => permissionHandlers,
37
+ preferenceHandlers: () => preferenceHandlers,
38
+ pushHandlers: () => pushHandlers,
39
+ scannerHandlers: () => scannerHandlers,
40
+ shareHandlers: () => shareHandlers,
41
+ statusbarHandlers: () => statusbarHandlers
6
42
  });
43
+ module.exports = __toCommonJS(index_exports);
7
44
 
8
45
  // src/WebViewBridge.tsx
9
- import { forwardRef, useImperativeHandle, useMemo, useRef } from "react";
10
- import { bridge, createWebView } from "@webview-bridge/react-native";
11
- import { jsx } from "react/jsx-runtime";
12
- var WebViewBridge = forwardRef(
46
+ var import_react = require("react");
47
+ var import_react_native = require("@webview-bridge/react-native");
48
+ var import_jsx_runtime = require("react/jsx-runtime");
49
+ var WebViewBridge = (0, import_react.forwardRef)(
13
50
  function WebViewBridge2({ handlers, customHandlers, ...webViewProps }, ref) {
14
- const handlersRef = useRef(handlers);
15
- const customRef = useRef(customHandlers);
16
- const { InternalWebView, postMessage } = useMemo(() => {
51
+ const handlersRef = (0, import_react.useRef)(handlers);
52
+ const customRef = (0, import_react.useRef)(customHandlers);
53
+ const { InternalWebView, postMessage } = (0, import_react.useMemo)(() => {
17
54
  const allHandlers = {};
18
55
  const mergedHandlers = { ...handlersRef.current, ...customRef.current };
19
56
  for (const [key, handler] of Object.entries(mergedHandlers)) {
@@ -24,14 +61,14 @@ var WebViewBridge = forwardRef(
24
61
  };
25
62
  }
26
63
  }
27
- const appBridge = bridge(allHandlers);
28
- const result = createWebView({
64
+ const appBridge = (0, import_react_native.bridge)(allHandlers);
65
+ const result = (0, import_react_native.createWebView)({
29
66
  bridge: appBridge,
30
67
  debug: __DEV__ ?? false
31
68
  });
32
69
  return { InternalWebView: result.WebView, postMessage: result.postMessage };
33
70
  }, []);
34
- useImperativeHandle(
71
+ (0, import_react.useImperativeHandle)(
35
72
  ref,
36
73
  () => ({
37
74
  emit: (event, data) => {
@@ -40,7 +77,7 @@ var WebViewBridge = forwardRef(
40
77
  }),
41
78
  [postMessage]
42
79
  );
43
- return /* @__PURE__ */ jsx(InternalWebView, { ...webViewProps });
80
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(InternalWebView, { ...webViewProps });
44
81
  }
45
82
  );
46
83
 
@@ -49,7 +86,7 @@ var cameraHandlers = {
49
86
  "camera.take": async (payload) => {
50
87
  let ImagePicker = null;
51
88
  try {
52
- ImagePicker = __require("expo-image-picker");
89
+ ImagePicker = require("expo-image-picker");
53
90
  } catch {
54
91
  }
55
92
  if (!ImagePicker) return { success: false, error: "MODULE_NOT_INSTALLED: expo-image-picker" };
@@ -74,7 +111,7 @@ var cameraHandlers = {
74
111
  "camera.pickImage": async (payload) => {
75
112
  let ImagePicker = null;
76
113
  try {
77
- ImagePicker = __require("expo-image-picker");
114
+ ImagePicker = require("expo-image-picker");
78
115
  } catch {
79
116
  }
80
117
  if (!ImagePicker) return { success: false, error: "MODULE_NOT_INSTALLED: expo-image-picker" };
@@ -106,7 +143,7 @@ var locationHandlers = {
106
143
  "location.getCurrent": async (payload) => {
107
144
  let Location = null;
108
145
  try {
109
- Location = __require("expo-location");
146
+ Location = require("expo-location");
110
147
  } catch {
111
148
  }
112
149
  if (!Location) return { success: false, error: "MODULE_NOT_INSTALLED: expo-location" };
@@ -131,7 +168,7 @@ var locationHandlers = {
131
168
  "location.watchStart": async (payload) => {
132
169
  let Location = null;
133
170
  try {
134
- Location = __require("expo-location");
171
+ Location = require("expo-location");
135
172
  } catch {
136
173
  }
137
174
  if (!Location) return { success: false, error: "MODULE_NOT_INSTALLED: expo-location" };
@@ -170,7 +207,7 @@ var fileHandlers = {
170
207
  "file.download": async (payload) => {
171
208
  let FS = null;
172
209
  try {
173
- FS = __require("expo-file-system");
210
+ FS = require("expo-file-system");
174
211
  } catch {
175
212
  }
176
213
  if (!FS) return { success: false, error: "MODULE_NOT_INSTALLED: expo-file-system" };
@@ -187,7 +224,7 @@ var fileHandlers = {
187
224
  "file.read": async (payload) => {
188
225
  let FS = null;
189
226
  try {
190
- FS = __require("expo-file-system");
227
+ FS = require("expo-file-system");
191
228
  } catch {
192
229
  }
193
230
  if (!FS) return { success: false, error: "MODULE_NOT_INSTALLED: expo-file-system" };
@@ -202,7 +239,7 @@ var fileHandlers = {
202
239
  "file.write": async (payload) => {
203
240
  let FS = null;
204
241
  try {
205
- FS = __require("expo-file-system");
242
+ FS = require("expo-file-system");
206
243
  } catch {
207
244
  }
208
245
  if (!FS) return { success: false, error: "MODULE_NOT_INSTALLED: expo-file-system" };
@@ -223,7 +260,7 @@ var fileHandlers = {
223
260
  "file.pick": async (payload) => {
224
261
  let DocumentPicker = null;
225
262
  try {
226
- DocumentPicker = __require("expo-document-picker");
263
+ DocumentPicker = require("expo-document-picker");
227
264
  } catch {
228
265
  }
229
266
  if (!DocumentPicker) return { success: false, error: "MODULE_NOT_INSTALLED: expo-document-picker" };
@@ -255,7 +292,7 @@ var shareHandlers = {
255
292
  "share.open": async (payload) => {
256
293
  let Sharing = null;
257
294
  try {
258
- Sharing = __require("expo-sharing");
295
+ Sharing = require("expo-sharing");
259
296
  } catch {
260
297
  }
261
298
  if (!Sharing) return { success: false, error: "MODULE_NOT_INSTALLED: expo-sharing" };
@@ -275,18 +312,18 @@ var shareHandlers = {
275
312
  };
276
313
 
277
314
  // src/handlers/device.ts
278
- import { Platform } from "react-native";
315
+ var import_react_native2 = require("react-native");
279
316
  var deviceHandlers = {
280
317
  "device.getInfo": async (_payload) => {
281
318
  let Device = null;
282
319
  try {
283
- Device = __require("expo-device");
320
+ Device = require("expo-device");
284
321
  } catch {
285
322
  }
286
323
  if (!Device) return { success: false, error: "MODULE_NOT_INSTALLED: expo-device" };
287
324
  return {
288
- os: Platform.OS,
289
- osVersion: Platform.Version?.toString() ?? "",
325
+ os: import_react_native2.Platform.OS,
326
+ osVersion: import_react_native2.Platform.Version?.toString() ?? "",
290
327
  model: Device.modelName ?? "",
291
328
  brand: Device.brand ?? "",
292
329
  isTablet: Device.deviceType === Device.DeviceType.TABLET,
@@ -299,7 +336,7 @@ var deviceHandlers = {
299
336
  try {
300
337
  let Battery = null;
301
338
  try {
302
- Battery = __require("expo-battery");
339
+ Battery = require("expo-battery");
303
340
  } catch {
304
341
  }
305
342
  if (!Battery) {
@@ -319,7 +356,7 @@ var deviceHandlers = {
319
356
  try {
320
357
  let NetInfo = null;
321
358
  try {
322
- NetInfo = __require("@react-native-community/netinfo");
359
+ NetInfo = require("@react-native-community/netinfo");
323
360
  } catch {
324
361
  }
325
362
  if (!NetInfo) {
@@ -337,7 +374,7 @@ var deviceHandlers = {
337
374
  };
338
375
 
339
376
  // src/handlers/statusbar.ts
340
- import { StatusBar } from "react-native";
377
+ var import_react_native3 = require("react-native");
341
378
  var statusbarHandlers = {
342
379
  "statusbar.setStyle": async (payload) => {
343
380
  const styleMap = {
@@ -345,11 +382,11 @@ var statusbarHandlers = {
345
382
  dark: "dark-content",
346
383
  auto: "default"
347
384
  };
348
- StatusBar.setBarStyle(styleMap[payload.style] ?? "default");
385
+ import_react_native3.StatusBar.setBarStyle(styleMap[payload.style] ?? "default");
349
386
  return { success: true };
350
387
  },
351
388
  "statusbar.setBackgroundColor": async (payload) => {
352
- StatusBar.setBackgroundColor(payload.color, payload.animated ?? false);
389
+ import_react_native3.StatusBar.setBackgroundColor(payload.color, payload.animated ?? false);
353
390
  return { success: true };
354
391
  },
355
392
  "statusbar.setHidden": async (payload) => {
@@ -358,16 +395,16 @@ var statusbarHandlers = {
358
395
  slide: "slide",
359
396
  none: "none"
360
397
  };
361
- StatusBar.setHidden(payload.hidden, animationMap[payload.animation ?? "none"]);
398
+ import_react_native3.StatusBar.setHidden(payload.hidden, animationMap[payload.animation ?? "none"]);
362
399
  return { success: true };
363
400
  }
364
401
  };
365
402
 
366
403
  // src/handlers/keyboard.ts
367
- import { Keyboard } from "react-native";
404
+ var import_react_native4 = require("react-native");
368
405
  var keyboardHandlers = {
369
406
  "keyboard.dismiss": async (_payload) => {
370
- Keyboard.dismiss();
407
+ import_react_native4.Keyboard.dismiss();
371
408
  return { success: true };
372
409
  },
373
410
  "keyboard.getState": async (_payload) => {
@@ -383,7 +420,7 @@ var hapticHandlers = {
383
420
  "haptic.impact": async (payload) => {
384
421
  let Haptics = null;
385
422
  try {
386
- Haptics = __require("expo-haptics");
423
+ Haptics = require("expo-haptics");
387
424
  } catch {
388
425
  }
389
426
  if (!Haptics) {
@@ -399,7 +436,7 @@ var hapticHandlers = {
399
436
  "haptic.notification": async (payload) => {
400
437
  let Haptics = null;
401
438
  try {
402
- Haptics = __require("expo-haptics");
439
+ Haptics = require("expo-haptics");
403
440
  } catch {
404
441
  }
405
442
  if (!Haptics) {
@@ -415,7 +452,7 @@ var hapticHandlers = {
415
452
  "haptic.selection": async () => {
416
453
  let Haptics = null;
417
454
  try {
418
- Haptics = __require("expo-haptics");
455
+ Haptics = require("expo-haptics");
419
456
  } catch {
420
457
  }
421
458
  if (!Haptics) {
@@ -430,7 +467,7 @@ var clipboardHandlers = {
430
467
  "clipboard.copy": async (payload) => {
431
468
  let Clipboard = null;
432
469
  try {
433
- Clipboard = __require("expo-clipboard");
470
+ Clipboard = require("expo-clipboard");
434
471
  } catch {
435
472
  }
436
473
  if (!Clipboard) return { success: false, error: "MODULE_NOT_INSTALLED: expo-clipboard" };
@@ -440,7 +477,7 @@ var clipboardHandlers = {
440
477
  "clipboard.paste": async (_payload) => {
441
478
  let Clipboard = null;
442
479
  try {
443
- Clipboard = __require("expo-clipboard");
480
+ Clipboard = require("expo-clipboard");
444
481
  } catch {
445
482
  }
446
483
  if (!Clipboard) return { success: false, error: "MODULE_NOT_INSTALLED: expo-clipboard" };
@@ -454,7 +491,7 @@ var scannerHandlers = {
454
491
  "scanner.scanQR": async (_payload) => {
455
492
  let Camera = null;
456
493
  try {
457
- Camera = __require("expo-camera");
494
+ Camera = require("expo-camera");
458
495
  } catch {
459
496
  }
460
497
  if (!Camera) return { success: false, error: "MODULE_NOT_INSTALLED: expo-camera" };
@@ -475,7 +512,7 @@ var authHandlers = {
475
512
  "auth.biometric": async (payload) => {
476
513
  let LocalAuth = null;
477
514
  try {
478
- LocalAuth = __require("expo-local-authentication");
515
+ LocalAuth = require("expo-local-authentication");
479
516
  } catch {
480
517
  }
481
518
  if (!LocalAuth) return { success: false, error: "MODULE_NOT_INSTALLED: expo-local-authentication" };
@@ -496,7 +533,7 @@ var authHandlers = {
496
533
  "auth.isBiometricAvailable": async (_payload) => {
497
534
  let LocalAuth = null;
498
535
  try {
499
- LocalAuth = __require("expo-local-authentication");
536
+ LocalAuth = require("expo-local-authentication");
500
537
  } catch {
501
538
  }
502
539
  if (!LocalAuth) return { success: false, error: "MODULE_NOT_INSTALLED: expo-local-authentication" };
@@ -532,12 +569,12 @@ var iapHandlers = {
532
569
  };
533
570
 
534
571
  // src/handlers/push.ts
535
- import { Platform as Platform2 } from "react-native";
572
+ var import_react_native5 = require("react-native");
536
573
  var pushHandlers = {
537
574
  "push.getToken": async (_payload) => {
538
575
  let Notifications = null;
539
576
  try {
540
- Notifications = __require("expo-notifications");
577
+ Notifications = require("expo-notifications");
541
578
  } catch {
542
579
  }
543
580
  if (!Notifications) return { success: false, error: "MODULE_NOT_INSTALLED: expo-notifications" };
@@ -545,16 +582,16 @@ var pushHandlers = {
545
582
  const token = await Notifications.getExpoPushTokenAsync();
546
583
  return {
547
584
  token: token.data,
548
- platform: Platform2.OS === "ios" ? "apns" : "fcm"
585
+ platform: import_react_native5.Platform.OS === "ios" ? "apns" : "fcm"
549
586
  };
550
587
  } catch {
551
- return { token: "", platform: Platform2.OS === "ios" ? "apns" : "fcm" };
588
+ return { token: "", platform: import_react_native5.Platform.OS === "ios" ? "apns" : "fcm" };
552
589
  }
553
590
  },
554
591
  "push.requestPermission": async (_payload) => {
555
592
  let Notifications = null;
556
593
  try {
557
- Notifications = __require("expo-notifications");
594
+ Notifications = require("expo-notifications");
558
595
  } catch {
559
596
  }
560
597
  if (!Notifications) return { success: false, error: "MODULE_NOT_INSTALLED: expo-notifications" };
@@ -571,13 +608,13 @@ var pushHandlers = {
571
608
  };
572
609
 
573
610
  // src/handlers/permission.ts
574
- import { Linking } from "react-native";
611
+ var import_react_native6 = require("react-native");
575
612
  function getPermissionModule(permission) {
576
613
  switch (permission) {
577
614
  case "camera": {
578
615
  let mod = null;
579
616
  try {
580
- mod = __require("expo-camera");
617
+ mod = require("expo-camera");
581
618
  } catch {
582
619
  }
583
620
  return mod ? {
@@ -588,7 +625,7 @@ function getPermissionModule(permission) {
588
625
  case "location": {
589
626
  let mod = null;
590
627
  try {
591
- mod = __require("expo-location");
628
+ mod = require("expo-location");
592
629
  } catch {
593
630
  }
594
631
  return mod ? {
@@ -599,7 +636,7 @@ function getPermissionModule(permission) {
599
636
  case "notifications": {
600
637
  let mod = null;
601
638
  try {
602
- mod = __require("expo-notifications");
639
+ mod = require("expo-notifications");
603
640
  } catch {
604
641
  }
605
642
  return mod ? {
@@ -644,7 +681,7 @@ var permissionHandlers = {
644
681
  },
645
682
  "permission.openSettings": async (_payload) => {
646
683
  try {
647
- await Linking.openSettings();
684
+ await import_react_native6.Linking.openSettings();
648
685
  return { success: true };
649
686
  } catch {
650
687
  return { success: false };
@@ -657,7 +694,7 @@ var preferenceHandlers = {
657
694
  "preference.get": async (payload) => {
658
695
  let mod = null;
659
696
  try {
660
- mod = __require("@react-native-async-storage/async-storage");
697
+ mod = require("@react-native-async-storage/async-storage");
661
698
  } catch {
662
699
  }
663
700
  if (!mod) return { value: null };
@@ -667,7 +704,7 @@ var preferenceHandlers = {
667
704
  "preference.set": async (payload) => {
668
705
  let mod = null;
669
706
  try {
670
- mod = __require("@react-native-async-storage/async-storage");
707
+ mod = require("@react-native-async-storage/async-storage");
671
708
  } catch {
672
709
  }
673
710
  if (!mod) return { success: false };
@@ -677,7 +714,7 @@ var preferenceHandlers = {
677
714
  "preference.remove": async (payload) => {
678
715
  let mod = null;
679
716
  try {
680
- mod = __require("@react-native-async-storage/async-storage");
717
+ mod = require("@react-native-async-storage/async-storage");
681
718
  } catch {
682
719
  }
683
720
  if (!mod) return { success: false };
@@ -687,7 +724,7 @@ var preferenceHandlers = {
687
724
  "preference.clear": async (_payload) => {
688
725
  let mod = null;
689
726
  try {
690
- mod = __require("@react-native-async-storage/async-storage");
727
+ mod = require("@react-native-async-storage/async-storage");
691
728
  } catch {
692
729
  }
693
730
  if (!mod) return { success: false };
@@ -713,11 +750,11 @@ var navigationHandlers = {
713
750
  };
714
751
 
715
752
  // src/handlers/browser.ts
716
- import { Linking as Linking2 } from "react-native";
753
+ var import_react_native7 = require("react-native");
717
754
  var browserHandlers = {
718
755
  "browser.openExternal": async (payload) => {
719
756
  try {
720
- await Linking2.openURL(payload.url);
757
+ await import_react_native7.Linking.openURL(payload.url);
721
758
  return { success: true };
722
759
  } catch {
723
760
  return { success: false };
@@ -726,7 +763,7 @@ var browserHandlers = {
726
763
  "browser.openInternal": async (payload) => {
727
764
  let WebBrowser = null;
728
765
  try {
729
- WebBrowser = __require("expo-web-browser");
766
+ WebBrowser = require("expo-web-browser");
730
767
  } catch {
731
768
  }
732
769
  if (!WebBrowser) return { success: false, error: "MODULE_NOT_INSTALLED: expo-web-browser" };
@@ -783,7 +820,8 @@ function createDefaultHandlers(options = {}) {
783
820
  }
784
821
  return result;
785
822
  }
786
- export {
823
+ // Annotate the CommonJS export names for ESM import in node:
824
+ 0 && (module.exports = {
787
825
  WebViewBridge,
788
826
  authHandlers,
789
827
  browserHandlers,
@@ -803,5 +841,5 @@ export {
803
841
  scannerHandlers,
804
842
  shareHandlers,
805
843
  statusbarHandlers
806
- };
844
+ });
807
845
  //# sourceMappingURL=index.js.map