mirror of
https://github.com/status-im/react-native-status-keycard.git
synced 2025-02-28 12:00:36 +00:00
small refactor to reduce the #available checks needed
This commit is contained in:
parent
b3d56547fb
commit
6da5774757
@ -1,12 +1,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
import Keycard
|
import Keycard
|
||||||
|
|
||||||
@available(iOS 13.0, *)
|
|
||||||
class SmartCard {
|
class SmartCard {
|
||||||
func nfcIsSupported() -> Bool {
|
|
||||||
return KeycardController.isAvailable
|
|
||||||
}
|
|
||||||
|
|
||||||
func initialize(channel: CardChannel, pin: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) throws -> Void {
|
func initialize(channel: CardChannel, pin: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) throws -> Void {
|
||||||
let puk = self.randomPUK()
|
let puk = self.randomPUK()
|
||||||
let pairingPassword = self.randomPairingPassword();
|
let pairingPassword = self.randomPairingPassword();
|
||||||
|
@ -3,21 +3,12 @@ import Keycard
|
|||||||
|
|
||||||
@objc(StatusKeycard)
|
@objc(StatusKeycard)
|
||||||
class StatusKeycard: NSObject {
|
class StatusKeycard: NSObject {
|
||||||
@available(iOS 13.0, *)
|
let smartCard = SmartCard()
|
||||||
private(set) lazy var smartCard: SmartCard? = nil
|
|
||||||
|
|
||||||
override init() {
|
|
||||||
super.init()
|
|
||||||
|
|
||||||
if #available(iOS 13.0, *) {
|
|
||||||
self.smartCard = SmartCard()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@objc
|
@objc
|
||||||
func nfcIsSupported(_ resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
|
func nfcIsSupported(_ resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
|
||||||
if #available(iOS 13.0, *) {
|
if #available(iOS 13.0, *) {
|
||||||
resolve(smartCard?.nfcIsSupported())
|
resolve(KeycardController.isAvailable)
|
||||||
} else {
|
} else {
|
||||||
resolve(false)
|
resolve(false)
|
||||||
}
|
}
|
||||||
@ -37,17 +28,17 @@ class StatusKeycard: NSObject {
|
|||||||
|
|
||||||
@objc
|
@objc
|
||||||
func `init`(_ pin: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
func `init`(_ pin: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
||||||
keycardInvokation(reject) { [unowned self] channel in if #available(iOS 13.0, *) { try self.smartCard?.initialize(channel: channel, pin: pin, resolve: resolve, reject: reject) } }
|
keycardInvokation(reject) { [unowned self] channel in try self.smartCard.initialize(channel: channel, pin: pin, resolve: resolve, reject: reject) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc
|
@objc
|
||||||
func signPinless(_ hash: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
func signPinless(_ hash: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
||||||
keycardInvokation(reject) { [unowned self] channel in if #available(iOS 13.0, *) { try self.smartCard?.signPinless(channel: channel, hash: hash, resolve: resolve, reject: reject)} }
|
keycardInvokation(reject) { [unowned self] channel in try self.smartCard.signPinless(channel: channel, hash: hash, resolve: resolve, reject: reject) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc
|
@objc
|
||||||
func pair(_ pairingPassword: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
func pair(_ pairingPassword: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
|
||||||
keycardInvokation(reject) { [unowned self] channel in if #available(iOS 13.0, *) { try self.smartCard?.pair(channel: channel, pairingPassword: pairingPassword, resolve: resolve, reject: reject)} }
|
keycardInvokation(reject) { [unowned self] channel in try self.smartCard.pair(channel: channel, pairingPassword: pairingPassword, resolve: resolve, reject: reject) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc
|
@objc
|
||||||
|
Loading…
x
Reference in New Issue
Block a user