@applicaster/quick-brick-native-apple 5.22.1 → 5.22.3
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/apple/QuickBrickApple.podspec.json +2 -2
- package/apple/ios/ReactNative/QuickBrickExceptionManager.swift +4 -4
- package/apple/ios/ReactNative/QuickBrickViewController.swift +13 -10
- package/apple/tvos/Helpers/FocusableGroupManager/FocusableGroupManager.swift +3 -3
- package/apple/tvos/Views/FocusableGroupView/FocusableGroupView.swift +11 -11
- package/apple/tvos/Views/FocusableGroupView/FocusableGroupViewModule.swift +1 -1
- package/apple/universal/ReactNative/AppLoaderBridge.swift +2 -2
- package/apple/universal/ReactNative/LocalNotification/LocalNotificationBridge.swift +1 -1
- package/apple/universal/ReactNative/OfflineAssetsBridge.swift +1 -1
- package/apple/universal/ReactNative/PluginsManagerBridge.swift +5 -5
- package/apple/universal/ReactNative/ReactNativeCommunicationModule.swift +3 -3
- package/apple/universal/ReactNative/ReactNativeManager.swift +1 -1
- package/apple/universal/Storages/LocalStorage/LocalStorageBridge.swift +8 -8
- package/apple/universal/Storages/SessionStorage/SessionStorageBridge.swift +4 -4
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "QuickBrickApple",
|
|
3
|
-
"version": "5.22.
|
|
3
|
+
"version": "5.22.3",
|
|
4
4
|
"platforms": {
|
|
5
5
|
"ios": "14.0",
|
|
6
6
|
"tvos": "14.0"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"authors": "Applicaster LTD.",
|
|
17
17
|
"source": {
|
|
18
18
|
"git": "https://github.com/applicaster/Zapp-Frameworks.git",
|
|
19
|
-
"tag": "@@applicaster/quick-brick-native-apple/5.22.
|
|
19
|
+
"tag": "@@applicaster/quick-brick-native-apple/5.22.3"
|
|
20
20
|
},
|
|
21
21
|
"requires_arc": true,
|
|
22
22
|
"source_files": "universal/**/*.{m,swift}",
|
|
@@ -15,8 +15,8 @@ class QuickBrickExceptionManager: RCTExceptionsManager, RCTExceptionsManagerDele
|
|
|
15
15
|
public lazy var logger = Logger.getLogger(for: ReactNativeManagerLogs.subsystem)
|
|
16
16
|
|
|
17
17
|
func handleSoftJSException(withMessage message: String?, stack: [Any]?, exceptionId: NSNumber) {
|
|
18
|
-
guard let message
|
|
19
|
-
let stack
|
|
18
|
+
guard let message,
|
|
19
|
+
let stack
|
|
20
20
|
else {
|
|
21
21
|
return
|
|
22
22
|
}
|
|
@@ -37,8 +37,8 @@ class QuickBrickExceptionManager: RCTExceptionsManager, RCTExceptionsManagerDele
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
func handleFatalJSException(withMessage message: String?, stack: [Any]?, exceptionId: NSNumber) {
|
|
40
|
-
guard let message
|
|
41
|
-
let stack
|
|
40
|
+
guard let message,
|
|
41
|
+
let stack
|
|
42
42
|
else {
|
|
43
43
|
return
|
|
44
44
|
}
|
|
@@ -153,16 +153,6 @@ class QuickBrickViewController: UIViewController, UILayerViewControllerProtocol
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
private func forceOrientationWithMaskIfNeeded(_ orientationMask: UIInterfaceOrientationMask) {
|
|
156
|
-
if #available(iOS 16.0, *) {
|
|
157
|
-
logger?.debugLog(message: "\(QuickBrickViewControllerLogs.forceOrientation.message) UI orientation to: \(orientationMask.toString())",
|
|
158
|
-
category: QuickBrickViewControllerLogs.forceOrientation.category)
|
|
159
|
-
|
|
160
|
-
let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene
|
|
161
|
-
windowScene?.requestGeometryUpdate(.iOS(interfaceOrientations: orientationMask))
|
|
162
|
-
UIViewController.attemptRotationToDeviceOrientation()
|
|
163
|
-
return
|
|
164
|
-
}
|
|
165
|
-
|
|
166
156
|
if isSupportOrientation(mask: orientationMask,
|
|
167
157
|
interfaceOrientation: currentInterfaceOrientation) {
|
|
168
158
|
return
|
|
@@ -171,6 +161,19 @@ class QuickBrickViewController: UIViewController, UILayerViewControllerProtocol
|
|
|
171
161
|
logger?.debugLog(message: "\(QuickBrickViewControllerLogs.forceOrientation.message) UI orientation to: \(orientationMask.toString())",
|
|
172
162
|
category: QuickBrickViewControllerLogs.forceOrientation.category)
|
|
173
163
|
|
|
164
|
+
if #available(iOS 16.0, *) {
|
|
165
|
+
let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene
|
|
166
|
+
// We need update first setNeedsUpdateOfSupportedInterfaceOrientations,
|
|
167
|
+
// otherwise requestGeometryUpdate returns errors
|
|
168
|
+
self.setNeedsUpdateOfSupportedInterfaceOrientations()
|
|
169
|
+
windowScene?.requestGeometryUpdate(.iOS(interfaceOrientations: orientationMask)) { [weak self] error in
|
|
170
|
+
self?.logger?.errorLog(message: "\(QuickBrickViewControllerLogs.forceOrientation.message), error: \(error.localizedDescription) UI orientation to: \(orientationMask.toString())",
|
|
171
|
+
category: QuickBrickViewControllerLogs.forceOrientation.category)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
return
|
|
175
|
+
}
|
|
176
|
+
|
|
174
177
|
changeOrienation(orientationMask: orientationMask)
|
|
175
178
|
}
|
|
176
179
|
|
|
@@ -104,8 +104,8 @@ class FocusableGroupManager {
|
|
|
104
104
|
/// - completion: completion block in case need, that will be called when focusable item did focus
|
|
105
105
|
class func updateFocus(_ groupId: String?, itemId: String?, needsForceUpdate: Bool = false, completion: ((_ success: Bool) -> Void)? = nil) {
|
|
106
106
|
DispatchQueue.main.async {
|
|
107
|
-
if let groupId
|
|
108
|
-
let itemId
|
|
107
|
+
if let groupId,
|
|
108
|
+
let itemId,
|
|
109
109
|
let groupView = focusableGroups[groupId],
|
|
110
110
|
let viewToFocus = FocusableGroupManager.item(byGroupId: groupId,
|
|
111
111
|
andItemId: itemId) {
|
|
@@ -125,7 +125,7 @@ class FocusableGroupManager {
|
|
|
125
125
|
return
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
if let rootView
|
|
128
|
+
if let rootView,
|
|
129
129
|
let superView = rootView.superview as? RCTRootView {
|
|
130
130
|
superView.reactPreferredFocusedView = viewToFocus
|
|
131
131
|
if needsForceUpdate == true {
|
|
@@ -85,7 +85,7 @@ public class FocusableGroupView: RCTTVView {
|
|
|
85
85
|
public func groupItemsUpdated(groupItems: [String: FocusableView]) {
|
|
86
86
|
guard
|
|
87
87
|
isGroupWasFocusedByUser == false,
|
|
88
|
-
let initialItemId
|
|
88
|
+
let initialItemId,
|
|
89
89
|
let initialView = groupItems[initialItemId]
|
|
90
90
|
else {
|
|
91
91
|
return
|
|
@@ -103,15 +103,15 @@ public class FocusableGroupView: RCTTVView {
|
|
|
103
103
|
/// - Returns: true if reser succeed
|
|
104
104
|
func resetFocusPrefferedEnvironmentIfNeeded(nextFocusedItem: UIFocusItem?) -> Bool {
|
|
105
105
|
var retVal = false
|
|
106
|
-
guard let nextFocusedItem
|
|
106
|
+
guard let nextFocusedItem else {
|
|
107
107
|
return retVal
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
if focusItemIsDescendant(nextFocuseItem: nextFocusedItem) == false {
|
|
111
111
|
if resetFocusToInitialValue,
|
|
112
|
-
let initialItemId
|
|
112
|
+
let initialItemId {
|
|
113
113
|
if tryTakePrefferedViewFromDependantGroups() == false {
|
|
114
|
-
if let groupId
|
|
114
|
+
if let groupId,
|
|
115
115
|
let initialItemView = FocusableGroupManager.item(byGroupId: groupId,
|
|
116
116
|
andItemId: initialItemId) {
|
|
117
117
|
customPrefferedFocusEnvironment = [initialItemView]
|
|
@@ -129,8 +129,8 @@ public class FocusableGroupView: RCTTVView {
|
|
|
129
129
|
///
|
|
130
130
|
/// - Returns: true if can focus otherwise false
|
|
131
131
|
func tryTakePrefferedViewFromDependantGroups() -> Bool {
|
|
132
|
-
guard let initialItemId
|
|
133
|
-
let dependantGroupIds
|
|
132
|
+
guard let initialItemId,
|
|
133
|
+
let dependantGroupIds,
|
|
134
134
|
|
|
135
135
|
let firstGroupId = dependantGroupIds.first,
|
|
136
136
|
let initialView = FocusableGroupManager.item(byGroupId: firstGroupId,
|
|
@@ -181,7 +181,7 @@ public class FocusableGroupView: RCTTVView {
|
|
|
181
181
|
///
|
|
182
182
|
/// - Parameter context: Update UIFocusUpdateContext instance
|
|
183
183
|
func sendUpdateFocusEventToReactNative(bubbleEventBlock: RCTBubblingEventBlock?, context: UIFocusUpdateContext) {
|
|
184
|
-
guard let bubbleEventBlock
|
|
184
|
+
guard let bubbleEventBlock else {
|
|
185
185
|
return
|
|
186
186
|
}
|
|
187
187
|
let focusHeading = focusHeadingToString(focusHeading: context.focusHeading)
|
|
@@ -205,8 +205,8 @@ public class FocusableGroupView: RCTTVView {
|
|
|
205
205
|
params[GroupViewUpdateEvents.isActive] = false
|
|
206
206
|
isFocusDisabled = false
|
|
207
207
|
if resetFocusToInitialValue,
|
|
208
|
-
let initialItemId
|
|
209
|
-
if let groupId
|
|
208
|
+
let initialItemId {
|
|
209
|
+
if let groupId {
|
|
210
210
|
let groupItems = FocusableGroupManager.itemsForGroup(by: groupId)
|
|
211
211
|
if let initialItemView = groupItems[initialItemId] {
|
|
212
212
|
customPrefferedFocusEnvironment = [initialItemView]
|
|
@@ -286,7 +286,7 @@ public class FocusableGroupView: RCTTVView {
|
|
|
286
286
|
|
|
287
287
|
/// Force manually focus update
|
|
288
288
|
func manuallyBlockFocus() {
|
|
289
|
-
if let isManuallyBlockingFocusValue
|
|
289
|
+
if let isManuallyBlockingFocusValue {
|
|
290
290
|
isManuallyBlockingFocus = true
|
|
291
291
|
let delay = DispatchTime.now() + DispatchTimeInterval.milliseconds(Int(isManuallyBlockingFocusValue.floatValue * 1000))
|
|
292
292
|
|
|
@@ -299,7 +299,7 @@ public class FocusableGroupView: RCTTVView {
|
|
|
299
299
|
// MARK: Focus Engine
|
|
300
300
|
|
|
301
301
|
override public var preferredFocusEnvironments: [UIFocusEnvironment] {
|
|
302
|
-
if let customPrefferedFocusEnvironment
|
|
302
|
+
if let customPrefferedFocusEnvironment {
|
|
303
303
|
return customPrefferedFocusEnvironment
|
|
304
304
|
}
|
|
305
305
|
return super.preferredFocusEnvironments
|
|
@@ -32,7 +32,7 @@ public class FocusableGroupViewModule: RCTViewManager {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
public func viewFromReactTag(reactTag: NSNumber?) -> RCTTVView? {
|
|
35
|
-
guard let reactTag
|
|
35
|
+
guard let reactTag else {
|
|
36
36
|
return nil
|
|
37
37
|
}
|
|
38
38
|
return bridge.uiManager.view(forReactTag: reactTag) as? RCTTVView
|
|
@@ -102,7 +102,7 @@ class AppLoaderBridge: NSObject, RCTBridgeModule {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
applicationData.layoutUrlContent(for: layoutId) { layoutUrlContent in
|
|
105
|
-
guard let layoutUrlContent
|
|
105
|
+
guard let layoutUrlContent else {
|
|
106
106
|
rejecter(Errors.canNotGetLayoutContentFromId.code, Errors.canNotGetLayoutContentFromId.message, nil)
|
|
107
107
|
return
|
|
108
108
|
}
|
|
@@ -121,7 +121,7 @@ class AppLoaderBridge: NSObject, RCTBridgeModule {
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
applicationData.cellStylesUrlContent(for: layoutId) { cellStylesUrlContent in
|
|
124
|
-
guard let cellStylesUrlContent
|
|
124
|
+
guard let cellStylesUrlContent else {
|
|
125
125
|
rejecter(Errors.canNotGetCellStylesContent.code, Errors.canNotGetCellStylesContent.message, nil)
|
|
126
126
|
return
|
|
127
127
|
}
|
|
@@ -35,7 +35,7 @@ class LocalNotificationBridge: NSObject, RCTBridgeModule {
|
|
|
35
35
|
@objc func cancelLocalNotifications(_ identifiers: [String]?,
|
|
36
36
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
37
37
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
38
|
-
guard let identifiers
|
|
38
|
+
guard let identifiers else {
|
|
39
39
|
rejecter(Errors.failedToCancelLocalNotifications,
|
|
40
40
|
nil,
|
|
41
41
|
nil)
|
|
@@ -108,7 +108,7 @@ class OfflineAssetsBridge: NSObject, RCTBridgeModule {
|
|
|
108
108
|
var success = false
|
|
109
109
|
let fileManager = FileManager.default
|
|
110
110
|
|
|
111
|
-
guard let path
|
|
111
|
+
guard let path else {
|
|
112
112
|
rejecter(Errors.failedToDeleteFileCode,
|
|
113
113
|
Errors.filePathNotProvidedBody,
|
|
114
114
|
nil)
|
|
@@ -44,7 +44,7 @@ class PluginsManagerBridge: NSObject, RCTBridgeModule {
|
|
|
44
44
|
@objc public func isPluginEnabled(_ identifier: String?,
|
|
45
45
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
46
46
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
47
|
-
guard let identifier
|
|
47
|
+
guard let identifier else {
|
|
48
48
|
rejecter(Errors.noIdentifierCode,
|
|
49
49
|
Errors.noIdentifierBody,
|
|
50
50
|
nil)
|
|
@@ -62,7 +62,7 @@ class PluginsManagerBridge: NSObject, RCTBridgeModule {
|
|
|
62
62
|
@objc public func disablePlugin(_ identifier: String?,
|
|
63
63
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
64
64
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
65
|
-
guard let identifier
|
|
65
|
+
guard let identifier else {
|
|
66
66
|
rejecter(Errors.noIdentifierCode,
|
|
67
67
|
Errors.noIdentifierBody,
|
|
68
68
|
nil)
|
|
@@ -82,7 +82,7 @@ class PluginsManagerBridge: NSObject, RCTBridgeModule {
|
|
|
82
82
|
@objc public func disableAllPlugins(_ pluginType: String?,
|
|
83
83
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
84
84
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
85
|
-
guard let pluginType
|
|
85
|
+
guard let pluginType else {
|
|
86
86
|
rejecter(Errors.noTypeCode,
|
|
87
87
|
Errors.noTypeBody,
|
|
88
88
|
nil)
|
|
@@ -103,7 +103,7 @@ class PluginsManagerBridge: NSObject, RCTBridgeModule {
|
|
|
103
103
|
@objc public func enablePlugin(_ identifier: String?,
|
|
104
104
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
105
105
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
106
|
-
guard let identifier
|
|
106
|
+
guard let identifier else {
|
|
107
107
|
rejecter(Errors.noIdentifierCode,
|
|
108
108
|
Errors.noIdentifierBody,
|
|
109
109
|
nil)
|
|
@@ -125,7 +125,7 @@ class PluginsManagerBridge: NSObject, RCTBridgeModule {
|
|
|
125
125
|
@objc public func enableAllPlugins(_ pluginType: String?,
|
|
126
126
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
127
127
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
128
|
-
guard let pluginType
|
|
128
|
+
guard let pluginType else {
|
|
129
129
|
rejecter(Errors.noTypeCode,
|
|
130
130
|
Errors.noTypeBody,
|
|
131
131
|
nil)
|
|
@@ -120,7 +120,7 @@ class ReactNativeCommunicationModule: NSObject, RCTBridgeModule {
|
|
|
120
120
|
*/
|
|
121
121
|
@objc func quickBrickEvent(_ eventName: String, payload: [String: Any]?) {
|
|
122
122
|
guard let event = Events(rawValue: eventName),
|
|
123
|
-
let delegateManager
|
|
123
|
+
let delegateManager else {
|
|
124
124
|
_ = OSLog(subsystem: "QUICK_BRICK:: unknown manager event called: " + eventName, category: kQuickBrickCommunicationModule)
|
|
125
125
|
return
|
|
126
126
|
}
|
|
@@ -133,7 +133,7 @@ class ReactNativeCommunicationModule: NSObject, RCTBridgeModule {
|
|
|
133
133
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
134
134
|
let storageKey = "forcedLanguageCode"
|
|
135
135
|
|
|
136
|
-
guard let language
|
|
136
|
+
guard let language else {
|
|
137
137
|
rejecter(ReactNativeCommunicationModuleError.errorCode,
|
|
138
138
|
ReactNativeCommunicationModuleError.languageIsUndefined,
|
|
139
139
|
nil)
|
|
@@ -147,7 +147,7 @@ class ReactNativeCommunicationModule: NSObject, RCTBridgeModule {
|
|
|
147
147
|
return
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
guard let delegateManager
|
|
150
|
+
guard let delegateManager else {
|
|
151
151
|
rejecter(ReactNativeCommunicationModuleError.errorCode,
|
|
152
152
|
ReactNativeCommunicationModuleError.unableToUseDelegateManager, nil)
|
|
153
153
|
return
|
|
@@ -47,7 +47,7 @@ open class ReactNativeManager: NSObject, UserInterfaceLayerProtocol, UserInterfa
|
|
|
47
47
|
private var shouldUseReactServer: Bool {
|
|
48
48
|
var retVal = false
|
|
49
49
|
|
|
50
|
-
guard var reactNativePackagerRoot
|
|
50
|
+
guard var reactNativePackagerRoot else {
|
|
51
51
|
return retVal
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -47,8 +47,8 @@ class LocalStorageBridge: NSObject, RCTBridgeModule {
|
|
|
47
47
|
@objc public func setItem(_ key: String?, value: String?, namespace: String?,
|
|
48
48
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
49
49
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
50
|
-
guard let key
|
|
51
|
-
let value
|
|
50
|
+
guard let key,
|
|
51
|
+
let value,
|
|
52
52
|
let storage = FacadeConnector.connector?.storage
|
|
53
53
|
else {
|
|
54
54
|
rejecter(Errors.errorCode, Errors.errorMessageSet, nil)
|
|
@@ -75,7 +75,7 @@ class LocalStorageBridge: NSObject, RCTBridgeModule {
|
|
|
75
75
|
namespace: String?,
|
|
76
76
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
77
77
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
78
|
-
guard let key
|
|
78
|
+
guard let key,
|
|
79
79
|
let storage = FacadeConnector.connector?.storage
|
|
80
80
|
else {
|
|
81
81
|
rejecter(Errors.errorCode, Errors.errorMessageGet, nil)
|
|
@@ -97,7 +97,7 @@ class LocalStorageBridge: NSObject, RCTBridgeModule {
|
|
|
97
97
|
namespace: String?,
|
|
98
98
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
99
99
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
100
|
-
guard let key
|
|
100
|
+
guard let key,
|
|
101
101
|
let storage = FacadeConnector.connector?.storage
|
|
102
102
|
else {
|
|
103
103
|
rejecter(Errors.errorCode, Errors.errorMessageRemove, nil)
|
|
@@ -140,8 +140,8 @@ class LocalStorageBridge: NSObject, RCTBridgeModule {
|
|
|
140
140
|
namespace: String?,
|
|
141
141
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
142
142
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
143
|
-
guard let key
|
|
144
|
-
let value
|
|
143
|
+
guard let key,
|
|
144
|
+
let value,
|
|
145
145
|
let storage = FacadeConnector.connector?.storage
|
|
146
146
|
else {
|
|
147
147
|
rejecter(Errors.errorCode, Errors.errorMessageSet, nil)
|
|
@@ -168,7 +168,7 @@ class LocalStorageBridge: NSObject, RCTBridgeModule {
|
|
|
168
168
|
namespace: String?,
|
|
169
169
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
170
170
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
171
|
-
guard let key
|
|
171
|
+
guard let key,
|
|
172
172
|
let storage = FacadeConnector.connector?.storage
|
|
173
173
|
else {
|
|
174
174
|
rejecter(Errors.errorCode, Errors.errorMessageGet, nil)
|
|
@@ -190,7 +190,7 @@ class LocalStorageBridge: NSObject, RCTBridgeModule {
|
|
|
190
190
|
namespace: String?,
|
|
191
191
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
192
192
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
193
|
-
guard let key
|
|
193
|
+
guard let key,
|
|
194
194
|
let storage = FacadeConnector.connector?.storage
|
|
195
195
|
else {
|
|
196
196
|
rejecter(Errors.errorCode, Errors.errorMessageRemove, nil)
|
|
@@ -47,8 +47,8 @@ class SessionStorageBridge: NSObject, RCTBridgeModule {
|
|
|
47
47
|
@objc public func setItem(_ key: String?, value: String?, namespace: String?,
|
|
48
48
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
49
49
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
50
|
-
guard let key
|
|
51
|
-
let value
|
|
50
|
+
guard let key,
|
|
51
|
+
let value,
|
|
52
52
|
let storage = FacadeConnector.connector?.storage
|
|
53
53
|
else {
|
|
54
54
|
rejecter(Errors.errorCode, Errors.errorMessageSet, nil)
|
|
@@ -74,7 +74,7 @@ class SessionStorageBridge: NSObject, RCTBridgeModule {
|
|
|
74
74
|
@objc public func getItem(_ key: String?, namespace: String?,
|
|
75
75
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
76
76
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
77
|
-
guard let key
|
|
77
|
+
guard let key,
|
|
78
78
|
let storage = FacadeConnector.connector?.storage
|
|
79
79
|
else {
|
|
80
80
|
rejecter(Errors.errorCode, Errors.errorMessageGet, nil)
|
|
@@ -97,7 +97,7 @@ class SessionStorageBridge: NSObject, RCTBridgeModule {
|
|
|
97
97
|
namespace: String?,
|
|
98
98
|
resolver: @escaping RCTPromiseResolveBlock,
|
|
99
99
|
rejecter: @escaping RCTPromiseRejectBlock) {
|
|
100
|
-
guard let key
|
|
100
|
+
guard let key,
|
|
101
101
|
let storage = FacadeConnector.connector?.storage
|
|
102
102
|
else {
|
|
103
103
|
rejecter(Errors.errorCode, Errors.errorMessageRemove, nil)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applicaster/quick-brick-native-apple",
|
|
3
|
-
"version": "5.22.
|
|
3
|
+
"version": "5.22.3",
|
|
4
4
|
"description": "iOS and tvOS native code for QuickBrick applications. This package is used to provide native logic for QuickBrick",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "echo \"Error: no test specified\" && exit 1"
|