@react-native-kakao/user 0.9.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,17 @@
1
1
  package net.mjstudio.rnkakao.user
2
2
 
3
+ import android.content.ActivityNotFoundException
3
4
  import com.facebook.react.bridge.Promise
4
5
  import com.facebook.react.bridge.ReactApplicationContext
5
6
  import com.facebook.react.bridge.ReactMethod
6
7
  import com.facebook.react.bridge.ReadableArray
7
8
  import com.kakao.sdk.auth.AuthApiClient
8
9
  import com.kakao.sdk.auth.model.OAuthToken
9
- import com.kakao.sdk.auth.model.Prompt
10
+ import com.kakao.sdk.auth.model.Prompt.CERT
11
+ import com.kakao.sdk.auth.model.Prompt.CREATE
12
+ import com.kakao.sdk.auth.model.Prompt.LOGIN
13
+ import com.kakao.sdk.auth.model.Prompt.SELECT_ACCOUNT
14
+ import com.kakao.sdk.auth.model.Prompt.UNIFY_DAUM
10
15
  import com.kakao.sdk.common.model.KakaoSdkError
11
16
  import com.kakao.sdk.user.UserApiClient
12
17
  import net.mjstudio.rnkakao.core.util.RNCKakaoUtil
@@ -33,8 +38,14 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
33
38
  serviceTerms: ReadableArray?,
34
39
  prompts: ReadableArray?,
35
40
  useKakaoAccountLogin: Boolean,
41
+ scopes: ReadableArray?,
36
42
  promise: Promise
37
43
  ) {
44
+ val context = currentActivity
45
+ if (context == null) {
46
+ promise.rejectWith(ActivityNotFoundException())
47
+ return
48
+ }
38
49
  val callback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
39
50
  if (error != null) {
40
51
  promise.rejectWith(error)
@@ -67,26 +78,32 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
67
78
  }
68
79
  }
69
80
 
70
- if (UserApiClient.instance.isKakaoTalkLoginAvailable(reactApplicationContext) && !useKakaoAccountLogin) {
81
+ if (scopes?.filterIsInstance<String>()?.isEmpty() == false) {
82
+ UserApiClient.instance.loginWithNewScopes(
83
+ context, scopes = scopes.filterIsInstance<String>(), callback = callback
84
+ )
85
+ } else if (UserApiClient.instance.isKakaoTalkLoginAvailable(context) && !useKakaoAccountLogin && scopes?.filterIsInstance<String>()
86
+ ?.isEmpty() == true
87
+ ) {
71
88
  UserApiClient.instance.loginWithKakaoTalk(
72
- reactApplicationContext,
73
- serviceTerms = serviceTerms?.filterIsInstance<String>(),
89
+ context,
90
+ serviceTerms = serviceTerms?.filterIsInstance<String>()?.ifEmpty { null },
74
91
  callback = callback
75
92
  )
76
93
  } else {
77
94
  UserApiClient.instance.loginWithKakaoAccount(
78
- reactApplicationContext,
79
- prompts = prompts?.filterIsInstance<String>()?.map {
95
+ context,
96
+ prompts = prompts?.filterIsInstance<String>()?.mapNotNull {
80
97
  when (it) {
81
- "Login" -> Prompt.LOGIN
82
- "Create" -> Prompt.CREATE
83
- "Cert" -> Prompt.CERT
84
- "UnifyDaum" -> Prompt.UNIFY_DAUM
85
- "SelectAccount" -> Prompt.SELECT_ACCOUNT
98
+ "Login" -> LOGIN
99
+ "Create" -> CREATE
100
+ "Cert" -> CERT
101
+ "UnifyDaum" -> UNIFY_DAUM
102
+ "SelectAccount" -> SELECT_ACCOUNT
86
103
  else -> null
87
104
  }
88
- }?.filterNotNull(),
89
- serviceTerms = serviceTerms?.filterIsInstance<String>(),
105
+ }?.ifEmpty { null },
106
+ serviceTerms = serviceTerms?.filterIsInstance<String>()?.ifEmpty { null },
90
107
  callback = callback
91
108
  )
92
109
  }
@@ -166,7 +183,7 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
166
183
  @ReactMethod
167
184
  override fun revokeScopes(scopes: ReadableArray, promise: Promise) {
168
185
  UserApiClient.instance.revokeScopes(
169
- scopes = scopes.filterIsInstance<String>() ?: listOf()
186
+ scopes = scopes.filterIsInstance<String>()
170
187
  ) { scopeInfo, error ->
171
188
  if (error != null) {
172
189
  promise.rejectWith(error)
@@ -293,10 +310,12 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
293
310
  "profileImageNeedsAgreement", user.kakaoAccount?.profileImageNeedsAgreement
294
311
  )
295
312
  putBooleanIfNotNull(
296
- "profileNicknameNeedsAgreement", user.kakaoAccount?.profileNicknameNeedsAgreement
313
+ "profileNicknameNeedsAgreement",
314
+ user.kakaoAccount?.profileNicknameNeedsAgreement
297
315
  )
298
316
  putBooleanIfNotNull(
299
- "legalBirthDateNeedsAgreement", user.kakaoAccount?.legalBirthDateNeedsAgreement
317
+ "legalBirthDateNeedsAgreement",
318
+ user.kakaoAccount?.legalBirthDateNeedsAgreement
300
319
  )
301
320
  })
302
321
  }
@@ -11,6 +11,7 @@ abstract class KakaoUserSpec internal constructor(context: ReactApplicationConte
11
11
  serviceTerms: ReadableArray?,
12
12
  prompts: ReadableArray?,
13
13
  useKakaoAccountLogin: Boolean,
14
+ scopes: ReadableArray?,
14
15
  promise: Promise
15
16
  )
16
17
 
@@ -18,12 +18,14 @@ RCT_EXPORT_METHOD(isKakaoTalkLoginAvailable
18
18
  RCT_EXPORT_METHOD(login
19
19
  : (NSArray*)serviceTerms prompts
20
20
  : (NSArray*)prompts useKakaoAccountLoginIos
21
- : (BOOL)useKakaoAccountLogin resolve
21
+ : (BOOL)useKakaoAccountLogin scopes
22
+ : (NSArray*)scopes resolve
22
23
  : (RCTPromiseResolveBlock)resolve reject
23
24
  : (RCTPromiseRejectBlock)reject) {
24
25
  [[self manager] login:serviceTerms
25
26
  prompts:prompts
26
27
  useKakaoAccountLogin:useKakaoAccountLogin
28
+ scopes:scopes
27
29
  resolve:resolve
28
30
  reject:reject];
29
31
  }
@@ -29,6 +29,7 @@ import RNCKakaoCore
29
29
  _ serviceTerms: [String],
30
30
  prompts: [String],
31
31
  useKakaoAccountLogin: Bool,
32
+ scopes: [String],
32
33
  resolve: @escaping RCTPromiseResolveBlock,
33
34
  reject: @escaping RCTPromiseRejectBlock
34
35
  ) {
@@ -36,87 +37,46 @@ import RNCKakaoCore
36
37
  RNCKakaoUtil.reject(reject, "KakaoSdk is not initialized")
37
38
  return
38
39
  }
39
- if UserApi.isKakaoTalkLoginAvailable(), !useKakaoAccountLogin {
40
- UserApi.shared
41
- .loginWithKakaoTalk(serviceTerms: emptyArrayToNil(serviceTerms)) { token, error in
42
- if let error {
43
- RNCKakaoUtil.reject(reject, error)
44
- } else if let token {
45
- resolve([
46
- "accessToken": token.accessToken,
47
- "refreshToken": token.refreshToken,
48
- "tokenType": token.tokenType,
49
- "idToken": token.idToken as Any,
50
- "accessTokenExpiresAt": token.expiredAt.timeIntervalSince1970,
51
- "refreshTokenExpiresAt": token.refreshTokenExpiredAt.timeIntervalSince1970,
52
- "accessTokenExpiresIn": token.expiresIn,
53
- "refreshTokenExpiresIn": token.refreshTokenExpiresIn,
54
- "scopes": token.scopes ?? []
55
- ])
56
- } else {
57
- RNCKakaoUtil.reject(reject, "token not found")
58
- }
59
- }
60
- } else {
61
- loginWithKakaoAccount(
62
- serviceTerms: serviceTerms,
63
- prompts: prompts,
64
- resolve: resolve,
65
- reject: reject
66
- )
40
+ let callback = { (token: OAuthToken?, error: Error?) in
41
+ if let error {
42
+ RNCKakaoUtil.reject(reject, error)
43
+ } else if let token {
44
+ resolve([
45
+ "accessToken": token.accessToken,
46
+ "refreshToken": token.refreshToken,
47
+ "tokenType": token.tokenType,
48
+ "idToken": token.idToken as Any,
49
+ "accessTokenExpiresAt": token.expiredAt.timeIntervalSince1970,
50
+ "refreshTokenExpiresAt": token.refreshTokenExpiredAt.timeIntervalSince1970,
51
+ "accessTokenExpiresIn": token.expiresIn,
52
+ "refreshTokenExpiresIn": token.refreshTokenExpiresIn,
53
+ "scopes": token.scopes ?? []
54
+ ])
55
+ } else {
56
+ RNCKakaoUtil.reject(reject, "token not found")
57
+ }
67
58
  }
68
- }
69
59
 
70
- private func loginWithKakaoAccount(
71
- serviceTerms: [String]? = [],
72
- prompts: [String]? = [],
73
- resolve: @escaping RCTPromiseResolveBlock,
74
- reject: @escaping RCTPromiseRejectBlock
75
- ) {
76
- guard let _ = try? KakaoSDK.shared.appKey() else {
77
- RNCKakaoUtil.reject(reject, "KakaoSdk is not initialized")
78
- return
79
- }
80
- var _prompts: [Prompt] = []
81
- if let prompts {
60
+ if !scopes.isEmpty {
61
+ UserApi.shared.loginWithKakaoAccount(scopes: scopes, completion: callback)
62
+ } else if UserApi.isKakaoTalkLoginAvailable(), !useKakaoAccountLogin {
63
+ UserApi.shared
64
+ .loginWithKakaoTalk(serviceTerms: emptyArrayToNil(serviceTerms), completion: callback)
65
+ } else {
66
+ var _prompts: [Prompt] = []
82
67
  prompts.forEach { p in
83
- if p == "Login" {
84
- _prompts.append(.Login)
85
- }
86
- if p == "Cert" {
87
- _prompts.append(.Cert)
88
- }
89
- if p == "Create" {
90
- _prompts.append(.Create)
91
- }
92
- if p == "UnifyDaum" {
93
- _prompts.append(.UnifyDaum)
94
- }
68
+ if p == "Login" { _prompts.append(.Login) }
69
+ if p == "Cert" { _prompts.append(.Cert) }
70
+ if p == "Create" { _prompts.append(.Create) }
71
+ if p == "UnifyDaum" { _prompts.append(.UnifyDaum) }
95
72
  }
73
+ UserApi.shared
74
+ .loginWithKakaoAccount(
75
+ prompts: emptyArrayToNil(_prompts),
76
+ serviceTerms: emptyArrayToNil(serviceTerms),
77
+ completion: callback
78
+ )
96
79
  }
97
- UserApi.shared
98
- .loginWithKakaoAccount(
99
- prompts: emptyArrayToNil(_prompts),
100
- serviceTerms: emptyArrayToNil(serviceTerms)
101
- ) { token, error in
102
- if let error {
103
- RNCKakaoUtil.reject(reject, error)
104
- } else if let token {
105
- resolve([
106
- "accessToken": token.accessToken,
107
- "refreshToken": token.refreshToken,
108
- "tokenType": token.tokenType,
109
- "idToken": token.idToken as Any,
110
- "accessTokenExpiresAt": token.expiredAt.timeIntervalSince1970,
111
- "refreshTokenExpiresAt": token.refreshTokenExpiredAt.timeIntervalSince1970,
112
- "accessTokenExpiresIn": token.expiresIn,
113
- "refreshTokenExpiresIn": token.refreshTokenExpiresIn,
114
- "scopes": token.scopes ?? []
115
- ])
116
- } else {
117
- RNCKakaoUtil.reject(reject, "token not found")
118
- }
119
- }
120
80
  }
121
81
 
122
82
  @objc public func logout(
@@ -14,6 +14,8 @@ exports.serviceTerms = serviceTerms;
14
14
  exports.shippingAddresses = shippingAddresses;
15
15
  exports.unlink = unlink;
16
16
  var _reactNative = require("react-native");
17
+ var _jsUtil = require("@mj-studio/js-util");
18
+ var _core = require("@react-native-kakao/core");
17
19
  const LINKING_ERROR = "The package '@react-native-kakao/user' doesn't seem to be linked. Make sure: \n\n" + _reactNative.Platform.select({
18
20
  ios: "- You have run 'pod install'\n",
19
21
  default: ''
@@ -30,9 +32,12 @@ const Native = Module ? Module : new Proxy({}, {
30
32
  function login({
31
33
  serviceTerms,
32
34
  prompts,
33
- useKakaoAccountLogin
35
+ useKakaoAccountLogin,
36
+ scopes
34
37
  } = {}) {
35
- return Native.login(serviceTerms ?? [], prompts ?? [], useKakaoAccountLogin ?? false);
38
+ (0, _core.kAssert)(!useKakaoAccountLogin ? !_jsUtil.is.notEmptyArray(prompts) && !_jsUtil.is.notEmptyArray(scopes) : true, '[login] `prompts` and `scopes` cannot be passed if useKakaoAccountLogin is false.');
39
+ (0, _core.kAssert)(_jsUtil.is.notEmptyArray(scopes) ? !_jsUtil.is.notEmptyArray(prompts) && !_jsUtil.is.notEmptyArray(serviceTerms) : true, '[login] `scopes` cannot be passed with `prompts` or `serviceTerms`');
40
+ return Native.login(serviceTerms ?? [], prompts ?? [], useKakaoAccountLogin ?? false, scopes ?? []);
36
41
  }
37
42
  function logout() {
38
43
  return Native.logout();
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","NativeModules","RNCKakaoUser","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLogin","logout","unlink","isLogined","isKakaoTalkLoginAvailable","scopes","revokeScopes","shippingAddresses","me"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAIA,MAAMC,aAAa,GACjB,mFAAmF,GACnFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,MAAM,GAAGH,oBAAoB,GAC/BN,OAAO,CAAC,wBAAwB,CAAC,CAACK,OAAO,GACzCK,0BAAa,CAACC,YAAY;AAE9B,MAAMC,MAAY,GAAGH,MAAM,GACvBA,MAAM,GACN,IAAII,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACd,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAgFE,SAASe,KAAKA,CAAC;EACpBC,YAAY;EACZC,OAAO;EACPC;AAKF,CAAC,GAAG,CAAC,CAAC,EAA4B;EAChC,OAAOP,MAAM,CAACI,KAAK,CAACC,YAAY,IAAI,EAAE,EAAEC,OAAO,IAAI,EAAE,EAAEC,oBAAoB,IAAI,KAAK,CAAC;AACvF;AAEO,SAASC,MAAMA,CAAA,EAAG;EACvB,OAAOR,MAAM,CAACQ,MAAM,CAAC,CAAC;AACxB;AAEO,SAASC,MAAMA,CAAA,EAAG;EACvB,OAAOT,MAAM,CAACS,MAAM,CAAC,CAAC;AACxB;AAEO,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAOV,MAAM,CAACU,SAAS,CAAC,CAAC;AAC3B;AAEO,SAASC,yBAAyBA,CAAA,EAAqB;EAC5D,OAAOX,MAAM,CAACW,yBAAyB,CAAC,CAAC;AAC3C;AAEO,SAASC,MAAMA,CAACA,MAAiB,EAA6B;EACnE,OAAOZ,MAAM,CAACY,MAAM,CAACA,MAAM,CAAC;AAC9B;AAEO,SAASC,YAAYA,CAACD,MAAgB,EAAiB;EAC5D,OAAOZ,MAAM,CAACa,YAAY,CAACD,MAAM,CAAC;AACpC;AAEO,SAASP,YAAYA,CAAA,EAGzB;EACD,OAAOL,MAAM,CAACK,YAAY,CAAC,CAAC;AAC9B;AAEO,SAASS,iBAAiBA,CAAA,EAAwC;EACvE,OAAOd,MAAM,CAACc,iBAAiB,CAAC,CAAC;AACnC;AAEO,SAASC,EAAEA,CAAA,EAAuB;EACvC,OAAOf,MAAM,CAACe,EAAE,CAAC,CAAC;AACpB","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_jsUtil","_core","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","NativeModules","RNCKakaoUser","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLogin","scopes","kAssert","is","notEmptyArray","logout","unlink","isLogined","isKakaoTalkLoginAvailable","revokeScopes","shippingAddresses","me"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAIA,MAAMG,aAAa,GACjB,mFAAmF,GACnFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,MAAM,GAAGH,oBAAoB,GAC/BR,OAAO,CAAC,wBAAwB,CAAC,CAACO,OAAO,GACzCK,0BAAa,CAACC,YAAY;AAE9B,MAAMC,MAAY,GAAGH,MAAM,GACvBA,MAAM,GACN,IAAII,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACd,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAgFE,SAASe,KAAKA,CAAC;EACpBC,YAAY;EACZC,OAAO;EACPC,oBAAoB;EACpBC;AAMF,CAAC,GAAG,CAAC,CAAC,EAA4B;EAChC,IAAAC,aAAO,EACL,CAACF,oBAAoB,GAAG,CAACG,UAAE,CAACC,aAAa,CAACL,OAAO,CAAC,IAAI,CAACI,UAAE,CAACC,aAAa,CAACH,MAAM,CAAC,GAAG,IAAI,EACtF,mFACF,CAAC;EAED,IAAAC,aAAO,EACLC,UAAE,CAACC,aAAa,CAACH,MAAM,CAAC,GAAG,CAACE,UAAE,CAACC,aAAa,CAACL,OAAO,CAAC,IAAI,CAACI,UAAE,CAACC,aAAa,CAACN,YAAY,CAAC,GAAG,IAAI,EAC/F,oEACF,CAAC;EAED,OAAOL,MAAM,CAACI,KAAK,CACjBC,YAAY,IAAI,EAAE,EAClBC,OAAO,IAAI,EAAE,EACbC,oBAAoB,IAAI,KAAK,EAC7BC,MAAM,IAAI,EACZ,CAAC;AACH;AAEO,SAASI,MAAMA,CAAA,EAAG;EACvB,OAAOZ,MAAM,CAACY,MAAM,CAAC,CAAC;AACxB;AAEO,SAASC,MAAMA,CAAA,EAAG;EACvB,OAAOb,MAAM,CAACa,MAAM,CAAC,CAAC;AACxB;AAEO,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAOd,MAAM,CAACc,SAAS,CAAC,CAAC;AAC3B;AAEO,SAASC,yBAAyBA,CAAA,EAAqB;EAC5D,OAAOf,MAAM,CAACe,yBAAyB,CAAC,CAAC;AAC3C;AAEO,SAASP,MAAMA,CAACA,MAAiB,EAA6B;EACnE,OAAOR,MAAM,CAACQ,MAAM,CAACA,MAAM,CAAC;AAC9B;AAEO,SAASQ,YAAYA,CAACR,MAAgB,EAAiB;EAC5D,OAAOR,MAAM,CAACgB,YAAY,CAACR,MAAM,CAAC;AACpC;AAEO,SAASH,YAAYA,CAAA,EAGzB;EACD,OAAOL,MAAM,CAACK,YAAY,CAAC,CAAC;AAC9B;AAEO,SAASY,iBAAiBA,CAAA,EAAwC;EACvE,OAAOjB,MAAM,CAACiB,iBAAiB,CAAC,CAAC;AACnC;AAEO,SAASC,EAAEA,CAAA,EAAuB;EACvC,OAAOlB,MAAM,CAACkB,EAAE,CAAC,CAAC;AACpB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoUser.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA+BpCC,gCAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoUser.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAgCpCC,gCAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
@@ -1,4 +1,6 @@
1
1
  import { NativeModules, Platform } from 'react-native';
2
+ import { is } from '@mj-studio/js-util';
3
+ import { kAssert } from '@react-native-kakao/core';
2
4
  const LINKING_ERROR = "The package '@react-native-kakao/user' doesn't seem to be linked. Make sure: \n\n" + Platform.select({
3
5
  ios: "- You have run 'pod install'\n",
4
6
  default: ''
@@ -15,9 +17,12 @@ const Native = Module ? Module : new Proxy({}, {
15
17
  export function login({
16
18
  serviceTerms,
17
19
  prompts,
18
- useKakaoAccountLogin
20
+ useKakaoAccountLogin,
21
+ scopes
19
22
  } = {}) {
20
- return Native.login(serviceTerms ?? [], prompts ?? [], useKakaoAccountLogin ?? false);
23
+ kAssert(!useKakaoAccountLogin ? !is.notEmptyArray(prompts) && !is.notEmptyArray(scopes) : true, '[login] `prompts` and `scopes` cannot be passed if useKakaoAccountLogin is false.');
24
+ kAssert(is.notEmptyArray(scopes) ? !is.notEmptyArray(prompts) && !is.notEmptyArray(serviceTerms) : true, '[login] `scopes` cannot be passed with `prompts` or `serviceTerms`');
25
+ return Native.login(serviceTerms ?? [], prompts ?? [], useKakaoAccountLogin ?? false, scopes ?? []);
21
26
  }
22
27
  export function logout() {
23
28
  return Native.logout();
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","require","RNCKakaoUser","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLogin","logout","unlink","isLogined","isKakaoTalkLoginAvailable","scopes","revokeScopes","shippingAddresses","me"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAItD,MAAMC,aAAa,GACjB,mFAAmF,GACnFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,MAAM,GAAGH,oBAAoB,GAC/BI,OAAO,CAAC,wBAAwB,CAAC,CAACL,OAAO,GACzCL,aAAa,CAACW,YAAY;AAE9B,MAAMC,MAAY,GAAGH,MAAM,GACvBA,MAAM,GACN,IAAII,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACb,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAgFL,OAAO,SAASc,KAAKA,CAAC;EACpBC,YAAY;EACZC,OAAO;EACPC;AAKF,CAAC,GAAG,CAAC,CAAC,EAA4B;EAChC,OAAOP,MAAM,CAACI,KAAK,CAACC,YAAY,IAAI,EAAE,EAAEC,OAAO,IAAI,EAAE,EAAEC,oBAAoB,IAAI,KAAK,CAAC;AACvF;AAEA,OAAO,SAASC,MAAMA,CAAA,EAAG;EACvB,OAAOR,MAAM,CAACQ,MAAM,CAAC,CAAC;AACxB;AAEA,OAAO,SAASC,MAAMA,CAAA,EAAG;EACvB,OAAOT,MAAM,CAACS,MAAM,CAAC,CAAC;AACxB;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAOV,MAAM,CAACU,SAAS,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASC,yBAAyBA,CAAA,EAAqB;EAC5D,OAAOX,MAAM,CAACW,yBAAyB,CAAC,CAAC;AAC3C;AAEA,OAAO,SAASC,MAAMA,CAACA,MAAiB,EAA6B;EACnE,OAAOZ,MAAM,CAACY,MAAM,CAACA,MAAM,CAAC;AAC9B;AAEA,OAAO,SAASC,YAAYA,CAACD,MAAgB,EAAiB;EAC5D,OAAOZ,MAAM,CAACa,YAAY,CAACD,MAAM,CAAC;AACpC;AAEA,OAAO,SAASP,YAAYA,CAAA,EAGzB;EACD,OAAOL,MAAM,CAACK,YAAY,CAAC,CAAC;AAC9B;AAEA,OAAO,SAASS,iBAAiBA,CAAA,EAAwC;EACvE,OAAOd,MAAM,CAACc,iBAAiB,CAAC,CAAC;AACnC;AAEA,OAAO,SAASC,EAAEA,CAAA,EAAuB;EACvC,OAAOf,MAAM,CAACe,EAAE,CAAC,CAAC;AACpB","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","is","kAssert","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","require","RNCKakaoUser","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLogin","scopes","notEmptyArray","logout","unlink","isLogined","isKakaoTalkLoginAvailable","revokeScopes","shippingAddresses","me"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,EAAE,QAAQ,oBAAoB;AACvC,SAASC,OAAO,QAAQ,0BAA0B;AAIlD,MAAMC,aAAa,GACjB,mFAAmF,GACnFH,QAAQ,CAACI,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,MAAM,GAAGH,oBAAoB,GAC/BI,OAAO,CAAC,wBAAwB,CAAC,CAACL,OAAO,GACzCP,aAAa,CAACa,YAAY;AAE9B,MAAMC,MAAY,GAAGH,MAAM,GACvBA,MAAM,GACN,IAAII,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACb,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAgFL,OAAO,SAASc,KAAKA,CAAC;EACpBC,YAAY;EACZC,OAAO;EACPC,oBAAoB;EACpBC;AAMF,CAAC,GAAG,CAAC,CAAC,EAA4B;EAChCnB,OAAO,CACL,CAACkB,oBAAoB,GAAG,CAACnB,EAAE,CAACqB,aAAa,CAACH,OAAO,CAAC,IAAI,CAAClB,EAAE,CAACqB,aAAa,CAACD,MAAM,CAAC,GAAG,IAAI,EACtF,mFACF,CAAC;EAEDnB,OAAO,CACLD,EAAE,CAACqB,aAAa,CAACD,MAAM,CAAC,GAAG,CAACpB,EAAE,CAACqB,aAAa,CAACH,OAAO,CAAC,IAAI,CAAClB,EAAE,CAACqB,aAAa,CAACJ,YAAY,CAAC,GAAG,IAAI,EAC/F,oEACF,CAAC;EAED,OAAOL,MAAM,CAACI,KAAK,CACjBC,YAAY,IAAI,EAAE,EAClBC,OAAO,IAAI,EAAE,EACbC,oBAAoB,IAAI,KAAK,EAC7BC,MAAM,IAAI,EACZ,CAAC;AACH;AAEA,OAAO,SAASE,MAAMA,CAAA,EAAG;EACvB,OAAOV,MAAM,CAACU,MAAM,CAAC,CAAC;AACxB;AAEA,OAAO,SAASC,MAAMA,CAAA,EAAG;EACvB,OAAOX,MAAM,CAACW,MAAM,CAAC,CAAC;AACxB;AAEA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAOZ,MAAM,CAACY,SAAS,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASC,yBAAyBA,CAAA,EAAqB;EAC5D,OAAOb,MAAM,CAACa,yBAAyB,CAAC,CAAC;AAC3C;AAEA,OAAO,SAASL,MAAMA,CAACA,MAAiB,EAA6B;EACnE,OAAOR,MAAM,CAACQ,MAAM,CAACA,MAAM,CAAC;AAC9B;AAEA,OAAO,SAASM,YAAYA,CAACN,MAAgB,EAAiB;EAC5D,OAAOR,MAAM,CAACc,YAAY,CAACN,MAAM,CAAC;AACpC;AAEA,OAAO,SAASH,YAAYA,CAAA,EAGzB;EACD,OAAOL,MAAM,CAACK,YAAY,CAAC,CAAC;AAC9B;AAEA,OAAO,SAASU,iBAAiBA,CAAA,EAAwC;EACvE,OAAOf,MAAM,CAACe,iBAAiB,CAAC,CAAC;AACnC;AAEA,OAAO,SAASC,EAAEA,CAAA,EAAuB;EACvC,OAAOhB,MAAM,CAACgB,EAAE,CAAC,CAAC;AACpB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoUser.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AA+BlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoUser.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAgClD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
@@ -76,9 +76,10 @@ export type KakaoUser = {
76
76
  profileNicknameNeedsAgreement?: boolean;
77
77
  legalBirthDateNeedsAgreement?: boolean;
78
78
  };
79
- export declare function login({ serviceTerms, prompts, useKakaoAccountLogin, }?: {
79
+ export declare function login({ serviceTerms, prompts, useKakaoAccountLogin, scopes, }?: {
80
80
  serviceTerms?: string[];
81
81
  prompts?: ('Loign' | 'Create' | 'Cert' | 'UnifyDaum' | 'SelectAccount')[];
82
+ scopes?: string[];
82
83
  useKakaoAccountLogin?: boolean;
83
84
  }): Promise<KakaoLoginToken>;
84
85
  export declare function logout(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { TurboModule } from 'react-native';
2
2
  import type { KakaoAppServiceTerms, KakaoLoginToken, KakaoScopeInfo, KakaoServiceTerms, KakaoShippingAddressResult, KakaoUser } from '..';
3
3
  export interface Spec extends TurboModule {
4
4
  isKakaoTalkLoginAvailable(): Promise<boolean>;
5
- login(serviceTerms: string[], prompts: string[], useKakaoAccountLogin: boolean): Promise<KakaoLoginToken>;
5
+ login(serviceTerms: string[], prompts: string[], useKakaoAccountLogin: boolean, scopes?: string[]): Promise<KakaoLoginToken>;
6
6
  logout(): Promise<void>;
7
7
  unlink(): Promise<void>;
8
8
  isLogined(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeKakaoUser.d.ts","sourceRoot":"","sources":["../../../../src/spec/NativeKakaoUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,0BAA0B,EAC1B,SAAS,EACV,MAAM,IAAI,CAAC;AAEZ,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CACH,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EAAE,EACjB,oBAAoB,EAAE,OAAO,GAC5B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,YAAY,IAAI,OAAO,CAAC;QACtB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC1C,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,iBAAiB,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzD,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CAC1B;;AAED,wBAAsE"}
1
+ {"version":3,"file":"NativeKakaoUser.d.ts","sourceRoot":"","sources":["../../../../src/spec/NativeKakaoUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,0BAA0B,EAC1B,SAAS,EACV,MAAM,IAAI,CAAC;AAEZ,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CACH,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EAAE,EACjB,oBAAoB,EAAE,OAAO,EAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,YAAY,IAAI,OAAO,CAAC;QACtB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC1C,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,iBAAiB,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzD,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CAC1B;;AAED,wBAAsE"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-native-kakao/user",
3
3
  "description": "React Native Kakao User SDK",
4
- "version": "0.9.1",
4
+ "version": "1.0.2",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
7
7
  "types": "lib/typescript/src/index.d.ts",
@@ -62,7 +62,7 @@
62
62
  "access": "public"
63
63
  },
64
64
  "devDependencies": {
65
- "@react-native-kakao/core": "0.9.0",
65
+ "@react-native-kakao/core": "^1.0.2",
66
66
  "@types/invariant": "^2",
67
67
  "@types/jest": "^29.5.5",
68
68
  "@types/react": "^18.2.44",
@@ -74,7 +74,7 @@
74
74
  "typescript": "5.1.6"
75
75
  },
76
76
  "peerDependencies": {
77
- "@react-native-kakao/core": "0.9.0",
77
+ "@react-native-kakao/core": "^1.0.2",
78
78
  "react": "*",
79
79
  "react-native": "*"
80
80
  },
@@ -110,9 +110,8 @@
110
110
  "javaPackageName": "net.mjstudio.rnkakao.user"
111
111
  }
112
112
  },
113
- "gitHead": "5d5c4195e3ec45be6637a9026312d64979b0c6c3",
113
+ "gitHead": "ba5da3fc09a61f4797c0c35cb8b290839f0bfbca",
114
114
  "dependencies": {
115
- "@mj-studio/js-util": "^1.0.34",
116
- "invariant": "^2.2.4"
115
+ "@mj-studio/js-util": "^1.0.34"
117
116
  }
118
117
  }
package/src/index.tsx CHANGED
@@ -1,4 +1,6 @@
1
1
  import { NativeModules, Platform } from 'react-native';
2
+ import { is } from '@mj-studio/js-util';
3
+ import { kAssert } from '@react-native-kakao/core';
2
4
 
3
5
  import type { Spec } from './spec/NativeKakaoUser';
4
6
 
@@ -108,12 +110,29 @@ export function login({
108
110
  serviceTerms,
109
111
  prompts,
110
112
  useKakaoAccountLogin,
113
+ scopes,
111
114
  }: {
112
115
  serviceTerms?: string[];
113
116
  prompts?: ('Loign' | 'Create' | 'Cert' | 'UnifyDaum' | 'SelectAccount')[];
117
+ scopes?: string[];
114
118
  useKakaoAccountLogin?: boolean;
115
119
  } = {}): Promise<KakaoLoginToken> {
116
- return Native.login(serviceTerms ?? [], prompts ?? [], useKakaoAccountLogin ?? false);
120
+ kAssert(
121
+ !useKakaoAccountLogin ? !is.notEmptyArray(prompts) && !is.notEmptyArray(scopes) : true,
122
+ '[login] `prompts` and `scopes` cannot be passed if useKakaoAccountLogin is false.',
123
+ );
124
+
125
+ kAssert(
126
+ is.notEmptyArray(scopes) ? !is.notEmptyArray(prompts) && !is.notEmptyArray(serviceTerms) : true,
127
+ '[login] `scopes` cannot be passed with `prompts` or `serviceTerms`',
128
+ );
129
+
130
+ return Native.login(
131
+ serviceTerms ?? [],
132
+ prompts ?? [],
133
+ useKakaoAccountLogin ?? false,
134
+ scopes ?? [],
135
+ );
117
136
  }
118
137
 
119
138
  export function logout() {
@@ -16,6 +16,7 @@ export interface Spec extends TurboModule {
16
16
  serviceTerms: string[],
17
17
  prompts: string[],
18
18
  useKakaoAccountLogin: boolean,
19
+ scopes?: string[],
19
20
  ): Promise<KakaoLoginToken>;
20
21
  logout(): Promise<void>;
21
22
  unlink(): Promise<void>;