@react-native-kakao/share
Version:
React Native Kakao Share SDK
233 lines • 5.02 kB
JavaScript
import { filterNonNullishKeys, snakeCaseObject } from '@mj-studio/js-util';
import { kRunWebAPI } from '@react-native-kakao/core';
function createShareDefault({
serverCallbackArgs,
template,
objectType
}) {
return kRunWebAPI(() => Kakao.Share.sendDefault({
objectType,
...template,
serverCallbackArgs
}));
}
function createSendDefaultMe({
template,
objectType
}) {
return kRunWebAPI(() => Kakao.API.request({
url: '/v2/api/talk/memo/default/send',
data: {
template_object: snakeCaseObject({
objectType,
...template
})
}
}));
}
function createSendDefaultFriends({
objectType,
template,
receiverUuids
}) {
return kRunWebAPI(() => Kakao.API.request({
url: '/v1/api/talk/friends/message/default/send',
data: {
template_object: snakeCaseObject(filterNonNullishKeys({
objectType,
...template
})),
receiver_uuids: receiverUuids
}
}));
}
const KakaoShare = {
shareCustomTemplate: ({
templateArgs,
templateId,
serverCallbackArgs
}) => kRunWebAPI(() => Kakao.Share.sendCustom({
templateId,
templateArgs,
serverCallbackArgs
})),
sendCustomTemplateToMe: ({
templateId,
templateArgs
}) => kRunWebAPI(() => Kakao.API.request({
url: '/v2/api/talk/memo/send',
data: {
template_id: templateId,
template_args: templateArgs
}
})),
sendCustomTemplateToFriends: ({
templateArgs,
templateId,
receiverUuids
}) => kRunWebAPI(() => Kakao.API.request({
url: '/v1/api/talk/friends/message/send',
data: {
template_id: templateId,
template_args: templateArgs,
receiver_uuids: receiverUuids
}
})),
shareFeedTemplate: ({
template,
serverCallbackArgs
}) => createShareDefault({
template,
serverCallbackArgs,
objectType: 'feed'
}),
sendFeedTemplateToMe: ({
template
}) => createSendDefaultMe({
template,
objectType: 'feed'
}),
sendFeedTemplateToFriends: ({
template,
receiverUuids
}) => createSendDefaultFriends({
template,
receiverUuids,
objectType: 'feed'
}),
shareListTemplate: ({
template,
serverCallbackArgs
}) => createShareDefault({
template,
serverCallbackArgs,
objectType: 'list'
}),
sendListTemplateToMe: ({
template
}) => createSendDefaultMe({
template,
objectType: 'list'
}),
sendListTemplateToFriends: ({
template,
receiverUuids
}) => createSendDefaultFriends({
template,
receiverUuids,
objectType: 'list'
}),
shareLocationTemplate: ({
template,
serverCallbackArgs
}) => createShareDefault({
template,
serverCallbackArgs,
objectType: 'location'
}),
sendLocationTemplateToMe: ({
template
}) => createSendDefaultMe({
template,
objectType: 'location'
}),
sendLocationTemplateToFriends: ({
template,
receiverUuids
}) => createSendDefaultFriends({
template,
receiverUuids,
objectType: 'location'
}),
shareCommerceTemplate: ({
template,
serverCallbackArgs
}) => createShareDefault({
template,
serverCallbackArgs,
objectType: 'commerce'
}),
sendCommerceTemplateToMe: ({
template
}) => createSendDefaultMe({
template,
objectType: 'commerce'
}),
sendCommerceTemplateToFriends: ({
template,
receiverUuids
}) => createSendDefaultFriends({
template,
receiverUuids,
objectType: 'commerce'
}),
shareTextTemplate: ({
template,
serverCallbackArgs
}) => createShareDefault({
template,
serverCallbackArgs,
objectType: 'text'
}),
sendTextTemplateToMe: ({
template
}) => createSendDefaultMe({
template,
objectType: 'text'
}),
sendTextTemplateToFriends: ({
template,
receiverUuids
}) => createSendDefaultFriends({
template,
receiverUuids,
objectType: 'text'
}),
shareCalendarTemplate: ({
template,
serverCallbackArgs
}) => createShareDefault({
template,
serverCallbackArgs,
objectType: 'calendar'
}),
sendCalendarTemplateToMe: ({
template
}) => createSendDefaultMe({
template,
objectType: 'calendar'
}),
sendCalendarTemplateToFriends: ({
template,
receiverUuids
}) => createSendDefaultFriends({
template,
receiverUuids,
objectType: 'calendar'
})
};
export const {
sendCalendarTemplateToFriends,
sendCalendarTemplateToMe,
sendCommerceTemplateToFriends,
sendCommerceTemplateToMe,
sendCustomTemplateToFriends,
sendCustomTemplateToMe,
sendFeedTemplateToFriends,
sendFeedTemplateToMe,
sendListTemplateToFriends,
sendListTemplateToMe,
sendLocationTemplateToFriends,
sendLocationTemplateToMe,
sendTextTemplateToFriends,
sendTextTemplateToMe,
shareCalendarTemplate,
shareCommerceTemplate,
shareCustomTemplate,
shareFeedTemplate,
shareListTemplate,
shareLocationTemplate,
shareTextTemplate
} = KakaoShare;
export default KakaoShare;
//# sourceMappingURL=index.web.js.map