@@ -33,7 +33,6 @@ import LineSDK
3333 }
3434
3535 let universalLinkURL : URL ? = ( arguments [ " universalLinkUrl " ] as? String ) . flatMap { URL ( string: $0) }
36-
3736 LoginManager . shared. setup ( channelID: channelID, universalLinkURL: universalLinkURL)
3837 resolve ( nil )
3938 }
@@ -42,7 +41,7 @@ import LineSDK
4241 rejecter reject: @escaping RCTPromiseRejectBlock ) {
4342
4443 guard let args = arguments else {
45- LineLogin . nilArgument ( reject)
44+ reject ( " INVALID_ARGUMENTS " , " Expected argument is nil " , NSError ( domain : " " , code : 200 , userInfo : nil ) )
4645 return
4746 }
4847
@@ -85,12 +84,20 @@ import LineSDK
8584
8685 @objc func getCurrentAccessToken( _ resolve: @escaping RCTPromiseResolveBlock ,
8786 rejecter reject: @escaping RCTPromiseRejectBlock ) {
88- if let token = AccessTokenStore . shared. current {
89- resolve ( self . parseAccessToken ( token) )
90- } else {
91- reject ( " ACCESS_TOKEN_NOT_AVAILABLE " ,
92- " No access token is available " ,
93- NSError ( domain: " " , code: 200 , userInfo: nil ) )
87+ guard let token = AccessTokenStore . shared. current else {
88+ reject ( " ACCESS_TOKEN_NOT_AVAILABLE " , " No access token is available " , nil )
89+ return
90+ }
91+ resolve ( self . parseAccessToken ( token) )
92+ }
93+
94+ @objc func getFriendshipStatus( _ resolve: @escaping RCTPromiseResolveBlock ,
95+ rejecter reject: @escaping RCTPromiseRejectBlock ) {
96+ API . getBotFriendshipStatus { result in
97+ switch result {
98+ case . success( let status) : resolve ( self . parseFriendshipStatus ( status) )
99+ case . failure( let error) : error. rejecter ( reject)
100+ }
94101 }
95102 }
96103
@@ -124,43 +131,26 @@ import LineSDK
124131 }
125132 }
126133
127- @objc func getFriendshipStatus( _ resolve: @escaping RCTPromiseResolveBlock ,
128- rejecter reject: @escaping RCTPromiseRejectBlock ) {
129- API . getBotFriendshipStatus { result in
130- switch result {
131- case . success( let status) : resolve ( self . parseFriendshipStatus ( status) )
132- case . failure( let error) : error. rejecter ( reject)
133- }
134- }
135- }
136-
137- static func nilArgument( _ reject: @escaping RCTPromiseRejectBlock ) {
138- return reject (
139- " ARGUMENT_NIL " ,
140- " Expected argument is nil " ,
141- NSError ( domain: " " , code: 200 , userInfo: nil ) )
134+ private func parseFriendshipStatus( _ status: GetBotFriendshipStatusRequest . Response ) -> NSDictionary {
135+ return [
136+ " friendFlag " : status. friendFlag
137+ ]
142138 }
143139
144- private func parseAccessToken( _ token : AccessToken ) -> NSDictionary {
145- var result = [
146- " accessToken " : token . value,
147- " createdAt " : token . createdAt,
148- " expiresIn " : token . expiresAt,
149- ] as [ String : Any ]
140+ private func parseAccessToken( _ accessToken : AccessToken ) -> NSDictionary {
141+ var result : [ String : Any ] = [
142+ " accessToken " : accessToken . value,
143+ " createdAt " : accessToken . createdAt,
144+ " expiresIn " : accessToken . expiresAt,
145+ ]
150146
151- if let idToken = token . IDTokenRaw {
147+ if let idToken = accessToken . IDTokenRaw {
152148 result [ " idToken " ] = idToken
153149 }
154150
155151 return NSDictionary ( dictionary: result)
156152 }
157153
158- private func parseFriendshipStatus( _ status: GetBotFriendshipStatusRequest . Response ) -> NSDictionary {
159- return [
160- " friendFlag " : status. friendFlag
161- ]
162- }
163-
164154 private func parseProfile( _ profile: UserProfile ) -> NSDictionary {
165155 return [
166156 " displayName " : profile. displayName,
@@ -180,43 +170,19 @@ import LineSDK
180170 ]
181171 }
182172
183- private func parseVerifyAccessToken( _ verification : AccessTokenVerifyResult ) -> NSDictionary {
173+ private func parseVerifyAccessToken( _ accessToken : AccessTokenVerifyResult ) -> NSDictionary {
184174 return [
185- " channelId " : verification . channelID,
186- " expiresIn " : verification . expiresIn,
187- " scope " : verification . permissions. map { $0. rawValue } . joined ( separator: " " )
175+ " channelId " : accessToken . channelID,
176+ " expiresIn " : accessToken . expiresIn,
177+ " scope " : accessToken . permissions. map { $0. rawValue } . joined ( separator: " " )
188178 ]
189179 }
190180}
191181
192-
193- extension Encodable {
194- func toJSON( ) throws -> Any {
195- let data = try JSONEncoder ( ) . encode ( self )
196- return try JSONSerialization . jsonObject ( with: data, options: [ ] )
197- }
198- func errorParsing( _ reject: @escaping RCTPromiseRejectBlock , _ name: String ) {
199- return reject (
200- " ERROR_PARSING " ,
201- " Error parsing \( name) " ,
202- NSError ( domain: " " , code: 200 , userInfo: nil ) )
203- }
204-
205- func resolver( _ resolve: @escaping RCTPromiseResolveBlock , _ reject: @escaping RCTPromiseRejectBlock , name: String ) {
206- do {
207- let jsonValue = try self . toJSON ( )
208- resolve ( jsonValue)
209- } catch {
210- self . errorParsing ( reject, name)
211- }
212- }
213- }
214-
215182extension LineSDKError {
216183 func rejecter( _ reject: @escaping RCTPromiseRejectBlock ) {
217- reject (
218- " \( errorCode) " ,
219- errorDescription,
220- self )
184+ let code = String ( errorCode)
185+ let message = errorDescription ?? " Unknown error "
186+ reject ( code, message, self )
221187 }
222- }
188+ }
0 commit comments