@apps-in-toss/framework 0.0.0-dev.1752114017143 → 0.0.0-dev.1752115036458
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/bridge-meta.d.ts +1 -0
- package/dist/bridge-meta.js +158 -0
- package/dist/index.cjs +1074 -631
- package/dist/index.d.cts +7 -1989
- package/dist/index.d.ts +7 -1989
- package/dist/index.js +1039 -610
- package/dist/jest/index.cjs +2 -2
- package/dist/jest/index.d.cts +1 -1
- package/dist/jest/index.d.ts +1 -1
- package/dist/jest/index.js +1 -1
- package/package.json +21 -26
- package/src/bridge-entry.ts +4 -0
- package/src/async-bridges.ts +0 -12
- package/src/constant-bridges.ts +0 -3
- package/src/event-bridges.ts +0 -1
package/dist/index.cjs
CHANGED
|
@@ -34,29 +34,43 @@ __export(src_exports, {
|
|
|
34
34
|
Accuracy: () => Accuracy2,
|
|
35
35
|
Analytics: () => Analytics2,
|
|
36
36
|
AppsInToss: () => AppsInToss,
|
|
37
|
+
AppsInTossModule: () => AppsInTossModule,
|
|
38
|
+
BedrockCoreModule: () => BedrockCoreModule,
|
|
39
|
+
BedrockModule: () => BedrockModule,
|
|
37
40
|
GoogleAdMob: () => GoogleAdMob,
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
INTERNAL__AppsInTossModule: () => AppsInTossModuleInstance,
|
|
42
|
+
INTERNAL__module: () => INTERNAL__module,
|
|
40
43
|
Storage: () => Storage,
|
|
41
44
|
TossPay: () => TossPay,
|
|
42
45
|
WebView: () => WebView,
|
|
43
46
|
appLogin: () => appLogin,
|
|
44
47
|
appsInTossEvent: () => appsInTossEvent,
|
|
48
|
+
closeView: () => closeView,
|
|
45
49
|
env: () => env,
|
|
46
50
|
eventLog: () => eventLog,
|
|
47
51
|
fetchAlbumPhotos: () => fetchAlbumPhotos,
|
|
48
52
|
fetchContacts: () => fetchContacts,
|
|
53
|
+
generateHapticFeedback: () => generateHapticFeedback,
|
|
49
54
|
getClipboardText: () => getClipboardText,
|
|
50
55
|
getCurrentLocation: () => getCurrentLocation,
|
|
51
56
|
getDeviceId: () => getDeviceId,
|
|
57
|
+
getLocale: () => getLocale,
|
|
58
|
+
getNetworkStatus: () => getNetworkStatus,
|
|
52
59
|
getOperationalEnvironment: () => getOperationalEnvironment,
|
|
60
|
+
getPlatformOS: () => getPlatformOS,
|
|
61
|
+
getSchemeUri: () => getSchemeUri,
|
|
53
62
|
getTossAppVersion: () => getTossAppVersion,
|
|
54
63
|
getTossShareLink: () => getTossShareLink,
|
|
55
64
|
isMinVersionSupported: () => isMinVersionSupported,
|
|
56
65
|
openCamera: () => openCamera,
|
|
66
|
+
openURL: () => openURL,
|
|
57
67
|
saveBase64Data: () => saveBase64Data,
|
|
58
68
|
setClipboardText: () => setClipboardText,
|
|
59
69
|
setDeviceOrientation: () => setDeviceOrientation,
|
|
70
|
+
setIosSwipeGestureEnabled: () => setIosSwipeGestureEnabled,
|
|
71
|
+
setScreenAwakeMode: () => setScreenAwakeMode,
|
|
72
|
+
setSecureScreen: () => setSecureScreen,
|
|
73
|
+
share: () => share,
|
|
60
74
|
startUpdateLocation: () => startUpdateLocation,
|
|
61
75
|
useGeolocation: () => useGeolocation
|
|
62
76
|
});
|
|
@@ -65,210 +79,30 @@ var import_analytics2 = require("@apps-in-toss/analytics");
|
|
|
65
79
|
|
|
66
80
|
// src/core/registerApp.tsx
|
|
67
81
|
var import_analytics = require("@apps-in-toss/analytics");
|
|
68
|
-
var
|
|
69
|
-
var
|
|
82
|
+
var import_react_native28 = require("@granite-js/react-native");
|
|
83
|
+
var import_react_native29 = require("@toss-design-system/react-native");
|
|
70
84
|
|
|
71
|
-
//
|
|
72
|
-
var
|
|
73
|
-
var
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
// src/native-modules/tossCore.ts
|
|
81
|
-
var import_react_native3 = require("react-native");
|
|
82
|
-
|
|
83
|
-
// src/native-modules/AppsInTossModule.ts
|
|
84
|
-
var import_react_native = require("react-native");
|
|
85
|
-
var AppsInTossModuleInstance = import_react_native.NativeModules.AppsInTossModule;
|
|
86
|
-
var AppsInTossModule = AppsInTossModuleInstance;
|
|
87
|
-
|
|
88
|
-
// src/native-modules/getOperationalEnvironment.ts
|
|
89
|
-
function getOperationalEnvironment() {
|
|
90
|
-
return AppsInTossModule.operationalEnvironment;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// src/native-modules/isMinVersionSupported.ts
|
|
94
|
-
var import_react_native2 = require("react-native");
|
|
95
|
-
|
|
96
|
-
// src/utils/compareVersion.ts
|
|
97
|
-
var SEMVER_REGEX = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\\-]+(?:\.[\da-z\\-]+)*))?(?:\+[\da-z\\-]+(?:\.[\da-z\\-]+)*)?)?)?$/i;
|
|
98
|
-
var isWildcard = (val) => ["*", "x", "X"].includes(val);
|
|
99
|
-
var tryParse = (val) => {
|
|
100
|
-
const num = parseInt(val, 10);
|
|
101
|
-
return isNaN(num) ? val : num;
|
|
102
|
-
};
|
|
103
|
-
var coerceTypes = (a, b) => {
|
|
104
|
-
return typeof a === typeof b ? [a, b] : [String(a), String(b)];
|
|
105
|
-
};
|
|
106
|
-
var compareValues = (a, b) => {
|
|
107
|
-
if (isWildcard(a) || isWildcard(b)) {
|
|
108
|
-
return 0;
|
|
109
|
-
}
|
|
110
|
-
const [aVal, bVal] = coerceTypes(tryParse(a), tryParse(b));
|
|
111
|
-
if (aVal > bVal) {
|
|
112
|
-
return 1;
|
|
113
|
-
}
|
|
114
|
-
if (aVal < bVal) {
|
|
115
|
-
return -1;
|
|
116
|
-
}
|
|
117
|
-
return 0;
|
|
118
|
-
};
|
|
119
|
-
var parseVersion = (version) => {
|
|
120
|
-
if (typeof version !== "string") {
|
|
121
|
-
throw new TypeError("Invalid argument: expected a string");
|
|
122
|
-
}
|
|
123
|
-
const match = version.match(SEMVER_REGEX);
|
|
124
|
-
if (!match) {
|
|
125
|
-
throw new Error(`Invalid semver: '${version}'`);
|
|
126
|
-
}
|
|
127
|
-
const [, major, minor, patch, build, preRelease] = match;
|
|
128
|
-
return [major, minor, patch, build, preRelease];
|
|
129
|
-
};
|
|
130
|
-
var compareSegments = (a, b) => {
|
|
131
|
-
const maxLength = Math.max(a.length, b.length);
|
|
132
|
-
for (let i = 0; i < maxLength; i++) {
|
|
133
|
-
const segA = a[i] ?? "0";
|
|
134
|
-
const segB = b[i] ?? "0";
|
|
135
|
-
const result = compareValues(segA, segB);
|
|
136
|
-
if (result !== 0) {
|
|
137
|
-
return result;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return 0;
|
|
141
|
-
};
|
|
142
|
-
var compareVersions = (v1, v2) => {
|
|
143
|
-
const seg1 = parseVersion(v1);
|
|
144
|
-
const seg2 = parseVersion(v2);
|
|
145
|
-
const preRelease1 = seg1.pop();
|
|
146
|
-
const preRelease2 = seg2.pop();
|
|
147
|
-
const mainCompare = compareSegments(seg1, seg2);
|
|
148
|
-
if (mainCompare !== 0) {
|
|
149
|
-
return mainCompare;
|
|
150
|
-
}
|
|
151
|
-
if (preRelease1 && preRelease2) {
|
|
152
|
-
return compareSegments(preRelease1.split("."), preRelease2.split("."));
|
|
153
|
-
}
|
|
154
|
-
if (preRelease1) {
|
|
155
|
-
return -1;
|
|
156
|
-
}
|
|
157
|
-
if (preRelease2) {
|
|
158
|
-
return 1;
|
|
159
|
-
}
|
|
160
|
-
return 0;
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
// src/native-modules/isMinVersionSupported.ts
|
|
164
|
-
function isMinVersionSupported(minVersions) {
|
|
165
|
-
const operationalEnvironment2 = AppsInTossModule.operationalEnvironment;
|
|
166
|
-
if (operationalEnvironment2 === "sandbox") {
|
|
167
|
-
return true;
|
|
168
|
-
}
|
|
169
|
-
const currentVersion = AppsInTossModule.tossAppVersion;
|
|
170
|
-
const isIOS = import_react_native2.Platform.OS === "ios";
|
|
171
|
-
const minVersion = isIOS ? minVersions.ios : minVersions.android;
|
|
172
|
-
if (minVersion === void 0) {
|
|
173
|
-
return false;
|
|
174
|
-
}
|
|
175
|
-
if (minVersion === "always") {
|
|
176
|
-
return true;
|
|
177
|
-
}
|
|
178
|
-
if (minVersion === "never") {
|
|
179
|
-
return false;
|
|
180
|
-
}
|
|
181
|
-
return compareVersions(currentVersion, minVersion) >= 0;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// src/native-modules/tossCore.ts
|
|
185
|
-
var TossCoreModule = import_react_native3.NativeModules.TossCoreModule;
|
|
186
|
-
function tossCoreEventLog(params) {
|
|
187
|
-
const supported = isMinVersionSupported({ ios: "5.210.0", android: "5.210.0" });
|
|
188
|
-
const isSandbox = getOperationalEnvironment() === "sandbox";
|
|
189
|
-
if (!supported || isSandbox) {
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
TossCoreModule.eventLog({
|
|
193
|
-
params: {
|
|
194
|
-
log_name: params.log_name,
|
|
195
|
-
log_type: params.log_type,
|
|
196
|
-
params: params.params
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
// src/core/hooks/useReferrer.ts
|
|
202
|
-
var import_react = require("react");
|
|
203
|
-
var import_react_native_bedrock = require("react-native-bedrock");
|
|
204
|
-
function useReferrer() {
|
|
205
|
-
return (0, import_react.useMemo)(() => {
|
|
206
|
-
try {
|
|
207
|
-
return new URL((0, import_react_native_bedrock.getSchemeUri)()).searchParams.get("referrer");
|
|
208
|
-
} catch {
|
|
209
|
-
return null;
|
|
210
|
-
}
|
|
211
|
-
}, []);
|
|
212
|
-
}
|
|
85
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/dist/index.js
|
|
86
|
+
var import_react_native = require("@granite-js/react-native");
|
|
87
|
+
var import_react_native2 = require("@granite-js/react-native");
|
|
88
|
+
var import_react_native3 = require("@granite-js/react-native");
|
|
89
|
+
var import_react_native4 = require("react-native");
|
|
90
|
+
var import_react_native5 = require("react-native");
|
|
91
|
+
var import_react_native6 = require("@granite-js/react-native");
|
|
213
92
|
|
|
214
|
-
//
|
|
215
|
-
|
|
216
|
-
function isPrivateScheme() {
|
|
217
|
-
try {
|
|
218
|
-
return new URL((0, import_react_native_bedrock2.getSchemeUri)()).protocol === "intoss-private:";
|
|
219
|
-
} catch {
|
|
220
|
-
return false;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
function EntryAppEvent() {
|
|
224
|
-
const referrer = useReferrer() ?? "";
|
|
225
|
-
(0, import_react2.useEffect)(() => {
|
|
226
|
-
tossCoreEventLog({
|
|
227
|
-
log_name: "appsintoss_app_visit::impression__enter_appsintoss",
|
|
228
|
-
log_type: "info",
|
|
229
|
-
params: {
|
|
230
|
-
is_transform: true,
|
|
231
|
-
schema_id: ENTRY_APP_EVENT_SCHEMA_ID,
|
|
232
|
-
referrer,
|
|
233
|
-
deployment_id: env.getDeploymentId(),
|
|
234
|
-
app_name: import_react_native_bedrock2.Bedrock.appName,
|
|
235
|
-
is_private: isPrivateScheme()
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
}, [referrer]);
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
|
-
function SystemAppEvent({ ...initialProps }) {
|
|
242
|
-
(0, import_react2.useEffect)(() => {
|
|
243
|
-
tossCoreEventLog({
|
|
244
|
-
log_name: "AppsInTossInitialProps",
|
|
245
|
-
log_type: "debug",
|
|
246
|
-
params: {
|
|
247
|
-
...initialProps,
|
|
248
|
-
schemeUri: (0, import_react_native_bedrock2.getSchemeUri)(),
|
|
249
|
-
deployment_id: env.getDeploymentId(),
|
|
250
|
-
app_name: import_react_native_bedrock2.Bedrock.appName,
|
|
251
|
-
is_private: isPrivateScheme()
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
}, [initialProps]);
|
|
255
|
-
return null;
|
|
93
|
+
// ../../.yarn/cache/es-toolkit-npm-1.39.3-b94f623c91-1c85e518b1.zip/node_modules/es-toolkit/dist/function/noop.mjs
|
|
94
|
+
function noop() {
|
|
256
95
|
}
|
|
257
|
-
var AppEvent = {
|
|
258
|
-
Entry: EntryAppEvent,
|
|
259
|
-
System: SystemAppEvent
|
|
260
|
-
};
|
|
261
|
-
|
|
262
|
-
// src/core/hooks/useAppsInTossBridge.ts
|
|
263
|
-
var import_react_native5 = require("@toss-design-system/react-native");
|
|
264
|
-
var import_react3 = require("react");
|
|
265
96
|
|
|
266
|
-
//
|
|
267
|
-
var
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
var
|
|
271
|
-
var
|
|
97
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/dist/index.js
|
|
98
|
+
var import_react_native7 = require("react-native");
|
|
99
|
+
var import_react_native8 = require("react-native");
|
|
100
|
+
var import_react_native9 = require("react-native");
|
|
101
|
+
var import_react_native10 = require("react-native");
|
|
102
|
+
var import_react_native11 = require("react-native");
|
|
103
|
+
var import_react_native12 = require("react-native");
|
|
104
|
+
var import_react_native13 = require("react-native");
|
|
105
|
+
var EntryMessageExitedEvent = class extends import_react_native2.GraniteEventDefinition {
|
|
272
106
|
name = "entryMessageExited";
|
|
273
107
|
remove() {
|
|
274
108
|
}
|
|
@@ -276,21 +110,15 @@ var EntryMessageExitedEvent = class extends import_react_native_bedrock3.Bedrock
|
|
|
276
110
|
listener(_) {
|
|
277
111
|
}
|
|
278
112
|
};
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
var
|
|
282
|
-
|
|
283
|
-
// src/native-modules/getPermission.ts
|
|
113
|
+
var Module = import_react_native4.TurboModuleRegistry.getEnforcing("AppsInTossModule");
|
|
114
|
+
var AppsInTossModuleInstance = Module;
|
|
115
|
+
var AppsInTossModule = Module;
|
|
284
116
|
function getPermission(permission) {
|
|
285
117
|
return AppsInTossModule.getPermission(permission);
|
|
286
118
|
}
|
|
287
|
-
|
|
288
|
-
// src/native-modules/openPermissionDialog.ts
|
|
289
119
|
function openPermissionDialog(permission) {
|
|
290
120
|
return AppsInTossModule.openPermissionDialog(permission);
|
|
291
121
|
}
|
|
292
|
-
|
|
293
|
-
// src/native-modules/requestPermission.ts
|
|
294
122
|
async function requestPermission(permission) {
|
|
295
123
|
const permissionStatus = await getPermission(permission);
|
|
296
124
|
switch (permissionStatus) {
|
|
@@ -301,13 +129,8 @@ async function requestPermission(permission) {
|
|
|
301
129
|
return openPermissionDialog(permission);
|
|
302
130
|
}
|
|
303
131
|
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
var import_react_native4 = require("react-native");
|
|
307
|
-
var nativeEventEmitter = new import_react_native4.NativeEventEmitter(AppsInTossModuleInstance);
|
|
308
|
-
|
|
309
|
-
// src/native-event-emitter/event-plugins/UpdateLocationEvent.ts
|
|
310
|
-
var UpdateLocationEvent = class extends import_react_native_bedrock4.BedrockEventDefinition {
|
|
132
|
+
var nativeEventEmitter = new import_react_native5.NativeEventEmitter(AppsInTossModuleInstance);
|
|
133
|
+
var UpdateLocationEvent = class extends import_react_native3.GraniteEventDefinition {
|
|
311
134
|
name = "updateLocationEvent";
|
|
312
135
|
subscriptionCount = 0;
|
|
313
136
|
ref = {
|
|
@@ -335,16 +158,9 @@ var UpdateLocationEvent = class extends import_react_native_bedrock4.BedrockEven
|
|
|
335
158
|
}).catch(onError);
|
|
336
159
|
}
|
|
337
160
|
};
|
|
338
|
-
|
|
339
|
-
// src/native-event-emitter/internal/AppBridgeCallbackEvent.ts
|
|
340
|
-
var import_react_native_bedrock5 = require("react-native-bedrock");
|
|
341
|
-
|
|
342
|
-
// src/utils/generateUUID.ts
|
|
343
161
|
function generateUUID(placeholder) {
|
|
344
162
|
return placeholder ? (placeholder ^ Math.random() * 16 >> placeholder / 4).toString(16) : (String(1e7) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, generateUUID);
|
|
345
163
|
}
|
|
346
|
-
|
|
347
|
-
// src/native-event-emitter/internal/appBridge.ts
|
|
348
164
|
var INTERNAL__callbacks = /* @__PURE__ */ new Map();
|
|
349
165
|
function invokeAppBridgeCallback(id, ...args) {
|
|
350
166
|
const callback = INTERNAL__callbacks.get(id);
|
|
@@ -391,10 +207,8 @@ var INTERNAL__appBridgeHandler = {
|
|
|
391
207
|
unregisterCallback,
|
|
392
208
|
getCallbackIds
|
|
393
209
|
};
|
|
394
|
-
|
|
395
|
-
// src/native-event-emitter/internal/AppBridgeCallbackEvent.ts
|
|
396
210
|
var UNSAFE__nativeEventEmitter = nativeEventEmitter;
|
|
397
|
-
var AppBridgeCallbackEvent = class _AppBridgeCallbackEvent extends
|
|
211
|
+
var AppBridgeCallbackEvent = class _AppBridgeCallbackEvent extends import_react_native6.GraniteEventDefinition {
|
|
398
212
|
static INTERNAL__appBridgeSubscription;
|
|
399
213
|
name = "appBridgeCallbackEvent";
|
|
400
214
|
constructor() {
|
|
@@ -422,93 +236,204 @@ var AppBridgeCallbackEvent = class _AppBridgeCallbackEvent extends import_react_
|
|
|
422
236
|
}
|
|
423
237
|
}
|
|
424
238
|
};
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
239
|
+
var appsInTossEvent = new import_react_native.GraniteEvent([
|
|
240
|
+
new AppBridgeCallbackEvent(),
|
|
241
|
+
new UpdateLocationEvent(),
|
|
242
|
+
new EntryMessageExitedEvent()
|
|
243
|
+
]);
|
|
244
|
+
function startUpdateLocation(eventParams) {
|
|
245
|
+
return appsInTossEvent.addEventListener("updateLocationEvent", eventParams);
|
|
246
|
+
}
|
|
247
|
+
function getOperationalEnvironment() {
|
|
248
|
+
return AppsInTossModule.operationalEnvironment;
|
|
249
|
+
}
|
|
250
|
+
var SEMVER_REGEX = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\\-]+(?:\.[\da-z\\-]+)*))?(?:\+[\da-z\\-]+(?:\.[\da-z\\-]+)*)?)?)?$/i;
|
|
251
|
+
var isWildcard = (val) => ["*", "x", "X"].includes(val);
|
|
252
|
+
var tryParse = (val) => {
|
|
253
|
+
const num = parseInt(val, 10);
|
|
254
|
+
return isNaN(num) ? val : num;
|
|
255
|
+
};
|
|
256
|
+
var coerceTypes = (a, b) => {
|
|
257
|
+
return typeof a === typeof b ? [a, b] : [String(a), String(b)];
|
|
258
|
+
};
|
|
259
|
+
var compareValues = (a, b) => {
|
|
260
|
+
if (isWildcard(a) || isWildcard(b)) {
|
|
261
|
+
return 0;
|
|
434
262
|
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
if (params.callbackId === options.callbackId) {
|
|
439
|
-
onEvent(params.isVisible);
|
|
440
|
-
}
|
|
441
|
-
} else {
|
|
442
|
-
onError(new Error("Invalid visibility changed by transparent service web result"));
|
|
443
|
-
}
|
|
444
|
-
});
|
|
445
|
-
this.subscription = subscription;
|
|
263
|
+
const [aVal, bVal] = coerceTypes(tryParse(a), tryParse(b));
|
|
264
|
+
if (aVal > bVal) {
|
|
265
|
+
return 1;
|
|
446
266
|
}
|
|
447
|
-
|
|
448
|
-
return
|
|
267
|
+
if (aVal < bVal) {
|
|
268
|
+
return -1;
|
|
449
269
|
}
|
|
270
|
+
return 0;
|
|
450
271
|
};
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
new UpdateLocationEvent(),
|
|
455
|
-
new EntryMessageExitedEvent(),
|
|
456
|
-
// Internal events
|
|
457
|
-
new AppBridgeCallbackEvent(),
|
|
458
|
-
new VisibilityChangedByTransparentServiceWebEvent()
|
|
459
|
-
]);
|
|
460
|
-
|
|
461
|
-
// src/core/utils/getAppsInTossGlobals.ts
|
|
462
|
-
function getAppsInTossGlobals() {
|
|
463
|
-
if (global.__appsInToss == null) {
|
|
464
|
-
throw new Error("invalid apps-in-toss globals");
|
|
272
|
+
var parseVersion = (version) => {
|
|
273
|
+
if (typeof version !== "string") {
|
|
274
|
+
throw new TypeError("Invalid argument: expected a string");
|
|
465
275
|
}
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
return
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
276
|
+
const match = version.match(SEMVER_REGEX);
|
|
277
|
+
if (!match) {
|
|
278
|
+
throw new Error(`Invalid semver: '${version}'`);
|
|
279
|
+
}
|
|
280
|
+
const [, major, minor, patch, build, preRelease] = match;
|
|
281
|
+
return [major, minor, patch, build, preRelease];
|
|
282
|
+
};
|
|
283
|
+
var compareSegments = (a, b) => {
|
|
284
|
+
const maxLength = Math.max(a.length, b.length);
|
|
285
|
+
for (let i = 0; i < maxLength; i++) {
|
|
286
|
+
const segA = a[i] ?? "0";
|
|
287
|
+
const segB = b[i] ?? "0";
|
|
288
|
+
const result = compareValues(segA, segB);
|
|
289
|
+
if (result !== 0) {
|
|
290
|
+
return result;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
return 0;
|
|
294
|
+
};
|
|
295
|
+
var compareVersions = (v1, v2) => {
|
|
296
|
+
const seg1 = parseVersion(v1);
|
|
297
|
+
const seg2 = parseVersion(v2);
|
|
298
|
+
const preRelease1 = seg1.pop();
|
|
299
|
+
const preRelease2 = seg2.pop();
|
|
300
|
+
const mainCompare = compareSegments(seg1, seg2);
|
|
301
|
+
if (mainCompare !== 0) {
|
|
302
|
+
return mainCompare;
|
|
303
|
+
}
|
|
304
|
+
if (preRelease1 && preRelease2) {
|
|
305
|
+
return compareSegments(preRelease1.split("."), preRelease2.split("."));
|
|
306
|
+
}
|
|
307
|
+
if (preRelease1) {
|
|
308
|
+
return -1;
|
|
309
|
+
}
|
|
310
|
+
if (preRelease2) {
|
|
311
|
+
return 1;
|
|
312
|
+
}
|
|
313
|
+
return 0;
|
|
314
|
+
};
|
|
315
|
+
function isMinVersionSupported(minVersions) {
|
|
316
|
+
const operationalEnvironment2 = AppsInTossModule.operationalEnvironment;
|
|
317
|
+
if (operationalEnvironment2 === "sandbox") {
|
|
318
|
+
return true;
|
|
319
|
+
}
|
|
320
|
+
const currentVersion = AppsInTossModule.tossAppVersion;
|
|
321
|
+
const isIOS = import_react_native7.Platform.OS === "ios";
|
|
322
|
+
const minVersion = isIOS ? minVersions.ios : minVersions.android;
|
|
323
|
+
if (minVersion === void 0) {
|
|
324
|
+
return false;
|
|
325
|
+
}
|
|
326
|
+
if (minVersion === "always") {
|
|
327
|
+
return true;
|
|
328
|
+
}
|
|
329
|
+
if (minVersion === "never") {
|
|
330
|
+
return false;
|
|
331
|
+
}
|
|
332
|
+
return compareVersions(currentVersion, minVersion) >= 0;
|
|
333
|
+
}
|
|
334
|
+
function loadAdMobInterstitialAd(params) {
|
|
335
|
+
if (!loadAdMobInterstitialAd.isSupported()) {
|
|
336
|
+
params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE));
|
|
337
|
+
return noop;
|
|
338
|
+
}
|
|
339
|
+
const { onEvent, onError, options } = params;
|
|
340
|
+
const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("loadAdMobInterstitialAd", options, {
|
|
341
|
+
onAdClicked: () => {
|
|
342
|
+
onEvent({ type: "clicked" });
|
|
343
|
+
},
|
|
344
|
+
onAdDismissed: () => {
|
|
345
|
+
onEvent({ type: "dismissed" });
|
|
346
|
+
},
|
|
347
|
+
onAdFailedToShow: () => {
|
|
348
|
+
onEvent({ type: "failedToShow" });
|
|
349
|
+
},
|
|
350
|
+
onAdImpression: () => {
|
|
351
|
+
onEvent({ type: "impression" });
|
|
352
|
+
},
|
|
353
|
+
onAdShow: () => {
|
|
354
|
+
onEvent({ type: "show" });
|
|
355
|
+
},
|
|
356
|
+
onSuccess: (result) => onEvent({ type: "loaded", data: result }),
|
|
357
|
+
onError
|
|
358
|
+
});
|
|
359
|
+
return unregisterCallbacks;
|
|
360
|
+
}
|
|
361
|
+
function showAdMobInterstitialAd(params) {
|
|
362
|
+
if (!showAdMobInterstitialAd.isSupported()) {
|
|
363
|
+
params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE));
|
|
364
|
+
return noop;
|
|
365
|
+
}
|
|
366
|
+
const { onEvent, onError, options } = params;
|
|
367
|
+
const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("showAdMobInterstitialAd", options, {
|
|
368
|
+
onSuccess: () => onEvent({ type: "requested" }),
|
|
369
|
+
onError
|
|
370
|
+
});
|
|
371
|
+
return unregisterCallbacks;
|
|
372
|
+
}
|
|
373
|
+
function loadAdMobRewardedAd(params) {
|
|
374
|
+
if (!loadAdMobRewardedAd.isSupported()) {
|
|
375
|
+
params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE));
|
|
376
|
+
return noop;
|
|
377
|
+
}
|
|
378
|
+
const { onEvent, onError, options } = params;
|
|
379
|
+
const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("loadAdMobRewardedAd", options, {
|
|
380
|
+
onAdClicked: () => {
|
|
381
|
+
onEvent({ type: "clicked" });
|
|
382
|
+
},
|
|
383
|
+
onAdDismissed: () => {
|
|
384
|
+
onEvent({ type: "dismissed" });
|
|
385
|
+
},
|
|
386
|
+
onAdFailedToShow: () => {
|
|
387
|
+
onEvent({ type: "failedToShow" });
|
|
388
|
+
},
|
|
389
|
+
onAdImpression: () => {
|
|
390
|
+
onEvent({ type: "impression" });
|
|
391
|
+
},
|
|
392
|
+
onAdShow: () => {
|
|
393
|
+
onEvent({ type: "show" });
|
|
394
|
+
},
|
|
395
|
+
onUserEarnedReward: () => {
|
|
396
|
+
onEvent({ type: "userEarnedReward" });
|
|
397
|
+
},
|
|
398
|
+
onSuccess: (result) => onEvent({ type: "loaded", data: result }),
|
|
399
|
+
onError
|
|
400
|
+
});
|
|
401
|
+
return unregisterCallbacks;
|
|
402
|
+
}
|
|
403
|
+
function showAdMobRewardedAd(params) {
|
|
404
|
+
if (!showAdMobRewardedAd.isSupported()) {
|
|
405
|
+
params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE));
|
|
406
|
+
return noop;
|
|
407
|
+
}
|
|
408
|
+
const { onEvent, onError, options } = params;
|
|
409
|
+
const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("showAdMobRewardedAd", options, {
|
|
410
|
+
onSuccess: () => onEvent({ type: "requested" }),
|
|
411
|
+
onError
|
|
412
|
+
});
|
|
413
|
+
return unregisterCallbacks;
|
|
414
|
+
}
|
|
415
|
+
var ANDROID_GOOGLE_AD_MOB_SUPPORTED_VERSION = "5.209.0";
|
|
416
|
+
var IOS_GOOGLE_AD_MOB_SUPPORTED_VERSION = "5.209.0";
|
|
417
|
+
var UNSUPPORTED_ERROR_MESSAGE = "This feature is not supported in the current environment";
|
|
418
|
+
var ENVIRONMENT = getOperationalEnvironment();
|
|
419
|
+
function createIsSupported() {
|
|
420
|
+
return () => {
|
|
421
|
+
if (ENVIRONMENT !== "toss") {
|
|
422
|
+
return false;
|
|
423
|
+
}
|
|
424
|
+
return isMinVersionSupported({
|
|
425
|
+
android: ANDROID_GOOGLE_AD_MOB_SUPPORTED_VERSION,
|
|
426
|
+
ios: IOS_GOOGLE_AD_MOB_SUPPORTED_VERSION
|
|
427
|
+
});
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
loadAdMobInterstitialAd.isSupported = createIsSupported();
|
|
431
|
+
loadAdMobRewardedAd.isSupported = createIsSupported();
|
|
432
|
+
showAdMobInterstitialAd.isSupported = createIsSupported();
|
|
433
|
+
showAdMobRewardedAd.isSupported = createIsSupported();
|
|
434
|
+
async function checkoutPayment(options) {
|
|
435
|
+
return AppsInTossModule.checkoutPayment({ params: options });
|
|
492
436
|
}
|
|
493
|
-
|
|
494
|
-
// src/async-bridges.ts
|
|
495
|
-
var async_bridges_exports = {};
|
|
496
|
-
__export(async_bridges_exports, {
|
|
497
|
-
appLogin: () => appLogin,
|
|
498
|
-
checkoutPayment: () => checkoutPayment,
|
|
499
|
-
eventLog: () => eventLog,
|
|
500
|
-
fetchAlbumPhotos: () => fetchAlbumPhotos,
|
|
501
|
-
fetchContacts: () => fetchContacts,
|
|
502
|
-
getClipboardText: () => getClipboardText,
|
|
503
|
-
getCurrentLocation: () => getCurrentLocation,
|
|
504
|
-
getTossShareLink: () => getTossShareLink,
|
|
505
|
-
openCamera: () => openCamera,
|
|
506
|
-
saveBase64Data: () => saveBase64Data,
|
|
507
|
-
setClipboardText: () => setClipboardText,
|
|
508
|
-
setDeviceOrientation: () => setDeviceOrientation
|
|
509
|
-
});
|
|
510
|
-
|
|
511
|
-
// src/native-modules/setClipboardText.ts
|
|
512
437
|
async function setClipboardText(text) {
|
|
513
438
|
const permissionStatus = await requestPermission({ name: "clipboard", access: "write" });
|
|
514
439
|
if (permissionStatus === "denied") {
|
|
@@ -516,8 +441,6 @@ async function setClipboardText(text) {
|
|
|
516
441
|
}
|
|
517
442
|
return AppsInTossModule.setClipboardText({ text });
|
|
518
443
|
}
|
|
519
|
-
|
|
520
|
-
// src/native-modules/getClipboardText.ts
|
|
521
444
|
async function getClipboardText() {
|
|
522
445
|
const permissionStatus = await requestPermission({ name: "clipboard", access: "read" });
|
|
523
446
|
if (permissionStatus === "denied") {
|
|
@@ -525,30 +448,18 @@ async function getClipboardText() {
|
|
|
525
448
|
}
|
|
526
449
|
return AppsInTossModule.getClipboardText({});
|
|
527
450
|
}
|
|
528
|
-
|
|
529
|
-
// src/native-modules/fetchContacts.ts
|
|
530
|
-
async function fetchContacts({
|
|
531
|
-
size,
|
|
532
|
-
offset,
|
|
533
|
-
query
|
|
534
|
-
}) {
|
|
451
|
+
async function fetchContacts(options) {
|
|
535
452
|
const permissionStatus = await requestPermission({ name: "contacts", access: "read" });
|
|
536
453
|
if (permissionStatus === "denied") {
|
|
537
454
|
throw new Error("\uC5F0\uB77D\uCC98 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
|
|
538
455
|
}
|
|
539
|
-
const contacts = await AppsInTossModule.fetchContacts(
|
|
540
|
-
size,
|
|
541
|
-
offset,
|
|
542
|
-
query
|
|
543
|
-
});
|
|
456
|
+
const contacts = await AppsInTossModule.fetchContacts(options);
|
|
544
457
|
return {
|
|
545
458
|
result: contacts.result,
|
|
546
459
|
nextOffset: contacts.nextOffset ?? null,
|
|
547
460
|
done: contacts.done
|
|
548
461
|
};
|
|
549
462
|
}
|
|
550
|
-
|
|
551
|
-
// src/native-modules/fetchAlbumPhotos.ts
|
|
552
463
|
var DEFAULT_MAX_COUNT = 10;
|
|
553
464
|
var DEFAULT_MAX_WIDTH = 1024;
|
|
554
465
|
async function fetchAlbumPhotos(options) {
|
|
@@ -563,8 +474,6 @@ async function fetchAlbumPhotos(options) {
|
|
|
563
474
|
});
|
|
564
475
|
return albumPhotos;
|
|
565
476
|
}
|
|
566
|
-
|
|
567
|
-
// src/native-modules/getCurrentLocation.ts
|
|
568
477
|
async function getCurrentLocation(options) {
|
|
569
478
|
const permissionStatus = await requestPermission({ name: "geolocation", access: "access" });
|
|
570
479
|
if (permissionStatus === "denied") {
|
|
@@ -573,8 +482,6 @@ async function getCurrentLocation(options) {
|
|
|
573
482
|
const position = await AppsInTossModule.getCurrentLocation(options);
|
|
574
483
|
return position;
|
|
575
484
|
}
|
|
576
|
-
|
|
577
|
-
// src/native-modules/openCamera.ts
|
|
578
485
|
async function openCamera(options) {
|
|
579
486
|
const permissionStatus = await requestPermission({ name: "camera", access: "access" });
|
|
580
487
|
if (permissionStatus === "denied") {
|
|
@@ -583,18 +490,36 @@ async function openCamera(options) {
|
|
|
583
490
|
const photo = await AppsInTossModule.openCamera({ base64: false, maxWidth: 1024, ...options });
|
|
584
491
|
return photo;
|
|
585
492
|
}
|
|
586
|
-
|
|
587
|
-
// src/native-modules/appLogin.ts
|
|
588
493
|
async function appLogin() {
|
|
589
494
|
return AppsInTossModule.appLogin({});
|
|
590
495
|
}
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
async function checkoutPayment(options) {
|
|
594
|
-
return AppsInTossModule.checkoutPayment({ params: options });
|
|
496
|
+
function getTossAppVersion() {
|
|
497
|
+
return AppsInTossModule.tossAppVersion;
|
|
595
498
|
}
|
|
596
|
-
|
|
597
|
-
|
|
499
|
+
function getDeviceId() {
|
|
500
|
+
return AppsInTossModule.deviceId;
|
|
501
|
+
}
|
|
502
|
+
function getItem(key) {
|
|
503
|
+
return AppsInTossModule.getStorageItem({ key });
|
|
504
|
+
}
|
|
505
|
+
function setItem(key, value) {
|
|
506
|
+
return AppsInTossModule.setStorageItem({
|
|
507
|
+
key,
|
|
508
|
+
value
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
function removeItem(key) {
|
|
512
|
+
return AppsInTossModule.removeStorageItem({ key });
|
|
513
|
+
}
|
|
514
|
+
function clearItems() {
|
|
515
|
+
return AppsInTossModule.clearStorage({});
|
|
516
|
+
}
|
|
517
|
+
var Storage = {
|
|
518
|
+
getItem,
|
|
519
|
+
setItem,
|
|
520
|
+
removeItem,
|
|
521
|
+
clearItems
|
|
522
|
+
};
|
|
598
523
|
function normalizeParams(params) {
|
|
599
524
|
return Object.fromEntries(
|
|
600
525
|
Object.entries(params).filter(([, value]) => value !== void 0).map(([key, value]) => [key, String(value)])
|
|
@@ -622,8 +547,6 @@ async function eventLog(params) {
|
|
|
622
547
|
params: normalizeParams(params.params)
|
|
623
548
|
});
|
|
624
549
|
}
|
|
625
|
-
|
|
626
|
-
// src/native-modules/getTossShareLink.ts
|
|
627
550
|
async function getTossShareLink(path) {
|
|
628
551
|
const { shareLink } = await AppsInTossModule.getTossShareLink({});
|
|
629
552
|
const shareUrl = new URL(shareLink);
|
|
@@ -631,30 +554,753 @@ async function getTossShareLink(path) {
|
|
|
631
554
|
shareUrl.searchParams.set("af_dp", path);
|
|
632
555
|
return shareUrl.toString();
|
|
633
556
|
}
|
|
557
|
+
async function setDeviceOrientation(options) {
|
|
558
|
+
const isSupported = isMinVersionSupported({
|
|
559
|
+
android: "5.215.0",
|
|
560
|
+
ios: "5.215.0"
|
|
561
|
+
});
|
|
562
|
+
if (!isSupported) {
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
565
|
+
return AppsInTossModule.setDeviceOrientation(options);
|
|
566
|
+
}
|
|
567
|
+
async function saveBase64Data(params) {
|
|
568
|
+
const isSupported = isMinVersionSupported({
|
|
569
|
+
android: "5.218.0",
|
|
570
|
+
ios: "5.216.0"
|
|
571
|
+
});
|
|
572
|
+
if (!isSupported) {
|
|
573
|
+
console.warn("saveBase64Data is not supported in this app version");
|
|
574
|
+
return;
|
|
575
|
+
}
|
|
576
|
+
await AppsInTossModule.saveBase64Data(params);
|
|
577
|
+
}
|
|
578
|
+
var TossPay = {
|
|
579
|
+
checkoutPayment
|
|
580
|
+
};
|
|
581
|
+
var GoogleAdMob = {
|
|
582
|
+
loadAdMobInterstitialAd,
|
|
583
|
+
showAdMobInterstitialAd,
|
|
584
|
+
loadAdMobRewardedAd,
|
|
585
|
+
showAdMobRewardedAd
|
|
586
|
+
};
|
|
587
|
+
var BedrockModule = import_react_native8.NativeModules.BedrockModule;
|
|
588
|
+
async function closeView() {
|
|
589
|
+
return BedrockModule.closeView();
|
|
590
|
+
}
|
|
591
|
+
function getLocale() {
|
|
592
|
+
const locale = BedrockModule?.DeviceInfo?.locale ?? "ko-KR";
|
|
593
|
+
if (import_react_native9.Platform.OS === "android") {
|
|
594
|
+
return replaceUnderbarToHypen(locale);
|
|
595
|
+
}
|
|
596
|
+
return locale;
|
|
597
|
+
}
|
|
598
|
+
function replaceUnderbarToHypen(locale) {
|
|
599
|
+
return locale.replace(/_/g, "-");
|
|
600
|
+
}
|
|
601
|
+
function getSchemeUri() {
|
|
602
|
+
return BedrockModule.schemeUri;
|
|
603
|
+
}
|
|
604
|
+
function generateHapticFeedback(options) {
|
|
605
|
+
return BedrockModule.generateHapticFeedback(options);
|
|
606
|
+
}
|
|
607
|
+
async function share(message) {
|
|
608
|
+
BedrockModule.share(message);
|
|
609
|
+
}
|
|
610
|
+
function setSecureScreen(options) {
|
|
611
|
+
return BedrockModule.setSecureScreen(options);
|
|
612
|
+
}
|
|
613
|
+
async function setScreenAwakeMode(options) {
|
|
614
|
+
return BedrockModule.setScreenAwakeMode(options);
|
|
615
|
+
}
|
|
616
|
+
function getNetworkStatus() {
|
|
617
|
+
return BedrockModule.getNetworkStatus();
|
|
618
|
+
}
|
|
619
|
+
async function setIosSwipeGestureEnabled(options) {
|
|
620
|
+
if (BedrockModule.setIosSwipeGestureEnabled == null) {
|
|
621
|
+
return;
|
|
622
|
+
}
|
|
623
|
+
return BedrockModule.setIosSwipeGestureEnabled(options);
|
|
624
|
+
}
|
|
625
|
+
function openURL(url) {
|
|
626
|
+
return import_react_native10.Linking.openURL(url);
|
|
627
|
+
}
|
|
628
|
+
function getPlatformOS() {
|
|
629
|
+
return import_react_native11.Platform.OS;
|
|
630
|
+
}
|
|
631
|
+
var BedrockCoreModule = import_react_native12.NativeModules.BedrockCoreModule;
|
|
632
|
+
var Accuracy2 = /* @__PURE__ */ ((Accuracy3) => {
|
|
633
|
+
Accuracy3[Accuracy3["Lowest"] = 1] = "Lowest";
|
|
634
|
+
Accuracy3[Accuracy3["Low"] = 2] = "Low";
|
|
635
|
+
Accuracy3[Accuracy3["Balanced"] = 3] = "Balanced";
|
|
636
|
+
Accuracy3[Accuracy3["High"] = 4] = "High";
|
|
637
|
+
Accuracy3[Accuracy3["Highest"] = 5] = "Highest";
|
|
638
|
+
Accuracy3[Accuracy3["BestForNavigation"] = 6] = "BestForNavigation";
|
|
639
|
+
return Accuracy3;
|
|
640
|
+
})(Accuracy2 || {});
|
|
641
|
+
var TossCoreModule = import_react_native13.NativeModules.TossCoreModule;
|
|
642
|
+
function tossCoreEventLog(params) {
|
|
643
|
+
const supported = isMinVersionSupported({ ios: "5.210.0", android: "5.210.0" });
|
|
644
|
+
const isSandbox = getOperationalEnvironment() === "sandbox";
|
|
645
|
+
if (!supported || isSandbox) {
|
|
646
|
+
return;
|
|
647
|
+
}
|
|
648
|
+
TossCoreModule.eventLog({
|
|
649
|
+
params: {
|
|
650
|
+
log_name: params.log_name,
|
|
651
|
+
log_type: params.log_type,
|
|
652
|
+
params: params.params
|
|
653
|
+
}
|
|
654
|
+
});
|
|
655
|
+
}
|
|
656
|
+
var INTERNAL__module = {
|
|
657
|
+
tossCoreEventLog
|
|
658
|
+
};
|
|
659
|
+
|
|
660
|
+
// src/core/components/AppEvent.tsx
|
|
661
|
+
var import_react_native15 = require("@granite-js/react-native");
|
|
662
|
+
var import_react2 = require("react");
|
|
663
|
+
|
|
664
|
+
// src/env.ts
|
|
665
|
+
var env = {
|
|
666
|
+
getDeploymentId: () => __DEV__ ? "local" : global.__appsInToss?.deploymentId
|
|
667
|
+
};
|
|
668
|
+
|
|
669
|
+
// src/core/hooks/useReferrer.ts
|
|
670
|
+
var import_react_native14 = require("@granite-js/react-native");
|
|
671
|
+
var import_react = require("react");
|
|
672
|
+
function useReferrer() {
|
|
673
|
+
return (0, import_react.useMemo)(() => {
|
|
674
|
+
try {
|
|
675
|
+
return new URL((0, import_react_native14.getSchemeUri)()).searchParams.get("referrer");
|
|
676
|
+
} catch {
|
|
677
|
+
return null;
|
|
678
|
+
}
|
|
679
|
+
}, []);
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
// src/core/components/AppEvent.tsx
|
|
683
|
+
var ENTRY_APP_EVENT_SCHEMA_ID = 1562181;
|
|
684
|
+
function isPrivateScheme() {
|
|
685
|
+
try {
|
|
686
|
+
return new URL((0, import_react_native15.getSchemeUri)()).protocol === "intoss-private:";
|
|
687
|
+
} catch {
|
|
688
|
+
return false;
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
function EntryAppEvent() {
|
|
692
|
+
const referrer = useReferrer() ?? "";
|
|
693
|
+
(0, import_react2.useEffect)(() => {
|
|
694
|
+
INTERNAL__module.tossCoreEventLog({
|
|
695
|
+
log_name: "appsintoss_app_visit::impression__enter_appsintoss",
|
|
696
|
+
log_type: "info",
|
|
697
|
+
params: {
|
|
698
|
+
is_transform: true,
|
|
699
|
+
schema_id: ENTRY_APP_EVENT_SCHEMA_ID,
|
|
700
|
+
referrer,
|
|
701
|
+
deployment_id: env.getDeploymentId(),
|
|
702
|
+
app_name: import_react_native15.Granite.appName,
|
|
703
|
+
is_private: isPrivateScheme()
|
|
704
|
+
}
|
|
705
|
+
});
|
|
706
|
+
}, [referrer]);
|
|
707
|
+
return null;
|
|
708
|
+
}
|
|
709
|
+
function SystemAppEvent({ ...initialProps }) {
|
|
710
|
+
(0, import_react2.useEffect)(() => {
|
|
711
|
+
INTERNAL__module.tossCoreEventLog({
|
|
712
|
+
log_name: "AppsInTossInitialProps",
|
|
713
|
+
log_type: "debug",
|
|
714
|
+
params: {
|
|
715
|
+
...initialProps,
|
|
716
|
+
schemeUri: (0, import_react_native15.getSchemeUri)(),
|
|
717
|
+
deployment_id: env.getDeploymentId(),
|
|
718
|
+
app_name: import_react_native15.Granite.appName,
|
|
719
|
+
is_private: isPrivateScheme()
|
|
720
|
+
}
|
|
721
|
+
});
|
|
722
|
+
}, [initialProps]);
|
|
723
|
+
return null;
|
|
724
|
+
}
|
|
725
|
+
var AppEvent = {
|
|
726
|
+
Entry: EntryAppEvent,
|
|
727
|
+
System: SystemAppEvent
|
|
728
|
+
};
|
|
729
|
+
|
|
730
|
+
// src/core/hooks/useAppsInTossBridge.ts
|
|
731
|
+
var import_react_native16 = require("@toss-design-system/react-native");
|
|
732
|
+
var import_react3 = require("react");
|
|
733
|
+
|
|
734
|
+
// src/core/utils/getAppsInTossGlobals.ts
|
|
735
|
+
function getAppsInTossGlobals() {
|
|
736
|
+
if (global.__appsInToss == null) {
|
|
737
|
+
throw new Error("invalid apps-in-toss globals");
|
|
738
|
+
}
|
|
739
|
+
return global.__appsInToss;
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
// src/core/utils/toIcon.ts
|
|
743
|
+
function toIcon(source) {
|
|
744
|
+
return source.startsWith("http") ? { source: { uri: source } } : { name: source };
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
// src/core/hooks/useAppsInTossBridge.ts
|
|
748
|
+
function useAppsInTossBridge() {
|
|
749
|
+
const controller = (0, import_react_native16.useBridge)();
|
|
750
|
+
const appsInTossGlobals2 = getAppsInTossGlobals();
|
|
751
|
+
(0, import_react3.useEffect)(() => {
|
|
752
|
+
const commonProps = {
|
|
753
|
+
serviceName: appsInTossGlobals2.brandDisplayName,
|
|
754
|
+
icon: toIcon(appsInTossGlobals2.brandIcon),
|
|
755
|
+
color: appsInTossGlobals2.brandPrimaryColor,
|
|
756
|
+
colorMode: appsInTossGlobals2.brandBridgeColorMode
|
|
757
|
+
};
|
|
758
|
+
controller.open({
|
|
759
|
+
...commonProps,
|
|
760
|
+
onExited: () => {
|
|
761
|
+
appsInTossEvent.emit("entryMessageExited", void 0);
|
|
762
|
+
}
|
|
763
|
+
});
|
|
764
|
+
}, []);
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/async-bridges.ts
|
|
768
|
+
var async_bridges_exports = {};
|
|
769
|
+
__export(async_bridges_exports, {
|
|
770
|
+
appLogin: () => appLogin2,
|
|
771
|
+
checkoutPayment: () => checkoutPayment2,
|
|
772
|
+
closeView: () => closeView2,
|
|
773
|
+
eventLog: () => eventLog2,
|
|
774
|
+
fetchAlbumPhotos: () => fetchAlbumPhotos2,
|
|
775
|
+
fetchContacts: () => fetchContacts2,
|
|
776
|
+
generateHapticFeedback: () => generateHapticFeedback2,
|
|
777
|
+
getClipboardText: () => getClipboardText2,
|
|
778
|
+
getCurrentLocation: () => getCurrentLocation2,
|
|
779
|
+
getNetworkStatus: () => getNetworkStatus2,
|
|
780
|
+
getTossShareLink: () => getTossShareLink2,
|
|
781
|
+
openCamera: () => openCamera2,
|
|
782
|
+
openURL: () => openURL2,
|
|
783
|
+
saveBase64Data: () => saveBase64Data2,
|
|
784
|
+
setClipboardText: () => setClipboardText2,
|
|
785
|
+
setDeviceOrientation: () => setDeviceOrientation2,
|
|
786
|
+
setIosSwipeGestureEnabled: () => setIosSwipeGestureEnabled2,
|
|
787
|
+
setScreenAwakeMode: () => setScreenAwakeMode2,
|
|
788
|
+
setSecureScreen: () => setSecureScreen2,
|
|
789
|
+
share: () => share2
|
|
790
|
+
});
|
|
791
|
+
|
|
792
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/BedrockModule.ts
|
|
793
|
+
var import_react_native17 = require("react-native");
|
|
794
|
+
var BedrockModule2 = import_react_native17.NativeModules.BedrockModule;
|
|
795
|
+
|
|
796
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/closeView.ts
|
|
797
|
+
async function closeView2() {
|
|
798
|
+
return BedrockModule2.closeView();
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/generateHapticFeedback/index.ts
|
|
802
|
+
function generateHapticFeedback2(options) {
|
|
803
|
+
return BedrockModule2.generateHapticFeedback(options);
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/share.ts
|
|
807
|
+
async function share2(message) {
|
|
808
|
+
BedrockModule2.share(message);
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/setSecureScreen.ts
|
|
812
|
+
function setSecureScreen2(options) {
|
|
813
|
+
return BedrockModule2.setSecureScreen(options);
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/setScreenAwakeMode.ts
|
|
817
|
+
async function setScreenAwakeMode2(options) {
|
|
818
|
+
return BedrockModule2.setScreenAwakeMode(options);
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/getNetworkStatus/index.ts
|
|
822
|
+
function getNetworkStatus2() {
|
|
823
|
+
return BedrockModule2.getNetworkStatus();
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/setIosSwipeGestureEnabled.ts
|
|
827
|
+
async function setIosSwipeGestureEnabled2(options) {
|
|
828
|
+
if (BedrockModule2.setIosSwipeGestureEnabled == null) {
|
|
829
|
+
return;
|
|
830
|
+
}
|
|
831
|
+
return BedrockModule2.setIosSwipeGestureEnabled(options);
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/openURL.ts
|
|
835
|
+
var import_react_native18 = require("react-native");
|
|
836
|
+
function openURL2(url) {
|
|
837
|
+
return import_react_native18.Linking.openURL(url);
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/AppsInTossModule.ts
|
|
841
|
+
var import_react_native19 = require("react-native");
|
|
842
|
+
var Module2 = import_react_native19.TurboModuleRegistry.getEnforcing("AppsInTossModule");
|
|
843
|
+
var AppsInTossModuleInstance2 = Module2;
|
|
844
|
+
var AppsInTossModule2 = Module2;
|
|
845
|
+
|
|
846
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/getPermission.ts
|
|
847
|
+
function getPermission2(permission) {
|
|
848
|
+
return AppsInTossModule2.getPermission(permission);
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/openPermissionDialog.ts
|
|
852
|
+
function openPermissionDialog2(permission) {
|
|
853
|
+
return AppsInTossModule2.openPermissionDialog(permission);
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/requestPermission.ts
|
|
857
|
+
async function requestPermission2(permission) {
|
|
858
|
+
const permissionStatus = await getPermission2(permission);
|
|
859
|
+
switch (permissionStatus) {
|
|
860
|
+
case "allowed":
|
|
861
|
+
case "denied":
|
|
862
|
+
return permissionStatus;
|
|
863
|
+
default:
|
|
864
|
+
return openPermissionDialog2(permission);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/setClipboardText.ts
|
|
869
|
+
async function setClipboardText2(text) {
|
|
870
|
+
const permissionStatus = await requestPermission2({ name: "clipboard", access: "write" });
|
|
871
|
+
if (permissionStatus === "denied") {
|
|
872
|
+
throw new Error("\uD074\uB9BD\uBCF4\uB4DC \uC4F0\uAE30 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
|
|
873
|
+
}
|
|
874
|
+
return AppsInTossModule2.setClipboardText({ text });
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/getClipboardText.ts
|
|
878
|
+
async function getClipboardText2() {
|
|
879
|
+
const permissionStatus = await requestPermission2({ name: "clipboard", access: "read" });
|
|
880
|
+
if (permissionStatus === "denied") {
|
|
881
|
+
throw new Error("\uD074\uB9BD\uBCF4\uB4DC \uC77D\uAE30 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
|
|
882
|
+
}
|
|
883
|
+
return AppsInTossModule2.getClipboardText({});
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/fetchContacts.ts
|
|
887
|
+
async function fetchContacts2(options) {
|
|
888
|
+
const permissionStatus = await requestPermission2({ name: "contacts", access: "read" });
|
|
889
|
+
if (permissionStatus === "denied") {
|
|
890
|
+
throw new Error("\uC5F0\uB77D\uCC98 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
|
|
891
|
+
}
|
|
892
|
+
const contacts = await AppsInTossModule2.fetchContacts(options);
|
|
893
|
+
return {
|
|
894
|
+
result: contacts.result,
|
|
895
|
+
nextOffset: contacts.nextOffset ?? null,
|
|
896
|
+
done: contacts.done
|
|
897
|
+
};
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/fetchAlbumPhotos.ts
|
|
901
|
+
var DEFAULT_MAX_COUNT2 = 10;
|
|
902
|
+
var DEFAULT_MAX_WIDTH2 = 1024;
|
|
903
|
+
async function fetchAlbumPhotos2(options) {
|
|
904
|
+
const permissionStatus = await requestPermission2({ name: "photos", access: "read" });
|
|
905
|
+
if (permissionStatus === "denied") {
|
|
906
|
+
throw new Error("\uC0AC\uC9C4\uCCA9 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
|
|
907
|
+
}
|
|
908
|
+
const albumPhotos = await AppsInTossModule2.fetchAlbumPhotos({
|
|
909
|
+
...options,
|
|
910
|
+
maxCount: options.maxCount ?? DEFAULT_MAX_COUNT2,
|
|
911
|
+
maxWidth: options.maxWidth ?? DEFAULT_MAX_WIDTH2
|
|
912
|
+
});
|
|
913
|
+
return albumPhotos;
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/getCurrentLocation.ts
|
|
917
|
+
async function getCurrentLocation2(options) {
|
|
918
|
+
const permissionStatus = await requestPermission2({ name: "geolocation", access: "access" });
|
|
919
|
+
if (permissionStatus === "denied") {
|
|
920
|
+
throw new Error("\uC704\uCE58 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
|
|
921
|
+
}
|
|
922
|
+
const position = await AppsInTossModule2.getCurrentLocation(options);
|
|
923
|
+
return position;
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/openCamera.ts
|
|
927
|
+
async function openCamera2(options) {
|
|
928
|
+
const permissionStatus = await requestPermission2({ name: "camera", access: "access" });
|
|
929
|
+
if (permissionStatus === "denied") {
|
|
930
|
+
throw new Error("\uCE74\uBA54\uB77C \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694.");
|
|
931
|
+
}
|
|
932
|
+
const photo = await AppsInTossModule2.openCamera({ base64: false, maxWidth: 1024, ...options });
|
|
933
|
+
return photo;
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/appLogin.ts
|
|
937
|
+
async function appLogin2() {
|
|
938
|
+
return AppsInTossModule2.appLogin({});
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/isMinVersionSupported.ts
|
|
942
|
+
var import_react_native20 = require("react-native");
|
|
943
|
+
|
|
944
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/utils/compareVersion.ts
|
|
945
|
+
var SEMVER_REGEX2 = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\\-]+(?:\.[\da-z\\-]+)*))?(?:\+[\da-z\\-]+(?:\.[\da-z\\-]+)*)?)?)?$/i;
|
|
946
|
+
var isWildcard2 = (val) => ["*", "x", "X"].includes(val);
|
|
947
|
+
var tryParse2 = (val) => {
|
|
948
|
+
const num = parseInt(val, 10);
|
|
949
|
+
return isNaN(num) ? val : num;
|
|
950
|
+
};
|
|
951
|
+
var coerceTypes2 = (a, b) => {
|
|
952
|
+
return typeof a === typeof b ? [a, b] : [String(a), String(b)];
|
|
953
|
+
};
|
|
954
|
+
var compareValues2 = (a, b) => {
|
|
955
|
+
if (isWildcard2(a) || isWildcard2(b)) {
|
|
956
|
+
return 0;
|
|
957
|
+
}
|
|
958
|
+
const [aVal, bVal] = coerceTypes2(tryParse2(a), tryParse2(b));
|
|
959
|
+
if (aVal > bVal) {
|
|
960
|
+
return 1;
|
|
961
|
+
}
|
|
962
|
+
if (aVal < bVal) {
|
|
963
|
+
return -1;
|
|
964
|
+
}
|
|
965
|
+
return 0;
|
|
966
|
+
};
|
|
967
|
+
var parseVersion2 = (version) => {
|
|
968
|
+
if (typeof version !== "string") {
|
|
969
|
+
throw new TypeError("Invalid argument: expected a string");
|
|
970
|
+
}
|
|
971
|
+
const match = version.match(SEMVER_REGEX2);
|
|
972
|
+
if (!match) {
|
|
973
|
+
throw new Error(`Invalid semver: '${version}'`);
|
|
974
|
+
}
|
|
975
|
+
const [, major, minor, patch, build, preRelease] = match;
|
|
976
|
+
return [major, minor, patch, build, preRelease];
|
|
977
|
+
};
|
|
978
|
+
var compareSegments2 = (a, b) => {
|
|
979
|
+
const maxLength = Math.max(a.length, b.length);
|
|
980
|
+
for (let i = 0; i < maxLength; i++) {
|
|
981
|
+
const segA = a[i] ?? "0";
|
|
982
|
+
const segB = b[i] ?? "0";
|
|
983
|
+
const result = compareValues2(segA, segB);
|
|
984
|
+
if (result !== 0) {
|
|
985
|
+
return result;
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
return 0;
|
|
989
|
+
};
|
|
990
|
+
var compareVersions2 = (v1, v2) => {
|
|
991
|
+
const seg1 = parseVersion2(v1);
|
|
992
|
+
const seg2 = parseVersion2(v2);
|
|
993
|
+
const preRelease1 = seg1.pop();
|
|
994
|
+
const preRelease2 = seg2.pop();
|
|
995
|
+
const mainCompare = compareSegments2(seg1, seg2);
|
|
996
|
+
if (mainCompare !== 0) {
|
|
997
|
+
return mainCompare;
|
|
998
|
+
}
|
|
999
|
+
if (preRelease1 && preRelease2) {
|
|
1000
|
+
return compareSegments2(preRelease1.split("."), preRelease2.split("."));
|
|
1001
|
+
}
|
|
1002
|
+
if (preRelease1) {
|
|
1003
|
+
return -1;
|
|
1004
|
+
}
|
|
1005
|
+
if (preRelease2) {
|
|
1006
|
+
return 1;
|
|
1007
|
+
}
|
|
1008
|
+
return 0;
|
|
1009
|
+
};
|
|
1010
|
+
|
|
1011
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/isMinVersionSupported.ts
|
|
1012
|
+
function isMinVersionSupported2(minVersions) {
|
|
1013
|
+
const operationalEnvironment2 = AppsInTossModule2.operationalEnvironment;
|
|
1014
|
+
if (operationalEnvironment2 === "sandbox") {
|
|
1015
|
+
return true;
|
|
1016
|
+
}
|
|
1017
|
+
const currentVersion = AppsInTossModule2.tossAppVersion;
|
|
1018
|
+
const isIOS = import_react_native20.Platform.OS === "ios";
|
|
1019
|
+
const minVersion = isIOS ? minVersions.ios : minVersions.android;
|
|
1020
|
+
if (minVersion === void 0) {
|
|
1021
|
+
return false;
|
|
1022
|
+
}
|
|
1023
|
+
if (minVersion === "always") {
|
|
1024
|
+
return true;
|
|
1025
|
+
}
|
|
1026
|
+
if (minVersion === "never") {
|
|
1027
|
+
return false;
|
|
1028
|
+
}
|
|
1029
|
+
return compareVersions2(currentVersion, minVersion) >= 0;
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/eventLog.ts
|
|
1033
|
+
function normalizeParams2(params) {
|
|
1034
|
+
return Object.fromEntries(
|
|
1035
|
+
Object.entries(params).filter(([, value]) => value !== void 0).map(([key, value]) => [key, String(value)])
|
|
1036
|
+
);
|
|
1037
|
+
}
|
|
1038
|
+
async function eventLog2(params) {
|
|
1039
|
+
if (AppsInTossModule2.operationalEnvironment === "sandbox") {
|
|
1040
|
+
console.log("[eventLogDebug]", {
|
|
1041
|
+
log_name: params.log_name,
|
|
1042
|
+
log_type: params.log_type,
|
|
1043
|
+
params: normalizeParams2(params.params)
|
|
1044
|
+
});
|
|
1045
|
+
return;
|
|
1046
|
+
}
|
|
1047
|
+
const isSupported = isMinVersionSupported2({
|
|
1048
|
+
android: "5.208.0",
|
|
1049
|
+
ios: "5.208.0"
|
|
1050
|
+
});
|
|
1051
|
+
if (!isSupported) {
|
|
1052
|
+
return;
|
|
1053
|
+
}
|
|
1054
|
+
return AppsInTossModule2.eventLog({
|
|
1055
|
+
log_name: params.log_name,
|
|
1056
|
+
log_type: params.log_type,
|
|
1057
|
+
params: normalizeParams2(params.params)
|
|
1058
|
+
});
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/getTossShareLink.ts
|
|
1062
|
+
async function getTossShareLink2(path) {
|
|
1063
|
+
const { shareLink } = await AppsInTossModule2.getTossShareLink({});
|
|
1064
|
+
const shareUrl = new URL(shareLink);
|
|
1065
|
+
shareUrl.searchParams.set("deep_link_value", path);
|
|
1066
|
+
shareUrl.searchParams.set("af_dp", path);
|
|
1067
|
+
return shareUrl.toString();
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/setDeviceOrientation.ts
|
|
1071
|
+
async function setDeviceOrientation2(options) {
|
|
1072
|
+
const isSupported = isMinVersionSupported2({
|
|
1073
|
+
android: "5.215.0",
|
|
1074
|
+
ios: "5.215.0"
|
|
1075
|
+
});
|
|
1076
|
+
if (!isSupported) {
|
|
1077
|
+
return;
|
|
1078
|
+
}
|
|
1079
|
+
return AppsInTossModule2.setDeviceOrientation(options);
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/checkoutPayment.ts
|
|
1083
|
+
async function checkoutPayment2(options) {
|
|
1084
|
+
return AppsInTossModule2.checkoutPayment({ params: options });
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/saveBase64Data.ts
|
|
1088
|
+
async function saveBase64Data2(params) {
|
|
1089
|
+
const isSupported = isMinVersionSupported2({
|
|
1090
|
+
android: "5.218.0",
|
|
1091
|
+
ios: "5.216.0"
|
|
1092
|
+
});
|
|
1093
|
+
if (!isSupported) {
|
|
1094
|
+
console.warn("saveBase64Data is not supported in this app version");
|
|
1095
|
+
return;
|
|
1096
|
+
}
|
|
1097
|
+
await AppsInTossModule2.saveBase64Data(params);
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/constant-bridges.ts
|
|
1101
|
+
var constant_bridges_exports = {};
|
|
1102
|
+
__export(constant_bridges_exports, {
|
|
1103
|
+
getDeviceId: () => getDeviceId2,
|
|
1104
|
+
getLocale: () => getLocale2,
|
|
1105
|
+
getOperationalEnvironment: () => getOperationalEnvironment2,
|
|
1106
|
+
getPlatformOS: () => getPlatformOS2,
|
|
1107
|
+
getSchemeUri: () => getSchemeUri4,
|
|
1108
|
+
getTossAppVersion: () => getTossAppVersion2
|
|
1109
|
+
});
|
|
1110
|
+
|
|
1111
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/getLocale.ts
|
|
1112
|
+
var import_react_native21 = require("react-native");
|
|
1113
|
+
function getLocale2() {
|
|
1114
|
+
const locale = BedrockModule2?.DeviceInfo?.locale ?? "ko-KR";
|
|
1115
|
+
if (import_react_native21.Platform.OS === "android") {
|
|
1116
|
+
return replaceUnderbarToHypen2(locale);
|
|
1117
|
+
}
|
|
1118
|
+
return locale;
|
|
1119
|
+
}
|
|
1120
|
+
function replaceUnderbarToHypen2(locale) {
|
|
1121
|
+
return locale.replace(/_/g, "-");
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/getSchemeUri.ts
|
|
1125
|
+
function getSchemeUri4() {
|
|
1126
|
+
return BedrockModule2.schemeUri;
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/BedrockModule/native-modules/natives/getPlatformOS.ts
|
|
1130
|
+
var import_react_native22 = require("react-native");
|
|
1131
|
+
function getPlatformOS2() {
|
|
1132
|
+
return import_react_native22.Platform.OS;
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/getOperationalEnvironment.ts
|
|
1136
|
+
function getOperationalEnvironment2() {
|
|
1137
|
+
return AppsInTossModule2.operationalEnvironment;
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/getTossAppVersion.ts
|
|
1141
|
+
function getTossAppVersion2() {
|
|
1142
|
+
return AppsInTossModule2.tossAppVersion;
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-modules/getDeviceId.ts
|
|
1146
|
+
function getDeviceId2() {
|
|
1147
|
+
return AppsInTossModule2.deviceId;
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/event-bridges.ts
|
|
1151
|
+
var event_bridges_exports = {};
|
|
1152
|
+
__export(event_bridges_exports, {
|
|
1153
|
+
startUpdateLocation: () => startUpdateLocation2
|
|
1154
|
+
});
|
|
1155
|
+
|
|
1156
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/appsInTossEvent.ts
|
|
1157
|
+
var import_react_native27 = require("@granite-js/react-native");
|
|
1158
|
+
|
|
1159
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/event-plugins/EntryMessageExitedEvent.ts
|
|
1160
|
+
var import_react_native23 = require("@granite-js/react-native");
|
|
1161
|
+
var EntryMessageExitedEvent2 = class extends import_react_native23.GraniteEventDefinition {
|
|
1162
|
+
name = "entryMessageExited";
|
|
1163
|
+
remove() {
|
|
1164
|
+
}
|
|
1165
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1166
|
+
listener(_) {
|
|
1167
|
+
}
|
|
1168
|
+
};
|
|
1169
|
+
|
|
1170
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/event-plugins/UpdateLocationEvent.ts
|
|
1171
|
+
var import_react_native25 = require("@granite-js/react-native");
|
|
1172
|
+
|
|
1173
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/nativeEventEmitter.ts
|
|
1174
|
+
var import_react_native24 = require("react-native");
|
|
1175
|
+
var nativeEventEmitter2 = new import_react_native24.NativeEventEmitter(AppsInTossModuleInstance2);
|
|
1176
|
+
|
|
1177
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/event-plugins/UpdateLocationEvent.ts
|
|
1178
|
+
var UpdateLocationEvent2 = class extends import_react_native25.GraniteEventDefinition {
|
|
1179
|
+
name = "updateLocationEvent";
|
|
1180
|
+
subscriptionCount = 0;
|
|
1181
|
+
ref = {
|
|
1182
|
+
remove: () => {
|
|
1183
|
+
}
|
|
1184
|
+
};
|
|
1185
|
+
remove() {
|
|
1186
|
+
if (--this.subscriptionCount === 0) {
|
|
1187
|
+
AppsInTossModuleInstance2.stopUpdateLocation({});
|
|
1188
|
+
}
|
|
1189
|
+
this.ref.remove();
|
|
1190
|
+
}
|
|
1191
|
+
listener(options, onEvent, onError) {
|
|
1192
|
+
requestPermission2({ name: "geolocation", access: "access" }).then((permissionStatus) => {
|
|
1193
|
+
if (permissionStatus === "denied") {
|
|
1194
|
+
onError(new Error("\uC704\uCE58 \uAD8C\uD55C\uC774 \uAC70\uBD80\uB418\uC5C8\uC5B4\uC694."));
|
|
1195
|
+
return;
|
|
1196
|
+
}
|
|
1197
|
+
void AppsInTossModuleInstance2.startUpdateLocation(options).catch(onError);
|
|
1198
|
+
const subscription = nativeEventEmitter2.addListener("updateLocation", onEvent);
|
|
1199
|
+
this.ref = {
|
|
1200
|
+
remove: () => subscription?.remove()
|
|
1201
|
+
};
|
|
1202
|
+
this.subscriptionCount++;
|
|
1203
|
+
}).catch(onError);
|
|
1204
|
+
}
|
|
1205
|
+
};
|
|
1206
|
+
|
|
1207
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/internal/AppBridgeCallbackEvent.ts
|
|
1208
|
+
var import_react_native26 = require("@granite-js/react-native");
|
|
1209
|
+
|
|
1210
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/utils/generateUUID.ts
|
|
1211
|
+
function generateUUID2(placeholder) {
|
|
1212
|
+
return placeholder ? (placeholder ^ Math.random() * 16 >> placeholder / 4).toString(16) : (String(1e7) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, generateUUID2);
|
|
1213
|
+
}
|
|
634
1214
|
|
|
635
|
-
//
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
1215
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/internal/appBridge.ts
|
|
1216
|
+
var INTERNAL__callbacks2 = /* @__PURE__ */ new Map();
|
|
1217
|
+
function invokeAppBridgeCallback2(id, ...args) {
|
|
1218
|
+
const callback = INTERNAL__callbacks2.get(id);
|
|
1219
|
+
callback?.call(null, ...args);
|
|
1220
|
+
return Boolean(callback);
|
|
1221
|
+
}
|
|
1222
|
+
function invokeAppBridgeMethod2(methodName, params, callbacks) {
|
|
1223
|
+
const { onSuccess, onError, ...appBridgeCallbacks } = callbacks;
|
|
1224
|
+
const { callbackMap, unregisterAll } = registerCallbacks2(appBridgeCallbacks);
|
|
1225
|
+
const promise = AppsInTossModuleInstance2[methodName]({
|
|
1226
|
+
params,
|
|
1227
|
+
callbacks: callbackMap
|
|
640
1228
|
});
|
|
641
|
-
|
|
642
|
-
|
|
1229
|
+
void promise.then(onSuccess).catch(onError);
|
|
1230
|
+
return unregisterAll;
|
|
1231
|
+
}
|
|
1232
|
+
function registerCallbacks2(callbacks) {
|
|
1233
|
+
const callbackMap = {};
|
|
1234
|
+
for (const [callbackName, callback] of Object.entries(callbacks)) {
|
|
1235
|
+
const id = registerCallback2(callback, callbackName);
|
|
1236
|
+
callbackMap[callbackName] = id;
|
|
643
1237
|
}
|
|
644
|
-
|
|
1238
|
+
const unregisterAll = () => {
|
|
1239
|
+
Object.values(callbackMap).forEach(unregisterCallback2);
|
|
1240
|
+
};
|
|
1241
|
+
return { callbackMap, unregisterAll };
|
|
1242
|
+
}
|
|
1243
|
+
function registerCallback2(callback, name = "unnamed") {
|
|
1244
|
+
const uniqueId = generateUUID2();
|
|
1245
|
+
const callbackId = `${uniqueId}__${name}`;
|
|
1246
|
+
INTERNAL__callbacks2.set(callbackId, callback);
|
|
1247
|
+
return callbackId;
|
|
645
1248
|
}
|
|
1249
|
+
function unregisterCallback2(id) {
|
|
1250
|
+
INTERNAL__callbacks2.delete(id);
|
|
1251
|
+
}
|
|
1252
|
+
function getCallbackIds2() {
|
|
1253
|
+
return Array.from(INTERNAL__callbacks2.keys());
|
|
1254
|
+
}
|
|
1255
|
+
var INTERNAL__appBridgeHandler2 = {
|
|
1256
|
+
invokeAppBridgeCallback: invokeAppBridgeCallback2,
|
|
1257
|
+
invokeAppBridgeMethod: invokeAppBridgeMethod2,
|
|
1258
|
+
registerCallback: registerCallback2,
|
|
1259
|
+
unregisterCallback: unregisterCallback2,
|
|
1260
|
+
getCallbackIds: getCallbackIds2
|
|
1261
|
+
};
|
|
646
1262
|
|
|
647
|
-
//
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
return;
|
|
1263
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/internal/AppBridgeCallbackEvent.ts
|
|
1264
|
+
var UNSAFE__nativeEventEmitter2 = nativeEventEmitter2;
|
|
1265
|
+
var AppBridgeCallbackEvent2 = class _AppBridgeCallbackEvent2 extends import_react_native26.GraniteEventDefinition {
|
|
1266
|
+
static INTERNAL__appBridgeSubscription;
|
|
1267
|
+
name = "appBridgeCallbackEvent";
|
|
1268
|
+
constructor() {
|
|
1269
|
+
super();
|
|
1270
|
+
this.registerAppBridgeCallbackEventListener();
|
|
656
1271
|
}
|
|
657
|
-
|
|
1272
|
+
remove() {
|
|
1273
|
+
}
|
|
1274
|
+
listener() {
|
|
1275
|
+
}
|
|
1276
|
+
registerAppBridgeCallbackEventListener() {
|
|
1277
|
+
if (_AppBridgeCallbackEvent2.INTERNAL__appBridgeSubscription != null) {
|
|
1278
|
+
return;
|
|
1279
|
+
}
|
|
1280
|
+
_AppBridgeCallbackEvent2.INTERNAL__appBridgeSubscription = UNSAFE__nativeEventEmitter2.addListener(
|
|
1281
|
+
"appBridgeCallback",
|
|
1282
|
+
this.ensureInvokeAppBridgeCallback
|
|
1283
|
+
);
|
|
1284
|
+
}
|
|
1285
|
+
ensureInvokeAppBridgeCallback(result) {
|
|
1286
|
+
if (typeof result === "object" && typeof result.name === "string") {
|
|
1287
|
+
INTERNAL__appBridgeHandler2.invokeAppBridgeCallback(result.name, result.params);
|
|
1288
|
+
} else {
|
|
1289
|
+
console.warn("Invalid app bridge callback result:", result);
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
};
|
|
1293
|
+
|
|
1294
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/appsInTossEvent.ts
|
|
1295
|
+
var appsInTossEvent2 = new import_react_native27.GraniteEvent([
|
|
1296
|
+
new AppBridgeCallbackEvent2(),
|
|
1297
|
+
new UpdateLocationEvent2(),
|
|
1298
|
+
new EntryMessageExitedEvent2()
|
|
1299
|
+
]);
|
|
1300
|
+
|
|
1301
|
+
// ../../.yarn/__virtual__/@apps-in-toss-native-modules-virtual-79d3aa8191/1/apps-in-toss-packages/native-modules/src/AppsInTossModule/native-event-emitter/startUpdateLocation.ts
|
|
1302
|
+
function startUpdateLocation2(eventParams) {
|
|
1303
|
+
return appsInTossEvent2.addEventListener("updateLocationEvent", eventParams);
|
|
658
1304
|
}
|
|
659
1305
|
|
|
660
1306
|
// src/core/registerApp.tsx
|
|
@@ -663,7 +1309,7 @@ function AppsInTossContainer(Container, { children, ...initialProps }) {
|
|
|
663
1309
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
664
1310
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppEvent.Entry, {}),
|
|
665
1311
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AppEvent.System, { ...initialProps }),
|
|
666
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Container, { ...initialProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
1312
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Container, { ...initialProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native29.TDSProvider, { colorPreference: "light", token: { color: { primary: getAppsInTossGlobals().brandPrimaryColor } }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TDSContainer, { ...initialProps, children }) }) })
|
|
667
1313
|
] });
|
|
668
1314
|
}
|
|
669
1315
|
function TDSContainer({ children }) {
|
|
@@ -672,10 +1318,10 @@ function TDSContainer({ children }) {
|
|
|
672
1318
|
}
|
|
673
1319
|
function registerApp(container, { context, analytics }) {
|
|
674
1320
|
import_analytics.Analytics.init({
|
|
675
|
-
logger: (params) => void
|
|
1321
|
+
logger: (params) => void eventLog2(params),
|
|
676
1322
|
debug: analytics?.debug ?? __DEV__
|
|
677
1323
|
});
|
|
678
|
-
return
|
|
1324
|
+
return import_react_native28.Granite.registerApp(AppsInTossContainer.bind(null, container), {
|
|
679
1325
|
appName: getAppName(),
|
|
680
1326
|
context,
|
|
681
1327
|
router: {
|
|
@@ -688,7 +1334,7 @@ function registerApp(container, { context, analytics }) {
|
|
|
688
1334
|
}
|
|
689
1335
|
function getAppName() {
|
|
690
1336
|
try {
|
|
691
|
-
return global.
|
|
1337
|
+
return global.__granite.app.name;
|
|
692
1338
|
} catch (error) {
|
|
693
1339
|
console.error("unexpected error occurred while getting app name");
|
|
694
1340
|
throw error;
|
|
@@ -700,217 +1346,36 @@ var AppsInToss = {
|
|
|
700
1346
|
registerApp
|
|
701
1347
|
};
|
|
702
1348
|
|
|
703
|
-
// src/native-event-emitter/startUpdateLocation.ts
|
|
704
|
-
function startUpdateLocation(eventParams) {
|
|
705
|
-
return appsInTossEvent.addEventListener("updateLocationEvent", eventParams);
|
|
706
|
-
}
|
|
707
|
-
|
|
708
|
-
// ../../.yarn/cache/es-toolkit-npm-1.34.1-4cd6371dcb-aab6d07be3.zip/node_modules/es-toolkit/dist/function/noop.mjs
|
|
709
|
-
function noop() {
|
|
710
|
-
}
|
|
711
|
-
|
|
712
|
-
// src/native-modules/ads/googleAdMob.ts
|
|
713
|
-
function loadAdMobInterstitialAd(params) {
|
|
714
|
-
if (!loadAdMobInterstitialAd.isSupported()) {
|
|
715
|
-
params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE));
|
|
716
|
-
return noop;
|
|
717
|
-
}
|
|
718
|
-
const { onEvent, onError, options } = params;
|
|
719
|
-
const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("loadAdMobInterstitialAd", options, {
|
|
720
|
-
onAdClicked: () => {
|
|
721
|
-
onEvent({ type: "clicked" });
|
|
722
|
-
},
|
|
723
|
-
onAdDismissed: () => {
|
|
724
|
-
onEvent({ type: "dismissed" });
|
|
725
|
-
},
|
|
726
|
-
onAdFailedToShow: () => {
|
|
727
|
-
onEvent({ type: "failedToShow" });
|
|
728
|
-
},
|
|
729
|
-
onAdImpression: () => {
|
|
730
|
-
onEvent({ type: "impression" });
|
|
731
|
-
},
|
|
732
|
-
onAdShow: () => {
|
|
733
|
-
onEvent({ type: "show" });
|
|
734
|
-
},
|
|
735
|
-
onSuccess: (result) => onEvent({ type: "loaded", data: result }),
|
|
736
|
-
onError
|
|
737
|
-
});
|
|
738
|
-
return unregisterCallbacks;
|
|
739
|
-
}
|
|
740
|
-
function showAdMobInterstitialAd(params) {
|
|
741
|
-
if (!showAdMobInterstitialAd.isSupported()) {
|
|
742
|
-
params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE));
|
|
743
|
-
return noop;
|
|
744
|
-
}
|
|
745
|
-
const { onEvent, onError, options } = params;
|
|
746
|
-
const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("showAdMobInterstitialAd", options, {
|
|
747
|
-
onSuccess: () => onEvent({ type: "requested" }),
|
|
748
|
-
onError
|
|
749
|
-
});
|
|
750
|
-
return unregisterCallbacks;
|
|
751
|
-
}
|
|
752
|
-
function loadAdMobRewardedAd(params) {
|
|
753
|
-
if (!loadAdMobRewardedAd.isSupported()) {
|
|
754
|
-
params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE));
|
|
755
|
-
return noop;
|
|
756
|
-
}
|
|
757
|
-
const { onEvent, onError, options } = params;
|
|
758
|
-
const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("loadAdMobRewardedAd", options, {
|
|
759
|
-
onAdClicked: () => {
|
|
760
|
-
onEvent({ type: "clicked" });
|
|
761
|
-
},
|
|
762
|
-
onAdDismissed: () => {
|
|
763
|
-
onEvent({ type: "dismissed" });
|
|
764
|
-
},
|
|
765
|
-
onAdFailedToShow: () => {
|
|
766
|
-
onEvent({ type: "failedToShow" });
|
|
767
|
-
},
|
|
768
|
-
onAdImpression: () => {
|
|
769
|
-
onEvent({ type: "impression" });
|
|
770
|
-
},
|
|
771
|
-
onAdShow: () => {
|
|
772
|
-
onEvent({ type: "show" });
|
|
773
|
-
},
|
|
774
|
-
onUserEarnedReward: () => {
|
|
775
|
-
onEvent({ type: "userEarnedReward" });
|
|
776
|
-
},
|
|
777
|
-
onSuccess: (result) => onEvent({ type: "loaded", data: result }),
|
|
778
|
-
onError
|
|
779
|
-
});
|
|
780
|
-
return unregisterCallbacks;
|
|
781
|
-
}
|
|
782
|
-
function showAdMobRewardedAd(params) {
|
|
783
|
-
if (!showAdMobRewardedAd.isSupported()) {
|
|
784
|
-
params.onError(new Error(UNSUPPORTED_ERROR_MESSAGE));
|
|
785
|
-
return noop;
|
|
786
|
-
}
|
|
787
|
-
const { onEvent, onError, options } = params;
|
|
788
|
-
const unregisterCallbacks = INTERNAL__appBridgeHandler.invokeAppBridgeMethod("showAdMobRewardedAd", options, {
|
|
789
|
-
onSuccess: () => onEvent({ type: "requested" }),
|
|
790
|
-
onError
|
|
791
|
-
});
|
|
792
|
-
return unregisterCallbacks;
|
|
793
|
-
}
|
|
794
|
-
var ANDROID_GOOGLE_AD_MOB_SUPPORTED_VERSION = "5.209.0";
|
|
795
|
-
var IOS_GOOGLE_AD_MOB_SUPPORTED_VERSION = "5.209.0";
|
|
796
|
-
var UNSUPPORTED_ERROR_MESSAGE = "This feature is not supported in the current environment";
|
|
797
|
-
var ENVIRONMENT = getOperationalEnvironment();
|
|
798
|
-
function createIsSupported() {
|
|
799
|
-
return () => {
|
|
800
|
-
if (ENVIRONMENT !== "toss") {
|
|
801
|
-
return false;
|
|
802
|
-
}
|
|
803
|
-
return isMinVersionSupported({
|
|
804
|
-
android: ANDROID_GOOGLE_AD_MOB_SUPPORTED_VERSION,
|
|
805
|
-
ios: IOS_GOOGLE_AD_MOB_SUPPORTED_VERSION
|
|
806
|
-
});
|
|
807
|
-
};
|
|
808
|
-
}
|
|
809
|
-
loadAdMobInterstitialAd.isSupported = createIsSupported();
|
|
810
|
-
loadAdMobRewardedAd.isSupported = createIsSupported();
|
|
811
|
-
showAdMobInterstitialAd.isSupported = createIsSupported();
|
|
812
|
-
showAdMobRewardedAd.isSupported = createIsSupported();
|
|
813
|
-
|
|
814
|
-
// src/native-modules/getTossAppVersion.ts
|
|
815
|
-
function getTossAppVersion() {
|
|
816
|
-
return AppsInTossModule.tossAppVersion;
|
|
817
|
-
}
|
|
818
|
-
|
|
819
|
-
// src/native-modules/getDeviceId.ts
|
|
820
|
-
function getDeviceId() {
|
|
821
|
-
return AppsInTossModule.deviceId;
|
|
822
|
-
}
|
|
823
|
-
|
|
824
|
-
// src/native-modules/storage.ts
|
|
825
|
-
function getItem(key) {
|
|
826
|
-
return AppsInTossModule.getStorageItem({ key });
|
|
827
|
-
}
|
|
828
|
-
function setItem(key, value) {
|
|
829
|
-
return AppsInTossModule.setStorageItem({
|
|
830
|
-
key,
|
|
831
|
-
value
|
|
832
|
-
});
|
|
833
|
-
}
|
|
834
|
-
function removeItem(key) {
|
|
835
|
-
return AppsInTossModule.removeStorageItem({ key });
|
|
836
|
-
}
|
|
837
|
-
function clearItems() {
|
|
838
|
-
return AppsInTossModule.clearStorage({});
|
|
839
|
-
}
|
|
840
|
-
var Storage = {
|
|
841
|
-
getItem,
|
|
842
|
-
setItem,
|
|
843
|
-
removeItem,
|
|
844
|
-
clearItems
|
|
845
|
-
};
|
|
846
|
-
|
|
847
|
-
// src/native-modules/iap.ts
|
|
848
|
-
async function createOneTimePurchaseOrder(params) {
|
|
849
|
-
const isSupported = isMinVersionSupported({
|
|
850
|
-
android: "5.219.0",
|
|
851
|
-
ios: "5.219.0"
|
|
852
|
-
});
|
|
853
|
-
if (!isSupported) {
|
|
854
|
-
return;
|
|
855
|
-
}
|
|
856
|
-
return AppsInTossModule.iapCreateOneTimePurchaseOrder(params);
|
|
857
|
-
}
|
|
858
|
-
async function getProductItemList() {
|
|
859
|
-
const isSupported = isMinVersionSupported({
|
|
860
|
-
android: "5.219.0",
|
|
861
|
-
ios: "5.219.0"
|
|
862
|
-
});
|
|
863
|
-
if (!isSupported) {
|
|
864
|
-
return;
|
|
865
|
-
}
|
|
866
|
-
return AppsInTossModule.iapGetProductItemList({});
|
|
867
|
-
}
|
|
868
|
-
var IAP = {
|
|
869
|
-
createOneTimePurchaseOrder,
|
|
870
|
-
getProductItemList
|
|
871
|
-
};
|
|
872
|
-
|
|
873
|
-
// src/native-modules/index.ts
|
|
874
|
-
var TossPay = {
|
|
875
|
-
checkoutPayment
|
|
876
|
-
};
|
|
877
|
-
var GoogleAdMob = {
|
|
878
|
-
loadAdMobInterstitialAd,
|
|
879
|
-
showAdMobInterstitialAd,
|
|
880
|
-
loadAdMobRewardedAd,
|
|
881
|
-
showAdMobRewardedAd
|
|
882
|
-
};
|
|
883
|
-
|
|
884
1349
|
// src/components/WebView.tsx
|
|
885
|
-
var
|
|
1350
|
+
var import_react_native39 = require("@granite-js/react-native");
|
|
1351
|
+
var graniteAsyncBridges = __toESM(require("@granite-js/react-native/async-bridges"), 1);
|
|
1352
|
+
var graniteConstantBridges = __toESM(require("@granite-js/react-native/constant-bridges"), 1);
|
|
1353
|
+
var import_react_native40 = require("@toss-design-system/react-native");
|
|
886
1354
|
var import_private = require("@toss-design-system/react-native/private");
|
|
887
1355
|
var import_react6 = require("react");
|
|
888
|
-
var import_react_native_bedrock11 = require("react-native-bedrock");
|
|
889
|
-
var bedrockAsyncBridges = __toESM(require("react-native-bedrock/async-bridges"), 1);
|
|
890
|
-
var bedrockConstantBridges = __toESM(require("react-native-bedrock/constant-bridges"), 1);
|
|
891
1356
|
|
|
892
1357
|
// src/components/GameWebView.tsx
|
|
893
|
-
var import_react_native_webview = require("@
|
|
894
|
-
var
|
|
1358
|
+
var import_react_native_webview = require("@granite-js/native/react-native-webview");
|
|
1359
|
+
var import_react_native35 = require("@granite-js/react-native");
|
|
1360
|
+
var import_react_native36 = require("@toss-design-system/react-native");
|
|
895
1361
|
var import_es_hangul = require("es-hangul");
|
|
896
1362
|
var import_react4 = require("react");
|
|
897
|
-
var
|
|
898
|
-
var import_react_native_bedrock9 = require("react-native-bedrock");
|
|
1363
|
+
var import_react_native37 = require("react-native");
|
|
899
1364
|
|
|
900
1365
|
// src/components/GameWebViewNavigationBar/GameNavigationBar.tsx
|
|
901
|
-
var import_react_native_svg = require("@
|
|
902
|
-
var
|
|
903
|
-
var
|
|
1366
|
+
var import_react_native_svg = require("@granite-js/native/react-native-svg");
|
|
1367
|
+
var import_react_native33 = require("@toss-design-system/react-native");
|
|
1368
|
+
var import_react_native34 = require("react-native");
|
|
904
1369
|
|
|
905
1370
|
// src/components/GameWebViewNavigationBar/HeaderRight.tsx
|
|
906
|
-
var
|
|
1371
|
+
var import_react_native31 = require("react-native");
|
|
907
1372
|
|
|
908
1373
|
// src/components/GameWebViewNavigationBar/byPlatform.ts
|
|
909
|
-
var
|
|
1374
|
+
var import_react_native30 = require("react-native");
|
|
910
1375
|
function byPlatform({
|
|
911
1376
|
...props
|
|
912
1377
|
}) {
|
|
913
|
-
return (props[
|
|
1378
|
+
return (props[import_react_native30.Platform.OS] ?? props.fallback)();
|
|
914
1379
|
}
|
|
915
1380
|
|
|
916
1381
|
// src/components/GameWebViewNavigationBar/constants.ts
|
|
@@ -920,10 +1385,10 @@ var IOS_DEFAULT_MARGIN = 20;
|
|
|
920
1385
|
// src/components/GameWebViewNavigationBar/HeaderRight.tsx
|
|
921
1386
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
922
1387
|
function IOSHeaderRight(props) {
|
|
923
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
1388
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native31.View, { style: styles.ios, ...props });
|
|
924
1389
|
}
|
|
925
1390
|
function AndroidHeaderRight(props) {
|
|
926
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
1391
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native31.View, { style: styles.android, ...props });
|
|
927
1392
|
}
|
|
928
1393
|
function HeaderRight(props) {
|
|
929
1394
|
return byPlatform({
|
|
@@ -932,7 +1397,7 @@ function HeaderRight(props) {
|
|
|
932
1397
|
fallback: () => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(IOSHeaderRight, { ...props })
|
|
933
1398
|
});
|
|
934
1399
|
}
|
|
935
|
-
var styles =
|
|
1400
|
+
var styles = import_react_native31.StyleSheet.create({
|
|
936
1401
|
ios: {
|
|
937
1402
|
marginRight: -IOS_DEFAULT_MARGIN + RIGHT_MARGIN,
|
|
938
1403
|
flexDirection: "row"
|
|
@@ -943,11 +1408,11 @@ var styles = import_react_native8.StyleSheet.create({
|
|
|
943
1408
|
});
|
|
944
1409
|
|
|
945
1410
|
// src/components/GameWebViewNavigationBar/useSafeAreaTop.ts
|
|
946
|
-
var import_react_native_safe_area_context = require("@
|
|
947
|
-
var
|
|
1411
|
+
var import_react_native_safe_area_context = require("@granite-js/native/react-native-safe-area-context");
|
|
1412
|
+
var import_react_native32 = require("react-native");
|
|
948
1413
|
function useSafeAreaTop() {
|
|
949
1414
|
const safeAreaInsets = (0, import_react_native_safe_area_context.useSafeAreaInsets)();
|
|
950
|
-
const hasDynamicIsland =
|
|
1415
|
+
const hasDynamicIsland = import_react_native32.Platform.OS === "ios" && safeAreaInsets.top > 50;
|
|
951
1416
|
const safeAreaTop = hasDynamicIsland ? safeAreaInsets.top - 5 : safeAreaInsets.top;
|
|
952
1417
|
return safeAreaTop;
|
|
953
1418
|
}
|
|
@@ -958,31 +1423,31 @@ var originXML = '<svg fill="none" height="30" viewBox="0 0 30 30" width="30" xml
|
|
|
958
1423
|
function GameNavigationBar({ onClose }) {
|
|
959
1424
|
const safeAreaTop = useSafeAreaTop();
|
|
960
1425
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
|
|
961
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
1426
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native33.PageNavbar, { preference: { type: "none" } }),
|
|
962
1427
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
963
|
-
|
|
1428
|
+
import_react_native34.View,
|
|
964
1429
|
{
|
|
965
1430
|
style: {
|
|
966
1431
|
width: "100%",
|
|
967
|
-
height:
|
|
1432
|
+
height: import_react_native34.Platform.OS === "ios" ? 44 : 54,
|
|
968
1433
|
flexDirection: "row",
|
|
969
1434
|
alignItems: "center",
|
|
970
1435
|
justifyContent: "flex-end",
|
|
971
1436
|
position: "absolute",
|
|
972
1437
|
zIndex: 9999,
|
|
973
1438
|
marginTop: safeAreaTop,
|
|
974
|
-
paddingRight:
|
|
1439
|
+
paddingRight: import_react_native34.Platform.OS === "ios" ? 10 : 8
|
|
975
1440
|
},
|
|
976
1441
|
pointerEvents: "box-none",
|
|
977
1442
|
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(HeaderRight, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
978
|
-
|
|
1443
|
+
import_react_native34.TouchableOpacity,
|
|
979
1444
|
{
|
|
980
1445
|
hitSlop: { left: 8, right: 8 },
|
|
981
1446
|
accessibilityRole: "button",
|
|
982
1447
|
accessible: true,
|
|
983
1448
|
accessibilityLabel: "\uAC8C\uC784\uC885\uB8CC",
|
|
984
1449
|
style: {
|
|
985
|
-
padding:
|
|
1450
|
+
padding: import_react_native34.Platform.OS === "ios" ? 7 : 9
|
|
986
1451
|
},
|
|
987
1452
|
onPress: onClose,
|
|
988
1453
|
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native_svg.SvgXml, { xml: originXML, width: 30, height: 30 })
|
|
@@ -996,7 +1461,7 @@ function GameNavigationBar({ onClose }) {
|
|
|
996
1461
|
// src/components/GameWebView.tsx
|
|
997
1462
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
998
1463
|
var GameWebView = (0, import_react4.forwardRef)(function GameWebView2(props, ref) {
|
|
999
|
-
const { openConfirm } = (0,
|
|
1464
|
+
const { openConfirm } = (0, import_react_native36.useDialog)();
|
|
1000
1465
|
const { brandDisplayName } = getAppsInTossGlobals();
|
|
1001
1466
|
const handleClose = (0, import_react4.useCallback)(async () => {
|
|
1002
1467
|
const isConfirmed = await openConfirm({
|
|
@@ -1006,14 +1471,14 @@ var GameWebView = (0, import_react4.forwardRef)(function GameWebView2(props, ref
|
|
|
1006
1471
|
closeOnDimmerClick: true
|
|
1007
1472
|
});
|
|
1008
1473
|
if (isConfirmed) {
|
|
1009
|
-
(0,
|
|
1474
|
+
(0, import_react_native35.closeView)();
|
|
1010
1475
|
}
|
|
1011
1476
|
}, [brandDisplayName, openConfirm]);
|
|
1012
1477
|
(0, import_react4.useEffect)(() => {
|
|
1013
|
-
if (
|
|
1014
|
-
|
|
1478
|
+
if (import_react_native37.Platform.OS === "ios") {
|
|
1479
|
+
setIosSwipeGestureEnabled({ isEnabled: false });
|
|
1015
1480
|
return () => {
|
|
1016
|
-
|
|
1481
|
+
setIosSwipeGestureEnabled({ isEnabled: true });
|
|
1017
1482
|
};
|
|
1018
1483
|
}
|
|
1019
1484
|
return;
|
|
@@ -1023,14 +1488,14 @@ var GameWebView = (0, import_react4.forwardRef)(function GameWebView2(props, ref
|
|
|
1023
1488
|
handleClose();
|
|
1024
1489
|
return true;
|
|
1025
1490
|
};
|
|
1026
|
-
|
|
1491
|
+
import_react_native37.BackHandler.addEventListener("hardwareBackPress", backHandler);
|
|
1027
1492
|
return () => {
|
|
1028
|
-
|
|
1493
|
+
import_react_native37.BackHandler.removeEventListener("hardwareBackPress", backHandler);
|
|
1029
1494
|
};
|
|
1030
1495
|
}, [handleClose]);
|
|
1031
1496
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
|
|
1032
1497
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(GameNavigationBar, { onClose: handleClose }),
|
|
1033
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
1498
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_native37.View, { style: { flex: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_native_webview.WebView, { ref, ...props }) })
|
|
1034
1499
|
] });
|
|
1035
1500
|
});
|
|
1036
1501
|
|
|
@@ -1067,12 +1532,12 @@ function methodHandler({
|
|
|
1067
1532
|
};
|
|
1068
1533
|
wrappedFunc(...args).then((result) => {
|
|
1069
1534
|
injectJavaScript?.(`
|
|
1070
|
-
window.
|
|
1535
|
+
window.__GRANITE_NATIVE_EMITTER.emit('${functionName}/resolve/${eventId}', ${JSON.stringify(result, null, 0)});
|
|
1071
1536
|
`);
|
|
1072
1537
|
}).catch((error) => {
|
|
1073
1538
|
const serializedError = serializeError(error);
|
|
1074
1539
|
injectJavaScript?.(`
|
|
1075
|
-
window.
|
|
1540
|
+
window.__GRANITE_NATIVE_EMITTER.emit('${functionName}/reject/${eventId}', ${serializedError});
|
|
1076
1541
|
`);
|
|
1077
1542
|
});
|
|
1078
1543
|
}
|
|
@@ -1103,12 +1568,12 @@ function useBridgeHandler({
|
|
|
1103
1568
|
);
|
|
1104
1569
|
const createHandleOnEvent = (functionName, eventId) => (response) => {
|
|
1105
1570
|
ref.current?.injectJavaScript(`
|
|
1106
|
-
window.
|
|
1571
|
+
window.__GRANITE_NATIVE_EMITTER.emit('${functionName}/onEvent/${eventId}', ${JSON.stringify(response, null, 0)});
|
|
1107
1572
|
`);
|
|
1108
1573
|
};
|
|
1109
1574
|
const createHandleOnError = (functionName, eventId) => (error) => {
|
|
1110
1575
|
ref.current?.injectJavaScript(`
|
|
1111
|
-
window.
|
|
1576
|
+
window.__GRANITE_NATIVE_EMITTER.emit('${functionName}/onError/${eventId}', ${JSON.stringify(error, null, 0)});
|
|
1112
1577
|
`);
|
|
1113
1578
|
};
|
|
1114
1579
|
const $onMessage = (0, import_react5.useCallback)(
|
|
@@ -1161,22 +1626,8 @@ function useBridgeHandler({
|
|
|
1161
1626
|
};
|
|
1162
1627
|
}
|
|
1163
1628
|
|
|
1164
|
-
// src/constant-bridges.ts
|
|
1165
|
-
var constant_bridges_exports = {};
|
|
1166
|
-
__export(constant_bridges_exports, {
|
|
1167
|
-
getDeviceId: () => getDeviceId,
|
|
1168
|
-
getOperationalEnvironment: () => getOperationalEnvironment,
|
|
1169
|
-
getTossAppVersion: () => getTossAppVersion
|
|
1170
|
-
});
|
|
1171
|
-
|
|
1172
|
-
// src/event-bridges.ts
|
|
1173
|
-
var event_bridges_exports = {};
|
|
1174
|
-
__export(event_bridges_exports, {
|
|
1175
|
-
startUpdateLocation: () => startUpdateLocation
|
|
1176
|
-
});
|
|
1177
|
-
|
|
1178
1629
|
// src/utils/log.ts
|
|
1179
|
-
var
|
|
1630
|
+
var import_react_native38 = require("@granite-js/react-native");
|
|
1180
1631
|
|
|
1181
1632
|
// src/utils/extractDateFromUUIDv7.ts
|
|
1182
1633
|
var extractDateFromUUIDv7 = (uuid) => {
|
|
@@ -1202,7 +1653,7 @@ var getGroupId = (url) => {
|
|
|
1202
1653
|
};
|
|
1203
1654
|
var getReferrer = () => {
|
|
1204
1655
|
try {
|
|
1205
|
-
const referrer = new URL((0,
|
|
1656
|
+
const referrer = new URL((0, import_react_native38.getSchemeUri)());
|
|
1206
1657
|
return referrer.searchParams.get("referrer");
|
|
1207
1658
|
} catch {
|
|
1208
1659
|
return "";
|
|
@@ -1226,16 +1677,16 @@ var trackScreen = (url) => {
|
|
|
1226
1677
|
// src/components/WebView.tsx
|
|
1227
1678
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
1228
1679
|
var appsInTossGlobals = getAppsInTossGlobals();
|
|
1229
|
-
var operationalEnvironment =
|
|
1680
|
+
var operationalEnvironment = getOperationalEnvironment2();
|
|
1230
1681
|
var TYPES = ["partner", "external", "game"];
|
|
1231
1682
|
var WEBVIEW_TYPES = {
|
|
1232
|
-
partner:
|
|
1233
|
-
external:
|
|
1683
|
+
partner: import_react_native40.PartnerWebViewScreen,
|
|
1684
|
+
external: import_react_native40.ExternalWebViewScreen,
|
|
1234
1685
|
game: GameWebView
|
|
1235
1686
|
};
|
|
1236
1687
|
function mergeSchemeQueryParamsInto(url) {
|
|
1237
1688
|
const baseUrl = new URL(url);
|
|
1238
|
-
const schemeUrl = new URL((0,
|
|
1689
|
+
const schemeUrl = new URL((0, import_react_native39.getSchemeUri)());
|
|
1239
1690
|
baseUrl.pathname = schemeUrl.pathname;
|
|
1240
1691
|
for (const [key, value] of schemeUrl.searchParams.entries()) {
|
|
1241
1692
|
baseUrl.searchParams.set(key, value);
|
|
@@ -1259,7 +1710,7 @@ function WebView({ type, local, onMessage, ...props }) {
|
|
|
1259
1710
|
if (!TYPES.includes(type)) {
|
|
1260
1711
|
throw new Error(`Invalid WebView type: '${type}'`);
|
|
1261
1712
|
}
|
|
1262
|
-
const
|
|
1713
|
+
const graniteEvent = (0, import_react_native39.useGraniteEvent)();
|
|
1263
1714
|
const uri = (0, import_react6.useMemo)(() => getWebViewUri(local), [local]);
|
|
1264
1715
|
const top = (0, import_private.useSafeAreaTop)();
|
|
1265
1716
|
const bottom = (0, import_private.useSafeAreaBottom)();
|
|
@@ -1268,7 +1719,7 @@ function WebView({ type, local, onMessage, ...props }) {
|
|
|
1268
1719
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
1269
1720
|
eventListenerMap: {
|
|
1270
1721
|
...event_bridges_exports,
|
|
1271
|
-
backEvent: ({ onEvent, onError, options }) =>
|
|
1722
|
+
backEvent: ({ onEvent, onError, options }) => graniteEvent.addEventListener("backEvent", { onEvent, onError, options }),
|
|
1272
1723
|
entryMessageExited: ({ onEvent, onError }) => appsInTossEvent.addEventListener("entryMessageExited", { onEvent, onError }),
|
|
1273
1724
|
updateLocationEvent: ({ onEvent, onError, options }) => appsInTossEvent.addEventListener("updateLocationEvent", { onEvent, onError, options }),
|
|
1274
1725
|
/** @internal */
|
|
@@ -1280,7 +1731,7 @@ function WebView({ type, local, onMessage, ...props }) {
|
|
|
1280
1731
|
showAdMobRewardedAd: GoogleAdMob.showAdMobRewardedAd
|
|
1281
1732
|
},
|
|
1282
1733
|
constantHandlerMap: {
|
|
1283
|
-
...
|
|
1734
|
+
...graniteConstantBridges,
|
|
1284
1735
|
...constant_bridges_exports,
|
|
1285
1736
|
getSafeAreaTop: () => top,
|
|
1286
1737
|
getSafeAreaBottom: () => bottom,
|
|
@@ -1293,7 +1744,7 @@ function WebView({ type, local, onMessage, ...props }) {
|
|
|
1293
1744
|
getDeploymentId: env.getDeploymentId
|
|
1294
1745
|
},
|
|
1295
1746
|
asyncHandlerMap: {
|
|
1296
|
-
...
|
|
1747
|
+
...graniteAsyncBridges,
|
|
1297
1748
|
...async_bridges_exports,
|
|
1298
1749
|
/** internal */
|
|
1299
1750
|
openPermissionDialog: AppsInTossModule.openPermissionDialog,
|
|
@@ -1301,10 +1752,7 @@ function WebView({ type, local, onMessage, ...props }) {
|
|
|
1301
1752
|
getStorageItem: Storage.getItem,
|
|
1302
1753
|
setStorageItem: Storage.setItem,
|
|
1303
1754
|
removeStorageItem: Storage.removeItem,
|
|
1304
|
-
clearItems: Storage.clearItems
|
|
1305
|
-
/** IAP */
|
|
1306
|
-
iapCreateOneTimePurchaseOrder: IAP.createOneTimePurchaseOrder,
|
|
1307
|
-
iapGetProductItemList: IAP.getProductItemList
|
|
1755
|
+
clearItems: Storage.clearItems
|
|
1308
1756
|
}
|
|
1309
1757
|
});
|
|
1310
1758
|
const baseProps = (0, import_react6.useMemo)(() => {
|
|
@@ -1368,10 +1816,10 @@ function ensureValue(value, name) {
|
|
|
1368
1816
|
}
|
|
1369
1817
|
|
|
1370
1818
|
// src/hooks/useGeolocation.ts
|
|
1819
|
+
var import_react_native41 = require("@granite-js/react-native");
|
|
1371
1820
|
var import_react7 = require("react");
|
|
1372
|
-
var import_react_native_bedrock12 = require("react-native-bedrock");
|
|
1373
1821
|
function useGeolocation({ accuracy, distanceInterval, timeInterval }) {
|
|
1374
|
-
const isVisible = (0,
|
|
1822
|
+
const isVisible = (0, import_react_native41.useVisibility)();
|
|
1375
1823
|
const [location, setLocation] = (0, import_react7.useState)(null);
|
|
1376
1824
|
(0, import_react7.useEffect)(() => {
|
|
1377
1825
|
if (!isVisible) {
|
|
@@ -1390,25 +1838,6 @@ function useGeolocation({ accuracy, distanceInterval, timeInterval }) {
|
|
|
1390
1838
|
return location;
|
|
1391
1839
|
}
|
|
1392
1840
|
|
|
1393
|
-
// src/types.ts
|
|
1394
|
-
var Accuracy2 = /* @__PURE__ */ ((Accuracy3) => {
|
|
1395
|
-
Accuracy3[Accuracy3["Lowest"] = 1] = "Lowest";
|
|
1396
|
-
Accuracy3[Accuracy3["Low"] = 2] = "Low";
|
|
1397
|
-
Accuracy3[Accuracy3["Balanced"] = 3] = "Balanced";
|
|
1398
|
-
Accuracy3[Accuracy3["High"] = 4] = "High";
|
|
1399
|
-
Accuracy3[Accuracy3["Highest"] = 5] = "Highest";
|
|
1400
|
-
Accuracy3[Accuracy3["BestForNavigation"] = 6] = "BestForNavigation";
|
|
1401
|
-
return Accuracy3;
|
|
1402
|
-
})(Accuracy2 || {});
|
|
1403
|
-
|
|
1404
|
-
// src/native-event-emitter/internal/onVisibilityChangedByTransparentServiceWeb.ts
|
|
1405
|
-
function onVisibilityChangedByTransparentServiceWeb(eventParams) {
|
|
1406
|
-
return appsInTossEvent.addEventListener("onVisibilityChangedByTransparentServiceWeb", eventParams);
|
|
1407
|
-
}
|
|
1408
|
-
|
|
1409
|
-
// src/private.ts
|
|
1410
|
-
var INTERNAL__onVisibilityChangedByTransparentServiceWeb = onVisibilityChangedByTransparentServiceWeb;
|
|
1411
|
-
|
|
1412
1841
|
// src/index.ts
|
|
1413
1842
|
__reExport(src_exports, require("@apps-in-toss/analytics"), module.exports);
|
|
1414
1843
|
var Analytics2 = {
|
|
@@ -1422,29 +1851,43 @@ var Analytics2 = {
|
|
|
1422
1851
|
Accuracy,
|
|
1423
1852
|
Analytics,
|
|
1424
1853
|
AppsInToss,
|
|
1854
|
+
AppsInTossModule,
|
|
1855
|
+
BedrockCoreModule,
|
|
1856
|
+
BedrockModule,
|
|
1425
1857
|
GoogleAdMob,
|
|
1426
|
-
|
|
1427
|
-
|
|
1858
|
+
INTERNAL__AppsInTossModule,
|
|
1859
|
+
INTERNAL__module,
|
|
1428
1860
|
Storage,
|
|
1429
1861
|
TossPay,
|
|
1430
1862
|
WebView,
|
|
1431
1863
|
appLogin,
|
|
1432
1864
|
appsInTossEvent,
|
|
1865
|
+
closeView,
|
|
1433
1866
|
env,
|
|
1434
1867
|
eventLog,
|
|
1435
1868
|
fetchAlbumPhotos,
|
|
1436
1869
|
fetchContacts,
|
|
1870
|
+
generateHapticFeedback,
|
|
1437
1871
|
getClipboardText,
|
|
1438
1872
|
getCurrentLocation,
|
|
1439
1873
|
getDeviceId,
|
|
1874
|
+
getLocale,
|
|
1875
|
+
getNetworkStatus,
|
|
1440
1876
|
getOperationalEnvironment,
|
|
1877
|
+
getPlatformOS,
|
|
1878
|
+
getSchemeUri,
|
|
1441
1879
|
getTossAppVersion,
|
|
1442
1880
|
getTossShareLink,
|
|
1443
1881
|
isMinVersionSupported,
|
|
1444
1882
|
openCamera,
|
|
1883
|
+
openURL,
|
|
1445
1884
|
saveBase64Data,
|
|
1446
1885
|
setClipboardText,
|
|
1447
1886
|
setDeviceOrientation,
|
|
1887
|
+
setIosSwipeGestureEnabled,
|
|
1888
|
+
setScreenAwakeMode,
|
|
1889
|
+
setSecureScreen,
|
|
1890
|
+
share,
|
|
1448
1891
|
startUpdateLocation,
|
|
1449
1892
|
useGeolocation,
|
|
1450
1893
|
...require("@apps-in-toss/analytics")
|