@react-native-kakao/user 0.9.1 → 0.10.0

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.
@@ -6,7 +6,11 @@ import com.facebook.react.bridge.ReactMethod
6
6
  import com.facebook.react.bridge.ReadableArray
7
7
  import com.kakao.sdk.auth.AuthApiClient
8
8
  import com.kakao.sdk.auth.model.OAuthToken
9
- import com.kakao.sdk.auth.model.Prompt
9
+ import com.kakao.sdk.auth.model.Prompt.CERT
10
+ import com.kakao.sdk.auth.model.Prompt.CREATE
11
+ import com.kakao.sdk.auth.model.Prompt.LOGIN
12
+ import com.kakao.sdk.auth.model.Prompt.SELECT_ACCOUNT
13
+ import com.kakao.sdk.auth.model.Prompt.UNIFY_DAUM
10
14
  import com.kakao.sdk.common.model.KakaoSdkError
11
15
  import com.kakao.sdk.user.UserApiClient
12
16
  import net.mjstudio.rnkakao.core.util.RNCKakaoUtil
@@ -33,6 +37,7 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
33
37
  serviceTerms: ReadableArray?,
34
38
  prompts: ReadableArray?,
35
39
  useKakaoAccountLogin: Boolean,
40
+ scopes: ReadableArray?,
36
41
  promise: Promise
37
42
  ) {
38
43
  val callback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
@@ -67,26 +72,34 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
67
72
  }
68
73
  }
69
74
 
70
- if (UserApiClient.instance.isKakaoTalkLoginAvailable(reactApplicationContext) && !useKakaoAccountLogin) {
75
+ if (scopes?.filterIsInstance<String>()?.isEmpty() == false) {
76
+ UserApiClient.instance.loginWithNewScopes(
77
+ reactApplicationContext,
78
+ scopes = scopes.filterIsInstance<String>(),
79
+ callback = callback
80
+ )
81
+ } else if (UserApiClient.instance.isKakaoTalkLoginAvailable(reactApplicationContext) && !useKakaoAccountLogin && scopes?.filterIsInstance<String>()
82
+ ?.isEmpty() == true
83
+ ) {
71
84
  UserApiClient.instance.loginWithKakaoTalk(
72
85
  reactApplicationContext,
73
- serviceTerms = serviceTerms?.filterIsInstance<String>(),
86
+ serviceTerms = serviceTerms?.filterIsInstance<String>()?.ifEmpty { null },
74
87
  callback = callback
75
88
  )
76
89
  } else {
77
90
  UserApiClient.instance.loginWithKakaoAccount(
78
91
  reactApplicationContext,
79
- prompts = prompts?.filterIsInstance<String>()?.map {
92
+ prompts = prompts?.filterIsInstance<String>()?.mapNotNull {
80
93
  when (it) {
81
- "Login" -> Prompt.LOGIN
82
- "Create" -> Prompt.CREATE
83
- "Cert" -> Prompt.CERT
84
- "UnifyDaum" -> Prompt.UNIFY_DAUM
85
- "SelectAccount" -> Prompt.SELECT_ACCOUNT
94
+ "Login" -> LOGIN
95
+ "Create" -> CREATE
96
+ "Cert" -> CERT
97
+ "UnifyDaum" -> UNIFY_DAUM
98
+ "SelectAccount" -> SELECT_ACCOUNT
86
99
  else -> null
87
100
  }
88
- }?.filterNotNull(),
89
- serviceTerms = serviceTerms?.filterIsInstance<String>(),
101
+ }?.ifEmpty { null },
102
+ serviceTerms = serviceTerms?.filterIsInstance<String>()?.ifEmpty { null },
90
103
  callback = callback
91
104
  )
92
105
  }
@@ -166,7 +179,7 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
166
179
  @ReactMethod
167
180
  override fun revokeScopes(scopes: ReadableArray, promise: Promise) {
168
181
  UserApiClient.instance.revokeScopes(
169
- scopes = scopes.filterIsInstance<String>() ?: listOf()
182
+ scopes = scopes.filterIsInstance<String>()
170
183
  ) { scopeInfo, error ->
171
184
  if (error != null) {
172
185
  promise.rejectWith(error)
@@ -293,10 +306,12 @@ class RNCKakaoUserModule internal constructor(context: ReactApplicationContext)
293
306
  "profileImageNeedsAgreement", user.kakaoAccount?.profileImageNeedsAgreement
294
307
  )
295
308
  putBooleanIfNotNull(
296
- "profileNicknameNeedsAgreement", user.kakaoAccount?.profileNicknameNeedsAgreement
309
+ "profileNicknameNeedsAgreement",
310
+ user.kakaoAccount?.profileNicknameNeedsAgreement
297
311
  )
298
312
  putBooleanIfNotNull(
299
- "legalBirthDateNeedsAgreement", user.kakaoAccount?.legalBirthDateNeedsAgreement
313
+ "legalBirthDateNeedsAgreement",
314
+ user.kakaoAccount?.legalBirthDateNeedsAgreement
300
315
  )
301
316
  })
302
317
  }
@@ -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": "0.10.0",
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": "^0.10.0",
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": "^0.10.0",
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": "654ea83ecf7e1629fb2b5d3123ff40f6475d9d75",
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>;