@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.
- package/android/src/main/java/net/mjstudio/rnkakao/user/RNCKakaoUserModule.kt +29 -14
- package/android/src/oldarch/KakaoUserSpec.kt +1 -0
- package/ios/RNCKakaoUser.mm +3 -1
- package/ios/RNCKakaoUserManager.swift +36 -76
- package/lib/commonjs/index.js +7 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/spec/NativeKakaoUser.js.map +1 -1
- package/lib/module/index.js +7 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/spec/NativeKakaoUser.js.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/spec/NativeKakaoUser.d.ts +1 -1
- package/lib/typescript/src/spec/NativeKakaoUser.d.ts.map +1 -1
- package/package.json +5 -6
- package/src/index.tsx +20 -1
- package/src/spec/NativeKakaoUser.ts +1 -0
|
@@ -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 (
|
|
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>()?.
|
|
92
|
+
prompts = prompts?.filterIsInstance<String>()?.mapNotNull {
|
|
80
93
|
when (it) {
|
|
81
|
-
"Login" ->
|
|
82
|
-
"Create" ->
|
|
83
|
-
"Cert" ->
|
|
84
|
-
"UnifyDaum" ->
|
|
85
|
-
"SelectAccount" ->
|
|
94
|
+
"Login" -> LOGIN
|
|
95
|
+
"Create" -> CREATE
|
|
96
|
+
"Cert" -> CERT
|
|
97
|
+
"UnifyDaum" -> UNIFY_DAUM
|
|
98
|
+
"SelectAccount" -> SELECT_ACCOUNT
|
|
86
99
|
else -> null
|
|
87
100
|
}
|
|
88
|
-
}?.
|
|
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>()
|
|
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",
|
|
309
|
+
"profileNicknameNeedsAgreement",
|
|
310
|
+
user.kakaoAccount?.profileNicknameNeedsAgreement
|
|
297
311
|
)
|
|
298
312
|
putBooleanIfNotNull(
|
|
299
|
-
"legalBirthDateNeedsAgreement",
|
|
313
|
+
"legalBirthDateNeedsAgreement",
|
|
314
|
+
user.kakaoAccount?.legalBirthDateNeedsAgreement
|
|
300
315
|
)
|
|
301
316
|
})
|
|
302
317
|
}
|
package/ios/RNCKakaoUser.mm
CHANGED
|
@@ -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
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
|
|
85
|
-
}
|
|
86
|
-
if p == "
|
|
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(
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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
|
-
|
|
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","
|
|
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,
|
|
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":[]}
|
package/lib/module/index.js
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
|
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
|
-
|
|
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();
|
package/lib/module/index.js.map
CHANGED
|
@@ -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","
|
|
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;
|
|
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":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AA8BA,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;CAC3C,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AACF,wBAAgB,KAAK,CAAC,EACpB,YAAY,EACZ,OAAO,EACP,oBAAoB,EACpB,MAAM,GACP,GAAE;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,CAAC,EAAE,CAAC;IAC1E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,OAAO,CAAC,eAAe,CAAC,CAiBhC;AAED,wBAAgB,MAAM,kBAErB;AAED,wBAAgB,MAAM,kBAErB;AAED,wBAAgB,SAAS,qBAExB;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAE5D;AAED,wBAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAEnE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;AAED,wBAAgB,YAAY,IAAI,OAAO,CAAC;IACtC,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC1C,CAAC,CAED;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAEvE;AAED,wBAAgB,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,CAEvC"}
|
|
@@ -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,
|
|
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.
|
|
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.
|
|
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.
|
|
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": "
|
|
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
|
-
|
|
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() {
|