@react-native-kakao/share
Version:
React Native Kakao Share SDK
189 lines • 7.18 kB
JavaScript
import { NativeModules, Platform } from 'react-native';
import { swapMobileExecutionParamsFieldValueIntoStringInIOS } from './util/swapMobileExecutionParamsFieldValueIntoStringInIOS';
const LINKING_ERROR = "The package '@react-native-kakao/share' doesn't seem to be linked. Make sure: \n\n" + Platform.select({
ios: "- You have run 'pod install'\n",
default: ''
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
const isTurboModuleEnabled = global.__turboModuleProxy != null;
const Module = isTurboModuleEnabled ? require('./spec/NativeKakaoShare').default : NativeModules.RNCKakaoShare;
const Native = Module ? Module : new Proxy({}, {
get() {
throw new Error(LINKING_ERROR);
}
});
function shareOrSendMeOrSendFriendOrWhatever( /* share, send-me, send-friend */
sendType, /* custom, feed, list, location, commerce, text, calendar */
templateType, /* only for custom */
templateId, /* only for default templates */
templateJson, /* only for pass friend uuid directly */
receiverUuids, useWebBrowserIfKakaoTalkNotAvailable, templateArgs, serverCallbackArgs) {
return Native.shareOrSendMeOrSendFriendOrWhatever(sendType, templateType, templateId, swapMobileExecutionParamsFieldValueIntoStringInIOS(templateJson), receiverUuids, useWebBrowserIfKakaoTalkNotAvailable, templateArgs, serverCallbackArgs);
}
const SendTypes = {
share: 'share',
sendMe: 'send-me',
sendFriend: 'send-friend'
};
const TemplateTypes = {
custom: 'custom',
feed: 'feed',
list: 'list',
location: 'location',
commerce: 'commerce',
text: 'text',
calendar: 'calendar'
};
export function shareCustomTemplate({
templateId,
useWebBrowserIfKakaoTalkNotAvailable = true,
serverCallbackArgs = {},
templateArgs = {}
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.share, TemplateTypes.custom, templateId, {}, [], useWebBrowserIfKakaoTalkNotAvailable, templateArgs, serverCallbackArgs);
}
export function sendCustomTemplateToMe({
templateId,
templateArgs = {}
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendMe, TemplateTypes.custom, templateId, {}, [], false, templateArgs, {});
}
export function sendCustomTemplateToFriends({
templateId,
templateArgs = {},
receiverUuids
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendFriend, TemplateTypes.custom, templateId, {}, receiverUuids, false, templateArgs, {});
}
export function shareFeedTemplate({
template,
useWebBrowserIfKakaoTalkNotAvailable = true,
serverCallbackArgs = {}
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.share, TemplateTypes.feed, -1, template, [], useWebBrowserIfKakaoTalkNotAvailable, {}, serverCallbackArgs);
}
export function sendFeedTemplateToMe({
template
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendMe, TemplateTypes.feed, -1, template, [], false, {}, {});
}
export function sendFeedTemplateToFriends({
template,
receiverUuids
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendFriend, TemplateTypes.feed, -1, template, receiverUuids, false, {}, {});
}
export function shareListTemplate({
template,
useWebBrowserIfKakaoTalkNotAvailable = true,
serverCallbackArgs = {}
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.share, TemplateTypes.list, -1, template, [], useWebBrowserIfKakaoTalkNotAvailable, {}, serverCallbackArgs);
}
export function sendListTemplateToMe({
template
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendMe, TemplateTypes.list, -1, template, [], false, {}, {});
}
export function sendListTemplateToFriends({
template,
receiverUuids
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendFriend, TemplateTypes.list, -1, template, receiverUuids, false, {}, {});
}
export function shareLocationTemplate({
template,
useWebBrowserIfKakaoTalkNotAvailable = true,
serverCallbackArgs = {}
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.share, TemplateTypes.location, -1, template, [], useWebBrowserIfKakaoTalkNotAvailable, {}, serverCallbackArgs);
}
export function sendLocationTemplateToMe({
template
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendMe, TemplateTypes.location, -1, template, [], false, {}, {});
}
export function sendLocationTemplateToFriends({
template,
receiverUuids
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendFriend, TemplateTypes.location, -1, template, receiverUuids, false, {}, {});
}
export function shareCommerceTemplate({
template,
useWebBrowserIfKakaoTalkNotAvailable = true,
serverCallbackArgs = {}
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.share, TemplateTypes.commerce, -1, template, [], useWebBrowserIfKakaoTalkNotAvailable, {}, serverCallbackArgs);
}
export function sendCommerceTemplateToMe({
template
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendMe, TemplateTypes.commerce, -1, template, [], false, {}, {});
}
export function sendCommerceTemplateToFriends({
template,
receiverUuids
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendFriend, TemplateTypes.commerce, -1, template, receiverUuids, false, {}, {});
}
export function shareTextTemplate({
template,
useWebBrowserIfKakaoTalkNotAvailable = true,
serverCallbackArgs = {}
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.share, TemplateTypes.text, -1, template, [], useWebBrowserIfKakaoTalkNotAvailable, {}, serverCallbackArgs);
}
export function sendTextTemplateToMe({
template
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendMe, TemplateTypes.text, -1, template, [], false, {}, {});
}
export function sendTextTemplateToFriends({
template,
receiverUuids
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendFriend, TemplateTypes.text, -1, template, receiverUuids, false, {}, {});
}
export function shareCalendarTemplate({
template,
useWebBrowserIfKakaoTalkNotAvailable = true,
serverCallbackArgs = {}
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.share, TemplateTypes.calendar, -1, template, [], useWebBrowserIfKakaoTalkNotAvailable, {}, serverCallbackArgs);
}
export function sendCalendarTemplateToMe({
template
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendMe, TemplateTypes.calendar, -1, template, [], false, {}, {});
}
export function sendCalendarTemplateToFriends({
template,
receiverUuids
}) {
return shareOrSendMeOrSendFriendOrWhatever(SendTypes.sendFriend, TemplateTypes.calendar, -1, template, receiverUuids, false, {}, {});
}
const KakaoShare = {
shareCustomTemplate,
sendCustomTemplateToMe,
sendCustomTemplateToFriends,
shareFeedTemplate,
sendFeedTemplateToMe,
sendFeedTemplateToFriends,
shareListTemplate,
sendListTemplateToMe,
sendListTemplateToFriends,
shareLocationTemplate,
sendLocationTemplateToMe,
sendLocationTemplateToFriends,
shareCommerceTemplate,
sendCommerceTemplateToMe,
sendCommerceTemplateToFriends,
shareTextTemplate,
sendTextTemplateToMe,
sendTextTemplateToFriends,
shareCalendarTemplate,
sendCalendarTemplateToMe,
sendCalendarTemplateToFriends
};
export default KakaoShare;
//# sourceMappingURL=index.js.map