@react-native-kakao/share 3.1.0-next.0 → 3.1.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/RNCKakaoShare.podspec +0 -1
  3. package/android/build.gradle +1 -2
  4. package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareModule.kt +323 -11
  5. package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareTemplates.kt +5 -2
  6. package/ios/RNCKakaoShare.mm +64 -5
  7. package/ios/RNCKakaoShareManager.swift +315 -36
  8. package/lib/commonjs/index.js +137 -29
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/index.web.js +199 -21
  11. package/lib/commonjs/index.web.js.map +1 -1
  12. package/lib/commonjs/spec/NativeKakaoShare.ts +76 -3
  13. package/lib/commonjs/validateSharePickerSettings.js +33 -0
  14. package/lib/commonjs/validateSharePickerSettings.js.map +1 -0
  15. package/lib/module/index.js +128 -29
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/index.web.js +190 -21
  18. package/lib/module/index.web.js.map +1 -1
  19. package/lib/module/spec/NativeKakaoShare.ts +76 -3
  20. package/lib/module/validateSharePickerSettings.js +29 -0
  21. package/lib/module/validateSharePickerSettings.js.map +1 -0
  22. package/lib/typescript/src/index.d.ts +83 -23
  23. package/lib/typescript/src/index.d.ts.map +1 -1
  24. package/lib/typescript/src/spec/NativeKakaoShare.d.ts +72 -1
  25. package/lib/typescript/src/spec/NativeKakaoShare.d.ts.map +1 -1
  26. package/lib/typescript/src/validateSharePickerSettings.d.ts +6 -0
  27. package/lib/typescript/src/validateSharePickerSettings.d.ts.map +1 -0
  28. package/package.json +3 -3
  29. package/src/index.ts +258 -15
  30. package/src/index.web.ts +232 -36
  31. package/src/spec/NativeKakaoShare.ts +76 -3
  32. package/src/validateSharePickerSettings.ts +38 -0
package/src/index.ts CHANGED
@@ -3,10 +3,15 @@ import type { Double, UnsafeObject } from 'react-native/Libraries/Types/CodegenT
3
3
  import type {
4
4
  KakaoCalendarTemplate,
5
5
  KakaoCommerceTemplate,
6
+ KakaoDefaultTemplateParams,
6
7
  KakaoFeedTemplate,
7
8
  KakaoImageUploadResult,
8
9
  KakaoListTemplate,
9
10
  KakaoLocationTemplate,
11
+ KakaoMessageSendResult,
12
+ KakaoSharePickerSettings,
13
+ KakaoShareTemplateDiagnostics,
14
+ KakaoShareTemplateDiagnosticsParams,
10
15
  KakaoTemplateButton,
11
16
  KakaoTemplateCommerce,
12
17
  KakaoTemplateContent,
@@ -18,6 +23,7 @@ import type {
18
23
  } from './spec/NativeKakaoShare';
19
24
  import Native from './spec/NativeKakaoShare';
20
25
  import { swapMobileExecutionParamsFieldValueIntoStringInIOS } from './util/swapMobileExecutionParamsFieldValueIntoStringInIOS';
26
+ import { validateSharePickerSettings } from './validateSharePickerSettings';
21
27
 
22
28
  export type {
23
29
  KakaoTemplateSocial,
@@ -29,13 +35,22 @@ export type {
29
35
  KakaoTemplateCommerce,
30
36
  KakaoTemplateButton,
31
37
  KakaoLocationTemplate,
38
+ KakaoMessageSendResult,
39
+ KakaoSharePickerSettings,
40
+ KakaoShareTemplateDiagnostics,
41
+ KakaoShareTemplateDiagnosticsParams,
32
42
  KakaoListTemplate,
33
43
  KakaoFeedTemplate,
34
44
  KakaoCommerceTemplate,
35
45
  KakaoCalendarTemplate,
36
46
  KakaoImageUploadResult,
47
+ KakaoDefaultTemplateParams,
37
48
  };
38
49
 
50
+ export function isKakaoTalkSharingAvailable(): Promise<boolean> {
51
+ return Native.isKakaoTalkSharingAvailable();
52
+ }
53
+
39
54
  function shareOrSendMeOrSendFriendOrWhatever(
40
55
  /* share, send-me, send-friend */
41
56
  sendType: string,
@@ -50,8 +65,10 @@ function shareOrSendMeOrSendFriendOrWhatever(
50
65
  useWebBrowserIfKakaoTalkNotAvailable: boolean,
51
66
  templateArgs: Readonly<{ [key: string]: string }>,
52
67
  serverCallbackArgs: Readonly<{ [key: string]: string }>,
68
+ includeFailureInfo?: boolean,
69
+ pickerSettings?: KakaoSharePickerSettings,
53
70
  ): Promise<any> {
54
- return Native.shareOrSendMeOrSendFriendOrWhatever(
71
+ const response = Native.shareOrSendMeOrSendFriendOrWhatever(
55
72
  sendType,
56
73
  templateType,
57
74
  templateId,
@@ -60,12 +77,26 @@ function shareOrSendMeOrSendFriendOrWhatever(
60
77
  useWebBrowserIfKakaoTalkNotAvailable,
61
78
  templateArgs,
62
79
  serverCallbackArgs,
80
+ validateSharePickerSettings(pickerSettings),
63
81
  );
82
+
83
+ if (sendType === SendTypes.sendFriend) {
84
+ return response.then((result: KakaoMessageSendResult) =>
85
+ includeFailureInfo ? result : result.successfulReceiverUuids,
86
+ );
87
+ }
88
+
89
+ return response;
64
90
  }
65
91
 
92
+ export type KakaoFriendMessageResult<T extends boolean = false> = T extends true
93
+ ? KakaoMessageSendResult
94
+ : string[];
95
+
66
96
  const SendTypes = { share: 'share', sendMe: 'send-me', sendFriend: 'send-friend' };
67
97
  const TemplateTypes = {
68
98
  custom: 'custom',
99
+ scrap: 'scrap',
69
100
  feed: 'feed',
70
101
  list: 'list',
71
102
  location: 'location',
@@ -73,17 +104,163 @@ const TemplateTypes = {
73
104
  text: 'text',
74
105
  calendar: 'calendar',
75
106
  };
107
+ const DefaultScrapTemplateId = -1;
108
+
109
+ export async function getShareTemplateDiagnostics(
110
+ params: KakaoShareTemplateDiagnosticsParams,
111
+ ): Promise<KakaoShareTemplateDiagnostics> {
112
+ const template =
113
+ 'template' in params
114
+ ? params.template
115
+ : 'requestUrl' in params
116
+ ? { requestUrl: params.requestUrl }
117
+ : {};
118
+
119
+ return Native.getTemplateDiagnostics(
120
+ params.templateType,
121
+ 'templateId' in params ? params.templateId ?? DefaultScrapTemplateId : DefaultScrapTemplateId,
122
+ swapMobileExecutionParamsFieldValueIntoStringInIOS(template),
123
+ 'templateArgs' in params ? params.templateArgs ?? {} : {},
124
+ params.serverCallbackArgs ?? {},
125
+ validateSharePickerSettings(params.pickerSettings),
126
+ );
127
+ }
128
+
129
+ export async function makeDefaultTemplateUrl({
130
+ templateType,
131
+ template,
132
+ serverCallbackArgs = {},
133
+ }: KakaoDefaultTemplateParams): Promise<string> {
134
+ return Native.makeTemplateUrl(
135
+ templateType,
136
+ DefaultScrapTemplateId,
137
+ swapMobileExecutionParamsFieldValueIntoStringInIOS(template),
138
+ {},
139
+ serverCallbackArgs,
140
+ );
141
+ }
142
+
143
+ export async function makeCustomTemplateUrl({
144
+ templateId,
145
+ templateArgs = {},
146
+ serverCallbackArgs = {},
147
+ }: {
148
+ templateId: number;
149
+ templateArgs?: Record<string, string>;
150
+ serverCallbackArgs?: Record<string, string>;
151
+ }): Promise<string> {
152
+ return Native.makeTemplateUrl(
153
+ TemplateTypes.custom,
154
+ templateId,
155
+ {},
156
+ templateArgs,
157
+ serverCallbackArgs,
158
+ );
159
+ }
160
+
161
+ export async function makeScrapTemplateUrl({
162
+ requestUrl,
163
+ templateId = DefaultScrapTemplateId,
164
+ templateArgs = {},
165
+ serverCallbackArgs = {},
166
+ }: {
167
+ requestUrl: string;
168
+ templateId?: number;
169
+ templateArgs?: Record<string, string>;
170
+ serverCallbackArgs?: Record<string, string>;
171
+ }): Promise<string> {
172
+ return Native.makeTemplateUrl(
173
+ TemplateTypes.scrap,
174
+ templateId,
175
+ { requestUrl },
176
+ templateArgs,
177
+ serverCallbackArgs,
178
+ );
179
+ }
180
+
181
+ export type KakaoScrapMessageParams = {
182
+ requestUrl: string;
183
+ templateId?: number;
184
+ templateArgs?: Record<string, string>;
185
+ };
186
+
187
+ export async function sendScrapTemplateToMe({
188
+ requestUrl,
189
+ templateId = DefaultScrapTemplateId,
190
+ templateArgs = {},
191
+ }: KakaoScrapMessageParams) {
192
+ await Native.shareOrSendMeOrSendFriendOrWhatever(
193
+ SendTypes.sendMe,
194
+ TemplateTypes.scrap,
195
+ templateId,
196
+ { requestUrl },
197
+ [],
198
+ false,
199
+ templateArgs,
200
+ {},
201
+ undefined,
202
+ );
203
+ }
204
+
205
+ export function sendScrapTemplateToFriends<T extends boolean = false>({
206
+ requestUrl,
207
+ templateId = DefaultScrapTemplateId,
208
+ templateArgs = {},
209
+ receiverUuids,
210
+ includeFailureInfo,
211
+ }: KakaoScrapMessageParams & { receiverUuids: string[]; includeFailureInfo?: T }): Promise<
212
+ KakaoFriendMessageResult<T>
213
+ > {
214
+ return shareOrSendMeOrSendFriendOrWhatever(
215
+ SendTypes.sendFriend,
216
+ TemplateTypes.scrap,
217
+ templateId,
218
+ { requestUrl },
219
+ receiverUuids,
220
+ false,
221
+ templateArgs,
222
+ {},
223
+ includeFailureInfo,
224
+ );
225
+ }
226
+
227
+ export function shareScrapTemplate({
228
+ requestUrl,
229
+ templateId,
230
+ templateArgs = {},
231
+ serverCallbackArgs = {},
232
+ pickerSettings,
233
+ useWebBrowserIfKakaoTalkNotAvailable = true,
234
+ }: {
235
+ requestUrl: string;
236
+ templateId?: number;
237
+ templateArgs?: Record<string, string>;
238
+ serverCallbackArgs?: Record<string, string>;
239
+ pickerSettings?: KakaoSharePickerSettings;
240
+ useWebBrowserIfKakaoTalkNotAvailable?: boolean;
241
+ }): Promise<void> {
242
+ return Native.shareScrapTemplate(
243
+ requestUrl,
244
+ useWebBrowserIfKakaoTalkNotAvailable,
245
+ templateId,
246
+ templateArgs,
247
+ serverCallbackArgs,
248
+ validateSharePickerSettings(pickerSettings),
249
+ );
250
+ }
76
251
 
77
252
  export function shareCustomTemplate({
78
253
  templateId,
79
254
  useWebBrowserIfKakaoTalkNotAvailable = true,
80
255
  serverCallbackArgs = {},
256
+ pickerSettings,
81
257
  templateArgs = {},
82
258
  }: {
83
259
  templateId: number;
84
260
  useWebBrowserIfKakaoTalkNotAvailable?: boolean;
85
261
  templateArgs?: Record<string, string>;
86
262
  serverCallbackArgs?: Record<string, string>;
263
+ pickerSettings?: KakaoSharePickerSettings;
87
264
  }) {
88
265
  return shareOrSendMeOrSendFriendOrWhatever(
89
266
  SendTypes.share,
@@ -94,6 +271,8 @@ export function shareCustomTemplate({
94
271
  useWebBrowserIfKakaoTalkNotAvailable,
95
272
  templateArgs,
96
273
  serverCallbackArgs,
274
+ undefined,
275
+ pickerSettings,
97
276
  );
98
277
  }
99
278
 
@@ -116,15 +295,17 @@ export function sendCustomTemplateToMe({
116
295
  );
117
296
  }
118
297
 
119
- export function sendCustomTemplateToFriends({
298
+ export function sendCustomTemplateToFriends<T extends boolean = false>({
120
299
  templateId,
121
300
  templateArgs = {},
122
301
  receiverUuids,
302
+ includeFailureInfo,
123
303
  }: {
124
304
  templateId: number;
125
305
  templateArgs?: Record<string, string>;
126
306
  receiverUuids: string[];
127
- }): Promise<string[]> {
307
+ includeFailureInfo?: T;
308
+ }): Promise<KakaoFriendMessageResult<T>> {
128
309
  return shareOrSendMeOrSendFriendOrWhatever(
129
310
  SendTypes.sendFriend,
130
311
  TemplateTypes.custom,
@@ -134,6 +315,7 @@ export function sendCustomTemplateToFriends({
134
315
  false,
135
316
  templateArgs,
136
317
  {},
318
+ includeFailureInfo,
137
319
  );
138
320
  }
139
321
 
@@ -141,10 +323,12 @@ export function shareFeedTemplate({
141
323
  template,
142
324
  useWebBrowserIfKakaoTalkNotAvailable = true,
143
325
  serverCallbackArgs = {},
326
+ pickerSettings,
144
327
  }: {
145
328
  template: KakaoFeedTemplate;
146
329
  useWebBrowserIfKakaoTalkNotAvailable?: boolean;
147
330
  serverCallbackArgs?: Record<string, string>;
331
+ pickerSettings?: KakaoSharePickerSettings;
148
332
  }) {
149
333
  return shareOrSendMeOrSendFriendOrWhatever(
150
334
  SendTypes.share,
@@ -155,6 +339,8 @@ export function shareFeedTemplate({
155
339
  useWebBrowserIfKakaoTalkNotAvailable,
156
340
  {},
157
341
  serverCallbackArgs,
342
+ undefined,
343
+ pickerSettings,
158
344
  );
159
345
  }
160
346
 
@@ -171,13 +357,15 @@ export function sendFeedTemplateToMe({ template }: { template: KakaoFeedTemplate
171
357
  );
172
358
  }
173
359
 
174
- export function sendFeedTemplateToFriends({
360
+ export function sendFeedTemplateToFriends<T extends boolean = false>({
175
361
  template,
176
362
  receiverUuids,
363
+ includeFailureInfo,
177
364
  }: {
178
365
  template: KakaoFeedTemplate;
179
366
  receiverUuids: string[];
180
- }): Promise<string[]> {
367
+ includeFailureInfo?: T;
368
+ }): Promise<KakaoFriendMessageResult<T>> {
181
369
  return shareOrSendMeOrSendFriendOrWhatever(
182
370
  SendTypes.sendFriend,
183
371
  TemplateTypes.feed,
@@ -187,6 +375,7 @@ export function sendFeedTemplateToFriends({
187
375
  false,
188
376
  {},
189
377
  {},
378
+ includeFailureInfo,
190
379
  );
191
380
  }
192
381
 
@@ -194,10 +383,12 @@ export function shareListTemplate({
194
383
  template,
195
384
  useWebBrowserIfKakaoTalkNotAvailable = true,
196
385
  serverCallbackArgs = {},
386
+ pickerSettings,
197
387
  }: {
198
388
  template: KakaoListTemplate;
199
389
  useWebBrowserIfKakaoTalkNotAvailable?: boolean;
200
390
  serverCallbackArgs?: Record<string, string>;
391
+ pickerSettings?: KakaoSharePickerSettings;
201
392
  }) {
202
393
  return shareOrSendMeOrSendFriendOrWhatever(
203
394
  SendTypes.share,
@@ -208,6 +399,8 @@ export function shareListTemplate({
208
399
  useWebBrowserIfKakaoTalkNotAvailable,
209
400
  {},
210
401
  serverCallbackArgs,
402
+ undefined,
403
+ pickerSettings,
211
404
  );
212
405
  }
213
406
 
@@ -224,13 +417,15 @@ export function sendListTemplateToMe({ template }: { template: KakaoListTemplate
224
417
  );
225
418
  }
226
419
 
227
- export function sendListTemplateToFriends({
420
+ export function sendListTemplateToFriends<T extends boolean = false>({
228
421
  template,
229
422
  receiverUuids,
423
+ includeFailureInfo,
230
424
  }: {
231
425
  template: KakaoListTemplate;
232
426
  receiverUuids: string[];
233
- }): Promise<string[]> {
427
+ includeFailureInfo?: T;
428
+ }): Promise<KakaoFriendMessageResult<T>> {
234
429
  return shareOrSendMeOrSendFriendOrWhatever(
235
430
  SendTypes.sendFriend,
236
431
  TemplateTypes.list,
@@ -240,6 +435,7 @@ export function sendListTemplateToFriends({
240
435
  false,
241
436
  {},
242
437
  {},
438
+ includeFailureInfo,
243
439
  );
244
440
  }
245
441
 
@@ -247,10 +443,12 @@ export function shareLocationTemplate({
247
443
  template,
248
444
  useWebBrowserIfKakaoTalkNotAvailable = true,
249
445
  serverCallbackArgs = {},
446
+ pickerSettings,
250
447
  }: {
251
448
  template: KakaoLocationTemplate;
252
449
  useWebBrowserIfKakaoTalkNotAvailable?: boolean;
253
450
  serverCallbackArgs?: Record<string, string>;
451
+ pickerSettings?: KakaoSharePickerSettings;
254
452
  }) {
255
453
  return shareOrSendMeOrSendFriendOrWhatever(
256
454
  SendTypes.share,
@@ -261,6 +459,8 @@ export function shareLocationTemplate({
261
459
  useWebBrowserIfKakaoTalkNotAvailable,
262
460
  {},
263
461
  serverCallbackArgs,
462
+ undefined,
463
+ pickerSettings,
264
464
  );
265
465
  }
266
466
 
@@ -277,13 +477,15 @@ export function sendLocationTemplateToMe({ template }: { template: KakaoLocation
277
477
  );
278
478
  }
279
479
 
280
- export function sendLocationTemplateToFriends({
480
+ export function sendLocationTemplateToFriends<T extends boolean = false>({
281
481
  template,
282
482
  receiverUuids,
483
+ includeFailureInfo,
283
484
  }: {
284
485
  template: KakaoLocationTemplate;
285
486
  receiverUuids: string[];
286
- }): Promise<string[]> {
487
+ includeFailureInfo?: T;
488
+ }): Promise<KakaoFriendMessageResult<T>> {
287
489
  return shareOrSendMeOrSendFriendOrWhatever(
288
490
  SendTypes.sendFriend,
289
491
  TemplateTypes.location,
@@ -293,6 +495,7 @@ export function sendLocationTemplateToFriends({
293
495
  false,
294
496
  {},
295
497
  {},
498
+ includeFailureInfo,
296
499
  );
297
500
  }
298
501
 
@@ -300,10 +503,12 @@ export function shareCommerceTemplate({
300
503
  template,
301
504
  useWebBrowserIfKakaoTalkNotAvailable = true,
302
505
  serverCallbackArgs = {},
506
+ pickerSettings,
303
507
  }: {
304
508
  template: KakaoCommerceTemplate;
305
509
  useWebBrowserIfKakaoTalkNotAvailable?: boolean;
306
510
  serverCallbackArgs?: Record<string, string>;
511
+ pickerSettings?: KakaoSharePickerSettings;
307
512
  }) {
308
513
  return shareOrSendMeOrSendFriendOrWhatever(
309
514
  SendTypes.share,
@@ -314,6 +519,8 @@ export function shareCommerceTemplate({
314
519
  useWebBrowserIfKakaoTalkNotAvailable,
315
520
  {},
316
521
  serverCallbackArgs,
522
+ undefined,
523
+ pickerSettings,
317
524
  );
318
525
  }
319
526
 
@@ -330,13 +537,15 @@ export function sendCommerceTemplateToMe({ template }: { template: KakaoCommerce
330
537
  );
331
538
  }
332
539
 
333
- export function sendCommerceTemplateToFriends({
540
+ export function sendCommerceTemplateToFriends<T extends boolean = false>({
334
541
  template,
335
542
  receiverUuids,
543
+ includeFailureInfo,
336
544
  }: {
337
545
  template: KakaoCommerceTemplate;
338
546
  receiverUuids: string[];
339
- }): Promise<string[]> {
547
+ includeFailureInfo?: T;
548
+ }): Promise<KakaoFriendMessageResult<T>> {
340
549
  return shareOrSendMeOrSendFriendOrWhatever(
341
550
  SendTypes.sendFriend,
342
551
  TemplateTypes.commerce,
@@ -346,6 +555,7 @@ export function sendCommerceTemplateToFriends({
346
555
  false,
347
556
  {},
348
557
  {},
558
+ includeFailureInfo,
349
559
  );
350
560
  }
351
561
 
@@ -353,10 +563,12 @@ export function shareTextTemplate({
353
563
  template,
354
564
  useWebBrowserIfKakaoTalkNotAvailable = true,
355
565
  serverCallbackArgs = {},
566
+ pickerSettings,
356
567
  }: {
357
568
  template: KakaoTextTemplate;
358
569
  useWebBrowserIfKakaoTalkNotAvailable?: boolean;
359
570
  serverCallbackArgs?: Record<string, string>;
571
+ pickerSettings?: KakaoSharePickerSettings;
360
572
  }) {
361
573
  return shareOrSendMeOrSendFriendOrWhatever(
362
574
  SendTypes.share,
@@ -367,6 +579,8 @@ export function shareTextTemplate({
367
579
  useWebBrowserIfKakaoTalkNotAvailable,
368
580
  {},
369
581
  serverCallbackArgs,
582
+ undefined,
583
+ pickerSettings,
370
584
  );
371
585
  }
372
586
 
@@ -383,13 +597,15 @@ export function sendTextTemplateToMe({ template }: { template: KakaoTextTemplate
383
597
  );
384
598
  }
385
599
 
386
- export function sendTextTemplateToFriends({
600
+ export function sendTextTemplateToFriends<T extends boolean = false>({
387
601
  template,
388
602
  receiverUuids,
603
+ includeFailureInfo,
389
604
  }: {
390
605
  template: KakaoTextTemplate;
391
606
  receiverUuids: string[];
392
- }): Promise<string[]> {
607
+ includeFailureInfo?: T;
608
+ }): Promise<KakaoFriendMessageResult<T>> {
393
609
  return shareOrSendMeOrSendFriendOrWhatever(
394
610
  SendTypes.sendFriend,
395
611
  TemplateTypes.text,
@@ -399,6 +615,7 @@ export function sendTextTemplateToFriends({
399
615
  false,
400
616
  {},
401
617
  {},
618
+ includeFailureInfo,
402
619
  );
403
620
  }
404
621
 
@@ -406,10 +623,12 @@ export function shareCalendarTemplate({
406
623
  template,
407
624
  useWebBrowserIfKakaoTalkNotAvailable = true,
408
625
  serverCallbackArgs = {},
626
+ pickerSettings,
409
627
  }: {
410
628
  template: KakaoCalendarTemplate;
411
629
  useWebBrowserIfKakaoTalkNotAvailable?: boolean;
412
630
  serverCallbackArgs?: Record<string, string>;
631
+ pickerSettings?: KakaoSharePickerSettings;
413
632
  }) {
414
633
  return shareOrSendMeOrSendFriendOrWhatever(
415
634
  SendTypes.share,
@@ -420,6 +639,8 @@ export function shareCalendarTemplate({
420
639
  useWebBrowserIfKakaoTalkNotAvailable,
421
640
  {},
422
641
  serverCallbackArgs,
642
+ undefined,
643
+ pickerSettings,
423
644
  );
424
645
  }
425
646
 
@@ -436,13 +657,15 @@ export function sendCalendarTemplateToMe({ template }: { template: KakaoCalendar
436
657
  );
437
658
  }
438
659
 
439
- export function sendCalendarTemplateToFriends({
660
+ export function sendCalendarTemplateToFriends<T extends boolean = false>({
440
661
  template,
441
662
  receiverUuids,
663
+ includeFailureInfo,
442
664
  }: {
443
665
  template: KakaoCalendarTemplate;
444
666
  receiverUuids: string[];
445
- }): Promise<string[]> {
667
+ includeFailureInfo?: T;
668
+ }): Promise<KakaoFriendMessageResult<T>> {
446
669
  return shareOrSendMeOrSendFriendOrWhatever(
447
670
  SendTypes.sendFriend,
448
671
  TemplateTypes.calendar,
@@ -452,9 +675,20 @@ export function sendCalendarTemplateToFriends({
452
675
  false,
453
676
  {},
454
677
  {},
678
+ includeFailureInfo,
455
679
  );
456
680
  }
457
681
 
682
+ export function uploadImage({
683
+ imageUri,
684
+ secureResource = true,
685
+ }: {
686
+ imageUri: string;
687
+ secureResource?: boolean;
688
+ }) {
689
+ return Native.uploadImage(imageUri, secureResource);
690
+ }
691
+
458
692
  export function scrapImage({
459
693
  imageUrl,
460
694
  secureResource = true,
@@ -466,6 +700,15 @@ export function scrapImage({
466
700
  }
467
701
 
468
702
  const KakaoShare = {
703
+ isKakaoTalkSharingAvailable,
704
+ getShareTemplateDiagnostics,
705
+ makeDefaultTemplateUrl,
706
+ makeCustomTemplateUrl,
707
+ makeScrapTemplateUrl,
708
+ uploadImage,
709
+ shareScrapTemplate,
710
+ sendScrapTemplateToMe,
711
+ sendScrapTemplateToFriends,
469
712
  scrapImage,
470
713
  shareCustomTemplate,
471
714
  sendCustomTemplateToMe,