@apps-in-toss/native-modules 1.0.2 → 1.1.0

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 (42) hide show
  1. package/dist/VisibilityChangedByTransparentServiceWebEvent-D6XJvPVh.d.cts +20 -0
  2. package/dist/VisibilityChangedByTransparentServiceWebEvent-D6XJvPVh.d.ts +20 -0
  3. package/dist/bridges-meta.json +24 -12
  4. package/dist/chunk-YS54L7RG.js +209 -0
  5. package/dist/index.cjs +209 -150
  6. package/dist/index.d.cts +662 -592
  7. package/dist/index.d.ts +662 -592
  8. package/dist/index.js +186 -128
  9. package/dist/private.cjs +236 -0
  10. package/dist/private.d.cts +17 -0
  11. package/dist/private.d.ts +17 -0
  12. package/dist/private.js +11 -0
  13. package/package.json +3 -2
  14. package/src/AppsInTossModule/native-event-emitter/StartUpdateLocationPermissionError.ts +1 -0
  15. package/src/AppsInTossModule/native-event-emitter/appsInTossEvent.ts +2 -0
  16. package/src/AppsInTossModule/native-event-emitter/event-plugins/HomeIconButtonClickHandleEvent.ts +10 -0
  17. package/src/AppsInTossModule/native-event-emitter/event-plugins/UpdateLocationEvent.ts +3 -3
  18. package/src/AppsInTossModule/native-event-emitter/index.ts +2 -0
  19. package/src/AppsInTossModule/native-event-emitter/internal/appBridge.ts +7 -1
  20. package/src/AppsInTossModule/native-event-emitter/startUpdateLocation.ts +64 -44
  21. package/src/AppsInTossModule/native-modules/AppsInTossModule.ts +22 -27
  22. package/src/AppsInTossModule/native-modules/ads/googleAdMobV2.ts +3 -3
  23. package/src/AppsInTossModule/native-modules/ads/types.ts +1 -1
  24. package/src/AppsInTossModule/native-modules/getPermission.ts +1 -1
  25. package/src/AppsInTossModule/native-modules/index.ts +9 -6
  26. package/src/AppsInTossModule/native-modules/permissions/createPermissionFunction.ts +25 -0
  27. package/src/AppsInTossModule/native-modules/permissions/fetchAlbumPhotos/fetchAlbumPhotos.ts +109 -0
  28. package/src/AppsInTossModule/native-modules/{fetchContacts.ts → permissions/fetchContacts/fetchContacts.ts} +51 -40
  29. package/src/AppsInTossModule/native-modules/permissions/getClipboardText/getClipboardText.ts +87 -0
  30. package/src/AppsInTossModule/native-modules/permissions/getCurrentLocation/getCurrentLocation.ts +88 -0
  31. package/src/AppsInTossModule/native-modules/permissions/openCamera/openCamera.ts +99 -0
  32. package/src/AppsInTossModule/native-modules/{openPermissionDialog.ts → permissions/openPermissionDialog.ts} +3 -3
  33. package/src/AppsInTossModule/native-modules/{requestPermission.ts → permissions/requestPermission.ts} +2 -2
  34. package/src/AppsInTossModule/native-modules/permissions/setClipboardText/setClipboardText.ts +75 -0
  35. package/src/AppsInTossModule/native-modules/saveBase64Data.ts +1 -1
  36. package/src/async-bridges.ts +9 -6
  37. package/src/types.ts +0 -106
  38. package/src/AppsInTossModule/native-modules/fetchAlbumPhotos.ts +0 -88
  39. package/src/AppsInTossModule/native-modules/getClipboardText.ts +0 -47
  40. package/src/AppsInTossModule/native-modules/getCurrentLocation.ts +0 -65
  41. package/src/AppsInTossModule/native-modules/openCamera.ts +0 -81
  42. package/src/AppsInTossModule/native-modules/setClipboardText.ts +0 -39
package/dist/index.cjs CHANGED
@@ -20,14 +20,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
- Accuracy: () => Accuracy,
24
23
  AppsInTossModule: () => AppsInTossModule,
25
24
  BedrockCoreModule: () => BedrockCoreModule,
26
25
  BedrockModule: () => BedrockModule,
27
26
  GoogleAdMob: () => GoogleAdMob,
28
27
  IAP: () => IAP,
29
28
  INTERNAL__AppsInTossModule: () => AppsInTossModuleInstance,
29
+ INTERNAL__appBridgeHandler: () => INTERNAL__appBridgeHandler,
30
30
  INTERNAL__module: () => INTERNAL__module,
31
+ StartUpdateLocationPermissionError: () => import_types8.StartUpdateLocationPermissionError,
31
32
  Storage: () => Storage,
32
33
  TossPay: () => TossPay,
33
34
  appLogin: () => appLogin,
@@ -67,7 +68,7 @@ __export(index_exports, {
67
68
  module.exports = __toCommonJS(index_exports);
68
69
 
69
70
  // src/AppsInTossModule/native-event-emitter/appsInTossEvent.ts
70
- var import_react_native7 = require("@granite-js/react-native");
71
+ var import_react_native8 = require("@granite-js/react-native");
71
72
 
72
73
  // src/AppsInTossModule/native-event-emitter/event-plugins/EntryMessageExitedEvent.ts
73
74
  var import_react_native = require("@granite-js/react-native");
@@ -80,26 +81,38 @@ var EntryMessageExitedEvent = class extends import_react_native.GraniteEventDefi
80
81
  }
81
82
  };
82
83
 
84
+ // src/AppsInTossModule/native-event-emitter/event-plugins/HomeIconButtonClickHandleEvent.ts
85
+ var import_react_native2 = require("@granite-js/react-native");
86
+ var HomeIconButtonClickHandleEvent = class extends import_react_native2.GraniteEventDefinition {
87
+ name = "homeIconButtonClickEvent";
88
+ remove() {
89
+ }
90
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
91
+ listener(_) {
92
+ }
93
+ };
94
+
83
95
  // src/AppsInTossModule/native-event-emitter/event-plugins/UpdateLocationEvent.ts
84
- var import_react_native4 = require("@granite-js/react-native");
96
+ var import_types = require("@apps-in-toss/types");
97
+ var import_react_native5 = require("@granite-js/react-native");
85
98
 
86
99
  // src/AppsInTossModule/native-modules/AppsInTossModule.ts
87
- var import_react_native2 = require("react-native");
88
- var Module = import_react_native2.TurboModuleRegistry.getEnforcing("AppsInTossModule");
100
+ var import_react_native3 = require("react-native");
101
+ var Module = import_react_native3.TurboModuleRegistry.getEnforcing("AppsInTossModule");
89
102
  var AppsInTossModuleInstance = Module;
90
103
  var AppsInTossModule = Module;
91
104
 
105
+ // src/AppsInTossModule/native-modules/permissions/openPermissionDialog.ts
106
+ function openPermissionDialog(permission) {
107
+ return AppsInTossModule.openPermissionDialog(permission);
108
+ }
109
+
92
110
  // src/AppsInTossModule/native-modules/getPermission.ts
93
111
  function getPermission(permission) {
94
112
  return AppsInTossModule.getPermission(permission);
95
113
  }
96
114
 
97
- // src/AppsInTossModule/native-modules/openPermissionDialog.ts
98
- function openPermissionDialog(permission) {
99
- return AppsInTossModule.openPermissionDialog(permission);
100
- }
101
-
102
- // src/AppsInTossModule/native-modules/requestPermission.ts
115
+ // src/AppsInTossModule/native-modules/permissions/requestPermission.ts
103
116
  async function requestPermission(permission) {
104
117
  const permissionStatus = await getPermission(permission);
105
118
  switch (permissionStatus) {
@@ -112,11 +125,11 @@ async function requestPermission(permission) {
112
125
  }
113
126
 
114
127
  // src/AppsInTossModule/native-event-emitter/nativeEventEmitter.ts
115
- var import_react_native3 = require("react-native");
116
- var nativeEventEmitter = new import_react_native3.NativeEventEmitter(AppsInTossModuleInstance);
128
+ var import_react_native4 = require("react-native");
129
+ var nativeEventEmitter = new import_react_native4.NativeEventEmitter(AppsInTossModuleInstance);
117
130
 
118
131
  // src/AppsInTossModule/native-event-emitter/event-plugins/UpdateLocationEvent.ts
119
- var UpdateLocationEvent = class extends import_react_native4.GraniteEventDefinition {
132
+ var UpdateLocationEvent = class extends import_react_native5.GraniteEventDefinition {
120
133
  name = "updateLocationEvent";
121
134
  subscriptionCount = 0;
122
135
  ref = {
@@ -132,7 +145,7 @@ var UpdateLocationEvent = class extends import_react_native4.GraniteEventDefinit
132
145
  listener(options, onEvent, onError) {
133
146
  requestPermission({ name: "geolocation", access: "access" }).then((permissionStatus) => {
134
147
  if (permissionStatus === "denied") {
135
- onError(new Error("\uC704\uCE58 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694."));
148
+ onError(new import_types.GetCurrentLocationPermissionError());
136
149
  return;
137
150
  }
138
151
  void AppsInTossModuleInstance.startUpdateLocation(options).catch(onError);
@@ -146,7 +159,7 @@ var UpdateLocationEvent = class extends import_react_native4.GraniteEventDefinit
146
159
  };
147
160
 
148
161
  // src/AppsInTossModule/native-event-emitter/internal/AppBridgeCallbackEvent.ts
149
- var import_react_native5 = require("@granite-js/react-native");
162
+ var import_react_native6 = require("@granite-js/react-native");
150
163
 
151
164
  // src/utils/generateUUID.ts
152
165
  function generateUUID(placeholder) {
@@ -163,7 +176,12 @@ function invokeAppBridgeCallback(id, ...args) {
163
176
  function invokeAppBridgeMethod(methodName, params, callbacks) {
164
177
  const { onSuccess, onError, ...appBridgeCallbacks } = callbacks;
165
178
  const { callbackMap, unregisterAll } = registerCallbacks(appBridgeCallbacks);
166
- const promise = AppsInTossModuleInstance[methodName]({
179
+ const method = AppsInTossModuleInstance[methodName];
180
+ if (method == null) {
181
+ onError(new Error(`'${methodName}' is not defined in AppsInTossModule`));
182
+ return unregisterAll;
183
+ }
184
+ const promise = method({
167
185
  params,
168
186
  callbacks: callbackMap
169
187
  });
@@ -203,7 +221,7 @@ var INTERNAL__appBridgeHandler = {
203
221
 
204
222
  // src/AppsInTossModule/native-event-emitter/internal/AppBridgeCallbackEvent.ts
205
223
  var UNSAFE__nativeEventEmitter = nativeEventEmitter;
206
- var AppBridgeCallbackEvent = class _AppBridgeCallbackEvent extends import_react_native5.GraniteEventDefinition {
224
+ var AppBridgeCallbackEvent = class _AppBridgeCallbackEvent extends import_react_native6.GraniteEventDefinition {
207
225
  static INTERNAL__appBridgeSubscription;
208
226
  name = "appBridgeCallbackEvent";
209
227
  constructor() {
@@ -233,8 +251,8 @@ var AppBridgeCallbackEvent = class _AppBridgeCallbackEvent extends import_react_
233
251
  };
234
252
 
235
253
  // src/AppsInTossModule/native-event-emitter/internal/VisibilityChangedByTransparentServiceWebEvent.ts
236
- var import_react_native6 = require("@granite-js/react-native");
237
- var VisibilityChangedByTransparentServiceWebEvent = class extends import_react_native6.GraniteEventDefinition {
254
+ var import_react_native7 = require("@granite-js/react-native");
255
+ var VisibilityChangedByTransparentServiceWebEvent = class extends import_react_native7.GraniteEventDefinition {
238
256
  name = "onVisibilityChangedByTransparentServiceWeb";
239
257
  subscription = null;
240
258
  remove() {
@@ -259,21 +277,25 @@ var VisibilityChangedByTransparentServiceWebEvent = class extends import_react_n
259
277
  };
260
278
 
261
279
  // src/AppsInTossModule/native-event-emitter/appsInTossEvent.ts
262
- var appsInTossEvent = new import_react_native7.GraniteEvent([
280
+ var appsInTossEvent = new import_react_native8.GraniteEvent([
263
281
  new UpdateLocationEvent(),
264
282
  new EntryMessageExitedEvent(),
283
+ new HomeIconButtonClickHandleEvent(),
265
284
  // Internal events
266
285
  new AppBridgeCallbackEvent(),
267
286
  new VisibilityChangedByTransparentServiceWebEvent()
268
287
  ]);
269
288
 
270
- // src/AppsInTossModule/native-event-emitter/startUpdateLocation.ts
271
- function startUpdateLocation(eventParams) {
272
- return appsInTossEvent.addEventListener("updateLocationEvent", eventParams);
289
+ // src/AppsInTossModule/native-modules/ads/googleAdMob.ts
290
+ var import_es_toolkit = require("es-toolkit");
291
+
292
+ // src/AppsInTossModule/native-modules/getOperationalEnvironment.ts
293
+ function getOperationalEnvironment() {
294
+ return AppsInTossModule.operationalEnvironment;
273
295
  }
274
296
 
275
297
  // src/AppsInTossModule/native-modules/isMinVersionSupported.ts
276
- var import_react_native8 = require("react-native");
298
+ var import_react_native9 = require("react-native");
277
299
 
278
300
  // src/utils/compareVersion.ts
279
301
  var SEMVER_REGEX = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\\-]+(?:\.[\da-z\\-]+)*))?(?:\+[\da-z\\-]+(?:\.[\da-z\\-]+)*)?)?)?$/i;
@@ -349,7 +371,7 @@ function isMinVersionSupported(minVersions) {
349
371
  return true;
350
372
  }
351
373
  const currentVersion = AppsInTossModule.tossAppVersion;
352
- const isIOS = import_react_native8.Platform.OS === "ios";
374
+ const isIOS = import_react_native9.Platform.OS === "ios";
353
375
  const minVersion = isIOS ? minVersions.ios : minVersions.android;
354
376
  if (minVersion === void 0) {
355
377
  return false;
@@ -363,42 +385,6 @@ function isMinVersionSupported(minVersions) {
363
385
  return compareVersions(currentVersion, minVersion) >= 0;
364
386
  }
365
387
 
366
- // src/AppsInTossModule/native-event-emitter/contactsViral.ts
367
- function contactsViral(params) {
368
- const isSupported = isMinVersionSupported({
369
- android: "5.223.0",
370
- ios: "5.223.0"
371
- });
372
- if (!isSupported) {
373
- return () => {
374
- };
375
- }
376
- const { onEvent, onError, options } = params;
377
- const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("contactsViral", options, {
378
- onRewardFromContactsViral: (result) => {
379
- onEvent({ type: "sendViral", data: result });
380
- },
381
- onSuccess: (result) => {
382
- onEvent({ type: "close", data: result });
383
- },
384
- onError
385
- });
386
- return unregisterCallbacks;
387
- }
388
-
389
- // src/AppsInTossModule/native-event-emitter/internal/onVisibilityChangedByTransparentServiceWeb.ts
390
- function onVisibilityChangedByTransparentServiceWeb(eventParams) {
391
- return appsInTossEvent.addEventListener("onVisibilityChangedByTransparentServiceWeb", eventParams);
392
- }
393
-
394
- // src/AppsInTossModule/native-modules/ads/googleAdMob.ts
395
- var import_es_toolkit = require("es-toolkit");
396
-
397
- // src/AppsInTossModule/native-modules/getOperationalEnvironment.ts
398
- function getOperationalEnvironment() {
399
- return AppsInTossModule.operationalEnvironment;
400
- }
401
-
402
388
  // src/AppsInTossModule/native-modules/ads/googleAdMob.ts
403
389
  function loadAdMobInterstitialAd(params) {
404
390
  if (!loadAdMobInterstitialAd.isSupported()) {
@@ -602,54 +588,118 @@ async function eventLog(params) {
602
588
  });
603
589
  }
604
590
 
605
- // src/AppsInTossModule/native-modules/fetchAlbumPhotos.ts
591
+ // src/AppsInTossModule/native-modules/permissions/fetchAlbumPhotos/fetchAlbumPhotos.ts
592
+ var import_types2 = require("@apps-in-toss/types");
593
+
594
+ // src/AppsInTossModule/native-modules/permissions/createPermissionFunction.ts
595
+ function createPermissionFunction({
596
+ handler,
597
+ permission,
598
+ error
599
+ }) {
600
+ const permissionFunction = async (...args) => {
601
+ const permissionStatus = await requestPermission(permission);
602
+ if (permissionStatus === "denied") {
603
+ throw new error();
604
+ }
605
+ return handler(...args);
606
+ };
607
+ permissionFunction.getPermission = () => getPermission(permission);
608
+ permissionFunction.openPermissionDialog = () => openPermissionDialog(permission);
609
+ return permissionFunction;
610
+ }
611
+
612
+ // src/AppsInTossModule/native-modules/permissions/fetchAlbumPhotos/fetchAlbumPhotos.ts
606
613
  var DEFAULT_MAX_COUNT = 10;
607
614
  var DEFAULT_MAX_WIDTH = 1024;
608
- async function fetchAlbumPhotos(options) {
609
- const permissionStatus = await requestPermission({ name: "photos", access: "read" });
610
- if (permissionStatus === "denied") {
611
- throw new Error("\uC0AC\uC9C4\uCCA9 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
612
- }
613
- const albumPhotos = await AppsInTossModule.fetchAlbumPhotos({
614
- ...options,
615
- maxCount: options.maxCount ?? DEFAULT_MAX_COUNT,
616
- maxWidth: options.maxWidth ?? DEFAULT_MAX_WIDTH
617
- });
618
- return albumPhotos;
619
- }
615
+ var fetchAlbumPhotos = createPermissionFunction({
616
+ handler: async (options) => {
617
+ return AppsInTossModule.fetchAlbumPhotos({
618
+ ...options,
619
+ maxCount: options?.maxCount ?? DEFAULT_MAX_COUNT,
620
+ maxWidth: options?.maxWidth ?? DEFAULT_MAX_WIDTH
621
+ });
622
+ },
623
+ permission: {
624
+ name: "photos",
625
+ access: "read"
626
+ },
627
+ error: import_types2.FetchAlbumPhotosPermissionError
628
+ });
620
629
 
621
- // src/AppsInTossModule/native-modules/fetchContacts.ts
622
- async function fetchContacts(options) {
623
- const permissionStatus = await requestPermission({ name: "contacts", access: "read" });
624
- if (permissionStatus === "denied") {
625
- throw new Error("\uC5F0\uB77D\uCC98 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
626
- }
627
- const contacts = await AppsInTossModule.fetchContacts(options);
628
- return {
629
- result: contacts.result,
630
- nextOffset: contacts.nextOffset ?? null,
631
- done: contacts.done
632
- };
633
- }
630
+ // src/AppsInTossModule/native-modules/permissions/fetchContacts/fetchContacts.ts
631
+ var import_types3 = require("@apps-in-toss/types");
632
+ var fetchContacts = createPermissionFunction({
633
+ handler: async (options) => {
634
+ const contacts = await AppsInTossModule.fetchContacts(options);
635
+ return {
636
+ result: contacts.result,
637
+ nextOffset: contacts.nextOffset ?? null,
638
+ done: contacts.done
639
+ };
640
+ },
641
+ permission: {
642
+ name: "contacts",
643
+ access: "read"
644
+ },
645
+ error: import_types3.FetchContactsPermissionError
646
+ });
634
647
 
635
- // src/AppsInTossModule/native-modules/getClipboardText.ts
636
- async function getClipboardText() {
637
- const permissionStatus = await requestPermission({ name: "clipboard", access: "read" });
638
- if (permissionStatus === "denied") {
639
- throw new Error("\uD074\uB9BD\uBCF4\uB4DC \uC77D\uAE30 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
640
- }
641
- return AppsInTossModule.getClipboardText({});
642
- }
648
+ // src/AppsInTossModule/native-modules/permissions/getClipboardText/getClipboardText.ts
649
+ var import_types4 = require("@apps-in-toss/types");
650
+ var getClipboardText = createPermissionFunction({
651
+ handler: () => {
652
+ return AppsInTossModule.getClipboardText({});
653
+ },
654
+ permission: {
655
+ name: "clipboard",
656
+ access: "read"
657
+ },
658
+ error: import_types4.GetClipboardTextPermissionError
659
+ });
643
660
 
644
- // src/AppsInTossModule/native-modules/getCurrentLocation.ts
645
- async function getCurrentLocation(options) {
646
- const permissionStatus = await requestPermission({ name: "geolocation", access: "access" });
647
- if (permissionStatus === "denied") {
648
- throw new Error("\uC704\uCE58 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
649
- }
650
- const position = await AppsInTossModule.getCurrentLocation(options);
651
- return position;
652
- }
661
+ // src/AppsInTossModule/native-modules/permissions/getCurrentLocation/getCurrentLocation.ts
662
+ var import_types5 = require("@apps-in-toss/types");
663
+ var getCurrentLocation = createPermissionFunction({
664
+ handler: async (options) => {
665
+ return AppsInTossModule.getCurrentLocation(options);
666
+ },
667
+ permission: {
668
+ name: "geolocation",
669
+ access: "access"
670
+ },
671
+ error: import_types5.GetCurrentLocationPermissionError
672
+ });
673
+
674
+ // src/AppsInTossModule/native-modules/permissions/setClipboardText/setClipboardText.ts
675
+ var import_types6 = require("@apps-in-toss/types");
676
+ var setClipboardText = createPermissionFunction({
677
+ handler: (text) => {
678
+ return AppsInTossModule.setClipboardText({ text });
679
+ },
680
+ permission: {
681
+ name: "clipboard",
682
+ access: "write"
683
+ },
684
+ error: import_types6.SetClipboardTextPermissionError
685
+ });
686
+
687
+ // src/AppsInTossModule/native-modules/permissions/openCamera/openCamera.ts
688
+ var import_types7 = require("@apps-in-toss/types");
689
+ var openCamera = createPermissionFunction({
690
+ handler: (options) => {
691
+ return AppsInTossModule.openCamera({
692
+ base64: false,
693
+ maxWidth: 1024,
694
+ ...options
695
+ });
696
+ },
697
+ permission: {
698
+ name: "camera",
699
+ access: "access"
700
+ },
701
+ error: import_types7.OpenCameraPermissionError
702
+ });
653
703
 
654
704
  // src/AppsInTossModule/native-modules/getDeviceId.ts
655
705
  function getDeviceId() {
@@ -696,16 +746,6 @@ var IAP = {
696
746
  getProductItemList
697
747
  };
698
748
 
699
- // src/AppsInTossModule/native-modules/openCamera.ts
700
- async function openCamera(options) {
701
- const permissionStatus = await requestPermission({ name: "camera", access: "access" });
702
- if (permissionStatus === "denied") {
703
- throw new Error("\uCE74\uBA54\uB77C \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
704
- }
705
- const photo = await AppsInTossModule.openCamera({ base64: false, maxWidth: 1024, ...options });
706
- return photo;
707
- }
708
-
709
749
  // src/AppsInTossModule/native-modules/saveBase64Data.ts
710
750
  async function saveBase64Data(params) {
711
751
  const isSupported = isMinVersionSupported({
@@ -719,15 +759,6 @@ async function saveBase64Data(params) {
719
759
  await AppsInTossModule.saveBase64Data(params);
720
760
  }
721
761
 
722
- // src/AppsInTossModule/native-modules/setClipboardText.ts
723
- async function setClipboardText(text) {
724
- const permissionStatus = await requestPermission({ name: "clipboard", access: "write" });
725
- if (permissionStatus === "denied") {
726
- throw new Error("\uD074\uB9BD\uBCF4\uB4DC \uC4F0\uAE30 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
727
- }
728
- return AppsInTossModule.setClipboardText({ text });
729
- }
730
-
731
762
  // src/AppsInTossModule/native-modules/setDeviceOrientation.ts
732
763
  async function setDeviceOrientation(options) {
733
764
  const isSupported = isMinVersionSupported({
@@ -764,7 +795,7 @@ var Storage = {
764
795
  };
765
796
 
766
797
  // src/AppsInTossModule/native-modules/openGameCenterLeaderboard.ts
767
- var import_react_native9 = require("@granite-js/react-native");
798
+ var import_react_native10 = require("@granite-js/react-native");
768
799
 
769
800
  // src/AppsInTossModule/constants.ts
770
801
  var GAME_CENTER_MIN_VERSION = {
@@ -784,7 +815,7 @@ async function openGameCenterLeaderboard() {
784
815
  const url = new URL("servicetoss://game-center/leaderboard?_navbar=hide");
785
816
  url.searchParams.set("appName", appName);
786
817
  url.searchParams.set("referrer", `appsintoss.${appName}`);
787
- return (0, import_react_native9.openURL)(url.toString());
818
+ return (0, import_react_native10.openURL)(url.toString());
788
819
  }
789
820
 
790
821
  // src/AppsInTossModule/native-modules/getGameCenterGameProfile.ts
@@ -805,6 +836,29 @@ async function submitGameCenterLeaderBoardScore(params) {
805
836
  return AppsInTossModule.submitGameCenterLeaderBoardScore(params);
806
837
  }
807
838
 
839
+ // src/AppsInTossModule/native-event-emitter/contactsViral.ts
840
+ function contactsViral(params) {
841
+ const isSupported = isMinVersionSupported({
842
+ android: "5.223.0",
843
+ ios: "5.223.0"
844
+ });
845
+ if (!isSupported) {
846
+ return () => {
847
+ };
848
+ }
849
+ const { onEvent, onError, options } = params;
850
+ const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("contactsViral", options, {
851
+ onRewardFromContactsViral: (result) => {
852
+ onEvent({ type: "sendViral", data: result });
853
+ },
854
+ onSuccess: (result) => {
855
+ onEvent({ type: "close", data: result });
856
+ },
857
+ onError
858
+ });
859
+ return unregisterCallbacks;
860
+ }
861
+
808
862
  // src/AppsInTossModule/native-modules/index.ts
809
863
  var TossPay = {
810
864
  checkoutPayment
@@ -818,9 +872,24 @@ var GoogleAdMob = {
818
872
  showAppsInTossAdMob
819
873
  };
820
874
 
875
+ // src/AppsInTossModule/native-event-emitter/startUpdateLocation.ts
876
+ function startUpdateLocation(eventParams) {
877
+ return appsInTossEvent.addEventListener("updateLocationEvent", eventParams);
878
+ }
879
+ startUpdateLocation.openPermissionDialog = getCurrentLocation.openPermissionDialog;
880
+ startUpdateLocation.getPermission = getCurrentLocation.getPermission;
881
+
882
+ // src/AppsInTossModule/native-event-emitter/StartUpdateLocationPermissionError.ts
883
+ var import_types8 = require("@apps-in-toss/types");
884
+
885
+ // src/AppsInTossModule/native-event-emitter/internal/onVisibilityChangedByTransparentServiceWeb.ts
886
+ function onVisibilityChangedByTransparentServiceWeb(eventParams) {
887
+ return appsInTossEvent.addEventListener("onVisibilityChangedByTransparentServiceWeb", eventParams);
888
+ }
889
+
821
890
  // src/BedrockModule/native-modules/natives/BedrockModule.ts
822
- var import_react_native10 = require("react-native");
823
- var BedrockModule = import_react_native10.NativeModules.BedrockModule;
891
+ var import_react_native11 = require("react-native");
892
+ var BedrockModule = import_react_native11.NativeModules.BedrockModule;
824
893
 
825
894
  // src/BedrockModule/native-modules/natives/closeView.ts
826
895
  async function closeView() {
@@ -828,10 +897,10 @@ async function closeView() {
828
897
  }
829
898
 
830
899
  // src/BedrockModule/native-modules/natives/getLocale.ts
831
- var import_react_native11 = require("react-native");
900
+ var import_react_native12 = require("react-native");
832
901
  function getLocale() {
833
902
  const locale = BedrockModule?.DeviceInfo?.locale ?? "ko-KR";
834
- if (import_react_native11.Platform.OS === "android") {
903
+ if (import_react_native12.Platform.OS === "android") {
835
904
  return replaceUnderbarToHypen(locale);
836
905
  }
837
906
  return locale;
@@ -879,35 +948,24 @@ async function setIosSwipeGestureEnabled(options) {
879
948
  }
880
949
 
881
950
  // src/BedrockModule/native-modules/natives/openURL.ts
882
- var import_react_native12 = require("react-native");
951
+ var import_react_native13 = require("react-native");
883
952
  function openURL2(url) {
884
- return import_react_native12.Linking.openURL(url);
953
+ return import_react_native13.Linking.openURL(url);
885
954
  }
886
955
 
887
956
  // src/BedrockModule/native-modules/natives/getPlatformOS.ts
888
- var import_react_native13 = require("react-native");
957
+ var import_react_native14 = require("react-native");
889
958
  function getPlatformOS() {
890
- return import_react_native13.Platform.OS;
959
+ return import_react_native14.Platform.OS;
891
960
  }
892
961
 
893
962
  // src/BedrockModule/native-modules/core/BedrockCoreModule.ts
894
- var import_react_native14 = require("react-native");
895
- var BedrockCoreModule = import_react_native14.NativeModules.BedrockCoreModule;
896
-
897
- // src/types.ts
898
- var Accuracy = /* @__PURE__ */ ((Accuracy2) => {
899
- Accuracy2[Accuracy2["Lowest"] = 1] = "Lowest";
900
- Accuracy2[Accuracy2["Low"] = 2] = "Low";
901
- Accuracy2[Accuracy2["Balanced"] = 3] = "Balanced";
902
- Accuracy2[Accuracy2["High"] = 4] = "High";
903
- Accuracy2[Accuracy2["Highest"] = 5] = "Highest";
904
- Accuracy2[Accuracy2["BestForNavigation"] = 6] = "BestForNavigation";
905
- return Accuracy2;
906
- })(Accuracy || {});
963
+ var import_react_native15 = require("react-native");
964
+ var BedrockCoreModule = import_react_native15.NativeModules.BedrockCoreModule;
907
965
 
908
966
  // src/AppsInTossModule/native-modules/tossCore.ts
909
- var import_react_native15 = require("react-native");
910
- var TossCoreModule = import_react_native15.NativeModules.TossCoreModule;
967
+ var import_react_native16 = require("react-native");
968
+ var TossCoreModule = import_react_native16.NativeModules.TossCoreModule;
911
969
  function tossCoreEventLog(params) {
912
970
  const supported = isMinVersionSupported({ ios: "5.210.0", android: "5.210.0" });
913
971
  const isSandbox = getOperationalEnvironment() === "sandbox";
@@ -929,14 +987,15 @@ var INTERNAL__module = {
929
987
  };
930
988
  // Annotate the CommonJS export names for ESM import in node:
931
989
  0 && (module.exports = {
932
- Accuracy,
933
990
  AppsInTossModule,
934
991
  BedrockCoreModule,
935
992
  BedrockModule,
936
993
  GoogleAdMob,
937
994
  IAP,
938
995
  INTERNAL__AppsInTossModule,
996
+ INTERNAL__appBridgeHandler,
939
997
  INTERNAL__module,
998
+ StartUpdateLocationPermissionError,
940
999
  Storage,
941
1000
  TossPay,
942
1001
  appLogin,