@react-native-kakao/user 0.5.1 → 0.6.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.
@@ -42,6 +42,32 @@ RCT_EXPORT_METHOD(isLogined
42
42
  [[self manager] isLogined:resolve reject:reject];
43
43
  }
44
44
 
45
+ RCT_EXPORT_METHOD(scopes
46
+ : (NSArray*)scopes resolve
47
+ : (RCTPromiseResolveBlock)resolve reject
48
+ : (RCTPromiseRejectBlock)reject) {
49
+ [[self manager] scopes:scopes resolve:resolve reject:reject];
50
+ }
51
+
52
+ RCT_EXPORT_METHOD(revokeScopes
53
+ : (NSArray*)scopes resolve
54
+ : (RCTPromiseResolveBlock)resolve reject
55
+ : (RCTPromiseRejectBlock)reject) {
56
+ [[self manager] revokeScopes:scopes resolve:resolve reject:reject];
57
+ }
58
+
59
+ RCT_EXPORT_METHOD(serviceTerms
60
+ : (RCTPromiseResolveBlock)resolve reject
61
+ : (RCTPromiseRejectBlock)reject) {
62
+ [[self manager] serviceTerms:resolve reject:reject];
63
+ }
64
+
65
+ RCT_EXPORT_METHOD(shippingAddresses
66
+ : (RCTPromiseResolveBlock)resolve reject
67
+ : (RCTPromiseRejectBlock)reject) {
68
+ [[self manager] shippingAddresses:resolve reject:reject];
69
+ }
70
+
45
71
  // Don't compile this code when we build for the old architecture.
46
72
  #ifdef RCT_NEW_ARCH_ENABLED
47
73
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
@@ -166,6 +166,113 @@ import RNCKakaoCore
166
166
  }
167
167
  }
168
168
 
169
+ @objc public func scopes(
170
+ _ scopes: [String]? = nil,
171
+ resolve: @escaping RCTPromiseResolveBlock,
172
+ reject: @escaping RCTPromiseRejectBlock
173
+ ) {
174
+ UserApi.shared.scopes(scopes: emptyArrayToNil(scopes)) { scopeInfo, error in
175
+ if let error {
176
+ RNCKakaoUtil.reject(reject, error)
177
+ } else if let scopeInfo {
178
+ resolve(scopeInfo.scopes?.map { s in
179
+ [
180
+ "id": s.id,
181
+ "displayName": s.displayName,
182
+ "type": s.type.rawValue,
183
+ "using": s.using,
184
+ "delegated": s.delegated as Any,
185
+ "agreed": s.agreed,
186
+ "revocable": s.revocable as Any
187
+ ]
188
+ } ?? [])
189
+ } else {
190
+ RNCKakaoUtil.reject(reject, "scopeInfo not found")
191
+ }
192
+ }
193
+ }
194
+
195
+ @objc public func revokeScopes(
196
+ _ scopes: [String],
197
+ resolve: @escaping RCTPromiseResolveBlock,
198
+ reject: @escaping RCTPromiseRejectBlock
199
+ ) {
200
+ UserApi.shared.revokeScopes(scopes: scopes) { info, error in
201
+ if let error {
202
+ RNCKakaoUtil.reject(reject, error)
203
+ } else if info != nil {
204
+ resolve(42)
205
+ } else {
206
+ RNCKakaoUtil.reject(reject, "scopeInfo not found")
207
+ }
208
+ }
209
+ }
210
+
211
+ @objc public func serviceTerms(
212
+ _ resolve: @escaping RCTPromiseResolveBlock,
213
+ reject: @escaping RCTPromiseRejectBlock
214
+ ) {
215
+ UserApi.shared.serviceTerms { serviceTerms, error in
216
+ if let error {
217
+ RNCKakaoUtil.reject(reject, error)
218
+ } else if let serviceTerms {
219
+ resolve(
220
+ [
221
+ "allowedServiceTerms": serviceTerms.allowedServiceTerms?.map {
222
+ [
223
+ "tag": $0.tag,
224
+ "agreedAt": $0.agreedAt.timeIntervalSince1970
225
+ ]
226
+ },
227
+ "appServiceTerms": serviceTerms.appServiceTerms?.map {
228
+ [
229
+ "tag": $0.tag,
230
+ "createdAt": $0.createdAt.timeIntervalSince1970,
231
+ "updatedAt": $0.updatedAt.timeIntervalSince1970
232
+ ]
233
+ }
234
+ ]
235
+ )
236
+ } else {
237
+ RNCKakaoUtil.reject(reject, "serviceTerms not found")
238
+ }
239
+ }
240
+ }
241
+
242
+ @objc public func shippingAddresses(
243
+ _ resolve: @escaping RCTPromiseResolveBlock,
244
+ reject: @escaping RCTPromiseRejectBlock
245
+ ) {
246
+ UserApi.shared.shippingAddresses { s, error in
247
+ if let error {
248
+ RNCKakaoUtil.reject(reject, error)
249
+ } else if let s {
250
+ resolve([
251
+ "userId": s.userId as Any,
252
+ "needsAgreement": s.needsAgreement as Any,
253
+ "shippingAddresses": s.shippingAddresses?.map {
254
+ [
255
+ "id": $0.id,
256
+ "name": $0.name as Any,
257
+ "isDefault": $0.isDefault,
258
+ "updatedAt": $0.updatedAt?.timeIntervalSince1970 as Any,
259
+ "type": $0.type?.rawValue as Any,
260
+ "baseAddress": $0.baseAddress as Any,
261
+ "detailAddress": $0.detailAddress as Any,
262
+ "receiverName": $0.receiverName as Any,
263
+ "receiverPhoneNumber1": $0.receiverPhoneNumber1 as Any,
264
+ "receiverPhoneNumber2": $0.receiverPhoneNumber2 as Any,
265
+ "zoneNumber": $0.zoneNumber as Any,
266
+ "zipCode": $0.zipCode as Any
267
+ ]
268
+ } ?? []
269
+ ])
270
+ } else {
271
+ RNCKakaoUtil.reject(reject, "shipping addresses not found")
272
+ }
273
+ }
274
+ }
275
+
169
276
  private func emptyArrayToNil<T>(_ arr: [T]?) -> [T]? {
170
277
  if arr == nil || arr?.isEmpty == true { return nil }
171
278
  return arr
@@ -7,6 +7,10 @@ exports.isKakaoTalkLoginAvailable = isKakaoTalkLoginAvailable;
7
7
  exports.isLogined = isLogined;
8
8
  exports.login = login;
9
9
  exports.logout = logout;
10
+ exports.revokeScopes = revokeScopes;
11
+ exports.scopes = scopes;
12
+ exports.serviceTerms = serviceTerms;
13
+ exports.shippingAddresses = shippingAddresses;
10
14
  exports.unlink = unlink;
11
15
  var _reactNative = require("react-native");
12
16
  const LINKING_ERROR = "The package '@react-native-kakao/user' doesn't seem to be linked. Make sure: \n\n" + _reactNative.Platform.select({
@@ -41,4 +45,16 @@ function isLogined() {
41
45
  function isKakaoTalkLoginAvailable() {
42
46
  return Native.isKakaoTalkLoginAvailable();
43
47
  }
48
+ function scopes(scopes) {
49
+ return Native.scopes(scopes);
50
+ }
51
+ function revokeScopes(scopes) {
52
+ return Native.revokeScopes(scopes);
53
+ }
54
+ function serviceTerms() {
55
+ return Native.serviceTerms();
56
+ }
57
+ function shippingAddresses() {
58
+ return Native.shippingAddresses();
59
+ }
44
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","NativeModules","KakaoShare","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLoginIos","logout","unlink","isLogined","isKakaoTalkLoginAvailable"],"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,UAAU;AAE5B,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;AAaE,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,uBAAuB,IAAI,KAAK,CAAC;AAC1F;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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","NativeModules","KakaoShare","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLoginIos","logout","unlink","isLogined","isKakaoTalkLoginAvailable","scopes","revokeScopes","shippingAddresses"],"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,UAAU;AAE5B,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;AAkDE,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,uBAAuB,IAAI,KAAK,CAAC;AAC1F;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","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,GAgBpCC,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,GA6BpCC,gCAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
@@ -31,4 +31,16 @@ export function isLogined() {
31
31
  export function isKakaoTalkLoginAvailable() {
32
32
  return Native.isKakaoTalkLoginAvailable();
33
33
  }
34
+ export function scopes(scopes) {
35
+ return Native.scopes(scopes);
36
+ }
37
+ export function revokeScopes(scopes) {
38
+ return Native.revokeScopes(scopes);
39
+ }
40
+ export function serviceTerms() {
41
+ return Native.serviceTerms();
42
+ }
43
+ export function shippingAddresses() {
44
+ return Native.shippingAddresses();
45
+ }
34
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","require","KakaoShare","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLoginIos","logout","unlink","isLogined","isKakaoTalkLoginAvailable"],"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,UAAU;AAE5B,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;AAaL,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,uBAAuB,IAAI,KAAK,CAAC;AAC1F;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","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","Module","require","KakaoShare","Native","Proxy","get","Error","login","serviceTerms","prompts","useKakaoAccountLoginIos","logout","unlink","isLogined","isKakaoTalkLoginAvailable","scopes","revokeScopes","shippingAddresses"],"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,UAAU;AAE5B,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;AAkDL,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,uBAAuB,IAAI,KAAK,CAAC;AAC1F;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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["spec/NativeKakaoUser.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAgBlD,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;AA6BlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
@@ -9,6 +9,43 @@ export type KakaoLoginToken = {
9
9
  refreshTokenExpiresIn: number;
10
10
  scopes: string[];
11
11
  };
12
+ export type KakaoScopeInfo = {
13
+ id: string;
14
+ agreed: boolean;
15
+ displayName: string;
16
+ revocable?: boolean;
17
+ using: boolean;
18
+ delegated?: boolean;
19
+ type: string;
20
+ };
21
+ export type KakaoServiceTerms = {
22
+ tag: string;
23
+ agreedAt: number;
24
+ };
25
+ export type KakaoAppServiceTerms = {
26
+ tag: string;
27
+ createdAt: number;
28
+ updatedAt: number;
29
+ };
30
+ export type KakaoShippingAddressResult = {
31
+ userId?: number;
32
+ needsAgreement?: boolean;
33
+ shippingAddresses: KakaoShippingAddress[];
34
+ };
35
+ export type KakaoShippingAddress = {
36
+ id: number;
37
+ name?: string;
38
+ isDefault: boolean;
39
+ updatedAt?: number;
40
+ type?: string;
41
+ baseAddress?: string;
42
+ detailAddress?: string;
43
+ receiverName?: string;
44
+ receiverPhoneNumber1?: string;
45
+ receiverPhoneNumber2?: string;
46
+ zoneNumber?: string;
47
+ zipCode?: string;
48
+ };
12
49
  export declare function login({ serviceTerms, prompts, useKakaoAccountLoginIos, }?: {
13
50
  serviceTerms?: string[];
14
51
  prompts?: string[];
@@ -18,4 +55,11 @@ export declare function logout(): Promise<void>;
18
55
  export declare function unlink(): Promise<void>;
19
56
  export declare function isLogined(): Promise<boolean>;
20
57
  export declare function isKakaoTalkLoginAvailable(): Promise<boolean>;
58
+ export declare function scopes(scopes?: string[]): Promise<KakaoScopeInfo[]>;
59
+ export declare function revokeScopes(scopes: string[]): Promise<void>;
60
+ export declare function serviceTerms(): Promise<{
61
+ allowedServiceTerms?: KakaoServiceTerms[];
62
+ appServiceTerms?: KakaoAppServiceTerms[];
63
+ }>;
64
+ export declare function shippingAddresses(): Promise<KakaoShippingAddressResult>;
21
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AA4BA,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,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,wBAAgB,KAAK,CAAC,EACpB,YAAY,EACZ,OAAO,EACP,uBAAuB,GACxB,GAAE;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,OAAO,CAAC,eAAe,CAAC,CAEhC;AAED,wBAAgB,MAAM,kBAErB;AAED,wBAAgB,MAAM,kBAErB;AAED,wBAAgB,SAAS,qBAExB;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAE5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AA4BA,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,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,wBAAgB,KAAK,CAAC,EACpB,YAAY,EACZ,OAAO,EACP,uBAAuB,GACxB,GAAE;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,OAAO,CAAC,eAAe,CAAC,CAEhC;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"}
@@ -1,11 +1,18 @@
1
1
  import type { TurboModule } from 'react-native';
2
- import type { KakaoLoginToken } from '..';
2
+ import type { KakaoAppServiceTerms, KakaoLoginToken, KakaoScopeInfo, KakaoServiceTerms, KakaoShippingAddressResult } from '..';
3
3
  export interface Spec extends TurboModule {
4
4
  isKakaoTalkLoginAvailable(): Promise<boolean>;
5
5
  login(serviceTerms: string[], prompts: string[], useKakaoAccountLoginIos: boolean): Promise<KakaoLoginToken>;
6
6
  logout(): Promise<void>;
7
7
  unlink(): Promise<void>;
8
8
  isLogined(): Promise<boolean>;
9
+ scopes(scopes?: string[]): Promise<KakaoScopeInfo[]>;
10
+ revokeScopes(scopes: string[]): Promise<void>;
11
+ serviceTerms(): Promise<{
12
+ allowedServiceTerms?: KakaoServiceTerms[];
13
+ appServiceTerms?: KakaoAppServiceTerms[];
14
+ }>;
15
+ shippingAddresses(): Promise<KakaoShippingAddressResult>;
9
16
  }
10
17
  declare const _default: Spec;
11
18
  export default _default;
@@ -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,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAE1C,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,uBAAuB,EAAE,OAAO,GAC/B,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;CAC/B;;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,EAC3B,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,uBAAuB,EAAE,OAAO,GAC/B,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;CAC1D;;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.5.1",
4
+ "version": "0.6.0",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
7
7
  "types": "lib/typescript/src/index.d.ts",
@@ -107,5 +107,5 @@
107
107
  "javaPackageName": "net.mjstudio.rnkakao.user"
108
108
  }
109
109
  },
110
- "gitHead": "fdde4feb0d2c64dda2c30077a3e3e68fdab739c7"
110
+ "gitHead": "454f7b143a7c4cc623051911e888c97b998ad82e"
111
111
  }
package/src/index.tsx CHANGED
@@ -37,6 +37,43 @@ export type KakaoLoginToken = {
37
37
  refreshTokenExpiresIn: number;
38
38
  scopes: string[];
39
39
  };
40
+ export type KakaoScopeInfo = {
41
+ id: string;
42
+ agreed: boolean;
43
+ displayName: string;
44
+ revocable?: boolean;
45
+ using: boolean;
46
+ delegated?: boolean;
47
+ type: string;
48
+ };
49
+ export type KakaoServiceTerms = {
50
+ tag: string;
51
+ agreedAt: number;
52
+ };
53
+ export type KakaoAppServiceTerms = {
54
+ tag: string;
55
+ createdAt: number;
56
+ updatedAt: number;
57
+ };
58
+ export type KakaoShippingAddressResult = {
59
+ userId?: number;
60
+ needsAgreement?: boolean;
61
+ shippingAddresses: KakaoShippingAddress[];
62
+ };
63
+ export type KakaoShippingAddress = {
64
+ id: number;
65
+ name?: string;
66
+ isDefault: boolean;
67
+ updatedAt?: number;
68
+ type?: string;
69
+ baseAddress?: string;
70
+ detailAddress?: string;
71
+ receiverName?: string;
72
+ receiverPhoneNumber1?: string;
73
+ receiverPhoneNumber2?: string;
74
+ zoneNumber?: string;
75
+ zipCode?: string;
76
+ };
40
77
  export function login({
41
78
  serviceTerms,
42
79
  prompts,
@@ -64,3 +101,22 @@ export function isLogined() {
64
101
  export function isKakaoTalkLoginAvailable(): Promise<boolean> {
65
102
  return Native.isKakaoTalkLoginAvailable();
66
103
  }
104
+
105
+ export function scopes(scopes?: string[]): Promise<KakaoScopeInfo[]> {
106
+ return Native.scopes(scopes);
107
+ }
108
+
109
+ export function revokeScopes(scopes: string[]): Promise<void> {
110
+ return Native.revokeScopes(scopes);
111
+ }
112
+
113
+ export function serviceTerms(): Promise<{
114
+ allowedServiceTerms?: KakaoServiceTerms[];
115
+ appServiceTerms?: KakaoAppServiceTerms[];
116
+ }> {
117
+ return Native.serviceTerms();
118
+ }
119
+
120
+ export function shippingAddresses(): Promise<KakaoShippingAddressResult> {
121
+ return Native.shippingAddresses();
122
+ }
@@ -1,7 +1,13 @@
1
1
  import type { TurboModule } from 'react-native';
2
2
  import { TurboModuleRegistry } from 'react-native';
3
3
 
4
- import type { KakaoLoginToken } from '..';
4
+ import type {
5
+ KakaoAppServiceTerms,
6
+ KakaoLoginToken,
7
+ KakaoScopeInfo,
8
+ KakaoServiceTerms,
9
+ KakaoShippingAddressResult,
10
+ } from '..';
5
11
 
6
12
  export interface Spec extends TurboModule {
7
13
  isKakaoTalkLoginAvailable(): Promise<boolean>;
@@ -13,6 +19,13 @@ export interface Spec extends TurboModule {
13
19
  logout(): Promise<void>;
14
20
  unlink(): Promise<void>;
15
21
  isLogined(): Promise<boolean>;
22
+ scopes(scopes?: string[]): Promise<KakaoScopeInfo[]>;
23
+ revokeScopes(scopes: string[]): Promise<void>;
24
+ serviceTerms(): Promise<{
25
+ allowedServiceTerms?: KakaoServiceTerms[];
26
+ appServiceTerms?: KakaoAppServiceTerms[];
27
+ }>;
28
+ shippingAddresses(): Promise<KakaoShippingAddressResult>;
16
29
  }
17
30
 
18
31
  export default TurboModuleRegistry.getEnforcing<Spec>('RNCKakaoUser');