@react-native-kakao/share 2.2.4 → 2.2.6
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/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareModule.kt +225 -226
- package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoSharePackage.kt +4 -6
- package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareTemplates.kt +2 -3
- package/android/src/newarch/KakaoShareSpec.kt +3 -2
- package/android/src/oldarch/KakaoShareSpec.kt +15 -14
- package/lib/commonjs/index.js +30 -21
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.js +20 -0
- package/lib/commonjs/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.js.map +1 -0
- package/lib/module/index.js +30 -21
- package/lib/module/index.js.map +1 -1
- package/lib/module/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.js +14 -0
- package/lib/module/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.js.map +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.d.ts +2 -0
- package/lib/typescript/src/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/index.ts +50 -21
- package/src/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.ts +23 -0
package/src/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NativeModules, Platform } from 'react-native';
|
|
2
|
+
import type { Double, UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
|
|
2
3
|
|
|
3
4
|
import type {
|
|
4
5
|
KakaoCalendarTemplate,
|
|
@@ -16,6 +17,7 @@ import type {
|
|
|
16
17
|
KakaoTextTemplate,
|
|
17
18
|
Spec,
|
|
18
19
|
} from './spec/NativeKakaoShare';
|
|
20
|
+
import { swapMobileExecutionParamsFieldValueIntoStringInIOS } from './util/swapMobileExecutionParamsFieldValueIntoStringInIOS';
|
|
19
21
|
|
|
20
22
|
export type {
|
|
21
23
|
KakaoTemplateSocial,
|
|
@@ -55,6 +57,33 @@ const Native: Spec = Module
|
|
|
55
57
|
},
|
|
56
58
|
);
|
|
57
59
|
|
|
60
|
+
function shareOrSendMeOrSendFriendOrWhatever(
|
|
61
|
+
/* share, send-me, send-friend */
|
|
62
|
+
sendType: string,
|
|
63
|
+
/* custom, feed, list, location, commerce, text, calendar */
|
|
64
|
+
templateType: string,
|
|
65
|
+
/* only for custom */
|
|
66
|
+
templateId: Double,
|
|
67
|
+
/* only for default templates */
|
|
68
|
+
templateJson: UnsafeObject,
|
|
69
|
+
/* only for pass friend uuid directly */
|
|
70
|
+
receiverUuids: ReadonlyArray<string>,
|
|
71
|
+
useWebBrowserIfKakaoTalkNotAvailable: boolean,
|
|
72
|
+
templateArgs: Readonly<{ [key: string]: string }>,
|
|
73
|
+
serverCallbackArgs: Readonly<{ [key: string]: string }>,
|
|
74
|
+
): Promise<any> {
|
|
75
|
+
return Native.shareOrSendMeOrSendFriendOrWhatever(
|
|
76
|
+
sendType,
|
|
77
|
+
templateType,
|
|
78
|
+
templateId,
|
|
79
|
+
swapMobileExecutionParamsFieldValueIntoStringInIOS(templateJson),
|
|
80
|
+
receiverUuids,
|
|
81
|
+
useWebBrowserIfKakaoTalkNotAvailable,
|
|
82
|
+
templateArgs,
|
|
83
|
+
serverCallbackArgs,
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
58
87
|
const SendTypes = { share: 'share', sendMe: 'send-me', sendFriend: 'send-friend' };
|
|
59
88
|
const TemplateTypes = {
|
|
60
89
|
custom: 'custom',
|
|
@@ -77,7 +106,7 @@ export function shareCustomTemplate({
|
|
|
77
106
|
templateArgs?: Record<string, string>;
|
|
78
107
|
serverCallbackArgs?: Record<string, string>;
|
|
79
108
|
}) {
|
|
80
|
-
return
|
|
109
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
81
110
|
SendTypes.share,
|
|
82
111
|
TemplateTypes.custom,
|
|
83
112
|
templateId,
|
|
@@ -96,7 +125,7 @@ export function sendCustomTemplateToMe({
|
|
|
96
125
|
templateId: number;
|
|
97
126
|
templateArgs?: Record<string, string>;
|
|
98
127
|
}) {
|
|
99
|
-
return
|
|
128
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
100
129
|
SendTypes.sendMe,
|
|
101
130
|
TemplateTypes.custom,
|
|
102
131
|
templateId,
|
|
@@ -117,7 +146,7 @@ export function sendCustomTemplateToFriends({
|
|
|
117
146
|
templateArgs?: Record<string, string>;
|
|
118
147
|
receiverUuids: string[];
|
|
119
148
|
}): Promise<string[]> {
|
|
120
|
-
return
|
|
149
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
121
150
|
SendTypes.sendFriend,
|
|
122
151
|
TemplateTypes.custom,
|
|
123
152
|
templateId,
|
|
@@ -138,7 +167,7 @@ export function shareFeedTemplate({
|
|
|
138
167
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
139
168
|
serverCallbackArgs?: Record<string, string>;
|
|
140
169
|
}) {
|
|
141
|
-
return
|
|
170
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
142
171
|
SendTypes.share,
|
|
143
172
|
TemplateTypes.feed,
|
|
144
173
|
-1,
|
|
@@ -151,7 +180,7 @@ export function shareFeedTemplate({
|
|
|
151
180
|
}
|
|
152
181
|
|
|
153
182
|
export function sendFeedTemplateToMe({ template }: { template: KakaoFeedTemplate }) {
|
|
154
|
-
return
|
|
183
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
155
184
|
SendTypes.sendMe,
|
|
156
185
|
TemplateTypes.feed,
|
|
157
186
|
-1,
|
|
@@ -170,7 +199,7 @@ export function sendFeedTemplateToFriends({
|
|
|
170
199
|
template: KakaoFeedTemplate;
|
|
171
200
|
receiverUuids: string[];
|
|
172
201
|
}): Promise<string[]> {
|
|
173
|
-
return
|
|
202
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
174
203
|
SendTypes.sendFriend,
|
|
175
204
|
TemplateTypes.feed,
|
|
176
205
|
-1,
|
|
@@ -191,7 +220,7 @@ export function shareListTemplate({
|
|
|
191
220
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
192
221
|
serverCallbackArgs?: Record<string, string>;
|
|
193
222
|
}) {
|
|
194
|
-
return
|
|
223
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
195
224
|
SendTypes.share,
|
|
196
225
|
TemplateTypes.list,
|
|
197
226
|
-1,
|
|
@@ -204,7 +233,7 @@ export function shareListTemplate({
|
|
|
204
233
|
}
|
|
205
234
|
|
|
206
235
|
export function sendListTemplateToMe({ template }: { template: KakaoListTemplate }) {
|
|
207
|
-
return
|
|
236
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
208
237
|
SendTypes.sendMe,
|
|
209
238
|
TemplateTypes.list,
|
|
210
239
|
-1,
|
|
@@ -223,7 +252,7 @@ export function sendListTemplateToFriends({
|
|
|
223
252
|
template: KakaoListTemplate;
|
|
224
253
|
receiverUuids: string[];
|
|
225
254
|
}): Promise<string[]> {
|
|
226
|
-
return
|
|
255
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
227
256
|
SendTypes.sendFriend,
|
|
228
257
|
TemplateTypes.list,
|
|
229
258
|
-1,
|
|
@@ -244,7 +273,7 @@ export function shareLocationTemplate({
|
|
|
244
273
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
245
274
|
serverCallbackArgs?: Record<string, string>;
|
|
246
275
|
}) {
|
|
247
|
-
return
|
|
276
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
248
277
|
SendTypes.share,
|
|
249
278
|
TemplateTypes.location,
|
|
250
279
|
-1,
|
|
@@ -257,7 +286,7 @@ export function shareLocationTemplate({
|
|
|
257
286
|
}
|
|
258
287
|
|
|
259
288
|
export function sendLocationTemplateToMe({ template }: { template: KakaoLocationTemplate }) {
|
|
260
|
-
return
|
|
289
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
261
290
|
SendTypes.sendMe,
|
|
262
291
|
TemplateTypes.location,
|
|
263
292
|
-1,
|
|
@@ -276,7 +305,7 @@ export function sendLocationTemplateToFriends({
|
|
|
276
305
|
template: KakaoLocationTemplate;
|
|
277
306
|
receiverUuids: string[];
|
|
278
307
|
}): Promise<string[]> {
|
|
279
|
-
return
|
|
308
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
280
309
|
SendTypes.sendFriend,
|
|
281
310
|
TemplateTypes.location,
|
|
282
311
|
-1,
|
|
@@ -297,7 +326,7 @@ export function shareCommerceTemplate({
|
|
|
297
326
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
298
327
|
serverCallbackArgs?: Record<string, string>;
|
|
299
328
|
}) {
|
|
300
|
-
return
|
|
329
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
301
330
|
SendTypes.share,
|
|
302
331
|
TemplateTypes.commerce,
|
|
303
332
|
-1,
|
|
@@ -310,7 +339,7 @@ export function shareCommerceTemplate({
|
|
|
310
339
|
}
|
|
311
340
|
|
|
312
341
|
export function sendCommerceTemplateToMe({ template }: { template: KakaoCommerceTemplate }) {
|
|
313
|
-
return
|
|
342
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
314
343
|
SendTypes.sendMe,
|
|
315
344
|
TemplateTypes.commerce,
|
|
316
345
|
-1,
|
|
@@ -329,7 +358,7 @@ export function sendCommerceTemplateToFriends({
|
|
|
329
358
|
template: KakaoCommerceTemplate;
|
|
330
359
|
receiverUuids: string[];
|
|
331
360
|
}): Promise<string[]> {
|
|
332
|
-
return
|
|
361
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
333
362
|
SendTypes.sendFriend,
|
|
334
363
|
TemplateTypes.commerce,
|
|
335
364
|
-1,
|
|
@@ -350,7 +379,7 @@ export function shareTextTemplate({
|
|
|
350
379
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
351
380
|
serverCallbackArgs?: Record<string, string>;
|
|
352
381
|
}) {
|
|
353
|
-
return
|
|
382
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
354
383
|
SendTypes.share,
|
|
355
384
|
TemplateTypes.text,
|
|
356
385
|
-1,
|
|
@@ -363,7 +392,7 @@ export function shareTextTemplate({
|
|
|
363
392
|
}
|
|
364
393
|
|
|
365
394
|
export function sendTextTemplateToMe({ template }: { template: KakaoTextTemplate }) {
|
|
366
|
-
return
|
|
395
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
367
396
|
SendTypes.sendMe,
|
|
368
397
|
TemplateTypes.text,
|
|
369
398
|
-1,
|
|
@@ -382,7 +411,7 @@ export function sendTextTemplateToFriends({
|
|
|
382
411
|
template: KakaoTextTemplate;
|
|
383
412
|
receiverUuids: string[];
|
|
384
413
|
}): Promise<string[]> {
|
|
385
|
-
return
|
|
414
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
386
415
|
SendTypes.sendFriend,
|
|
387
416
|
TemplateTypes.text,
|
|
388
417
|
-1,
|
|
@@ -403,7 +432,7 @@ export function shareCalendarTemplate({
|
|
|
403
432
|
useWebBrowserIfKakaoTalkNotAvailable?: boolean;
|
|
404
433
|
serverCallbackArgs?: Record<string, string>;
|
|
405
434
|
}) {
|
|
406
|
-
return
|
|
435
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
407
436
|
SendTypes.share,
|
|
408
437
|
TemplateTypes.calendar,
|
|
409
438
|
-1,
|
|
@@ -416,7 +445,7 @@ export function shareCalendarTemplate({
|
|
|
416
445
|
}
|
|
417
446
|
|
|
418
447
|
export function sendCalendarTemplateToMe({ template }: { template: KakaoCalendarTemplate }) {
|
|
419
|
-
return
|
|
448
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
420
449
|
SendTypes.sendMe,
|
|
421
450
|
TemplateTypes.calendar,
|
|
422
451
|
-1,
|
|
@@ -435,7 +464,7 @@ export function sendCalendarTemplateToFriends({
|
|
|
435
464
|
template: KakaoCalendarTemplate;
|
|
436
465
|
receiverUuids: string[];
|
|
437
466
|
}): Promise<string[]> {
|
|
438
|
-
return
|
|
467
|
+
return shareOrSendMeOrSendFriendOrWhatever(
|
|
439
468
|
SendTypes.sendFriend,
|
|
440
469
|
TemplateTypes.calendar,
|
|
441
470
|
-1,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import { replaceJsonValuesRecursively } from '@mj-studio/js-util';
|
|
3
|
+
|
|
4
|
+
export function swapMobileExecutionParamsFieldValueIntoStringInIOS<T extends object>(
|
|
5
|
+
template: T,
|
|
6
|
+
): T {
|
|
7
|
+
if (Platform.OS !== 'ios') {
|
|
8
|
+
return template;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return replaceJsonValuesRecursively(template, {
|
|
12
|
+
replacer: {
|
|
13
|
+
androidExecutionParams: (value: Record<string, string>) =>
|
|
14
|
+
Object.entries(value)
|
|
15
|
+
.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
|
|
16
|
+
.join('&'),
|
|
17
|
+
iosExecutionParams: (value: Record<string, string>) =>
|
|
18
|
+
Object.entries(value)
|
|
19
|
+
.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
|
|
20
|
+
.join('&'),
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|