UNPKG

@react-native-kakao/user

Version:

React Native Kakao User SDK

78 lines (77 loc) 2.47 kB
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