@react-native-kakao/user
Version:
React Native Kakao User SDK
78 lines (77 loc) • 2.47 kB
JavaScript
import { NativeModules, Platform } from 'react-native';
import { is } from '@mj-studio/js-util';
import { kAssert } from '@react-native-kakao/core';
const LINKING_ERROR = "The package '@react-native-kakao/user' 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/NativeKakaoUser').default : NativeModules.RNCKakaoUser;
const Native = Module ? Module : new Proxy({}, {
get() {
throw new Error(LINKING_ERROR);
}
});
export function login({
serviceTerms,
prompts,
useKakaoAccountLogin,
scopes
} = {}) {
kAssert(!useKakaoAccountLogin ? !is.notEmptyArray(prompts) && !is.notEmptyArray(scopes) : true, '[login] `prompts` and `scopes` cannot be passed if useKakaoAccountLogin is false.');
kAssert(is.notEmptyArray(scopes) ? !is.notEmptyArray(prompts) && !is.notEmptyArray(serviceTerms) : true, '[login] `scopes` cannot be passed with `prompts` or `serviceTerms`');
return Native.login(serviceTerms ?? [], prompts ?? [], useKakaoAccountLogin ?? false, scopes ?? []);
}
export function logout() {
return Native.logout();
}
export function unlink() {
return Native.unlink();
}
export function isLogined() {
return Native.isLogined();
}
export function isKakaoTalkLoginAvailable() {
return Native.isKakaoTalkLoginAvailable();
}
export function scopes(scopes) {
return Native.scopes(scopes);
}
export function revokeScopes(scopes) {
return Native.revokeScopes(scopes);
}
export function serviceTerms() {
return Native.serviceTerms();
}
export function shippingAddresses() {
return Native.shippingAddresses();
}
export function me() {
return Native.me();
}
export function getAccessToken() {
return Native.getAccessToken();
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export function setAccessTokenWeb(token) {}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export async function issueAccessTokenWithCodeWeb(params) {
return {};
}
const KakaoUser = {
login,
logout,
unlink,
isLogined,
isKakaoTalkLoginAvailable,
scopes,
revokeScopes,
serviceTerms,
shippingAddresses,
me,
getAccessToken,
setAccessTokenWeb,
issueAccessTokenWithCodeWeb
};
export default KakaoUser;
//# sourceMappingURL=index.js.map