UNPKG

@react-native-kakao/share

Version:
189 lines 7.18 kB
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